dsh-plugin-yet-another-subagent:DeepSeek Harness 的可配置子代理 profile 系统
huanlinoto/dsh-plugin-yet-another-subagent
DSH plugin 可配置子代理 profile 系统,单一工具加参数,支持 Web UI 设置与实时进度。
通过单一 subagent 工具和 profile 参数,统一管理 DeepSeek Harness 中的子代理定义,并提供 Web UI 设置、实时进度和子代理树视图。
dsh plugin --profile web add github:huanlinoto/dsh-plugin-yet-another-subagent- 分类
- 技能与智能体
- 平台
- DSH-Plugin
- 作者
- huanlinoto
- 分发方式
- 插件
dsh-plugin-yet-another-subagent 核心特性
dsh-plugin-yet-another-subagent 仓库信息

dsh-plugin-yet-another-subagent 仓库简介
yet-another-subagent 是 DeepSeek Harness(DSH)的一个 Agent 核心插件(DSH plugin),由 HuanLinOTO 维护,采用 JavaScript 编写。它解决的是子代理(subagent)配置碎片化的问题:传统做法是为每个子代理单独注册一个工具,而本插件通过单一 subagent 工具加 profile 参数,将子代理的定义收敛为可配置的 profile 系统,并配套 Web UI 设置、实时进度展示(工具调用/token/活动状态)以及子代理树标签页,让子代理的创建、切换与监控变得统一而直观。
yet-another-subagent 这个 DSH plugin 的核心特性有哪些?
插件采用单 bundle、三入口架构(host、invariant、client)。Host 侧复用官方 spawn provider,支持前台(foreground)和后台(continuable / one-shot)两种模式;通过 settings seam 将 profile 状态持久化到 $DSH_HOME/settings.yaml,并提供 RPC CRUD(profiles.list / .add / .update / .remove,走专用 /ya-subagent 通道)。Client 侧提供 profile 编辑页、工具调用卡片(SubagentCard)和子代理树视图(SubagentTreeView),并支持点击跳转子会话。
yet-another-subagent 怎么配置 profile?
Profile 通过 cordis.patch.yml 中的 profiles 字段定义,每个 profile 可设置 id、label、model.kind(auto 继承父模型或 manual 指定)、persona.kind(inherit 或 custom)、toolFilter(none/allow/deny)、maxDepth(默认 3)、backgroundMode(continuable 或 one-shot)等字段。运行时变更通过 scope.replace() 写入用户层,外部 yaml 编辑支持 scope.watch 热重载。
yet-another-subagent 怎么安装?
推荐从 npm 安装,安装后重启 dsh web 进程并硬刷新浏览器(Ctrl+Shift+R):
dsh plugin --profile web add github:HuanLinOTO/dsh-plugin-yet-another-subagent
如需本地开发热更新,可使用 link: 协议引用本地路径。
yet-another-subagent 的开发和检查命令有哪些?
开发依赖仅 zod 一个运行时 npm 依赖,使用 pnpm 管理。类型检查通过 ../dsh 下的 DSH checkout 解析源码,测试使用 vitest。
pnpm install # 安装依赖
pnpm run typecheck # tsc --noEmit
pnpm test # vitest run(55 个测试通过)
pnpm run build # 产出 lib/index.js, lib/invariant.js, lib/client.js
yet-another-subagent 的持久化机制是怎样的?
Profile 状态通过 DSH settings seam 持久化到 $DSH_HOME/settings.yaml 的 ya-subagent 命名空间。cordis.yml 的 profiles 字段是首次启动的种子数据,运行时变更写入用户层,外部编辑支持热重载。无 settings provider 的无头组装会回退到默认行为。