dsh-doc-tree:DSH 右侧栏受治理的文档树与 /docs-organize 工作流

前言

在 DeepSeek Harness(DSH)里做智能体或复杂项目时,文档往往散落在 docs、wiki、各子目录的 README 与 records 里。用文件树逐个点开能读,但缺少按「地图 / 契约 / 记录层 / 运维」这类口径分层浏览的能力;记录类 Markdown 的生命周期(proposed、implemented 等)也不容易在侧栏一眼区分。社区里也有右侧栏文档类插件,而 dsh-doc-tree 走另一条路:只依赖 DSH 官方扩展点,不捆绑 dsh-docs-panel 或 dsh-better-sidebar,在同一右侧栏里提供策展分层、全文搜索、同栏阅读,并通过 /docs-organize 让模型完成扫描、体检、dry-run 与人工审批后再写入 .dsh-doc-tree.json。

下面介绍该插件的定位、能力与安装用法。维护者为 Meowrium;分类为工作流;源码与说明见 GitHub,社区目录页为 SkillHub。

这是什么

dsh-doc-tree 是面向 DSH Web 右侧栏的文档树插件:在栏内按配置或内置默认分层浏览 Markdown,展开 records/{lifecycle}/{class} 语义结构,支持全文搜索与同栏预览;另提供 Files.md 风格的暖色阅读主题、双文档对照、Ctrl/Cmd+K 快速切换,以及行内/块级 LaTeX(复用宿主 KaTeX)。

一句话:受治理的文档树 + AI 辅助分层命令,把「怎么看」和「怎么定分层规则」拆开——日常浏览靠配置与 UI,大规模整理靠 /docs-organize 与 host 侧 doc_tree_* 工具。

核心功能

策展分层与记录层

  • 默认分组包括:文档地图、口径契约、记录层、子系统参考、运维手册、术语、其他等;组头显示篇数,可折叠。
  • 记录层按 records/{proposed|implemented|rejected|archived}/{class} 成树;生命周期色点与 class 标签;阅读时把首部 Status: 提到标题下;可按 lifecycle / class 筛选。

扫描、搜索与阅读

  • 顶栏雷达按钮扫描工作区候选根(docs / documentation / wiki 及项目下 docs),候选带篇数,点选后保存。
  • 搜索覆盖路径、文件名与正文(后台内存索引,命中带上下文与高亮)。
  • 阅读复用宿主 MarkdownText;相对 .md 链接在 tab 内跳转;大纲 按 h1–h4 导航。
  • 右栏宽度 ≥700px 时自动双栏(列表 + 阅读区);更窄时单栏下钻。

配置驱动

工作区根目录放置 .dsh-doc-tree.json(不在文档目录内),定义 root、groups、records.statuses 等;无配置时使用内置默认分层。groups 通过 glob match 机械归类;语义分层由 /docs-organize 中的模型判断,README 明确要求「不要按目录名硬套」。

Files.md 风格与对照阅读

  • 顶栏调色板切换暖色主题(大标题、暖灰背景、蓝链接、左侧蓝条引用)。
  • 阅读器「对照」可选第二篇文档;宽屏为「列表 + 两篇」,窄屏隐藏列表、两篇平分。
  • Ctrl/Cmd+K 打开命令面板,按路径过滤文档并 Enter 打开。

AI 分层:/docs-organize

命令与默认流程(写配置前必须经 ask_user_question 批量审批):

/docs-organize                 # 默认:scan + lint + dry-run + 人工审批
/docs-organize docs            # 指定工作区相对根
/docs-organize --report docs   # 只出报告:不提问、不写配置

Host 侧工具包括 doc_tree_scan、doc_tree_lint、doc_tree_read_plan、doc_tree_apply_plan(dryRun:true 只返回 diff,不写盘)。合并/删除/移动文档不在该命令范围内;lint 默认可机械项也只报告,除非用户明确同意处理。

独立性

插件仅使用:ctx.sidebarRightTabs.register、sidebar.right.pane.tab slot、workspaceFiles Remote(只读)、baseline 的 MarkdownText / MarkdownDelegateProvider,以及 ctx.tools / ctx.commands / ctx.fs。

安装与启用

要求 DSH 0.2.1-rc.1+(README 写明开发验证于 0.2.1-rc.2)。Node >=20。许可证 MIT,当前包版本 0.1.0。

从 GitHub 安装(dsh plugin 会把参数转发给 pnpm):

dsh plugin --profile web add github:Meowrium/dsh-doc-tree

安装后重启 dsh web,浏览器硬刷新(Ctrl/Cmd+Shift+R)。右侧栏「+」→「文档树」。

开发期可用 dsh-super-injector 热装配,免重启:

dev_install_package /path/to/dsh-doc-tree

插件在 当前 dsh 进程权限 下运行;安装前请自行查看 仓库源码 与许可证,确认符合你的安全与合规要求。

典型用法

  1. 打开右侧栏「+」→「文档树」。
  2. 首次打开会自动扫描候选根目录;也可点顶部雷达重扫,选路径后「保存」。
  3. 点右上角 <> 在「策展分层」与「原始目录结构」间切换;⟳ 重新扫描(外部改文档后索引需重建)。
  4. 点击文档在右侧阅读;大纲 导航标题,× 关闭当前文档。
  5. 体验公式与对照:将文档根设为工作区内的 dsh-doc-tree/examples/docs(或 clone 后等价路径)。

配置示例(工作区根 .dsh-doc-tree.json):

{
  "version": 1,
  "root": "docs",
  "generatedAt": "2026-10-19T00:00:00.000Z",
  "generatedBy": "docs-organize",
  "groups": [
    { "id": "map", "title": "文档地图", "hint": "L2", "match": ["README.md", "AGENTS.md"] },
    { "id": "contracts", "title": "口径契约", "hint": "L4", "prefix": "contracts/", "match": ["contracts/**"] },
    { "id": "records", "title": "记录层", "hint": "L5", "prefix": "records/", "match": ["records/**"], "records": true },
    { "id": "development", "title": "子系统参考", "hint": "L2", "prefix": "development/", "match": ["development/**"] },
    { "id": "other", "title": "其他", "match": ["**"] }
  ],
  "records": {
    "dir": "records",
    "lifecycles": ["proposed", "implemented", "rejected", "archived"],
    "statuses": { "records/implemented/feature/x.md": "implemented" }
  }
}

公式由宿主渲染,插件不额外打包 KaTeX:

行内:$E = mc^2$

$$
\frac{\partial \mathcal{L}}{\partial \theta}
= \frac{1}{N}\sum_{i=1}^{N}(\hat{y}_i - y_i)^2
$$

块级公式建议 $$ 独占一行,前后留空行。

适用场景与注意

适合:已在 DSH Web 中开发、希望右侧栏统一浏览项目文档;有 records/ 生命周期目录结构;需要全文搜索与同栏阅读、偶尔用模型整理分层并落盘配置的团队或个人。

注意(来自 README「已知限制」):

  • 自动扫描为有界启发式(约 64 个一级目录 × 16 个子目录),超大仓库建议 /docs-organize <root> 或手填 root。
  • 无配置且内置分组均不匹配时,文件落入「其他」;可用「原始结构」或生成配置。
  • 正文索引在打开 tab 后后台建立,非增量;外部改动后点 ⟳。
  • 单文件读取上限 5000 行;未做虚拟滚动,上千篇文档性能需自行评估。
  • 公式依赖宿主 KaTeX;未加载时退化为文本。Files.md 风格仅视觉/交互移植,不含其编辑器、chat、sync 或写文件能力。

结尾

dsh-doc-tree 把 DSH 右侧栏变成可配置的文档阅读面,并用 /docs-organize 把「分层设计」做成可审批、可 dry-run 的工作流,与「只读浏览」解耦。社区插件目录 SkillHub 与仓库 github.com/Meowrium/dsh-doc-tree 可查阅安装说明与 issue;目录站为社区维护,与 DeepSeek / 幻方无官方从属关系。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye