前言¶
DeepSeek Harness 上的 dsh-superagent 原型,默認通過 GitHub、飛書等 Source 接收事件。每條鏈路都要配賬號或機器人,本地試跑、腳本投遞工作請求時門檻偏高。若你只想在終端裏往某個目錄丟一條 JSON,讓 Router 評估、建單、派出 Worker,再把結果寫回同一套目錄結構,就需要一個不依賴外部服務的 Source。dsh-superagent-inbox 在官方 bundle 之上增加了 inbox Source(inbox-watch),用收件箱文件夾完成 Trigger → Eval → Ticket → Worker → Channel 整條鏈路。
這是什麼¶
dsh-superagent-inbox 由社區維護者 JHOpenDev 發佈,分類爲工作流。倉庫地址:github.com/JHOpenDev/dsh-superagent-inbox;插件目錄頁:skillhub.cn/plugins/JHOpenDev/dsh-superagent-inbox。
項目是 dsh-superagent 的擴展發行版:在官方 bundle 上新增本地文件收件箱 Source,其餘代碼保持上游原樣,MIT 許可。一句話定位:dsh-superagent + 本地收件箱 Source——無需外部賬號,用一個文件夾驅動 DeepSeek Harness 上的 Super-agent 原型。
背景:Super-agent 與 inbox 補上的缺口¶
Super-agent 面向「人的注意力」瓶頸:單任務 Coding Agent 可用後,一人通常只能同時跟進少量活躍 Session。原型用連續、高效、主動、持久等特徵,配合 Router / Worker 雙層架構、事件驅動、存算分離與 Watchdog 等模塊。官方內置 GitHub 與飛書 Source,均需賬號配置;inbox Source 則讓任何有終端的人,用文件夾即可驅動整條鏈路。
核心功能¶
目錄協議¶
在面板裏配置收件箱根目錄 root 後,每個「對話」對應一層子目錄,例如 ops、town:
<root>/
ops/
in/
done/ ← Agent 已接收的消息(自動移入)
out/ ← Agent 回覆 JSON
town/ ← 另一對話,可配置不同接收策略
投放與回覆¶
向 in/*.json 投放消息;Agent 處理後在 out/ 寫出回覆,文件名即消息 id,天然冪等。
投放示例字段(節選):
{
"id": "m-001",
"from": "alice",
"text": "把設置頁的保存按鈕文案改成「保存更改」",
"to": "agent",
"thread": "m-000",
"reply_to": "m-000"
}
from 進入 Policy 白名單判斷;to: agent 表示向智能體顯式喊話;bot: true 的機器人/CI 消息不能自行授權工作。同話題後續消息帶 thread 可經訂閱直通直達 Worker,不重複消耗 Router 判斷。
與 Super-agent 的映射¶
| 概念 | inbox 側 |
|---|---|
| Trigger | 一個消息文件;id 由 conversation + 消息 id 派生,重放安全 |
| Thread | <conversation>:<根消息 id> |
| Channel | 回覆寫入 out/ |
| Admission | 每對話一行:mentions(僅 @)或 all(全部消息) |
Worker 可通過環境變量 DSH_SUPERAGENT_INBOX_CONVERSATION 獲知工單來自哪個對話。安全模型沿用 dsh-superagent 完整 Policy:非白名單、bot 不能授權工作;白名單 + 顯式喊話才產生 explicit 工單。
安裝與啓用¶
前置條件:DeepSeek Harness dsh ^0.2.1-alpha.2、Node ^22.19 || >=24、pnpm。
資料中的獲取與校驗步驟如下(完整部署還需按倉庫內 SETUP.md 完成 dsh-superagent 基礎配置;GitHub 賬號主要用於 Worker 提交 PR,若只跑 inbox 也可配最小權限賬號):
git clone https://github.com/JHOpenDev/dsh-superagent-inbox.git
cd dsh-superagent-inbox
pnpm install && pnpm check
pnpm check 會執行 typecheck、全部測試並構建 lib/。
在 profile 的 cordis.patch.yml(路徑:$DSH_HOME/profiles/<profile>/)中啓用 inbox:
- id: dsh-superagent
config:
stateDir: /home/me/.dsh/state/superagent
- id: dsh-superagent-inbox
disabled: false
重啓 Harness 後,在 Superagent 側邊欄 → Sources → Local inbox 配置:
root:收件箱根目錄(絕對路徑)conversations:至少一個對話,例如{ id: "ops", listen: "mentions" }
在 Eval → On each Source → Local inbox 中,把你投放消息時使用的 from 身份加入 allowed 名單。
典型用法¶
下面步驟假設已配置好 root,且對話 id 爲 ops。
- 投放一條工作請求:
cat > $ROOT/ops/in/m-001.json <<'EOF'
{ "id": "m-001", "from": "alice", "to": "agent",
"text": "把 README 的安裝命令從 npm 改成 pnpm" }
EOF
-
等待 Router 輪詢(秒級):面板中可見 Eval → accept → Ticket → Worker 運行。
-
讀取回復:
cat $ROOT/ops/out/*.json
- 同話題追問時,在 JSON 中設置
"thread": "m-001",可直通該工單的 Worker,無需再次 @。
純閒聊會被兩級過濾丟棄;可在面板 Sources 頁查看 filtered 審計記錄。
適用場景與注意¶
適合已在 Harness 上部署或計劃部署 dsh-superagent、希望不配置 GitHub/飛書機器人也能本地或腳本驅動 Super-agent 的開發者;也適合把 CI、內部工具寫成「往 in/ 丟 JSON」的集成方式。
使用前請注意:
- 插件與 dsh-superagent bundle 以當前 dsh 進程權限運行,安裝前應閱讀源碼與 MIT 許可證。
- 資料未給出
dsh plugin add一類的一行安裝命令;實際部署以倉庫 README 與 SETUP.md 爲準。 - 倉庫還包含 ZCode 適配器(
adapters/zcode-plugin),安裝方式見該目錄 README,與本 Harness bundle 獨立,此處不展開。
DeepSeek Harness 生態強調「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-superagent-inbox 把 Super-agent 的「最後一公里」收束到一個本地文件夾:投 JSON、讀 out/,在保留官方 Policy 與工單模型的前提下去掉外部 Source 賬號依賴。進一步瞭解可訪問 插件目錄頁 與 GitHub 倉庫。