Max-Null/dsh-memory

Max-Null★ 0TypeScriptLast synced: 2026-08-15

Open on GitHub

README excerpt

dsh-memory 一个面向 DeepSeek Harness 的 跨会话明文记忆插件 。遵循「一切皆插件」——它不修改 DSH 源码,声明 name / inject / apply ,由 Loader 从 cordis.yml 加载。 设计原则 1. 人是所有者 :模型只能写入 suggested 状态的记忆,绝不自我提升;只有人工确认( setStatus )才能让记忆生效。 2. 可观测先于精准 :每条记忆是明文, memory list 随时可见、 memory forget 随时删除——不存在"静默暗礁"。 3. 明文是人机共享的审计窗口 :记忆是可读文本,模型可自检其是否过期或出错(规划中的 v2)。 4. 确定性且缓存安全 :BM25 关键词检索是存储的纯函数、无 LLM 调用;固定指引进 system-prompt section, auto 记忆进 context。 用法 在你的 cordis.yml 加一条(其余 storage / system-prompt / tools 由宿主已有;记忆的存储后端由插件自己注册): 提供的服务与工具 - 服务 ctx.memory : remember / list / search / forget / setStatus - 工具 : memory save 、 memory list 、 memory search 、 memory confirm 、 memory forget - 注入 : tool:memory 指引 section + memory:recall 召回 context( auto 记忆,带 [memory: ] 来源标记) 两层存储(global / project) 记忆按 namespace 分两层物理存储,各落在独立的明文 JSON: namespace 默认位置 用途 global $DSH HOME/storages/memory.json 跨项目的个人偏好 project /.dsh/storages/memory project.json 跟随仓库的项目共识,可 git 分享 两个根都可用 config 覆盖( globalRoot / projectRoot )。 memory list / memory search 不带 namespace 过滤时会同时查两层。 使用流程(人工确认闸门) 模型 永远不能自我提升 一条记忆—— memory save 只写 suggested ,只有人在明确要求时( memory confirm )才能让它生效。这保证了记忆不是黑盒:人随时能看、能改、能删。 为什么明文 + BM25,而不是向量检索 向量检索的记忆本体是一串不可读的数字,过期信息会成为 无法观测、无法修复的静默暗礁 ;BM25 + 明文让每一次召回…

View full README on GitHub →
Tools / Devcordisdeepseekdeepseek-harnessdsh-pluginmemorysearch

Category