dsh-session-message:DSH 跨工作區會話消息

前言

在 DeepSeek Harness(DSH)裏,每個工作區、每個會話通常是獨立上下文:A 會話裏的 Agent 無法直接往 B 會話裏塞一條「用戶說的話」,除非你手動複製粘貼或自己寫橋接邏輯。多工作區協作、讓一個會話通知另一個會話繼續幹活,這類工作流在原生界面裏沒有現成通道。

下面介紹社區插件 dsh-session-message(維護者 shutongX,分類:工作流)。它爲 DSH 增加跨會話消息能力:一個會話可以通過工具向同一 DSH 進程內任意工作區的另一個會話投遞一條 user 角色消息,對方 Agent 收到後可用同一工具回發。

這是什麼

插件倉庫:shutongX/dsh-session-message。目錄頁:SkillHub 插件頁。

一句話定位:Cross-session messaging for DeepSeek Harness —— 列出本機 DSH 上可聯繫的會話,並向目標會話發送 user 消息;目標空閒會被喚醒,冷會話會先恢復再投遞。

與「只在當前會話裏聊天」相比,它解決的是進程內多會話、多工作區之間的單向/雙向消息投遞,而不是遠程機器或第二個 DSH 實例之間的通信。

核心功能

插件向 Agent 暴露兩個工具。

session_list

列出當前這臺 DSH 上所有能發消息的會話(跨所有工作區)。排除:歸檔會話、子代理會話、當前會話自身。包含:普通會話和 fork 出來的會話。

參數 說明
workspace 按工作區標題或路徑過濾(子串)
query 按會話標題或 id 過濾
include_blank 是否包含尚未開始聊天的空會話,默認 true
limit 最多返回條數,1–50,默認 20

session_send

向指定會話發送消息正文(必填)。

參數 說明
session_id 目標會話 id(推薦)
title 目標會話標題,精確匹配;不知道 id 時使用
workspace 配合 title 縮小範圍
message 消息正文
delivery queue(默認)或 steer(插到對方當前回合的下一步)

對方側看到的消息帶有固定前綴說明:來自哪個 Agent 會話、標題與工作區是什麼;並提示這不是本會話用戶直接輸入,僅在需要對方回答或行動時再回復,回覆同樣使用 session_send。

行爲要點(來自 README):

  • 對方空閒時直接喚醒;正在跑任務則排隊;冷會話自動恢復後再投遞。
  • 投遞成功表示消息進入對方收件箱並已落盤,不表示對方 Agent 已經執行完畢。
  • 消息上限 20000 字符;不能發給自己。

示意關係:

工作區 A                          工作區 C
┌────────────┐                    ┌────────────┐
│  會話 B    │ ── session_send ──▶ │  會話 D    │
│ (發消息)   │                    │ (收到一條  │
│            │ ◀── session_send ── │  user 消息)│
└────────────┘        回覆         └────────────┘

安裝與啓用

任選一種官方方式安裝。裝完後重啓 DSH(或在支持 HMR 的 profile 裏等待熱加載)。

方式一:DSH 插件頁

插件 → 添加插件 → 粘貼 Git 地址:

https://github.com/shutongX/dsh-session-message

方式二:自定義插件市場索引

DSH → 插件 → 實驗性插件 → 更多 → 開啓「自定義插件市場」→ 發現 → 添加索引源:

https://shutongX.github.io/dsh-plugins-index/index.json

之後在「發現」裏安裝即可。

方式三:命令行

dsh plugin --profile desktop add https://github.com/shutongX/dsh-session-message

若曾用開發目錄安裝過舊的 @dsh-external/<name> 版本,應先移除舊插件再裝當前無 scope 包,避免同一功能加載兩份。

package.json 中聲明的 DSH 引擎範圍:>=0.2.1-rc.1 <3。許可證:MIT。

典型用法

  1. 在發消息側讓 Agent 先調用 session_list,必要時用 workspace、query 篩出目標會話 id 或標題。
  2. 調用 session_send,傳入 session_id(或 title + 可選 workspace)和 message。
  3. 接收方 Agent 在需要回應時,用 README 提示的形式回發,例如指定發件方 session_id:
session_send({ "session_id": "session-xxxx", "message": "..." })

需要打斷對方當前回合、把消息插到下一步時,可將 delivery 設爲 steer;默認 queue 適合對方忙時排隊。

適用場景與注意

適合誰

  • 同一 DSH 桌面/進程內,多個工作區、多個會話需要互相通知、派活或彙總結果的工作流。
  • 希望由 Agent 自行查會話列表、選目標並投遞,而不是人工切窗口複製內容。

邊界與限制

  • 只能發給同一個 DSH 進程裏的會話;換機器、換進程無效。
  • 歸檔會話不能發;子代理會話不能發(收不了可靠回覆),應由父會話發送。
  • 落盤未確認會報錯;此時消息可能已送達,重發前應先確認,避免重複投遞。

安全與信任

插件以當前 DSH 進程權限運行,能列出進程內會話並向其注入 user 消息。安裝前建議閱讀 lib/index.js 與 lib/core.js 源碼,並確認 MIT 許可證是否符合你的環境要求。DSH 社區插件目錄(如 SkillHub)爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-session-message 把「會話 A 對用戶說話」這件事擴展到「會話 A 讓會話 B 的 Agent 看到一條 user 消息並可回發」,適合進程內的多 Agent 協作工作流。安裝與參數以 README 爲準。

  • 目錄頁:https://www.skillhub.cn/plugins/shutongX/dsh-session-message
  • GitHub:https://github.com/shutongX/dsh-session-message
羽毛球分组比赛记分
小程序二维码

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

小夜