dsh-preset-agent-manager

DSH PLUGIN会话与消息

仓库 qingli-sketch/dsh-preset-agent-manager

会话与消息 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

为 DeepSeek Harness 提供预设智能体管理器:侧边栏面板可创建带 persona 与严格插件、工具白名单的预设智能体,主智能体通过 preset_agent_dispatch 派发任务到隔离子会话。

一句话选型结论

按资料字段整理

dsh-preset-agent-manager 是会话与消息类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类会话与消息 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 1 复刻 0 · 未关闭 issue 0
最近更新 2026-09-15 创建于 2026-09-15
README 9.1 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:qingli-sketch/dsh-preset-agent-manager
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.0-rc.2 等 5 个;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.0-rc.2 等 5 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-preset-agent-manager:DeepSeek Harness 的预设智能体编排面板

  • 侧边栏面板管理预设智能体
  • 严格插件与工具白名单
  • preset_agent_dispatch 派发任务
  • 子会话隔离且禁止嵌套
  • 配置持久化到 agents.json

上游标签

deepseek-harnessdshdsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询
— · 其它检查项
  • L4_0_SANDBOX 沙盒安装判定 方式:沙盒安装执行

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.0-rc.2 等 5 个),按版本装不容易报错。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在会话与消息场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-preset-agent-manager当前 L5 · 运行验证通过 低风险 1 0.2.0-rc.2 等 5 个 有
dsh-desktop L3 · 安装规范通过 低风险 3.0 万 未标注 无
openpets L4 · 沙盒安装通过 低风险 1,274 未标注 有
deeptide L4 · 沙盒安装通过 低风险 1,104 0.1.1-rc.2 有
jingyun-dsh L3 · 安装规范通过 低风险 1,004 未标注 有
study-mate 未做沙盒验证 未标注 856 未标注 无

仓库档案

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方qingli-sketch仓库 dsh-preset-agent-manager · 默认分支 main
分类会话与消息desktop
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue1 / 0 / 0收录时的数值,非实时
创建 / 更新2026-09-15 · 2026-09-15最后推送 2026-09-15
本站收录2026-09-17首次进入本站目录的时间

README 全文

9.1 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-preset-agent-manager

DSH(DeepSeek Harness)插件:预设智能体管理器。

它把「预设智能体」做成 DSH 里的一等公民:每个预设智能体有自己的 id、名称、触发域描述、persona,以及一份严格插件/工具白名单。主智能体可以在对话中自主调用 preset_agent_dispatch 把任务派给它,子会话在独立会话中运行、只拿到白名单内的工具、无法再次委派、结束后销毁。


功能

能力 实现
侧边栏底部入口 + 全屏管理面板 浏览器半注册在 sidebar.footer.action 与 shell.overlay
创建 / 编辑 / 删除预设智能体 面板;删除需二次确认并显示当前活跃子会话数
插件白名单 从当前 profile 的 Loader 行与各 preset 组合行中勾选,逐行显示启用状态、fiber 阶段、不可用原因
工具白名单(严格生效) 勾选后写入 toolWhitelist,运行时先作为子会话的 toolFilter.allow,再在子会话作用域内加一道 tools.guard 兜底
模型工具 preset_agent_dispatch(agent_id, task)、preset_agent_admin(action, …)
持久化 $DSH_HOME/data/dsh-preset-agent-manager/agents.json(原子写入 + 损坏文件自动旁置)

目录结构

dsh-preset-agent-manager/
package.json         # type: module;dsh.bundle.patch + dsh.client(浏览器行)
cordis.patch.yml     # 本包作为 bundle 时的插入行(含 config.rev)
lib/index.js         # host 入口:薄壳,按 config.rev 加载 impl.js
lib/impl.js          # host 实现:注册表、两个模型工具、HTTP API
lib/client.js        # 浏览器半:手写 bundle(window.__ModuleLoader__)

安装与激活

方式 A:标准 dsh plugin(需要 pnpm)

本包声明了 dsh.bundle.patch,所以 dsh plugin 会在安装成功后自动把本包加入 profile 的 dsh.profile.bundles:

dsh plugin --profile web add file:$env:USERPROFILE\.dsh\plugins\dsh-preset-agent-manager

> dsh plugin 是一个 pnpm 薄转发器。若提示 pnpm not found on PATH,先 corepack enable pnpm 或 npm i -g pnpm。
> dsh.profile.bundles 只在 profile 启动时读取,这条路径需要重启 profile。

方式 B:不依赖 pnpm 的手工安装

# 1. 放入 profile 的解析路径(Node 从 profile 目录向上查找 node_modules)
$dst = "$env:DSH_HOME\profiles\web\node_modules\dsh-preset-agent-manager"
New-Item -ItemType Directory -Force $dst | Out-Null
Copy-Item "$env:USERPROFILE\.dsh\plugins\dsh-preset-agent-manager\*" $dst -Recurse -Force

# 2. 激活:把下面 4 行追加到 profile 的 patch 层
#    (该 profile 声明了 patchReload: live,正常情况无需重启)
- insert:
- id: preset-agent-manager
name: 'dsh-preset-agent-manager'
config:
rev: '16'

卸载 / 停用

  • 停用(保留数据与文件):删除 profile cordis.patch.yml 里的 insert 块。
  • 卸载:移除 profiles/web/node_modules/dsh-preset-agent-manager 与上述 insert 块;数据文件按需保留。

使用

  1. 侧边栏底部点击 ⚉ 预设智能体 打开面板。面板按视口自适应(min(1440px, 100vw-40px) × min(940px, 100vh-40px)),窗口缩放时跟随;新建/编辑表单直接接管面板主体并按宽度自动分两栏或堆叠,不再是嵌套的小弹窗。
  2. 新建预设智能体:填 id / 名称 / 描述(触发域)/ persona;勾选插件白名单;勾选该智能体真正可以调用的工具。名称与描述就是主智能体判断「该不该派给它」的全部依据。
  3. 保存后主智能体即可在对话中自主委派,或由你用显式指令触发:
用日志追踪器排查 D:\logs\app.log 里的超时错误
  1. 主智能体侧调用形态:
{ "agent_id": "log-tracer", "task": "自包含的任务描述" }

返回:status(success / partial / failed)、output、tool_allow、warnings、error、startup_ms、duration_ms、session_id。

机制与保证

  • 委派走 DSH 自己的 subagent seam:ctx.subagents.start(provider, request),provider 取 spawn(当前 profile 同时注册 spawn 与 fork)。子会话是普通子 Agent,拥有自己的 session 与 scope。
  • 禁止嵌套:maxDepth: 1(父 depth 0,子 depth 1,再委派即被 SubagentDepthError 拒绝)。白名单与作用域 guard 是第二、三重保证——见下。
  • 严格白名单语义(两层,均经实测确认):
    1. 继承层掩码 — toolFilter.allow 交给 DSH 的 tools.restrict(),它过滤该 scope 继承的一切(全局层 + 全部祖先层),只豁免该 scope 自己注册的工具。于是被勾选的工具可用,未勾选的(包括全部 agent preset 行注册的工具)在子会话的 prompt 中不存在,调用也会被拒绝。
    2. 自身层 guard — 第 1 层按设计豁免了子会话自身作用域注册的工具,而委派工具(subagent、subagent_fork)恰好属于这一类:实测中即使白名单为空,子会话仍能看到 subagent。因此主机半在子会话发布后,通过 child.ctx.tools.guard(...) 在其作用域内再注册一道单调 guard:不在白名单内的调用一律返回
    tool "" is outside preset agent "" plugin whitelist。实测子会话原文回执该错误,并自报 tools=0。run_code(PTC 传输而非能力)被显式放行。
  • toolFilter.allow 只接受调用方作用域继承集里的名字(该集合≠进程全局视图:host 插件行把工具注册在自己的 scope 里)。因此主机半用 parent.ctx.tools.schemas() 解析白名单,无法解析的名字在委派前剔除并写入 warnings,不会让委派抛错。
  • 两层都在子会话自己的作用域内,随子会话销毁;guard 在子会话发布后立即注册,早于模型第一次工具调用(模型首轮往返)数十倍的时间裕度。
  • 空白名单是合法配置:不勾任何工具的预设智能体(纯推理/写作型)正常运行且返回 success;只有白名单丢失了名字才会降级为 partial 并附警告。
  • 隔离与降级:每个预设智能体在自己的子会话中组装环境,会话结束即销毁;白名单内插件初始化失败不会中断主会话,子会话会带着警告继续,status 降级为 partial。
  • persona:作为 per-child persona 注册在子会话 scope 上,只覆盖该子会话,不影响父会话与兄弟会话。
  • 并发:preset_agent_dispatch 声明 isConcurrencySafe: () => true,同一预设智能体的多次委派各自独立运行、互不干扰。
  • 持久化:agents.json 采用「临时文件 + rename」原子写入,写入串行化;损坏的 JSON 会被旁置为 agents.json.corrupt- 而不是被覆盖。

数据文件

{
"version": 1,
"agents": [
{
"id": "log-tracer",
"name": "日志追踪器",
"description": "排查日志、慢查询、错误堆栈",
"persona": "你是一个专业的日志分析专家……",
"pluginWhitelist": ["@deepseek-ai/dsh-tool-fs"],
"toolWhitelist": ["read", "grep"],
"createdAt": "2026-09-15T10:00:00.000Z",
"updatedAt": "2026-09-15T10:00:00.000Z"
}
]
}

toolWhitelist 是本插件对参考结构的扩展字段:它是真正生效的严格白名单,pluginWhitelist 记录人在面板上的选择意图并驱动不可用插件的告警。

HTTP 接口(浏览器半使用)

方法 路径 说明
GET /preset-agents-api/state 注册表 + Loader/preset 插件清单 + 工具清单 + provider + 诊断
GET /preset-agents-api/plugins 仅插件清单
POST /preset-agents-api/agents 新建或更新一个预设智能体
POST /preset-agents-api/agents/delete 删除(返回 runningChildren)

路由由 ctx.effect() 绑定到插件 fiber,卸载或更新插件行时随 fiber 一并移除。

热更新(config.rev)

lib/index.js 是按 config.rev 加载 lib/impl.js 的薄壳:改动 impl.js 后把 patch 里的 rev 递增,Loader 重新应用该行并让 Node 重新求值模块,无需重启 profile。同一个 rev 始终解析到同一个模块实例,行为与静态导入一致。

> 注意:若某次热更新导致插件 fiber 装载失败,profile 的 patch 监视器可能停止响应后续改动;此时重启 profile 即可恢复。

已知限制

  • 没有 pnpm 就无法使用 dsh plugin add 的裸包名形式(取决于环境是否安装 pnpm)。file: 路径形式同样需要 pnpm;方式 B 完全绕开。
  • 预设智能体不是 agent preset:它复用父会话的 preset 组合,靠 toolFilter + guard + maxDepth 做约束,因此不能授予某个 agent preset 行独有的工具。
  • 面板的插件清单来自 Loader 与 preset 组合,fiberPhase: 'failed' 只有状态位,没有错误堆栈摘要(DSH 当前未提供 entry 级错误读取接口)。

License

MIT — 见 LICENSE。

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-preset-agent-manager 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:qingli-sketch/dsh-preset-agent-manager` 即可。

dsh-preset-agent-manager 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-preset-agent-manager 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-preset-agent-manager 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-preset-agent-manager 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.6-alpha.2、0.1.6-alpha.1。

dsh-preset-agent-manager 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-preset-agent-manager 有哪些功能?

侧边栏面板管理预设智能体、严格插件与工具白名单、preset_agent_dispatch 派发任务、子会话隔离且禁止嵌套、配置持久化到 agents.json。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

会话与消息
按星标排序,可作替代方案

dsh-desktop

dsh-desktop

为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。

L3 · 安装规范通过 3.0 万 星

openpets

openpets

L4 · 沙盒安装通过 1,274 星

deeptide

deeptide

L4 · 沙盒安装通过 1,104 星

jingyun-dsh

jingyun-dsh

井云 DSH 客户端插件,为 DeepSeek Harness 注入会员登录、订阅支付、算力管控与应用市场,让智能体和技能快速变成可交易商品

L3 · 安装规范通过 1,004 星

study-mate

study-mate

StudyMate 是 DSH 的「学习模式」预设与技能包,为数学、计算机科目定制学习路线、讲解课件与练习评估,跨科目共享记忆。

未标注验证等级 856 星

qingli-sketch 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。