gezi-wen/sage-mem
gezi-wen★ 2JavaScript最后同步: 2026-08-14
—
README 摘要
sage-mem · DSH 的记忆系统插件 给 DeepSeek Harness(DSH)装上 跨会话记忆 ——agent 今天记住的事,明天的新会话自动想起来。 为什么需要它 DSH 原生没有记忆系统。每个会话都是白纸:用户说过「我喜欢在深夜写代码」,下个会话再问「我喜欢什么」,agent 只能答不知道。 sage-mem 补上这一块。它监听 DSH 的事件流,把会话内容沉淀到 SQLite,新会话启动时自动检索注入历史记忆。 中文优先 。市面上的记忆方案在中文检索上普遍失效(SQLite FTS5 默认分词器对中文全部 0 命中)。sage-mem 的 worker 用 trigram 分词 + 短词兜底,中文实测全命中。 功能 - 自动捕获 :工具调用(读写文件、执行命令)自动记录,无需手动整理 - AI 压缩 :会话内容由 LLM 压缩成结构化记忆(事实、摘要),中文输出 - 跨会话注入 :新会话启动时自动检索并注入历史记忆,agent 不用自己翻 - 中文检索 :trigram 分词(≥3 字查询)+ LIKE 兜底(<3 字短词如「猫」「芝麻」) 架构 设计选择:记忆逻辑复用 claude-mem(Apache-2.0,9 万星),fork 后加中文修复,DSH 侧只写一个轻量桥接插件。改动最小,能追上游更新。 安装 1. 部署 worker 配置 /.claude-mem/settings.json (worker 数据目录): /.claude-mem/.env 放 API key(任意 OpenAI 兼容服务均可,不限于 DeepSeek): 启动: 2. 安装插件 在你的 DSH profile 的 package.json 里加: 或 clone 后本地 link: 然后 pnpm install 重启 DSH。 验证 跨会话中文记忆链路(实测): 1. 会话 A 说「记住:我的猫叫芝麻,它喜欢晒太阳」 2. 开新会话 B 问「我的猫叫什么」 3. agent 直接答出「芝麻」——记忆自动注入,无需 agent 自己找 搭配 sage-persona(我是谁)和 sage-meta(我做得对吗)组成 Sage 三件套——这是三道题的第三道: 我下次应该怎么想 。 已知边界 - trigram 分词对 <3 字符查询无效,worker 已加 LIKE 兜底 - worker 不可用时插件静默跳过(不阻塞 DSH),记忆功能暂缺 - MVP 存储统一在 project=sage 空间,按工作区分项目是后续计划 License MIT(worker fork 为 Apache-2.0,见 gezi-wen/claude-mem)
在 GitHub 查看完整 README →