前言¶
用 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 倉庫。