Memory
dsh-memory-palace-37315880
373158808qq-cmd/dsh-memory-palace · ★ 0
懂你记忆系统:每轮注入画像/长期记忆/协作规矩 + 台账纪律 + 本地语义检索 + 会话转写 + 一键初始化 + 设置页维护作业。
An English summary is not available; the Chinese summary is shown.
README body is shown in Chinese.
安装
dsh plugin --profile web add 'github:373158808qq-cmd/dsh-memory-palace#68a214d3b8fcffd4d3d3766553232c7d0d5c2baa'GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
For install and environment setup, plus plugin development tutorials, see DSH community docs ↗
README
Table of contents
给 DeepSeek Harness 用的跨会话记忆插件: 换一个会话,它还记得你是谁、你的项目在哪、哪些坑踩过 —— 不用你再讲一遍。
一句话:每轮注入你真正该知道的东西(画像 / 长期记忆 / 规矩 / 台账), 本地语义检索把历史翻出来,压缩不丢状态,并且越用越懂你。
它解决什么
- 跨会话零重讲:新会话一开,画像、长期记忆、协作规矩、项目台账已经在那儿了。
- 会话内压缩不丢状态:被压缩掉的是对话,不是进度 —— 进度外置成文件(台账),压缩后照样能读回来。
- 维护看得见:体检、备份、裁决台账、预算、状态核对,都在设置页点得着,输出原样给你看。
它给你什么
每轮注入(不用你操作)
USER.md(你是谁、你怎么判断)|MEMORY.md(跨项目的事实与教训)|SOP.md(协作规矩,可在设置页开关)- 工作区
AGENTS.md(地图)+ 各项目PROJECT_LEDGER.md(台账=当前状态)+ 你自己指定的额外注入清单
工具(agent 自己会调)
memory(分层写入:对话记忆 / 画像 / 长期记忆 / 项目台账)、memory_ingest(文本切块入库)、memory_search(语义检索)、memory_quiz(抽查考试)、memory_semantic_scan(用当前模型判矛盾)
设置页(设置 → 记忆)
- 嵌入器:本地 Ollama(默认)或云端 API,两种模式都能用
- Vault 索引:重建/同步,并显示"过期没过期"
- 会话转写:把会话日志转成可检索的语料(折叠时自动转,也可手动补)
- 记忆视图:摊成一份给别人眼看的只读副本;可选用 Obsidian 打开(有树状图和关系图)
- 初始化:一键初始化(见下)
- 维护:体检器 8 项 / 裁决台账 / 分层纪律 / 注入预算 / 状态真话核对 / 能力清单点名 / 备份记忆库
命令行(给会话里的 agent,也可自己敲)
node <插件>/lib/init-cli.mjs …(初始化:检测、建骨架、装 Ollama、拉模型、走云端 API、生成视图)node <插件>/lib/maintain-cli.mjs list|where|run <作业id|all>(维护)
安装
前置:Node ≥ 22.6(用到 node:sqlite)|DeepSeek Harness 0.1.2 及以上(在 0.1.2-rc.1 上实测)
# 1) 拿到 tarball(从 Releases 下载,或自己 npm pack)
# 2) 装进 profile(路径写绝对路径 —— 相对路径会被当成 profile 目录下的路径)
dsh plugin --profile web add /绝对路径/dsh-memory-palace-0.10.0.tgz
# 3) 重启 DSH(这一步只有你能做)
装完打开 设置 → 记忆,页面上应该出现「记忆系统」那一列卡片。
本包还没发到 npm,所以用 tarball 装。 回退/卸载:
dsh plugin --profile web remove dsh-memory-palace→ 再装回旧版本 tarball → 重启。
第一次用:点一下「一键初始化」
在「初始化」卡上点 【一键初始化(进入新会话)】,它会开一个新会话,并按顺序问你四件事:
| 问 | 选项 | 选完它做什么 |
|---|---|---|
| 工作区根目录 | DSH 已登记的工作区 / 自己填 | 按出厂 SOP 建骨架(只建不存在的,同名跳过并报告) |
| Ollama | 已经装了(给路径)/ 帮我装 / 用云端 API | 定位、或后台下载安装 |
| 嵌入模型 | 已经有了(给名字)/ 帮我拉(约 600 MB)/ 用云端 API | 记录、或拉取 |
| Obsidian(可选) | 已经装了 / 帮我装 / 不用 | 登记"记忆视图"库(打开放在最后,那时树状图才是满的) |
选了云端 API 它会先停下:你去设置页填地址/模型/Key,回来说一声它才继续。
之后它读你给的文档、扫历史会话,起草画像/长期记忆/规矩给你确认,再建项目台账与检索库。 每一步都回写状态,所以设置页那 5 行是自己变 ✓ 的。
文件放在哪
| 位置 | 是什么 |
|---|---|
~/.dsh-memory/ |
记忆库:USER.md、MEMORY.md、SOP.md、inject.json、init.json、embedder.json、vault.db、corpus/、quiz/、corrections/ |
<工作区>/AGENTS.md |
工作区地图(项目在哪、去哪看) |
<工作区>/memory/ |
INDEX.md(项目总目录)、各项目台账与档案、记忆视图/(只读副本) |
backups/(可选) |
维护卡「备份记忆库」的产物 |
全部是你机器上的普通文本文件,随时可以自己打开、改、删。
依赖与第三方
- 嵌入:默认用本地 Ollama(
qwen3-embedding:0.6b),不会自动启动 —— 在设置页点【启动】它才起来; 也可以改成云端 API(OpenAI 兼容的 embeddings 接口)。 - 显示层(可选):Obsidian 只用来"把这堆 .md 看得更舒服",不是必需品,用任何编辑器都能看。
- 内置:本包内收了一份 dsh-persist(v0.2.5)的本地分叉
(
lib/vendor/dsh-persist/),MIT © 2026 ten,许可原文随包附在lib/vendor/dsh-persist/LICENSE。这样对外只需要装一个插件。
已知限制(先看清楚再装)
- 只在 Windows 上充分实测过(Obsidian 与 Ollama 的路径探测都给了三平台候选,但非 Windows 未实测)。
- 语义检索需要嵌入器可用:Ollama 没启动、又没配云端 API 时,它会退化成关键词模式并在设置页红字说明(不会静默变笨)。
- 「记忆视图」是只读副本,刷新会重写该目录(只清它自己生成的文件)。
- 体检器给的是候选清单,不是判决 —— 要人来裁。
- 初始化会读你的会话日志(默认只扫当前工作区,全量要你点头),第一次跑会花点时间。
- 打码只作用于"转写副本":会话转写落盘前会把密钥(GitHub / OpenAI / Anthropic / AWS / Slack 的 token、私钥块)换成
[已打码], 但DSH 自己的原始会话日志(session.jsonl.zstd)里仍然有 —— 插件不去动它。 所以正确做法还是别把密钥贴进聊天;贴了的话请去服务商那边吊销重发。
许可
Apache License 2.0(见仓库根 LICENSE;版权行 Copyright 2026 373158808qq-cmd)。
简单说:你可以自由使用、修改、再分发,商用也行;条件是保留版权与许可声明、 改过的文件要注明你改过,并且许可里附带了专利授权(贡献者不能拿专利反过来告你)。
包内第三方分叉 lib/vendor/dsh-persist/(v0.2.5)不是 Apache-2.0,
它是上游的 MIT © 2026 ten,按原许可随包分发,原文在 lib/vendor/dsh-persist/LICENSE;
本包 NOTICE 里也做了归属声明。
致谢
- DeepSeek Harness —— 插件跑在它的 Cordis 插件体系上
- dsh-persist —— 分层记忆的搬运工(本包内含其分叉)
- Ollama 与
qwen3-embedding—— 本地嵌入 - Obsidian —— 可选的显示层