dsh-superagent-inbox: Local Folder-Driven Super-agent, No External Account Required

前言

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 仓库。

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

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

Xiaoye