DSH-KRouter:面向编码智能体的 Obsidian 知识 OS

前言

在 Cursor、Codex、Claude Code 或 DeepSeek Harness 里写代码,常见的一个问题是:同一个决策、同一套发布流程,隔几天又要重新解释一遍。会话压缩、向量检索或托管记忆 API 能把上一段对话塞进下一轮提示,但很难保证智能体下次打开的是你认可的那一页,更难在纠错之后让后续调用必须命中更新后的正文。

DSH-KRouter(仓库名 runtime36)走另一条路:把「记住」落成 Obsidian vault 里的日结、蒸馏与晋升,用短名词加别名表做检索锁,而不是维护向量库。下面介绍它是什么、能做什么,以及如何在 DSH 里安装启用。

这是什么

DSH-KRouter 由 398894496-arch 维护,在 SkillHub 上归类为「记忆」。package.json 当前版本为 0.4.0,许可证 MIT。

一句话定位:编码智能体的第二大脑 OS——克隆下来的是协议、骨架、路由器和每日写入器;vault 里的名词、项目与纠错记录随你使用而增长,不会在 clone 时附带作者私人笔记。支持 Cursor、Codex、Claude Code、DeepSeek Harness,共享同一套 vault 与 canonical_sources.psv 别名表。

与典型「智能体记忆」的差异可以概括为:不靠语义近邻兜底,不做向量库运维;纠错时改 canonical 页面,下次调用必须打开该页并带回双 SHA-256 回执。

核心功能

四层流水线

README 用 L1–L4 描述日常自进化(定时器默认开启):

层级 作用 不应做的事
L1 Logs 每天在 05 下写一条日志 把日志当可复用方法
L2 Distill 蒸馏摘要,不替代原文 自动写入 active 方法
L3 Promote 五道门通过 → 当天自动写 provisional;下次类似任务再询问;采纳且任务被接受 → active 跳过 provisional 或直接写 active
L4 Lock 短名词 → 对应页面 + 双 SHA-256;依赖 python3rg,README 称 8 GB M2 上可达数十毫秒级 向量回退、邻居引用

检索是,不是产品本身:命中返回 canonical-match 与来源校验字段;未命中返回 canonical_match: false 与提示,不冒充命中。

晋升与纠错

  • 首个符合条件的日子会自动写入 provisional 方法。
  • 正式 active 不自动写入:遇到类似任务时询问;采纳且任务被接受后才晋升。
  • 纠错优先:改 canonical 页面后,后续调用应打开该页;这与「重新嵌入并希望旧块衰减」的做法不同。

DSH 侧能力

作为 DSH 插件挂载时,提供只读工具:statuspreferencecorrectionmemory(vault 路由,非聊天记忆)、projectsearchsuggest。卸载插件不删除 vault 笔记。

dsh plugin add 是挂载路由与桥接;每日蒸馏写入由 install.sh 安装的定时任务负责。lamp: unused 表示你关闭了定时器。

依赖与环境

  • 运行需要 python3rg、PyYAML。
  • 完整测试:python3 -m pip install -r requirements-dev.txt && python3 -m pytest -q
  • CI 在每次 push 时跑 pytest、first_run.sh 与 DSH bridge;查询时数据不出本机。

安装与启用

从社区目录安装(DSH)

README 给出的官方命令:

dsh plugin --profile web add github:398894496-arch/runtime36

本地已有克隆时,也可挂载路径:

dsh plugin add /path/to/this/repo

安装前建议阅读仓库源码与 MIT 许可证。插件以当前 dsh 进程权限运行,会访问本机 vault 路径与密钥配置。

验证检索锁(约 15 分钟)

README 提供无需 GPU、Docker 或嵌入服务的快速验证,用于证明 L4 锁,不会蒸馏昨日内容:

git clone https://github.com/398894496-arch/runtime36.git
cd runtime36
python3 -m venv .venv && . .venv/bin/activate
python3 -m pip install -r requirements.txt
./scripts/first_run.sh

新鲜克隆上 first_run.sh 约 20 秒可跑完;无需账号、API key 或网络。

启动每日写入器

这是 README 强调的产品核心。先把 template/ 复制到你的 vault,在别名表里填入你的名词(模板自带十个样例),再执行:

export OBSIDIAN_VAULT=/path/to/YourVault
./scripts/install.sh

API key 路径: 在 vault 页面 template/90 系统文件/自动化/自进化钥匙.md 粘贴 *_API_KEY;或让 install.sh 写入 ~/.dsh-krouter-keys.envchmod 600,不要放进 vault)。写入器两处都会读,vault 页面优先。

无 key: 已登录的 CLI(grok、官方 Codex、claude)也可完成蒸馏与晋升,无需额外 env 文件。相关文件在 extras/host-daily-evolution/

注意:OBSIDIAN_VAULT 必须在 install.sh 之前导出,否则定时器不会加载。install.sh 会安装 ~/.agents/skills/krouter-obsidian~/.cursor/rules/krouter-obsidian.mdc;若目标已存在且未加 --force 会退出码 1,且不覆盖活跃的 obsidian-knowledge-router

DSH 桥接自测

node extras/dsh/test-bridge.mjs

典型用法

检索命中与未命中

每次路由都会返回回执,便于区分权威命中与猜测:

retrieval_status: canonical-match
canonical_source: /YourVault/Agent第二大脑.md
canonical_id: Q01
source_verified_at: 2026-01-01
source_sha256: d8c1d5af…
canonical_map_sha256: c55b8715…
canonical_match: true

未命中时 canonical_match: false 并附带提示。可用 suggest 查看最近别名(仅作提示):

./scripts/krouter suggest homz

需要新路由时,向 canonical_sources.psv 增行,例如:

Q11|deploy;deployment;how we ship|02 经验与方法/Deploy/发布流程.md|Ship from main only

四端挂载,同一 vault

挂载 交付物
Cursor extras/cursor/krouter-obsidian.mdc(经 install.sh
Codex extras/codex/AGENTS.snippet.md
Claude Code extras/claude-code/CLAUDE.snippet.md
DeepSeek Harness DSH socket;只读工具见上文

Cursor 规则会先跑 status,若存在 host_action 必须告知宿主。

适用场景与注意

适合:

  • 已有或愿意维护 Obsidian vault,并在 Cursor / Codex / Claude Code / DSH 中工作;
  • 同一决策、流程反复向智能体解释,希望方法沉淀在 vault 而非聊天窗口;
  • 接受「短名词 + 别名表 + 页面锁」检索,不需要向量库或托管记忆 API;
  • 愿意让每日定时器(默认开启)做 seal → distill → promote。

不适合:

  • 希望把聊天自动注入下一轮提示;
  • 需要语义近邻搜索或开箱即满的 vault(克隆的是 OS,不是作者私人笔记);
  • 不想维护名词别名表与 canonical 页面。

README 明确:这不是 Mem0,也不是普通笔记应用。作者 vault 在 2026-08-21 曾报告连续封存 72 天等数据,那是作者侧已积累别名与晋升后的结果;你能本地复现的是 first_run.sh 与 pytest 套件。

安装与日常使用前,请自行核对源码、权限与密钥存放方式。SkillHub 为独立社区目录,与 DeepSeek / 幻方无官方从属关系。

结尾

DSH-KRouter 把「记忆」做成可审计的 vault 流水线:日结封存、蒸馏晋升、短名词检索锁,Correction-first,定时自进化默认开启。若你的痛点是智能体总记不住你已写下的方法,可以先用 first_run.sh 验证锁,再按 README 配置 vault 与 install.sh

  • SkillHub 目录页:https://www.skillhub.cn/plugins/398894496-arch/runtime36
  • GitHub 仓库:https://github.com/398894496-arch/runtime36
  • 中文 README:https://github.com/398894496-arch/runtime36/blob/main/README.zh.md
羽毛球分组比赛记分
小程序二维码

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

小夜