dsh-superagent-inbox:用本地文件夾驅動 Super-agent,無需外部賬號

前言

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。

  1. 投放一條工作請求:
cat > $ROOT/ops/in/m-001.json <<'EOF'
{ "id": "m-001", "from": "alice", "to": "agent",
  "text": "把 README 的安裝命令從 npm 改成 pnpm" }
EOF
  1. 等待 Router 輪詢(秒級):面板中可見 Eval → accept → Ticket → Worker 運行。

  2. 讀取回復:

cat $ROOT/ops/out/*.json
  1. 同話題追問時,在 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 倉庫。

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

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

小夜