dsh-topic-wall:多會話對話牆 DSH 客戶端插件

前言

在 DeepSeek Harness(DSH)裏同時開多個會話時,常見做法是在側邊欄逐個切換:看狀態、翻歷史、回審批都要進會話本身。若你希望在同一屏裏按「置頂 / 進行中 / 集合」瀏覽多張卡片、卡內讀真實歷史並直接發下一條消息,社區客戶端插件 dsh-topic-wall(維護者 caichangzhan,當前版本 0.4.1,MIT)提供的是「對話牆」界面,而不是替代 DSH 的會話存儲或模型後端。

下面介紹插件定位、已文檔化的能力、安裝方式與使用注意。事實以 GitHub 倉庫 README 爲準;插件也收錄於社區目錄 skillhub.cn(獨立站點,與 DeepSeek / 幻方無官方從屬關係)。

這是什麼

dsh-topic-wall 是 DSH 客戶端插件:把 Harness 的多個會話排列成卡片牆,分爲 置頂 → 進行中 → 聊天集合 三段固定順序。不進入原會話頁,也能讀歷史、看運行狀態、處理審批、切換該卡獨立模型,並在卡內通過 session/prompt 發送、session/cancel 停止。

插件通過 cordis.patch.yml 注入客戶端 bundle,依賴當前 DSH 客戶端提供的 sessions、uiSession、uiWorkspace、modelDirectories 等能力。

對話牆佈局與卡片信息

三段順序

  1. 置頂:用戶置頂的會話。
  2. 進行中:按首次進入該段的順序 FIFO;置頂與會話運行/等待時,可同時出現在置頂與進行中(兩段不互斥)。
  3. 聊天集合:按工作區「空間」分組,組內網格排列;組可單獨或全部摺疊,摺疊狀態持久化。

每張卡頂部 顯示工作區、狀態、更新時間,以及該會話獨立的模型下拉(DSH 模型按會話存儲,選擇只作用於當前卡對應會話)。

空間組頭「+」:按該空間 workspaceId 新建空會話,不跳轉 DSH 主界面,新會話進入「進行中」。

卡片內聊天與隊列

  • 讀取真實會話歷史;默認自動加載最近 24 小時,更早內容滾到頂部或點「加載更早」再拉,已加載數據不刪除。
  • 消息佈局:左側 agent、右側 user;Enter 發送、Shift+Enter 換行,輸入法組合態不誤發。
  • 圖片:按鈕 / 拖拽 / 粘貼,最多 6 張、單張 10MB;歷史裏顯示圖片(需當前模型支持 vision)。
  • 運行中發送進入宿主隊列,可展開、原地編輯、轉向、移除、全部轉向;含附件的排隊項只讀。
  • 連續工具結果摺疊成一組,組體僅在展開時渲染。
  • 審批 / 單選題出現在卡片底部;長審批文字可懸停滾動、點擊展開。

卡片操作與設置

每卡 ⋯ 菜單:打開原會話、重命名(卡內聯)、創建分支、歸檔(帶確認);運行中的會話歸檔前會再確認「停止並歸檔」。歸檔後按 workspaces.archivedSessionIds 立即從牆上移除。

設置面板(實時生效,保存寫入 localStorage):主題風格、邊角、列數、空間行數、卡片高度、字號、動效、工具行。

運行日誌:捕獲 window error、未處理 rejection、React 錯誤,以及 prompt / history / queue / approval / model 相關異常;設置齒輪紅點僅表示未讀錯誤。

每張卡有獨立 ErrorBoundary;單卡渲染異常不會拖垮整面牆,卡內提供重試 / 打開 / 歸檔。

三套主題

主題只改表面、字體、邊角、消息形態和固定強調色,不改牆的結構。

主題 要點
iOS 系統字體、白色圓角卡、iMessage 氣泡、毛玻璃、系統藍;柔和藍色 mesh 背景 + 細點陣;新消息氣泡彈入、按壓回彈、輸入三點動畫。
QQ空間 藍白漸變頂欄、圓角白卡、說說式氣泡、空間藍;天空 / 雲層背景;「對方正在輸入」藍色氣泡。
黑客代碼 暗底終端、等寬字體、熒光綠、方角;綠色網格 + 頂部輝光;終端提示符和綠色方塊光標。

安裝與啓用

插件以當前 DSH 進程權限運行;安裝前應自行查看源碼與 MIT 許可證。安裝命令須來自官方 README,勿憑倉庫名拼接 github:owner/repo 形式。

本地目錄

dsh plugin --profile desktop add /path/to/dsh-topic-wall

或在 DSH 插件 → 添加插件 裏填寫絕對路徑或 tarball 路徑。

Tarball

dsh plugin --profile desktop add /path/to/dsh-topic-wall-0.4.1.tgz

說明:桌面端不加載 Web client HMR。更新 client.js 後需要重啓桌面端;Cmd+R 可能仍使用舊 bundle。

典型用法(可復現流程)

  1. 按上文命令將插件加入 desktop profile 並重啓客戶端(若剛改過客戶端 bundle)。
  2. 在側邊欄或插件註冊的入口打開對話牆,查看置頂 / 進行中 / 聊天集合三段卡片。
  3. 在卡內瀏覽歷史、用模型下拉切換該會話模型、在輸入區發送消息或處理底部審批。
  4. 需要新開同空間會話時,在空間組頭點「+」,新會話出現在「進行中」。
  5. 在設置裏切換 iOS / QQ空間 / 黑客代碼主題並調整列數、卡片高度等;偏好保存在 localStorage。

兼容與限制

  • 需要當前 DSH 客戶端提供 sessions、uiSession、uiWorkspace、modelDirectories。
  • 圖片能力依賴當前模型是否支持 vision。
  • 無自動化 UI 測試;倉庫內 npm test 爲靜態冒煙檢查(Node >= 20)。
  • macOS / Electron 上 undici setTypeOfService EINVAL 有主機側 guard,默認啓用;可設環境變量 DSH_TOPIC_WALL_TOS_GUARD=0 關閉。

開發與倉庫結構

本地校驗:

npm test

主要文件:client.js(瀏覽器端 main / sidebar.panellist)、index.js(Host 半部與 macOS undici guard)、cordis.patch.yml、locale/*.json、icon.svg;佈局與交互細節見倉庫內 DESIGN.md。

結尾

dsh-topic-wall 把多會話管理收斂到一面可配置的對話牆:分段卡片、真實歷史、卡內回覆與審批、按會話切模型、三套主題。適合在 DSH 桌面端並行維護多個智能體會話、又不想頻繁切頁的用戶。

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

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

小夜