跳到正文
dsh-market 浏览插件 GitHub EN

Asher-2000/dsh-memory-connect

跨会话记忆插件 (v0.3.0):自动提取、SQLite FTS5 索引、RRF 语义召回、定时维护、LLM 智能合并(自动接入 ctx.llm)、上下文爆炸防护、全局身份 Soul(~/.dsh/soul.md)。零配置。

Star 数 ★ 0 分类 记忆 收录于 2026-08-20

安装

在 DeepSeek Harness 里通过 dsh-market 安装

dsh plugin --profile web add dshmarket

或使用命令行

dsh plugin --profile web add github:Asher-2000/dsh-memory-connect

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。

README

跨会话记忆插件 — 让 AI Agent 拥有持久记忆和全局身份
Cross-session memory plugin for DeepSeek Harness (DSH)


English | 中文

Overview

dsh-memory-connect is a cross-session memory sharing plugin for DeepSeek Harness. It automatically extracts, stores, and recalls memories across sessions, giving your AI agent persistent, intelligent memory with context explosion prevention and global Soul identity.

Zero-config — works out of the box with SQLite FTS5 and DSH's built-in LLM.

Features

Feature Description
🧠 Global Soul Persistent identity across all workspaces via ~/.dsh/soul.md
🔍 Auto Extraction Extracts facts, preferences, decisions, and context from conversations
🧠 Semantic Recall RRF (Reciprocal Rank Fusion) combines keyword and semantic search
🛡️ Context Explosion Prevention Token budget management prevents context window overflow
Scheduled Maintenance Automatic periodic decay and consolidation via built-in scheduler
🤖 LLM Consolidation Intelligent memory merging using DSH's built-in ctx.llm (zero-config)
📉 Memory Decay Old, unused memories naturally fade; frequently accessed ones persist
🎯 Smart Prioritization Memory selection based on relevance × recency × frequency
🗜️ Memory Compression Automatic compression when approaching token limits

🧠 Global Soul (Identity)

The Soul feature provides a persistent identity that follows you across all workspaces.

How it works

  1. Create ~/.dsh/soul.md with your identity information
  2. The plugin automatically loads and injects it into every session
  3. Your preferences, tech stack, and coding style are always available

Example Soul file

# 🧠 Soul — Global Identity

## 👤 Identity
- GitHub: your-username
- Role: Developer/Designer/Product Manager

## 💻 Tech Stack
- TypeScript, React, Node.js, DSH/Cordis

## 🎨 Coding Style
- Functional programming
- ES Modules
- Zero-config preferred

## ⚠️ Preferences
- No class components
- No redundant comments

Installation

npm install @deepseek-ai/dsh-memory-connect

Add to your DSH composition:

# agent.cordis.yml
- id: memory
  name: '@deepseek-ai/dsh-memory-connect'
  config:
    path: ~/.dsh/memory.db
    enableSoul: true  # Enable Soul injection (default: true)

Configuration

Basic Options

Option Default Description
path (required) Path to SQLite memory database
openAt startup When to open: startup, first-query, never
maxRecallCount 10 Max memories to recall per session
decayRate 0.02 Decay constant (higher = faster decay)
journalMode wal SQLite journal mode

Scheduler Options

Option Default Description
schedulerEnabled true Enable periodic maintenance
schedulerDecayIntervalMs 3600000 Decay interval (ms), default 1h
schedulerConsolidateIntervalMs 21600000 Consolidation interval (ms), default 6h

Context Explosion Prevention Options

Option Default Description
maxContextTokens 4000 Max tokens for memory context injection
smartPrioritization true Enable smart memory prioritization
enableCompression true Enable memory compression

Soul Options

Option Default Description
enableSoul true Enable global Soul injection
soulPath ~/.dsh/soul.md Custom Soul file path

Full configuration example:

- id: memory
  name: '@deepseek-ai/dsh-memory-connect'
  config:
    path: ~/.dsh/memory.db
    openAt: startup
    maxRecallCount: 10
    decayRate: 0.02
    journalMode: wal
    schedulerEnabled: true
    maxContextTokens: 4000
    smartPrioritization: true
    enableCompression: true
    enableSoul: true

API

Search Memories

const memories = await ctx.crossSessionMemory.searchMemories({
  query: 'TypeScript configuration',
  types: ['fact', 'decision'],
  limit: 5,
})

Recall for Session

const memories = await ctx.crossSessionMemory.recallForSession(
  'session-123',
  'Setting up a new React project',
  10
)

Store Memory

await ctx.crossSessionMemory.storeMemory({
  type: 'preference',
  content: 'User prefers functional programming style',
  sessionId: 'session-123',
  tags: ['coding-style', 'preference'],
})

Manual Maintenance

// Trigger a full maintenance cycle (decay + consolidation)
const result = await ctx.crossSessionMemory.triggerMaintenance()

// Or run individually
await ctx.crossSessionMemory.runDecay()
await ctx.crossSessionMemory.consolidate()

Context Explosion Prevention

How It Works

  1. Token Counting — Estimates tokens for English, Chinese, and mixed text
  2. Smart Prioritization — Ranks memories by: relevance × 50% + recency × 30% + frequency × 20%
  3. Budget Management — Enforces maxContextTokens limit (default: 4000)
  4. Memory Compression — Automatically truncates or summarizes when approaching limits

Output Example

## 🧠 Global Identity (Soul)

[Your Soul content here]

---

## Related Memories from Previous Sessions

- [preference] User prefers TypeScript
- [decision] Chose PostgreSQL over MySQL

> 💾 Memory: 2/10 memories + Soul | 250/4000 tokens

Memory Types

Type Description Example
fact Objective information "Project uses TypeScript 5.3"
preference User preferences "Prefers functional components"
context Project context "E-commerce platform migration"
decision Decisions made "Chose PostgreSQL over MySQL"
skill Learned patterns "How to configure ESLint"

Development

git clone https://github.com/Asher-2000/dsh-memory-connect.git
cd dsh-memory-connect
npm install
npm test

License

MIT


中文

概述

dsh-memory-connectDeepSeek Harness 的跨会话记忆共享插件。它自动从对话中提取、存储和检索记忆,让 AI Agent 拥有持久化的智能记忆能力,并防止上下文爆炸全局身份

零配置 — 基于 SQLite FTS5 和 DSH 内置 LLM,开箱即用。

核心功能

功能 说明
🧠 全局身份 (Soul) 通过 ~/.dsh/soul.md 跨所有工作区持久化身份
🔍 自动提取 从对话中提取事实、偏好、决策和上下文
🧠 语义召回 RRF 融合关键词和语义搜索
🛡️ 上下文爆炸防护 Token 预算管理,防止上下文窗口溢出
定时维护 内置调度器自动执行衰减和整合
🤖 LLM 整合 使用 DSH 内置 LLM 智能合并相似记忆
📉 记忆衰减 旧的、不常用的记忆自然消退
🎯 智能优先级 基于相关性 × 时间 × 频率的记忆排序
🗜️ 记忆压缩 接近 token 限制时自动压缩

🧠 全局身份 (Soul)

Soul 功能提供跨所有工作区的持久化身份

工作原理

  1. 创建 ~/.dsh/soul.md 包含你的身份信息
  2. 插件自动加载并注入到每个会话
  3. 你的偏好、技术栈和编码风格始终可用

Soul 文件示例

# 🧠 Soul — 全局身份

## 👤 身份
- GitHub: your-username
- 角色: 开发者/设计师/产品经理

## 💻 技术栈
- TypeScript, React, Node.js, DSH/Cordis

## 🎨 编码风格
- 函数式编程
- ES Modules
- 零配置优先

## ⚠️ 偏好
- 不用 class 组件
- 不写冗余注释

快速开始

npm install @deepseek-ai/dsh-memory-connect

添加到 DSH 配置:

# agent.cordis.yml
- id: memory
  name: '@deepseek-ai/dsh-memory-connect'
  config:
    path: ~/.dsh/memory.db
    enableSoul: true

许可证

MIT

内容来自项目 README(GitHub)↗