前言¶
在 DeepSeek Harness(DSH)裏做智能體編排時,常見做法是把對話拆成多個 Session,或在側邊欄裏來回切換「通用聊天」和任務入口。dsh-super-chat 把消息收進同一條流,用主題標籤做篩選和派發線索;若同 profile 安裝了 dsh-superagent-prototype,消息會通過 super-chat Source 轉成 Superagent Ticket,否則回退爲單個通用 DSH Session。下面按定位、能力、安裝與用法說明該插件。
這是什麼¶
dsh-super-chat 是面向 DSH Web profile 的客戶端插件(維護者 gekailin,倉庫 gekailin/dsh-super-chat)。其核心是爲 dsh-superagent-prototype 提供 super-chat Source,將聊天消息轉爲 Ticket;同時提供帶主題標籤的單一流、SQLite 持久化、按主題過濾的視圖,以及可選的微信文件傳輸助手橋接(wechat/ 目錄,獨立 Node 進程)。
插件以當前 DSH 進程權限運行;安裝前宜自行查看源碼與 MIT 許可證。社區目錄 skillhub.cn 上的條目 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
核心功能¶
單一流與主題視圖¶
- All messages:所有消息進入同一條流,面板默認打開最新頁,向上滾動加載更早消息;該視圖取代原先「General chat」標籤含義。
- <No topic>:側欄顯示無標籤消息及實時計數;僅爲閱讀時過濾,不改變存儲、派發或主題列表。
- Topic views:主題是消息上的標籤,不是獨立會話;一條消息可有多個標籤,會在每個匹配視圖中出現。
標籤與派發¶
- 帶標籤消息:第一個標籤成爲
super-chat的派發線程;標籤是任務派發線索,不強制結果。 - 無標籤消息:走
general,由 Superagent 自行判斷接受、拆分或忽略。 - 自動打標:通用聊天頭部可用 profile 默認模型爲無標籤消息補已有主題(僅填空標籤,代理回覆繼承,不新建主題)。
- 手動編輯標籤:單條消息可增刪標籤並保存;新名稱即新主題,此操作不派發工作。
Superagent 與回退¶
同 profile 安裝 dsh-superagent-prototype 時,插件通過其公開 orchestrator 服務註冊名爲 super-chat 的 Source;確認與結果回到同一條流。未安裝或未配置時,由名爲 super-chat-general 的單個 DSH Session 接管。消息 id 用於去重重試,同一提交不會重複開 Ticket。
安裝 prototype 後,編排器與各 ticket worker 的 Workspace 在 UI 上合併爲一個 Superagent 分組(編排器置頂),僅爲展示,不移動 Session 工作目錄。
界面與其它能力¶
- 代理回覆支持常見 Markdown 渲染,並提供 Raw 切回原文;用戶消息保持原樣。
- 輸入框旁 Models 可選編排器模型與新 worker 默認模型;在聊天裏用自然語言指定某次新 worker 的模型(如中英文示例中的
gemini-4-argon)隻影響該 worker,不改默認。 - 數據落在索引表(
chat.sqlite);舊chat.json會一次性遷移。默認狀態目錄見配置節。 - 打開面板入口時可按需啓動微信橋接,默認進通用聊天,用
@topic打標籤,無命令體系。 - UI 隨 DSH locale 雙語顯示。
環境要求¶
資料寫明需 DSH 0.2.1-rc.5 或兼容的 0.2.x Web profile(@deepseek-ai/dsh-base + @deepseek-ai/dsh-web-app),Node.js 22.19+ 或 24+,以及 profile 中已配置的模型提供方(與一般 Session 相同)。發佈包版本爲 0.2.0。
安裝與啓用¶
發佈包安裝(資料原文):
dsh plugin --profile web add dsh-super-chat
dsh plugin add 會把包寫入 profile 的 dsh.profile.bundles。重啓 profile 後,在 Superagent 側欄行右側快捷入口打開 Super Chat。
配置¶
各項均有默認值,可在 profile 的 cordis.patch.yml 中覆蓋:
- id: super-chat
config:
# Directory for chat.sqlite; defaults to $DSH_HOME/state/super-chat.
stateDir: /home/you/.dsh/state/super-chat
# Workspace for the fallback Session when superagent is unavailable.
cwd: /home/you/src/my-project
# Optional agent preset for the fallback Session.
agentPreset: standard
# Optional permission preset for the fallback Session.
permissionPreset: danger-full-access
| 選項 | 默認 | 含義 |
|---|---|---|
stateDir |
$DSH_HOME/state/super-chat |
存放 chat.sqlite,僅屬主可訪問 |
cwd |
process.cwd() |
回退 Session 的工作區 |
agentPreset |
profile 默認 | 回退 Session 的 agent 預設 |
permissionPreset |
profile 默認 | 回退 Session 的權限預設 |
典型用法¶
1、安裝並重啓 Web profile 後,從側欄打開 Super Chat,在 All messages 中流式查看與發送消息。
2、給消息加主題標籤:手動在消息標籤行保存,或在微信橋接裏用 @topic 表述;多標籤消息會在各主題視圖和主流中同時可見。
3、需要 Superagent 處理時:確保同 profile 已裝 dsh-superagent-prototype;帶標籤消息按首標籤派發,無標籤消息進入 general 由 Superagent 裁決。
4、僅聊天、無 GitHub 倉庫與 gh CLI 時:資料說明插件可在 GitHub 字段爲空時以內存方式包裝 prototype 的 Setup,接受空部署並請求重啓;該模式下 worker 無 GitHub 工具鏈。
5、在輸入框左側 Models 選擇模型,或在消息裏寫明「用某模型啓動一個新 worker 做…」以單次指定 worker 模型。
適用場景與注意¶
適合希望在 DSH 裏用一條聊天流統一記錄人機會話,又用主題標籤做視圖與派發線索、並可選對接 Superagent Ticket 的開發者。若未使用 prototype,仍可作爲帶 SQLite 的通用聊天面板(單 Session 回退)。
注意:插件不修改 prototype 源碼,僅通過公開 orchestrator 集成;主題過濾不改變底層存儲;微信橋接爲可選子工程,需在 wechat/ 下按倉庫說明單獨測試與部署。DSH 生態理念是「一切皆插件」,選用第三方插件時應覈對權限預設(如 permissionPreset: danger-full-access)是否符合本機安全策略。
結尾¶
dsh-super-chat 把 Super Chat 面板、標籤化主流、super-chat Source 與 SQLite 存儲綁在一起,在有無 dsh-superagent-prototype 時分別走 Ticket 鏈路或單 Session 回退。目錄頁:https://www.skillhub.cn/plugins/gekailin/dsh-super-chat;源碼與完整說明:https://github.com/gekailin/dsh-super-chat。