Skip to content

Releases

v1.1.0 · 人在环内:四个工具挂上 dsh-hitl 的决策卡

Choose a tag to compare

@YunpengDon YunpengDon released this 04 Oct 14:36

人在环内改为复用 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

Choose a tag to compare

@YunpengDon YunpengDon released this 01 Oct 09:54

修复:代码围栏内的 # 行被误认为 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

Choose a tag to compare

@YunpengDon YunpengDon released this 30 Sep 00:35
调整环境依赖适配dsh-v0.2.0-rc.2

v1.0.0 · 知识树插件首个可用版本

Choose a tag to compare

@YunpengDon YunpengDon released this 29 Sep 08:31

知识树 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.tgz

tarball 里已包含构建好的 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,省掉构建授权这一步
  • 视实际使用情况增删工具与技能

本版本为首次发布,无历史变更对比。