DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

NattoCB /

NattoCB/dsh-plugin-superagent

Verified

DSH project control plane with durable tickets, explicit routing, replaceable sessions, and a local project matrix.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@fee0315d

DSH Superagent

Superagent project matrix with synthetic projects

一个目标,一个项目。任务持续存在,会话按需更替。

项目矩阵 · 独立 Ticket · 显式路由 · DSH Worker

Node.js 22+ · DSH 0.2.0-rc.2 · MIT

DSH 的跨项目任务控制台。项目拥有目标和工作目录,Ticket 保存请求、消息与验收状态,真实 DSH 会话负责执行。界面位于独立的本地 3081 端口。

A local project control plane for DSH: durable tickets, explicit project routing, replaceable execution sessions, and human acceptance.

能做什么

  • 项目有独立身份:创建和编辑目标、工作目录、下一步行动;关注、归档、恢复与搜索项目。
  • 任务跨会话保留:Project → Ticket → Assignment → DSH Session。会话结束或被替换,不会抹掉任务请求与消息。
  • 显式选择项目:统一输入区必须选择项目;可新建任务,也可继续待回复或待验收的任务。插件不会用 LLM 猜测消息属于哪个项目。
  • 真实 DSH 执行:通过宿主的会话服务启动 Worker,传入项目目标和任务要求;执行消息归入对应 Ticket。
  • 人工验收:Worker 完成一轮后进入待验收,只有用户确认才算完成;待回复、阻塞和失败的工作优先显示。
  • 明确恢复:发送结果不确定、服务中断或执行失败时保留现场,由用户显式重试,避免自动重复执行。
  • 按需导入:读取 DSH 已有工作区和会话元数据,导入项目关联;导入不会自动启动任务。

这是项目与任务控制层。目前不包含自动猜测归属的 LLM 路由器,也不提供 Watchdog 全自动调度。

所有展示截图使用虚构项目与隔离验收数据。

使用

前置条件:Node.js 22 或更新版本,以及已安装并可运行的 DSH 0.2.0-rc.2。dsh-llm 由 DSH 宿主提供,插件不引入第三方运行时依赖。

通过 DSH 的 Plugin Manager 安装 bundle,提交仓库地址:

https://github.com/NattoCB/dsh-plugin-superagent

让 Plugin Manager 使用 install_bundle 处理安装与依赖。插件通过 cordis.patch.yml 挂载。首次安装到受管或冻结的 DSH 部署时,应先在独立候选环境验证,再通过该部署的发布流程切换;不要直接改写正在承载会话的生产目录。

高级用户可参考当前 DSH CLI 的 dsh plugin --profile <name> <pnpm-args...> 接口;--profile 必须明确指定。这是向该 profile 的 pnpm 转发命令的底层入口,不替代受管部署的 bundle 安装与发布流程。

插件启用后,点击 DSH 侧栏底部的 Superagent 项目台 入口,进入项目矩阵。控制台右上角的 返回 DSH 可以在同一标签页切回宿主;两个方向都会通过宿主的认证交换,无需手动复制登录链接。

也可以从已认证的 DSH 页面直接打开:

http://127.0.0.1:3080/api/superagent/open

此入口会引导浏览器进入已认证的 3081 控制台。3080 与 3081 的认证按 authority 隔离;仅登录 3080 后直接输入 3081 地址,可能仍需要通过上述入口取得控制台认证。不要分享重定向后的认证链接或令牌。

  1. 新建项目,填写名称、目标、已有的绝对工作目录和下一步行动;也可以导入 DSH 工作区。
  2. 在统一输入区选择项目并发送具体任务。运行状态与人工待处理项会出现在项目卡片上。
  3. 打开项目查看请求、结果与消息。待回复或待验收时可补充信息;满意后点击“验收完成”。
  4. 阻塞或失败时先检查原因,再点击“明确重试”。重试可替换执行会话,Ticket 继续保留。

浏览器页可见时,每 4 秒同步概览。同步失败会显示错误并保留上次数据;同一个表单在保存结束前只能发起一次请求,写入请求不会自动重发。任务详情提供可复制的执行会话 ID;宿主提供入口地址时可打开 DSH 查找对应会话。

配置与生命周期

配置位于插件的 Cordis entry 中:

配置 默认值 含义
host 127.0.0.1 仅支持 loopback 监听
port 3081 独立项目控制台端口
stateDir $DSH_HOME/superagent-control 持久化项目、任务、消息与执行关联;未设置 DSH_HOME 时使用 ~/.dsh/superagent-control
agentPreset standard DSH Worker 使用的 preset

已有插件的配置启用/停用,与首次安装或 bundle patch 变更是不同操作。插件停用时释放自身 HTTP listener 和事件订阅,并通过 DSH 取消自身拥有的执行;不取消其他会话。重新启用会读取持久状态,中断的任务需要显式恢复。首次安装或新增宿主代码仍应遵循当前 DSH 部署的重启与候选验证流程。

数据与隐私

运行数据存放在包目录之外,写入采用串行、原子替换并限制文件权限。DSH 自己的工作区、会话、模型凭证和历史仍归 DSH 管理;插件不会直接重写这些存储。

项目目录在卡片上默认收折,并在本地详情中可见。界面、消息和工作目录可能含有私人内容;截图、分享和备份前请检查。仓库和发布包只应包含源代码、通用文档及虚构数据截图,不应包含状态目录、真实会话记录、认证链接或凭证。

开发与验证

npm test
npm run check
npm pack

无需安装第三方运行时依赖。dsh-llm 是宿主提供的 peer;这里的 npm pack 只生成可检查的本地包,不代表已发布到 npm。

自动化测试覆盖持久化、状态转换、调度恢复和 HTTP 边界等行为。UI 还需要在隔离的真实 DSH 中验证:认证入口、新建与编辑后回读、任务执行与补充消息、工具调用、验收、归档与恢复、工作区导入,以及停用/重启用后的 listener 清理。桌面与窄屏都应检查截图、控制台和网络请求。测试命令存在不代表这些人工验收已经通过;发布时应以实际记录为准。

静态演示驱动只用于布局和接口联调,不能作为真实 DSH 执行证据。源码发布、候选安装、生产激活与上游收录是独立状态。

故障处理

  • 401 / 页面未认证:从 DSH 的 /api/superagent/open 入口重新打开控制台。
  • 503 / DSH 不可用:检查宿主插件和会话服务;界面会保留已同步数据。
  • 409 / 任务不可继续:等待当前执行结束,或检查中断原因后显式重试,不要重复发送同一请求。
  • 3081 已被占用:检查是否已有实例或尚未清理的 listener;不要停止不属于本插件的进程。

相关项目

本项目参考 DSH Superagent prototype 的项目与执行分层思想。当前实现的功能与限制以本仓库源码和验证结果为准。

源码与问题反馈 · MIT License

—/ 5

No ratings yet

Verified DSH bundle

Commit fee0315db445

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout