@hy-sde-org dsh-tool-memory
面向模型的内存表面 对于DeepSeek线束-六个工具
retain, recall, reflect, memory_edit, learn, mine_sessions
越过主机 ctx.memory 服务,再加上a memory:project 系统提示符位置
部分 在每个项目开始时重新加载会话的项目内存
会话. 从 @oh-my-pi coding-agent
内存表面;存储存在于
@hy-sde-org/dsh-memory.
这个包裹是 agent-plane:它作为预设行挂载,并解析
主人 memory 服务,没有注册自己的服务。它安装为
独立插件的股票DeepSeek线束(dsh-v0.2.0-rc.2 后来)——
看到 @hy-sde-org/dsh-memory 用于安装配方和预设示例。
六种工具
retain-存储一个或多个持久事实(用户偏好,项目 决策(架构选择)。批处理相关事实; 条目是自包含的、规范化的和重复数据删除的。recall-相关度排名搜索银行+课程+摘要。返回 这是往返的路线memory_edit. 提问前主动提问 关于过去的决定或偏好。当一个主人sessionQuery服务是 挂载后,过去的会话点击合并为session源层。reflect-在许多存储的记忆中合成一个答案(混合, 不像recall). 接地只是记忆;验证存储库事实。memory_edit- - - - - -update(替换内容/重要性),forget(硬 删除),invalidate(软替换,可选replacement_id). 教训 摘要条目是只读的事实。learn-抓住一个持久的教训(什么/什么时候/为什么)learned.md; 写入路径中和去掉了提示注入标记和秘密。mine_sessions-从你自己过去的会议中收获可重用的经验教训 (来自压缩摘要的摘要,来自转弯/结束错误原因的失败, 全部完成的待办事项),存储为learn带有会话来源和的条目 deduped。需要一个主机sessionQuery服务;没有它就会报告 不可用而不是错误-这个独立的船桥 (session-history.ts,ctx.get('sessionQuery')鸭子类型),但没有会话 后端。
提示注射
apply() 寄存器 systemPrompt.section({ name: 'memory:project', order: 150 })
在每个程序集中计算谁的文本并返回调用会话的文本
〇项目记忆 memory_summary.md + learned.md,合并和首尾
截断, injectionMaxChars (默认16000字符)-或 '' 对于一个
没有内存的项目。存储的内存保持文字,所以是完整的
{{variable}} 其中的组不会解析为提示变量。会话
身份来源于 context.agent.session.header.cwd,所以每个项目
看到自己的银行,一个新的过程在第一次转弯时就把它捡起来。
配置( tool-memory 行)
| 关键 | 默认的 | 意义 |
|---|---|---|
root | <harness home>/memories | 必须匹配 ctx.memory 一行的根。 |
injectionMaxChars | 16000 | 为注入的摘要+课程组合char预算。 |
enabled | true | 集 false 在保留工具的同时禁用提示注入。 |
测试
pnpm -r --filter @hy-sde-org/dsh-tool-memory test