flywalker68/dsh-memory-keeper ↗★ 11
dsh-memory-keeper
长期记忆守门员:状态卡、memory_check / memory_search / persona_edit 工具、回忆强化、侧栏记忆面板
同名套件的其他儲存庫
安裝
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:flywalker68/dsh-memory-keeper說明文件
閱讀完整 README ↗开始使用
三种向量方案,按环境挑:
- 默认(本地):
Xenova/bge-small-zh-v1.5(约 24 MB,int8),首次检索自动下载到插件的models/,之后离线可用- 可选(云端):配一个百炼 API key 就用 Qwen embedding + rerank,更准(实测 91.7% → 97.7%);失败/超时/断网自动回退本地,见下面「可选:Qwen 加速」
- 都不要:配
embeddingEnabled: false→ 纯字面检索,零下载、零 API
配置项
在 DSH 的插件配置里填(都有默认值,一般只需要改 workspace):
| 配置 | 默认 | 说明 |
|---|---|---|
workspace | 启动目录 | 工作区:对话记录在 /对话记录/,索引写在 /.tools/。建议填绝对路径 |
memoryDir | ~/.dsh/memory | 记忆库目录 |
agentsFile | ~/.dsh/AGENTS.md | 全局规则文件(persona_edit 可改它) |
staleDays | 90 | 关系片段超过这么多天就列成半衰期候选(只报不删) |
refreshMinutes | 5 | 状态卡缓存多久重算一次 |
embeddingEnabled | true | 向量检索开关(关了只剩字面检索) |
compressRecallEnabled | true | 压缩后补原文开关 |
compressRecallTurns | 10 | 压缩后补回最近几轮 |
compressRecallPerMessageChars | 1200 | 补原文时单条消息字数上限 |
compressRecallChars | 12000 | 补原文字数安全阀(正常不触发) |
minRelevanceScore | 0.5 | 最低分闸门:向量最高余弦低于它就判「没有可靠记忆」,不硬塞弱相关块 |
dateBoostEnabled | true | 查询带时间词时按日期加分(只影响排序) |
dateBoost | 0.1 | 日期加分幅度(0.1 = 排序分 ×1.1) |
resultChars | 400 | 返回时每条给模型看的字数上限(命中会补整行)。只控显示预算,不影响检索与打分 |
contextLines | 1 | 命中后附几行上下文(前/后各 N 行,过时间窗口)。0 = 不附,最省 token |
resultChars/contextLines是给 token 花费留的旋钮:默认值下每次检索比旧版多约 1.3K tokens(约 ¥0.003);嫌贵就contextLines: 0,正文补全仍保留。
minRelevanceScore是在bge-small-zh-v1.5+ 500 块语料上标定的:无答案查询最高 0.447、有答案最低 0.565。换模型或语料大改后要重新标定。