前言¶
用 kiln 管 issue 时,「问题 → 动作 → 结论」往往写在 git commit 的 trailer(issue:、action:)里。查「为什么这么做」通常要翻提交历史或跑 CLI,和 DSH(DeepSeek Harness)里正在开的会话是两条线。下面介绍维护者 jackiehank 的 dsh-kiln 插件:把 kiln 子进程读出的历史投影成会话内可点的三页界面,不写 trailer、不造提交,数据全部来自 kiln 输出。
这是什么¶
dsh-kiln(npm 包名 @jackiehank/dsh-kiln,当前资料中的示例版本为 0.16.0)是 DSH 的 web 侧插件,定位是把 kiln 的 issue 与动作历史搬进 DSH GUI。插件只读:不写 trailer、不装 git 钩子、不落盘;不在插件内复刻 kiln 的状态解析,每个视图对应一条 kiln 命令。
目录页:https://www.skillhub.cn/plugins/jackiehank/dsh-kiln
源码与说明:https://github.com/jackiehank/dsh-kiln(MIT 许可)
三页视图在做什么¶
三页共享同一个焦点 issue(内存里有效,切页不丢,刷新即清)。
| 页 | 看什么 |
|---|---|
| 时间线 | 全仓动作流,一行一个动作:issue、动作名、标题、多久以前;点开可看提交的 sha、领域、标签、时间。可按动作和领域筛。 |
| issue | 一行一个 issue;左侧色条是动作序列,末尾 done 表示有新提交也停在终点动作。聚焦后可读父子、阻塞、因果、取代与弱关联等结构文案。可按领域和状态筛。 |
| 关系 | 关系图;工具栏可切横向/纵向、全局/聚焦(1 或 2 跳)。线粗细表示结构强弱,虚线表示因果与取代,锚点表示弱关联。 |
关系语义来自 kiln 词表:part-of、blocks、supersedes、caused-by、relates-to。
数据从哪来¶
一个视图一条 kiln 命令,按需取数并在会话内缓存;HEAD 未变时切回标签可做到 0 子进程、0 字节(动作流两端按 HEAD 缓存)。
| 视图 | 命令 |
|---|---|
| 时间线 | kiln action log --jsonl |
| issue 列表 | 同一条动作流,客户端折叠 |
| 详情 / 聚焦 | kiln path <id> --json |
| 关系图 | kiln graph --json |
| 搜索 | kiln list --search <q> --json |
安装与启用¶
环境要求:DSH 0.2.x(package.json 中 engines.dsh 为 >=0.2.0 <0.3.0);kiln v0.3.0+,可先安装 CLI:
go install github.com/jackiehank/kiln/cmd/kiln@latest
装进哪个 profile,就把下面命令里的 web 换成对应名称(桌面端通常是 desktop)。
从 GitHub Release 的 tgz 安装(推荐,可离线保存)
- 到 https://github.com/jackiehank/dsh-kiln/releases 下载
jackiehank-dsh-kiln-<版本>.tgz; - 执行:
dsh plugin --profile web add ./jackiehank-dsh-kiln-0.16.0.tgz
从 GitHub 直接装(与 DSH「安装插件」界面粘贴仓库地址的做法一致):
dsh plugin --profile web add github:jackiehank/dsh-kiln
若只想装 plugin/ 子目录、减少整仓打包体积(约 2MB,含 docs/):
dsh plugin --profile web add github:jackiehank/dsh-kiln#path:/plugin
本地开发 checkout:
dsh plugin --profile web add <本仓库>/plugin
装完后刷新 GUI 或重启 DSH;标签栏会出现 kiln。在已用 kiln 记录 issue 的仓库里打开会话即可看到视图。资料注明 npm 包尚未发布,未来可能支持 dsh plugin --profile web add @jackiehank/dsh-kiln。
安装前应自行查看仓库源码与 MIT 许可证;插件以当前 DSH 进程权限运行子进程调用 kiln,需在可信环境中使用。
典型用法¶
- 焦点:行尾
⌖ 聚焦或按f聚焦光标所在行;Esc或页头焦点:<id> ×退出。三页同步同一焦点 issue。 - 搜索:页头中间输入框,停 120ms 后查全仓(不受筛选与焦点限制);
↑↓选择、⏎打开、Esc清空。命中 issue 名进入 issue 页;命中动作标题进入时间线并滚到该动作。 - 筛选:纯客户端;同组多选为「或」,组间为「与」;某维度在本仓无选项时整组不显示。
- 刷新:重新读取动作流、关系图与详情,并清空缓存。
界面元素多带 data-hint 悬停说明;页头会随侧栏宽度收缩而省略部分文案。
适用场景与注意¶
适合:已在仓库里用 kiln + commit trailer 维护 issue 历史,希望在 DSH 会话里用时间线、列表和关系图只读浏览,而不离开当前工作流。
边界(来自 README):
- 只读;不写 issue、不提交。
- 规模上界为整条动作流:约 10 万动作 / 24MB,默认预算 12 万行 / 32MB;上游不做分页。
- 列表虚拟化,
find-in-page仅覆盖可视区 ±600px。 - 详情按需加载,点开约多等 40ms(冷读约 120ms)。
- kiln 词表新增关系类型时,可能暂时缺少一句展示文案,而非插件新分支。
DSH 社区插件目录(如 skillhub.cn)与 DeepSeek / 幻方无官方从属关系;安装第三方插件前请核对来源与权限。
结尾¶
dsh-kiln 把 kiln 藏在提交历史里的「为什么」收成 DSH 内三页只读视图,依赖 kiln CLI 输出,不维护第二份状态。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。