dsh-kiln:在 DSH 會話裏只讀瀏覽 kiln 的 issue 與動作歷史

前言

用 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 安裝(推薦,可離線保存)

  1. 到 https://github.com/jackiehank/dsh-kiln/releases 下載 jackiehank-dsh-kiln-<版本>.tgz;
  2. 執行:
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,需在可信環境中使用。

典型用法

  1. 焦點:行尾 ⌖ 聚焦 或按 f 聚焦光標所在行;Esc 或頁頭 焦點:<id> × 退出。三頁同步同一焦點 issue。
  2. 搜索:頁頭中間輸入框,停 120ms 後查全倉(不受篩選與焦點限制);↑↓ 選擇、⏎ 打開、Esc 清空。命中 issue 名進入 issue 頁;命中動作標題進入時間線並滾到該動作。
  3. 篩選:純客戶端;同組多選爲「或」,組間爲「與」;某維度在本倉無選項時整組不顯示。
  4. 刷新:重新讀取動作流、關係圖與詳情,並清空緩存。

界面元素多帶 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 倉庫。

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

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

小夜