dsh-super-chat:一條帶主題標籤的 Super Chat 面板

前言

在 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。

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

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

小夜