前言¶
在 DeepSeek Harness(DSH)裏跑會話時,常見需求是:另一個 agent、腳本或 CI 在會話外寫好一條「用戶話」,等目標會話空閒時再交給模型。DSH 自身有 session bridge 等同產品能力,Codex、Claude Code 也有各自會話間通道,但跨產品沒有共享註冊表和路由,外部進程無法直接喚醒別人的 DSH 會話。dsh-session-inbox 把交接落在文件系統:任何能寫 ~/.dsh/inbox/ 的進程追加一行 JSON,掛載插件的宿主在目標會話活着且空閒時取走並注入。下面介紹它的定位、安裝與用法。
這是什麼¶
dsh-session-inbox 是社區插件,維護者爲 SleepNap,在 SkillHub 等目錄中歸類爲工作流。它給 DSH 會話提供文件-backed 收件箱:不依賴 socket、守護進程、握手或 MCP;一條消息對應 JSONL 裏的一行,目標被關閉或重啓後消息仍保留在磁盤上。
爲什麼需要它¶
各家 agent 在各自產品內可以互發消息,跨產品卻沒有共享的會話註冊表與 agent 循環,因此無法喚醒「屬於別的產品」的會話。文件系統是多進程都能訪問的交集:投遞寫到磁盤,何時執行由會話所有者(DSH 插件)決定。
核心功能¶
- 監聽
~/.dsh/inbox/<sessionId>.jsonl,在目標會話存活且空閒時將新行作爲普通用戶消息注入;會話前綴展示爲[inbox] 來自 <from> 的消息:。 - 提供 CLI
dsh-peer-inbox:向指定會話投遞、查看各收件箱待處理條數、列出已有收件箱的會話 id。 - 消費狀態保存在
~/.dsh/inbox/.state/,游標只前進不後退,避免多宿主重放。 - 目標正在跑 agent 時不打斷,消息留在文件;目標不存在則保留等待;壞行永久跳過;多條消息每輪串行消費一條。
安裝與啓用¶
桌面應用:設置 → 插件 → 添加插件 → 輸入包名 dsh-session-inbox → 安裝 → 重啓宿主。
命令行(將 <profile> 換成你的 profile):
dsh plugin --profile <profile> add dsh-session-inbox
國內網絡可在添加插件時切換中國大陸鏡像源(registry.npmmirror.com);鏡像同步可能有延遲,必要時可在 npmmirror 包頁手動同步。
不經過 npm 時,README 還提供:
dsh plugin --profile <profile> add github:SleepNap/dsh-session-inbox
dsh plugin --profile <profile> add ./dsh-session-inbox
dsh plugin --profile <profile> add ./dsh-session-inbox-0.1.0.tgz
裝完重啓宿主。插件掛載時會打印 [dsh-session-inbox] watching …。
兼容性:engines.dsh 下限爲 >=0.1.7-0,未設上界;需 Node.js >=20。許可證爲 MIT。
典型用法¶
投遞與查看(DSH 是否在運行都可以投遞):
dsh-peer-inbox send --to session-<uuid> --text "..." --from claude-code
dsh-peer-inbox pending
dsh-peer-inbox list
也可直接向對應文件追加一行 JSON(行末必須有換行),to 須與文件名去掉 .jsonl 一致:
{"id":"<uuid>","ts":"<ISO-8601>","from":"<誰>","to":"<sessionId>","text":"<正文>"}
接收方在會話裏會看到帶 [inbox] 前綴的用戶消息。
適用場景與注意¶
適合:腳本、CI、另一個 DSH 會話、Claude Code、Codex 等需要異步給某個 DSH 會話塞一條用戶 turn,且能接受「空閒才注入」語義的場景。
邊界與安全(README 原文強調):
- 插件只服務掛載它的 DSH 宿主內的會話,推不進別的產品裏的會話。
from爲自報字段,任何能寫收件箱的進程都可冒充,不能用於授權。- 入隊成功不等於模型已讀;需要確認時應約定帶
id並回顯id。
插件以當前 DSH 進程權限運行,安裝前建議閱讀 GitHub 倉庫 源碼與 LICENSE。DeepSeek Harness 社區插件目錄(如 SkillHub 插件頁)爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
經過上面的步驟,你可以在不動 socket 與 MCP 的前提下,用磁盤上的 JSONL 給 DSH 會話建立跨進程入口。詳情與 issue 見 GitHub:SleepNap/dsh-session-inbox;目錄介紹見 SkillHub。