DSH 多 Agent 喊話(dsh-cross-session):對話層跨會話協作

前言

在 DeepSeek Harness(DSH)裏並行開多個對話做同一件事時,常見做法是人工在側邊欄之間切換、複製粘貼上下文。官方 dsh-superagent 面向的是倉庫層自主工人(GitHub / 飛書觸發、工單與 PR 體系),並不直接接管你桌面上已有的聊天窗口。若目標是讓多個側邊欄對話按角色分工、在 step 邊界互發消息、worker 遇阻回問「隊長」而不是反覆打擾用戶,就需要在對話層做跨會話投遞與只讀盯進度。下面介紹社區插件 dsh-cross-session(維護者 cao123-2024,分類:工作流)。

這是什麼

dsh-cross-session 是 DSH 持久化插件:不依賴第三方包,以本地目錄作爲 bundle 安裝。一句話定位:讓 Harness 裏多個獨立對話在 step 邊界互相喊話、worker 用 ask_master 回問創建它的主 Agent,並用 get_chat_info 只讀查看對方進度——目標會話對只讀窺視完全無感知。

生態上,DSH 奉行「一切皆插件」;SkillHub 目錄頁 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。源碼與說明見 GitHub:cao123-2024/dsh-cross-session(MIT,package 版本 1.1.0)。

與官方 Super-agent 的分工(摘自 README 對比表):

官方 dsh-superagent 本插件
工作層級 倉庫層自主工人 桌面上的對話層協作
是否接管側邊欄對話 否 是,在已有對話之間通信
是否替代對方 — 不替代;可疊加使用

團隊層級與角色

標題前綴即角色,側邊欄會在名字前顯示圖標。新建對話可自動帶前綴;已有對話用 assign_agent_role 補角色,刷新頁面後客戶端圖標生效。

角色 標題前綴 職責
隊長 leader 隊長| 接需求、拆分、派活、彙總
總監 director 總監| 四層模式;管經理
經理 manager 經理| 管 3+ worker
worker worker| 執行;問題回問上級

默認 2 層:隊長直管 3–4 個 worker。3 層爲隊長 → 經理 → worker;每個經理建議帶不少於 3 個 worker,經理不夠時不要硬開三層。4 層需配置 allowFourTier: true 且任務規模足夠。完整規則見倉庫內 docs/HIERARCHY.md,AI skill 見 skills/multi-agent-shout/SKILL.md。

協作關係可概括爲:

隊長對話 ── new_conversation ──▶ worker 對話 A
    │  ◀──── shout / ask_master ────┘
    │
    └────── get_chat_info(只讀看上下文與進度)

核心工具與行爲

README 中列出的主要工具如下。

工具 作用
new_conversation 新建獨立對話,支持 role / reports_to;自動寫角色標題前綴
assign_agent_role 給已有對話改角色
get_agent_team 讀當前層級、allow_four_tier 與各 agent 角色
list_conversations 列出 root 對話:標題、工作區、運行狀態(已歸檔不顯示)
shout 向另一對話投遞消息:運行中在最近 step 邊界收到,空閒時喚醒新 turn
ask_master worker 專用:把問題交給創建它的主 Agent,而非直接問用戶
get_chat_info 只讀查看狀態、turn/step、最近消息與工具調用
rename_conversation 改側邊欄顯示名(保留角色前綴)
interrupt_conversation 停止目標當前 turn,保留待處理輸入
archive_conversation 歸檔已完成的 worker
list_permission_presets / list_models 查看可選權限預設與模型
configure_conversation 調整目標對話的權限預設 / 模型 / 思考強度

設計要點(便於理解邊界):

  • 投遞通過 sessionController.resolveAgent 拿到 live Agent(冷會話自動 resume),再以 agent-message relay 形式 steer 用戶消息。
  • UI 側來源顯示爲「來自會話 AI「標題」」;get_chat_info 僅註冊在非 worker 的 Agent scope。
  • new_conversation 默認把隊長的權限預設複製給新對話(inheritPermissions)。
  • 安全護欄包括:創建上限、每分鐘限流、消息體積上限、同一對會話交替喊話上限(防 AI 乒乓)、拒絕 subagent 會話。

安裝與啓用

要求:DSH 0.2.1-rc.x(desktop 或其他 profile 均可),無額外依賴。

方式一:Plugin Manager(推薦)

在 DSH 中把倉庫目錄作爲本地 bundle 安裝:

plugin_manager install_bundle
target = <本倉庫絕對路徑>

方式二:CLI

dsh plugin --profile desktop add "<本倉庫絕對路徑>"

安裝後在對應 profile 的 bundle 列表中啓用 @local/dsh-cross-session,必要時刷新頁面。插件以當前 DSH 進程權限運行,安裝前應自行查看源碼與 MIT 許可證。

配置

插件通過 cordis.patch.yml 注入 bundle,默認配置示例:

- insert:
    - id: cross-session-shout
      name: '@local/dsh-cross-session'
      config:
        maxCreatedConversations: 12
        rateLimitPerMinute: 20
        maxMessageBytes: 32768
        maxShoutChain: 6
        inheritPermissions: true
        allowFourTier: false

可按需調整創建數量、限流、消息大小、喊話鏈深度、權限繼承與是否允許四層模式。

典型用法思路

  1. 在隊長對話中明確任務書(層級與 worker 數量爲建議,模型也可自行決定)。
  2. 用 new_conversation 創建 worker,設置 role 與 reports_to;或對用戶已有對話執行 assign_agent_role。
  3. 用 get_agent_team / list_conversations 確認團隊結構與運行狀態。
  4. 隊長用 shout 派工或插話;worker 阻塞時用 ask_master,避免把細節問題拋給用戶。
  5. 隊長用 get_chat_info 只讀盯各對話進度,必要時 interrupt_conversation 或 configure_conversation 調整模型與權限。
  6. 完成後對 worker 調用 archive_conversation 收尾。

倉庫提供 1080p 預告片(約 67s,3D 工作臺與真實演示),可從 Release v1.1.0 資源 下載對照操作流程。

適用場景與已知限制

適合:同一項目在桌面上並行多個對話,需要隊長調度、step 邊界可靠投遞、worker 向上澄清且用戶少被打斷的場景。與 Super-agent 疊用時,可讓前者管「活從哪來」,本插件管「活如何在幾個對話之間流動」。

限制(README 明示):

  • agent-message 不會觸發自動標題/活躍度,插件會顯式 rename。
  • 進程重啓後 pending inbox 不會自喚醒;無跨重啓離線投遞。
  • 喊話目標僅支持 root 會話;subagent 會話會被拒絕。
  • DSH 創建時綁定對話工作區,已有對話不能原地遷移;adopt_workspace 會改爲在新工作區創建項目對話。

結尾

dsh-cross-session 把多 Agent 協作落在 DSH 側邊欄的真實對話上:角色層級、shout / ask_master 與只讀 get_chat_info 構成一條可復現的工作流。查閱與安裝入口:SkillHub 目錄、GitHub 倉庫。

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

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

小夜