dsh-memory-palace
Manifest valid★ 10Port WorkBuddy’s file-based memory system into [DeepSeek Harness](https://www.deepseek.com/harness/) — providing Harness with **cross-session persistence and human-editable Markdown memory**.
dsh-memory-palace 
把 WorkBuddy 的文件式记忆系统移植进 DeepSeek Harness —— 为 Harness 提供跨会话持久化、人类可直接编辑的 Markdown 记忆。
特性
- 人类可读的真源:记忆以纯 Markdown 存储,任何编辑器都能直接修改,数据始终属于你。
- 双层记忆:用户级(跨项目个人偏好)+ 工作区级(项目约定),互不干扰。
- 日志自动沉淀:超过保留期的每日日志自动并入长期记忆,结论不丢。
- WorkBuddy / CodeBuddy 桥接:项目已有对应记忆目录时直接读写,无需重复维护。
- 记忆工具:AI 可主动写入、聚合读取、按内容删除(删除需人工确认),写入自带去重。
- 手动蒸馏:会话标题栏一键把当前对话或项目记忆提炼成长期记忆。
- 设置页集成:全部配置均可在 DSH 设置面板中图形化调整(按板块折叠),无需改配置文件。
- 自定义指令:不适合写进记忆的特殊指令可在设置页配置,插件经系统提示词注入。
- 主动记忆(插件模式):以指令引导 AI 在完成任务、修复问题、确定决策、获知偏好时主动落档。
- 智能模式:由模型自动提炼每轮新增内容,摘要进日志、长期事实进记忆。
- 记忆注入:长期记忆与今日日志以「会话起始快照」常驻上下文、按文件身份各只注入一次 —— 既保证每个步骤都可见,又不破坏前缀缓存、不堆积冗余快照。
- 混合模式(🔥推荐):子代理每轮自动整理日志并去重,长期记忆由主 AI 主动维护,兼顾自动化与可控性。
- 标准插件包:经官方插件机制一键安装,无需改动 harness。
记忆文件布局
~/.deepseek-harness/
└── MEMORY.md # 用户级记忆(跨项目个人偏好)
<项目根>/
├── .workbuddy/memory/ # 桥接 WorkBuddy 记忆(存在时优先写入)
│ ├── MEMORY.md # 项目级约定(buddy 目录保持嵌套,兼容 WB/CB 原生格式)
│ └── 2026-08-16.md # 每日工作日志
├── .codebuddy/memory/ # 桥接 CodeBuddy 记忆(存在时,结构同 .workbuddy)
└── .deepseek-harness/ # dsh 原生目录(读取恒在首位;无 buddy 时作为写入目标创建)
├── MEMORY.md # 项目级约定(长期记忆,与 memory/ 同级)
└── memory/
└── 2026-08-16.md # 每日工作日志
工作原理
读取(每轮对话)——两条通道并行:
① 系统提示词(恒定):记忆公民指令 / 自定义指令等固定内容,前缀缓存友好
② 对话历史投影(易变):用户级 + 项目级长期记忆、今日日志——按文件身份各注入一次,压缩后自动重注最新版
极简模式(静默预设):宿主的「模式」= agent 平面预设(
presets/*/agent.cordis.yml),官方 minimal 用 personacomplete: true独占系统提示词,是刻意留白的「裸测环境」(跑分口径)。但本插件注册在 host 平面,各通道对每个会话都生效(complete只吞 system 提示词、不裁工具),所以必须按会话自行静默。默认silentPresets = ["minimal"]已覆盖官方极简模式:命中预设的会话里,系统提示词、记忆投影、7 个记忆工具(schema 一并隐身,零 token 足迹)、turn-end 自动写入与 hybrid 记忆子代理全部关闭,语义等价于该会话没装本插件,不留半注入状态。判据取会话创建头agentPreset(含未显式指定时的部署默认)与预设切换事件;判据缺失一律 fail-open(不静默),不会因识别不到而丢记忆。要静默其它预设,在设置页「静默预设」里加 id(逗号分隔)。
写入(每轮结束)——经「防闲聊闸门」判定后异步追加:
本轮结束 ──► 闸门:有工具调用 / 有错误 / AI 主动记 / 命中偏好·决策关键词 → 放行
│ 否则跳过(不写、不调模型)
├─► 摘要写入今日日志
├─► 出错且开启「自动记录错误」→ 错误现象写入长期记忆
└─► 超期日志并入长期记忆后删除
日志文件头统一为日期标题,写入时自动补齐(历史文件不回填)。
工具——AI 在对话中按需调用:
| 工具 | 层级 | 作用 |
|---|---|---|
memory_note | 项目级 | 把约定/偏好写入当前项目全部目标 MEMORY.md(去重) |
memory_note_user | 用户级 | 把跨项目偏好写入 ~/.deepseek-harness/MEMORY.md(去重) |
memory_read | 按需 | 读取记忆。scope 默认 memory(用户级 + 项目级);可选 project(仅项目级,与 memory_write 的写侧 scope 同名)/ today / yesterday / daily(近三天日志)/ all(长期记忆 + 日志) |
memory_delete | 用户级/项目级/每日级 | 按内容删除记忆条目(两阶段确认:先预览匹配位置与内容,用户确认后再删;删除动作经 harness 原生确认弹窗硬闸门,真人点允许才真正执行) |
memory_write(hybrid) | 项目级/用户级 | 章节化写入:章节存在则末尾追加,不存在则新建章节(章节化格式规范) |
memory_update_section(hybrid) | 项目级/用户级 | 整章节精确替换/单条标记删除:oldText 归一化精确匹配防 stale,失败拒绝并回显实际内容 |
memory_reorganize(hybrid) | 仅项目级 | 全量重整 MEMORY.md:双门禁(超出注入预算 且 距上次重整 ≥ 冷却天数)机器校验,原子替换 + 时间戳注释,用户确认弹窗 |
安装
前置要求:已安装 DeepSeek Harness 及其 CLI(dsh 命令可用)。插件声明的 dsh 下限为 0.1.5-rc.1(写进 peerDependencies 门禁,低于此版本装载期即挡),已核验至 0.1.6-alpha.2(契约 1–12 与插件占用的宿主面全部通过)。
方式一:直接通过 GitHub 安装(推荐,lib/ 构建产物已随仓库分发,装即用)
dsh plugin --profile web add github:lovezi0/dsh-memory-palace
# 锁定版本:dsh plugin --profile web add github:lovezi0/dsh-memory-palace#v1.7.2-alpha.1
方式二:clone 后本地安装(开发 / 修改源码场景)
git clone https://github.com/lovezi0/dsh-memory-palace.git
cd dsh-memory-palace
npm install
npm run build # src/ → lib/(服务端递归复制 + 客户端零依赖拼接,无外部构建依赖)
dsh plugin --profile web add . # 装入 web profile(profile 名按你的实际配置调整)
方式三:通过 npm 安装(已发布到 npm registry,可走镜像加速)
# 直接由 dsh 从 npm 拉取并装入(本机若已配镜像会自动走镜像)
dsh plugin --profile web add dsh-memory-palace
# 或先手动用 npm 安装(显式指定镜像),再装入:
npm install dsh-memory-palace --registry=https://registry.npmmirror.com/
dsh plugin --profile web add dsh-memory-palace
卸载:
dsh plugin --profile web remove dsh-memory-palace
配置
面板路径为 DSH 设置 →「记忆」 所有配置项(核心 / 自定义指令 / 自动记录 / 存储路径与预算 / 开发 五张卡片的字段、默认值与说明)已整理至 CONFIG.md
开发
架构 / 构建 / 技术要点 / 蒸馏失败重试 见 DEVELOPMENT.md。 提示词与智能模式蒸馏(公民指令 / 摘要 / 蒸馏) 见 PROMPTS.md。
版本历史
- 1.7.2
- 1.7.2-alpha.1
- 💪dsh Agent 预设[极简模式]时禁用记忆注入、记忆生成、记忆工具
- 1.7.2-alpha.1
- 1.7.1
- 💪移除日志重注机制优化缓存命中降低堆积冗余
- 💪记忆设置UI优化
- 🔥增加自定义指令 prompt 配置与注入
- 💪memory_read 增加 scope 参数
- 1.7.0
- 🔥新增独立通道注入记忆文件
- 🐛修复存在多种记忆路径时读取冲突的问题
- 💪优化记忆子 agent 投影消息节省 token
- 💪优化 SUBAGENT_SYSTEM 记忆输出格式
- 1.6.3
- npm publish
- 1.6.3.alpha.4
- 🐛修复三种记忆模式配置互串的问题
- 🐛修复记忆子agent工具幻觉问题
- 1.6.2
- 1.6.2.alpha.4
- 🔥适配deepseek harness 0.1.2-alpha.4
- 1.6.2.alpha.2
- 原1.6.0发布
- 1.6.2.alpha.4
- 1.6.1
- 原1.6.0.alpha.1发布
- 1.6.0
- 🔥适配deepseek harness 0.1.2-alpha.2
- 1.6.0.alpha.1 未发布npm
- 🔥新增混合模式(hybrid) 仍默认插件模式,建议切换至混合模式
- 🔥新增记忆子agent处理轮次会话日志
- 💪优化记忆文件结构做到真正人类可读
- 💪优化调试模式参数保存
- 1.4.2.alpha.1 未发布npm
- 💪记忆注入:仅首次注入 + compaction 重注
- 💪优化手动项目蒸馏prompt
- 💪[smart] 标签全移除
- 🐛修复记忆文件LIFO/FIFO 错配
- 1.4.1
- 🐛修复输出预算使用错位的问题
- 🐛增加调试模式日志级别 默认info 仅输出元数据日志,debug 输出完整LLM text
- 1.4.0
- 🔥智能模式增加最大输出Token限制
- 🔥智能模式增加失败重试机制
- 🔥智能模式会增加回馈存量记忆
- 🐛修复自动记录部分设置位置错误问题
- 1.3.0
- 🔥新增计划模式禁止写入记忆
- 💪设置-记忆控件样式优化 使用dsh原生样式
- 💪清理重复patch信息
- 🔥增加调试模式 默认关闭,仅用于智能模式蒸馏失败输出调试信息
- 1.2.3
- 1.2.2
- 🐛修复智能模式自定义摘要模型不生效的问题
- 1.2.1
- 💪发布npm
- 1.2.0
- 🔥会话标题栏【记忆】按钮
- 🔥手动蒸馏会话与项目记忆
- 🐛修复记忆预算注入无效
- 💪项目混合式模块化重构
- 1.1.4
- 🔥智能模式摘要上线
- 1.1.2
- 🐛修复记忆设置保存不生效的问题
- 1.1.1
- 💪每日日志格式简化
- 1.1.0
- 🔥新增「智能模式/插件模式」切换功能
- 1.0.0
- 🔥新增防闲聊闸门
- 🔥新增记忆公民指令
- 🔥新增删除记忆工具
- outdated(0.x) — 双层 Markdown 记忆读写 / 设置页集成等 0.x 历史,见 CHANGELOG.md
参考与致谢
本插件开发深度参考了以下两个开源项目(本包实现为各自机制的简化落地,不含其完整功能):
License
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 1.2.0 | — | — |
| 1.2.1 | — | — |
| 1.2.2 | — | — |
| 1.3.0 | — | — |
| 1.4.0 | — | — |
| 1.4.1 | — | — |
| 1.6.0 | — | — |
| 1.6.1 | — | — |
| 1.6.2-alpha.2 | — | — |
| 1.6.2-alpha.4 | — | — |
| 1.6.3-alpha.4 | — | — |
| 1.6.3 | — | — |
| 1.7.0 | — | — |
| 1.7.1 | — | — |
| 1.7.2-alpha.1 | — | — |
| 1.7.2-alpha.2 | — | — |
| 1.7.2-alpha.3 | — | — |
| 1.7.2 | — | — |
| 1.8.0-alpha.1 | — | — |
| 1.8.0-alpha.2 | — | — |
Comments
Loading…
Similar plugins
by wojiao42
文件型长期记忆:每个会话注入你自己的 Markdown 记忆文件,提供读写工具,并能查出 DSH_HOME 漂移;不读对话、不联网 · File-backed memory for DeepSeek Harness, with verifiable constraints
★ 0
MIT
JavaScript
Oct 7, 2026
dsh plugin --profile web add dsh-memory-fileby chenkezhen480
Semantic long-term memory for DeepSeek Harness: embedding-based retrieval over a persistent cross-session memory store, with model-facing tools, proactive per-question recall, automatic conversation summarization, and auto-selected embedding provider (apiKey present → API, otherwise local).
★ 0
Apache-2.0
TypeScript
Aug 17, 2026
dsh plugin --profile web add dsh-plugin-semantic-memoryby guntur-d
Persistent cross-session memory plugin for DeepSeek Harness: workspace-scoped durable facts with memory_write/list/search/forget tools and bounded prompt injection
★ 0
TypeScript
Aug 14, 2026
dsh plugin --profile web add @guntur-d/dsh-memoryby zhaoxuejie
让 DeepSeek Harness agent 把本地 Obsidian 知识库当作长期记忆与工作台:全文/语义检索、会话记忆注入、一键捕获、巡检管家(只建议不擅改)
★ 1
MIT
JavaScript
Sep 7, 2026
dsh plugin --profile web add dsh-plugin-vault-memoryby JunNanLYS
让 DeepSeek Harness 拥有跨会话长期记忆:AI 自动记住你是谁、你的项目和偏好,新会话直接带上背景,生活与工作记忆自动分开互不干扰,零配置无感运行 | Long-term memory for DeepSeek Harness: the AI remembers who you are, your projects and preferences across sessions,
★ 21
↓ 285/wk
MIT
TypeScript
Sep 7, 2026
dsh plugin --profile web add dsh-layered-memoryby disc0nct
A persistent memory plugin for DeepSeek Harness that enables agents to store and recall information across sessions — DSH-native tools with atomic storage, validation, and concurrency-safe reads
★ 0
MIT
JavaScript
Aug 22, 2026
dsh plugin --profile web add @deepseek-ai/dsh-tool-memory