dsh-talk-pages:每個工作區一頁的 DSH 對話白板

前言

DSH 裏跑一段時間後,對話窗口會越開越多:同一個工作區的分支話題互相有關聯,跨工作區的對照又完全不同。原有界面把對話按時間排成列表,你得靠標題和記憶去回憶“這條對話是跟着哪條往下走的”。本文介紹的 dsh-talk-pages 就是解決這件事的:它把已有的對話渲染成一張可視化白板,卡片可以自由擺放,用連線表示關聯,用框把幾段對話收在一起。

先說它不是官方組件。這是一個社區插件,倉庫在 github.com/HanYu-me/dsh-talk-pages,維護者 HanYu-me,在 SkillHub 目錄中歸類爲「客戶端」。它也不是另一個可視化插件 dsh-talk-map 的替代品式包裝——兩者使用不同的存儲和接口,下文會說明。以下內容全部來自倉庫 README 與 package.json,可直接覈對。

這是什麼

一句話:dsh-talk-pages 給 DeepSeek Harness 加上一層「按工作區分頁的對話畫布」,把現有對話作爲卡片鋪在頁面上,支持自由擺放、框分組和卡片間連線。

對話本身仍然歸 dsh 所有,插件只讀取對話內容,並在你分叉時通過官方接口新建對話。畫布上的位置、框、連線和摘要是插件自己存的一份數據。

核心能力

分頁

頂部標籤欄列出每個工作區,並帶上該工作區的對話數,點擊即可切換。每個頁面各自記住鏡頭位置,最後停留的頁面重開時還在。

自由擺放

卡片落在哪就在哪,插件不會替你重排。右上角的「吸附」開關控制卡片落下時是否對齊 16px 網格。

框

+ 新建框,或在空白處右鍵新建。雙擊標籤改名,右鍵換顏色,可拖動,也可從四邊四角縮放。把卡片拖進框裏(以卡片中心落在框內爲準)即入框,拖出來就恢復自由。刪除框只是解散成員,不會刪除任何對話。

框內默認自由擺放(成員位置由你定,拖動框時成員跟着走),右鍵框可切換成網格排列;放不下的成員會摺疊成堆疊格。

連線

從卡片手柄拖到另一張卡片即建立關聯;拖到空白處可以分叉出一個帶上下文的新對話。連線只畫在同一頁內的卡片之間。

卡片正面與狀態燈

卡片正面顯示標題、你最後說的話、相對時間和狀態燈,狀態燈覆蓋運行中 / 等待 / 未讀 / 中斷四種。左側狀態欄只列帶燈的卡片。

顯示 / 隱藏、歸檔與選擇

  • 在畫布空白處右鍵 →「顯示 / 隱藏對話…」,列出當前頁面(工作區)的全部對話(含已歸檔),帶 ✓ 的在地圖上;列表保持打開,可連續點擊切換。
  • 已歸檔的對話在卡片上標「已歸檔」;點擊卡片會先取消歸檔再跳轉到該對話,不會跳到新對話。在搜索結果裏點已歸檔對話行爲相同。
  • 頂部「選擇對話」彈窗列出全部對話(含已歸檔),勾選哪些放在地圖上,應用後自動加入或移出。新對話默認不會自動出現,彈窗裏可以打開「自動加入新對話」。

優先級

右鍵卡片可以標記 高 / 中 / 低,卡片左側出現色條和標籤;左側「重點對話」欄按優先級列出所有已標記卡片,點擊即定位。側欄裏的置頂不影響地圖。

讓對話來整理地圖

插件提供了文件接口,允許 Agent 直接讀寫畫布數據。開一個新對話說「按行業整理個股研究」之類,Agent 就能按 ~/.dsh/talk-pages/ 下的約定操作佈局。具體接口見倉庫內的 docs/AGENT.md 和 skills/talk-pages-layout/SKILL.md。

安裝與啓用

官方安裝命令,直接執行:

dsh plugin add github:HanYu-me/dsh-talk-pages

構建產物已提交在倉庫裏,不需要自己構建。執行後重啓 dsh,側欄底部會出現按鈕。

package.json 裏聲明瞭運行要求:Node >=22.19.0,dsh >=0.2.1-rc.1 <0.3.0-0。當前版本 0.2.3,許可證 MIT。

典型用法

下面是幾個可復現的操作:

1、新建對話卡片。在畫布空白處雙擊,新的卡片就生成在點擊的位置;雙擊已有卡片則打開該對話。

2、建立關聯或分叉。從一張卡片的手柄拖到另一張卡片建立關聯;拖到空白處則會帶上下文分叉出一條新對話。

3、用框收攏相關對話。右鍵空白處新建框,命名、改色,把幾張卡片拖進框內。需要逐個加入或移出時,改用空白處右鍵的「顯示 / 隱藏對話…」列表。

4、標記重點。右鍵卡片設置 高 / 中 / 低,之後在左側「重點對話」欄點擊對應條目直接定位。

5、讓 Agent 代爲整理。新開一條對話,讓 Agent 按 ~/.dsh/talk-pages/ 的接口組織頁面,例如「按行業整理個股研究」。

數據與邊界

畫布數據存在:

$DSH_HOME/storages/talk_pages.json

包含位置、框、連線和摘要。對話內容不復制進插件,插件只讀;只有分叉時才通過官方接口新建對話。

它與 dsh-talk-map 使用不同的存儲和接口,可以並存,但兩者都在側欄佔一個按鈕,建議只啓用一個。已有 talk-map 數據可以用 node scripts/migrate-from-talk-map.mjs 一次性遷入,遷移後舊的文件夾會變成同名的框。

適用場景與注意

適合對話數量多、分支之間有參照關係的 DSH 使用者:跨話題對照、給一組相關對話做分組、給重要對話打優先級。如果你只是偶爾開幾條對話,列表界面足夠用。

兩點提醒:

  • 插件運行在當前 dsh 進程權限內,因此安裝第三方插件前應先讀一遍源碼(倉庫爲 MIT,源碼與 cordis.patch.yml 都在倉庫內),並確認你能接受它讀寫 $DSH_HOME 下的畫布數據。
  • 這是第三方插件,SkillHub 目錄與 DeepSeek / 幻方沒有官方從屬關係,本文也不構成任何背書。

小結

dsh-talk-pages 做的是一件事:把 DSH 已有的對話搬進一張可自由擺放、可連線、可用框分組的畫布,並按工作區分頁,每頁記住自己的鏡頭位置。它只讀對話、自行保存畫布數據,還留了文件接口讓 Agent 參與整理。如果你在對話列表裏已經找不到上次那條討論的上下文,可以試試裝它。

目錄頁:https://www.skillhub.cn/plugins/HanYu-me/dsh-talk-pages

倉庫:https://github.com/HanYu-me/dsh-talk-pages

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

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

小夜