起居注(dsh-chronicle):把 DSH 对话收成可审、可检索的 Markdown 编年史

前言

在 DeepSeek Harness(DSH)里连续干活时,常见三类断层:上一轮敲定的方案、踩过的坑、否掉的路线,下一轮会话里再也找不到出处;写入式记忆插件能记结论,但往往缺「这条结论是哪天、从哪次对话得出」的证据链;日报类工具又容易变成流水账,不排序、不带证据、难以回溯。

起居注(dsh-chronicle)由社区维护者 zuoyunlai 开发,归类为 DSH 生态的「记忆」类插件。它把 Harness 内的对话按重要性收口成一份可审的 Markdown 编年史,并维护不随日期过期的原子事实库;产物是独立的 Obsidian vault,包内 dependencies 为空,只依赖宿主自带的 @deepseek-ai/*。README 标注当前状态为 v2.3.1。下面介绍其定位、结构、安装与日常用法。

这是什么

插件全名 起居注 · dsh-chronicle。一句话定位:把 DSH 里的对话收口成可审、可检索、可关联的 Markdown 编年史与事实库,零第三方运行时依赖。

它明确不做向量语义检索、不做全量历史回填;不替代实时工作记忆(README 写明那是 mnemon / OpenViking 等插件的场景,本插件常驻系统提示只占一行且不超过约 80 token);gitCommit 仅做本地提交,不 push 任何代码。

它解决什么问题

README 归纳的三类痛点与对策如下:

  1. 反复解释同一件事——编年史按天、按周落盘,带证据引用。
  2. 记忆缺少时间链——周文件、事实页、实体页把「哪天、从哪次对话」留住。
  3. 日报只有流水账——收口后经规则或 LLM 打分,再按板块归类(日结、结论与决策、约定与口径等)。

处理管线(资料原文):采集 → 回捞 → 纲要 → 规则/LLM 打分 → 日结与七块 → 周文件 → 按天时间轴 → 实体图与实体页 → 事实库 → 跨天线索 → 规则导出 → 右侧栏面板。

三层产物结构

产物刻意分成编年、纪传、纪事三类目录,便于在 Obsidian 里直接阅读。

层 目录 内容
编年体 chronicle/2026-W46.md 等 按周一个文件;每天一块:日结 + 项目进展 / 结论与决策 / 约定与口径 / 坑与根因 / 被否方案 / 未答问题 / 其余进展
纪传体 entities/、graph/ 实体页与共现图;面板「图谱」视图为其可视化
纪事本末体 facts/、MEMORY.md 不随日期过期的原子结论;MEMORY.md 为索引,建议先读索引再打开具体篇目

事实层分两个 scope:general(工作知识,进 MEMORY.md 主索引并参与规则导出)与 tool-self(工具自身开发史,单独一节且不进规则导出),避免工具笔记与业务记忆互相污染。

数据目录与权限

两处目录分开存放,删错后果不同:

目录 默认路径 内容 删了会怎样
私有数据 ~/.dsh/dsh-chronicle/(dataDir 可配) 原始事件 JSONL、状态、纲要缓存 不可重建
产物 vault ~/dsh-chronicle-vault/(vaultDir 可配) 周文件、实体页、事实页、规则导出 可重跑;Obsidian 直接打开这层

插件在 package.json 的 dsh.capabilities 中声明:tools:register、sessions:read(只读历史会话)、system-prompt:write、fs:read、network:egress(面板访问同源 /chronicle/api/*)。dsh.labels 含 prompt-modification。承诺包括:不上传会话、不经第三方中转、不读凭据、不静默大改提示等(详见仓库 README)。

常驻系统提示注入一行摘要,默认开启,预算 injectBudget 为 80 字符,示例形态:

[chronicle] 今天 12 条 · 一条约定与一个待避的坑

当天无记录时不出现;关闭方式:配置 injectLine: false。数据保留在本机,插件不自动上传也不自动删除。

安装与启用

推荐在 DSH「设置 → 插件」中搜索 dsh-chronicle 安装;插件管理会装依赖、写入 dsh.profile.bundles、应用包内 cordis.patch.yml。

命令行等价写法:

dsh plugin --profile <你的 profile> add dsh-chronicle

注意:dsh plugin ... add 仅转发给 pnpm 装包,不会自动启用。装完后必须在「设置 → 插件」里打开该插件,否则 chronicle_* 工具不会出现。装完需重启对应 profile 进程。

自检:在会话里问「chronicle 装好了吗」,模型可调用 chronicle_ping,输出中会包含版本、数据目录、产物目录与宿主服务就绪情况。

升级:

dsh plugin --profile <profile> add dsh-chronicle@latest

升级不动 dataDir 与 vaultDir(均在插件目录外)。卸载:

dsh plugin --profile <profile> remove dsh-chronicle

卸载不删数据;彻底清理需自行删除数据与 vault 目录(卸载前建议先跑 chronicle_ping 确认实际路径)。

工具与面板

README 列出 10 个 chronicle_* 工具,常用者如下:

工具 用途
chronicle_ping 自检:版本、目录、配置、服务、回捞进度
chronicle_close 立刻收口某天(scoring 可单次覆盖 rule/llm,dryRun 只预览)
chronicle_doctor 日志体检:重复键、坏行、思考污染、丢弃计数等
chronicle_today 取某天记录,按重要度降序
chronicle_search 跨天检索(实体命中 + 图 2 跳 + IDF + 60 天半衰期)
chronicle_related 给定实体,返回图邻居与相关记录
chronicle_facts 列举事实库(可按 kind / project / q / scope 过滤)
chronicle_review 待复核的旧结论
chronicle_export_rules 导出约定 / 失效条件 / 判别信号为可粘贴规则
chronicle_capsule 时间胶囊:给未来的自己留话

右侧栏「起居注」提供六个视图:近期 / 检索 / 关联 / 事实 / 线索 / 图谱。「近期」为按天时间轴;「图谱」为零依赖力导向图,可缩放、拖拽,点绿点进事实库、点褐/黄点进检索。

典型用法

1. 装好后确认环境

依赖 chronicle_ping 查看版本、面板 API 是否注册、今日条数与补收状态。

2. 需要日结时打开 LLM 打分

默认 scoring: 'rule' 不调模型,不产日结。要日结可在设置里改为 llm,或单次收口时指定:

chronicle_close { "day": "2026-11-09", "scoring": "llm" }

3. 跨天查事

用 chronicle_search 做跨天检索;面板检索为只读 GET,命中计数由工具调用累加,而非面板侧写盘。

4. 导出团队约定

chronicle_export_rules 按 project 分节,可用 project 参数只导出某一项目规则。

5. 用 Obsidian 读产物

将 vaultDir(默认 ~/dsh-chronicle-vault)作为 vault 打开;编年读 chronicle/ 周文件,长期结论先读 MEMORY.md 再进 facts/。

常用配置

在「设置 → 插件 → 起居注」中可改 18 项。资料中列出的常用键:

键 默认 说明
vaultDir ~/dsh-chronicle-vault 产物目录
dataDir $DSH_HOME/dsh-chronicle 私有数据
tickMinutes 5 轮询间隔,只判断该不该收口
importanceFloor 3 低于该星级折叠进附录
scoring rule llm 才有日结
gitCommit true 收口后对 vault 本地 commit(不 push)
injectLine true 是否注入一行摘要
maxEventsPerDay 5000 单日事件上限
weekFile true 按周一个文件;关闭则按天(一年 365 文件对 Obsidian 负担大)
includeSubagent false 是否收录子代理会话

完整清单见 chronicle_ping 输出或设置页。

适用场景与边界

适合谁:长期在 DSH 里做项目推进、需要「哪天定了什么、证据在哪」且希望产物落在本地 Markdown、用 Obsidian 审阅的开发者。

收口时机:跨过午夜后收「上一个自然日」,不收当天;关机不丢数据,下次启动会补收(一次最多补 30 天,更早的会在 chronicle_ping 的 catchUpDropped 中列出)。已收口日若回捞补进旧会话,下次 tick 会自动重收,并在 ping 的 revisited 中体现。

安全与审计:安装前宜自行查看 GitHub 仓库 源码与 LICENSE;插件以当前 DSH profile 进程权限运行,会只读会话并写本机目录。社区插件目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系。

常见问题(资料原文):工具全消失多为「装了未启用」;面板 404 先看 chronicle_ping 面板 API 条数;日结为空多为 scoring 仍为 rule;单日事件丢弃检查 maxEventsPerDay 与 chronicle_doctor。

结尾

起居注把 DSH 对话从「会话内即逝」拉成本地可审的编年史与事实库,和向量记忆、实时工作记忆分工明确:前者偏长期、带日期与证据链的 Markdown 资产。若要试用,可从 SkillHub 目录页或 GitHub README 进入,按上文步骤安装、启用并跑一次 chronicle_ping。

  • 目录页:https://www.skillhub.cn/plugins/zuoyunlai/dsh-chronicle
  • 源码与文档:https://github.com/zuoyunlai/dsh-chronicle
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye