windrover/dsh-long-term-memory ↗★ 0
dsh-long-term-memory
适用于 DeepSeek Harness 的分层确定性长期记忆插件:支持中文 BM25 检索、JSONL 存储及人工审批
AI 分析
核心用途是为 Agent 提供精准的长期记忆能力,支持项目和用户画像分层存储,并在每轮对话自动注入相关摘要。适合需要 Agent 具备跨会话业务知识记忆的场景。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:windrover/dsh-long-term-memory说明文档
阅读完整 README ↗使用
重启后,让模型记忆/取回即可,例如:
“记住我喜欢喝美式咖啡,记到用户画像里。” (模型会调
memory_write,scope: user)“这个项目之前决定过关于依赖管理的约束吗?” (模型会调
memory_recall("依赖 约束", scope: "workspace"))
模型默认会看到每轮注入的记忆摘要(user 优先),因此不一定要先召回;相关任务开始时建议显式 memory_recall 以便拿到带分数的相关命中和 id。
配置
在 profile 的 cordis.patch.yml 覆盖(dsh.profile.bundles 装载后应用):
- id: long-term-memory
config:
# 写入前是否需人工审批(默认 false)
requireApprovalForWrite: false
# 注入策略:recent(默认)/ full / off(兼容旧布尔 true/false)
injectContext: recent
# 写入内容是否做威胁扫描(默认 true)
scanThreatsOnWrite: true
# 自动总结:每轮对话结束后用 LLM 蒸馏值得长期记住的事实(默认 false,每次是辅助模型调用)
autoSummarize: false
# 两次自动总结间的最小间隔(ms,默认 30000,防抖)
summarizeIntervalMs: 30000
# 至少产生多少条新用户消息才触发总结(默认 1)
summarizeMinMessages: 1
# 超限时用 LLM 精炼压缩(默认 false = 纯规则压缩:淘汰最冷 + 合并子串重复)
compressWithLLM: false
# 用户画像文件(默认 $DSH_HOME/dsh-memory/user.jsonl)
userFile: null
# 全局记忆文件(默认 $DSH_HOME/dsh-memory/global.jsonl)
globalFile: null
# 工作区记忆文件,绝对或相对 workspace 根(默认 .dsh/memory.jsonl)
workspaceFile: null
# session 无 cwd 时的 workspace 根回退(默认 process.cwd())
workspaceRoot: null
# 注入摘要的字符上限(默认 2400;full 模式也受它约束)
maxInjectedChars: 2400
# 工具 limit 的上限(默认 25)
maxResults: 25
# 每库字符预算;超限时先自动压缩(规则或 LLM),仍超才拒绝(默认 20000)
charLimit: 20000