deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
Persistent three-layer memory for DeepSeek Harness (DSH), implemented as a host-side bundle plugin: cross-workspace storage, forced per-turn auto-consolidation, agent-visible memory tools, and a system-prompt section that makes every agent preset actively use memory.
DSH 持久三层记忆宿主插件:跨工作区共享记忆库 + 每回合强制自动沉淀 + agent 记忆工具
| 需求 | 实现 |
|---|---|
| 长期记忆 | long-term/:profile / facts / decisions / projects(agent 用 memory_write 维护) |
| 短期记忆 | short-term/<sessionId>.md:每回合结束宿主自动追加原始流水 |
| 会话摘要 | episodes/<sessionId>.md:每回合结束宿主自动用 LLM 追加一句话要点 |
| 跨 workspace 共享 | 记忆根固定为 $DSH_HOME/memory(默认 ~/.dsh/memory),与任何工作区解耦;读写走宿主层,不受 agent 文件沙箱限制 |
| 强制自动沉淀 | 宿主监听 session/event 的 turn/end(completed),回合自然结束即沉淀,不依赖 agent 自觉;无 LLM 可用时确定性摘要兜底 |
| 模型工具 | memory_read / memory_write / memory_search(宿主执行) |
| 主动记忆引导 | 注册 systemPrompt 段(host 层,对所有预设生效):会话开始必读长期记忆、学到事实主动写入、答"你记得吗"先检索。无需任何 agent 预设 |
插件装在宿主层,任何预设(standard / minimal / 自建)的会话都自动获得全部记忆能力—— 不需要选择"记忆模式"。
# 1. 构建 tarball 并安装进目标 profile(reconcile 自动加入 bundle 层)
cd dsh-memory
pnpm pack
dsh plugin --profile web add ./dsh-memory-0.1.0.tgz
# 2. 重启 dsh web
systemctl restart dsh-web # systemd 部署
# 或重新运行 dsh web
或者一键:./install.sh [profile](默认 profile 为 web)。安装后记忆根自动初始化三层骨架。
$DSH_HOME/memory/
├── README.md
├── long-term/
│ ├── profile.md # 用户画像
│ ├── facts.md # 事实
│ ├── decisions.md # 决定
│ └── projects.md # 项目笔记
├── episodes/<sessionId>.md # 自动:每回合追加一行 LLM 摘要
└── short-term/<sessionId>.md # 自动:每回合追加原始流水
根目录可用配置 root(profile patch 里给 dsh-memory 行加 config)或环境变量
DSH_MEMORY_ROOT 覆盖;legacyRoot 配置可把旧目录一次性并入。
package.json 声明 dsh.bundle.patch → cordis.patch.yml
在 profile root 插入一行,host 插件注册工具/事件/提示段。@deepseek-ai/dsh-tools / dsh-llm / dsh-home-paths,运行时由 DSH
的 profiles module fallback 解析(无需自带依赖)。session/event firehose(host 可靠接收)上的
turn/end(reason.kind === 'completed') → 追加 short-term 原始流水 → 尽力用
ctx.llm.stream 生成一句话要点追加 episodes;同 session+turn 去重,不阻塞事件流。ctx.systemPrompt.section({ name: 'dsh-memory', ... }) 在 host 注册,
因此注入到每个预设的 agent 系统提示。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。