Repository navigation
Releases
Releases · YunpengDon/dsh-knowledge-tree
v1.1.0 · 人在环内:四个工具挂上 dsh-hitl 的决策卡
人在环内改为复用 dsh-hitl 的决策卡,不再自带确认卡。
- 四个工具落盘前各挂一张卡:
append_leaf按 Markdown 渲染正文;organize_tree给出整理之后的整文件 diff;
update_index给出旧 / 新索引的并排 diff;cleanup_organized_leaf只读展示将被删除的那片叶子原文。 - 卡面规矩:可改的才给输入框(正文、名称、锚点、落点、被搬移的标题),既定对象只读(删除卡整张只读,删除与搬移的"知识树文件"只读),预览(diff、将被删除的内容)一律只读;字段顺序先参数、后预览。
- 卡上的预览与落盘共用
src/markdown.ts的同一组纯函数,两者不会跑偏;算不出来时(锚点不存在、叶子不在待整理区、文件被删)卡上直接说明原因,而不是弹不出卡或装作没事。 - 配置改为
config.hitl:enabled/whenUnavailable/countdownSeconds/rejectFeedback。
旧的humanTurn/confirm/confirmTools/feedbackTools/confirmTimeoutSeconds只警告、不再生效
(其中off会映射成hitl.enabled: false)。 - 卡片需要 dsh-hitl ≥ 0.2.0:0.2.0 才提供"计算字段",diff 与删除预览靠它拿到磁盘上的原文。
dsh-hitl本身仍是可选依赖——组合里没有它时四个工具照常工作,只是没有人确认这一环。 - 路径定位抽到
src/paths.ts;结构操作新增nodeText(),update_index的补标题规则抽成indexFileText()
(预览与写入共用);补tests/hitl.test.js。 - 已知限制:预览读的是弹卡那一刻的文件内容。人在看卡时文件若被别的会话改动,diff 与真正落盘的内容可能不一致——
HITL 拦的是"调用开始之前",它不是事务。
安装
dsh plugin --profile <你的 profile> add dsh-hitl dsh-knowledge-tree两个都要装:卡片由 dsh-hitl ≥ 0.2.0 提供(0.2.0 才引入"计算字段")。
v1.0.2
修复:代码围栏内的 # 行被误认为 Markdown 标题,导致 organize_tree 把一片树叶静默切成两半。
- 结构扫描(标题查找、节点边界、待整理计数)现在会跳过
```/~~~围栏;
未闭合的围栏之后一律视为围栏内,宁可少认标题也不误切节点。 - 标题只出现在代码块内时改为报错,不再照着搬。
- Markdown 结构操作抽到
src/markdown.ts(纯函数),src/index.ts只保留工具注册与 I/O;
补node:test回归测试(pnpm test)。 - 已知限制:Setext 标题(
标题+====)、4 空格缩进代码块、HTML 注释内的#仍不识别。
v1.0.1 · 修改依赖项以适配DSH 0.2.0
调整环境依赖适配dsh-v0.2.0-rc.2
v1.0.0 · 知识树插件首个可用版本
知识树 DSH 插件(dsh-knowledge-tree)的第一个可用版本:在与 AI 的对话中收集零散知识(树叶),AI 自动归类到知识树,长期积累形成个人独有的知识体系。
包含什么
四个工具
| 工具 | 功能 |
|---|---|
append_leaf |
追加知识叶子到「待整理」区,文件不存在时自动创建 |
organize_tree |
整理知识树(插入节点 / 移动节点) |
cleanup_organized_leaf |
从待整理区删除已整理的叶子 |
update_index |
更新知识树索引文件 |
两个技能
| 技能 | 触发场景 |
|---|---|
append-leaf |
用户说「记一下」「保存到知识树」 |
organize-tree |
用户说「整理知识树」「归档待整理」 |
知识树文件写在当前会话工作区的 knowledge-trees/ 下,不同项目/会话的知识树互相隔离。
以 DSH bundle 形式分发:包内自带配置层 cordis.patch.yml,装进 profile 后自动挂上四个工具和两个技能,不需要手改任何配置。
安装
最省事的做法:把本页的 tarball(或仓库链接)直接发给 DeepSeek Harness 智能体,让它帮你装。
下载下方的 dsh-knowledge-tree-1.0.0.tgz,然后:
pnpm dsh plugin --profile <profile> add ./dsh-knowledge-tree-1.0.0.tgztarball 里已包含构建好的 dist/,不需要任何构建脚本授权。
也可以从 GitHub 直接安装(这条会执行包内 prepare 脚本构建 dist/,pnpm 需要你先放行,详见 README):
pnpm dsh plugin --profile <profile> add github:YunpengDon/dsh-knowledge-tree#v1.0.0验证(确认配置层被应用):
pnpm dsh --profile <profile> --dump-config | grep -n knowledge-tree真正的验收是启动一次,让 skill 工具能列出 append-leaf / organize-tree。
卸载:
pnpm dsh plugin --profile <profile> remove dsh-knowledge-tree环境要求
- DSH 运行时
0.1.7-rc.2一代 - peer 声明:
@deepseek-ai/dsh-*@^0.1.7-rc.2、@deepseek-ai/cordis@^4.0.4 - 版本不匹配时 DSH 会在安装前直接拒绝,可用
dsh plugin allow-version授权特定版本组合
已知限制
- 技能仍通过
bundledSkillDir提供:目前借助skill-filesystem的一行配置挂载本包的skills/目录,尚未做到完全自包含。 - 尚未发布到 npm:只有 tarball 与 GitHub 两种安装方式。
- GitHub 直连可能超时(国内网络尤其如此),遇到时优先用 tarball。
update_index是整文件覆盖语义,不是追加。- 从 GitHub 安装会在你的机器上执行
prepare构建脚本,属于以你的权限运行包内代码,只对信任的源码这么做。
下一步
- 改为插件自注册
SkillProvider,去掉对skill-filesystem配置行的依赖 - 发布到 npm,省掉构建授权这一步
- 视实际使用情况增删工具与技能
本版本为首次发布,无历史变更对比。