🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

持久记忆 yihefeikong-rgb/dsh-cc-haha-memory

DeepSeek Harnessv0.1.0
yihefeikong-rgb51 天前有提交已提供中文文档扫描:含敏感能力

让 DSH 跨会话记住项目要点并逐轮召回

30.1/100
综合分
1
GitHub 星标
1,509
npm 周下载
—/5
用户评分

数据截至 2026/9/20 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-memory
npm 源 · dsh-memory 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · chat
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 51 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-memory @ 0.1.0
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 16:39:44

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
  • 写入本地文件
    lib/index.js:82
    if (path !== ":memory:") mkdirSync(dirname(path), { recursive: true });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 跨会话记住项目要点
  • 逐轮召回记忆

为 DeepSeek Harness(DSH)打造的持久记忆插件,灵感来自 CC-HAHA

v0.1.02026-08-16
首个可用版本:参考 CC-HAHA 的持久记忆体验,为 DeepSeek Harness (DSH) 独立实现。包含按项目隔离、自动记录、上下文召回、显式记忆工具与会话页记忆面板。非 CC-HAHA 官方项目,与原作者无隶属关系。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
DSH CC-HAHA Memory 一个面向 DeepSeek Harness(DSH) 的第三方持久记忆插件,参考并复刻 CC-HAHA 的项目记忆使用体验。 [!IMPORTANT] 本项目不是 CC-HAHA 官方组件,也不隶属于 CC-HAHA 或 DeepSeek。记忆理念与交互流程参考 CC-HAHA,插件代码使用 DSH 原生事件、工具、LLM 和 Web UI 接口独立实现。 能做什么 - 真实记住:用户明确说“记住”时,DSH 会先读取记忆索引,再显示 memory_remember 工具调用;只有返回 saved: true 后才确认已记住。 - 独立文件:每条记忆保存为单独的 Markdown 文件,并由 MEMORY.md 维护简洁索引。 - 项目隔离:每次只注入“通用 + 当前项目”,不会把所有项目记忆一次性塞进上下文。 - 逐轮召回 + 会话预算:每条提示词按当前问题选择最多 5 条相关记忆正文注入;同一会话内已注入过的记忆不重复注入,整会话累计超过 sessionMaxBytes(默认 60KB)后只保留索引——对齐 CC-HAHA 的 alreadySurfaced + MAX_SESSION_BYTES。 - 自动记录:按回合评审值得长期保存的信息,失败时保留缓冲,不把模型错误伪装成“没有记忆”。
展开完整文档(README 剩余 1 节)
DSH CC-HAHA Memory

一个面向 DeepSeek Harness(DSH) 的第三方持久记忆插件,参考并复刻 CC-HAHA 的项目记忆使用体验。

[!IMPORTANT]
本项目不是 CC-HAHA 官方组件,也不隶属于 CC-HAHA 或 DeepSeek。记忆理念与交互流程参考 CC-HAHA,插件代码使用 DSH 原生事件、工具、LLM 和 Web UI 接口独立实现。

能做什么

- 真实记住:用户明确说“记住”时,DSH 会先读取记忆索引,再显示 memory_remember 工具调用;只有返回 saved: true 后才确认已记住。
- 独立文件:每条记忆保存为单独的 Markdown 文件,并由 MEMORY.md 维护简洁索引。
- 项目隔离:每次只注入“通用 + 当前项目”,不会把所有项目记忆一次性塞进上下文。
- 逐轮召回 + 会话预算:每条提示词按当前问题选择最多 5 条相关记忆正文注入;同一会话内已注入过的记忆不重复注入,整会话累计超过 sessionMaxBytes(默认 60KB)后只保留索引——对齐 CC-HAHA 的 alreadySurfaced + MAX_SESSION_BYTES。
- 自动记录:按回合评审值得长期保存的信息,失败时保留缓冲,不把模型错误伪装成“没有记忆”。
- 安全更新:同主题通过明确记忆 ID 更新;禁止模糊标题猜测覆盖,更新和删除前保存历史版本。
- 管理界面:会话页上方提供“记忆”标签、项目文件夹、搜索、新建、编辑和删除。
- Claude 记忆导入:可非破坏地导入现有 Claude Code 记忆;重复启动只跳过,不覆盖 DSH 中已更新的内容。

DSH 插件标识

仓库根目录的 package.json 包含 DSH 原生插件声明:

{
"dsh": {
"bundle": { "patch": "./cordis.patch.yml" },
"client": {
"platform": "web",
"inject": ["@deepseek-ai/dsh-client-runtime"]
}
}
}

cordis.patch.yml 负责挂载 host 插件,lib/client.js 负责加载会话页记忆 UI。

安装

要求:已经安装并能正常启动 DSH。

dsh plugin --profile web add github:yihefeikong-rgb/dsh-cc-haha-memory

安装后重启 DSH Web:

dsh web

进入任意会话后,顶部应出现“记忆”标签。首次验证可以发送:

请记住:这个项目使用 Rust 和 Tauri。

正常轨迹应包含:

Read MEMORY.md → memory_remember → saved: true

记忆文件默认位于:

~/.dsh/memory/
├── MEMORY.md
├── 通用/ └── / └── .md

配置

默认配置位于 cordis.patch.yml:

- insert:
- id: dsh-memory
name: dsh-memory
config:
reviewEnabled: true
reviewInterval: 5

主要选项:

| 选项 | 默认值 | 说明 |
| reviewEnabled | true | 是否启用回合后自动评审 |
| reviewInterval | 1(schema)/ 5(本包 patch) | 每多少回合评审一次 |
| reviewTimeoutMs | 120000 | 后台评审总超时 |
| recallOrder | 117 | 索引 context 的注入顺序 |
| recallMaxBytes | 25000 | 注入索引最大字节数(另有 200 行硬上限) |
| recallRelevantMaxBytes | 16000 | 单次相关正文最大字节数 |
| sessionMaxBytes | 61440 | 本会话相关正文累计上限(0=不限) |
| dedupeRelevant | true | 同一会话内已注入过的正文不再重复注入 |
| relevantBodiesEnabled | true | 是否按当前查询注入相关正文。设 false = 每会话只在开场注入一次:索引冻结 + 无正文 → 记忆块在会话内恒定,harness 不再逐轮追加注入;细节改用 memory_search/memory_read 取(这正是上游 cc-haha 的默认形态) |
| freezeIndexPerSession | true | 索引片段每会话只渲染一次(对齐上游 getUserContext 的 memoize)。否则会话中途写记忆会让索引变化 → 多一次注入 |
| selectEnabled | true | LLM 语义相关性选择(失败/关闭时回落关键词评分) |
| selectTimeoutMs | 12000 | 相关性选择超时 |
| guidanceEnabled | true | 把「引用记忆前的核验」指南注册成系统提示词的静态 section(内容不变 → 走前缀缓存) |
| recentToolsEnabled | true | 把「最近使用过的工具」交给选择器,避免注入正在使用的工具的参考类记忆 |
| recentToolsWindow | 8 | 「最近使用过的工具」保留个数 |
| skipReviewAfterAgentWrite | true | 本回合主 agent 自己写过记忆时跳过该回合的后台评审(对齐上游 hasMemoryWritesSince) |

索引(MEMORY.md)每次被重写前会先备份上一版到 ~/.dsh/memory/.history/_index/,只保留最近 20 份。
「引用记忆前的核验」指南与「最近用过的工具」排除规则对齐上游 cc-haha 的 TRUSTING_RECALL_SECTION / MEMORY_DRIFT_CAVEAT(src/memdir/memoryTypes.ts)与 findRelevantMemories 的选择器提示词;上游选择器用 json_schema 强制结构化输出, DSH 的 llm.stream 无此能力,故改为把同一约束写进提示词。

记忆工具

插件注册 8 个工具:

- memory_remember:显式“记住”的单次可见入口。
- memory_write:新建记忆。
- memory_read:读取完整记忆。
- memory_update:按 ID 更新并保存历史版本。
- memory_delete:删除并保存历史版本。
- memory_search:当前作用域全文搜索。
- memory_list:列出当前作用域索引。
- memory_suggest_tags:推荐已有标签。

隐私与安全边界

- 仓库和安装包不包含任何用户记忆、会话、日志、API Key 或本机 profile。
- 项目写入无法确认当前工作区时会失败,不会静默写进“通用”。
- Web API 运行在 DSH 本地同源信任边界内,不应把 DSH Web 端口暴露到不可信网络。
- 当前实现是单 DSH 进程内串行写入;不建议多个 DSH 实例同时共享同一个记忆目录。

本地开发

pnpm install --frozen-lockfile
pnpm test
pnpm run build

构建输出:

- lib/index.js:DSH host 插件。
- lib/client.js:DSH Web UI 插件。

与 CC-HAHA 的关系

本项目重点参考了 CC-HAHA 的以下记忆设计:

- 每条记忆使用独立文件,MEMORY.md 只保存短索引。
- 用户明确要求记住时必须真实访问记忆系统。
- 写入前检查已有记忆,优先更新而不是制造重复项。
- 记忆只保存跨会话仍有价值的信息,计划和一次性任务不应写入长期记忆。
- 用户要求忽略记忆时,本轮按空记忆处理。

参考基线:NanmiCoder/cc-haha,本地审查提交 d52bbec707246f807416c2bc6b1cd67445cfe622,相关设计位于其 src/memdir/。

感谢 CC-HAHA 作者与贡献者提供优秀的记忆交互设计。完整署名与许可证见 THIRD_PARTY_NOTICES.md。

验证状态

- 自动化测试:50 项。
- 已验证:显式写入、真实文件路径、重复更新、新会话召回、跨项目隔离、后台评审终态、非破坏导入与连续重启幂等。
- 已验证平台:Windows + DSH Web。

License

MIT

English summary

An unofficial persistent-memory plugin for DeepSeek Harness, inspired by the project-memory workflow of CC-HAHA. It stores memories as project-scoped Markdown files, exposes visible memory tool calls, injects only global plus current-project context, and includes a Web UI memory tab.
预览分享卡片长什么样 ↓yihefeikong-rgb/dsh-cc-haha-memory
分享 · DeepSeek Harness Hub
yihefeikong-rgb/dsh-cc-haha-memory

让 DSH 跨会话记住项目要点并逐轮召回

这是你的仓库?认领条目

回到顶部