为 Agent Teams 的 teammate 提供按回合的工具调用步数预算,并随包提供 team-dev 与 team-boot 技能。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-team-dev
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:li906912102/dsh-team-dev
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
面向 DeepSeek Harness 的自包含「开发团队」插件包。一行插件行带来两项能力:
- 步数预算守卫——每个 agent 每回合的工具调用预算。软阈值(默认 20)向非 teammate 会话注入警告;硬阈值(默认 25)在运行之前拒绝所有受跟踪的非白名单调用,指导模型写 handoff、更新任务、向 Lead 汇报。白名单工具(
write、edit、team_task_update、send_message)保持可用,让 agent 能收尾。默认onlyTeamMembers: true只约束 Agent Teams 的 teammate——Lead 永不受限。 - 随包技能——装插件即装技能:从包内
skills/目录提供team-dev(开发团队编排)与team-boot(通用任务团队)两个 skill。项目级(rank 100)与用户级(rank 400)同名 skill 仍会覆盖这些随包技能(rank 600)。
零运行时依赖。
安装
作为本地包
# 1. 在 profile 的 package.json 增加依赖
# "@jiecore/dsh-team-dev": "file:/绝对路径/dsh-team-dev-0.1.0.tgz"
# 或发布后使用 git/npm 声明
# 2. 在 dsh.profile.bundles 里列出该 bundle(package.json)
# "dsh.profile.bundles": [..., "dsh-team-dev"]
# 3. 重新安装并重启 DSH
cd "$DSH_HOME/profiles/web" && pnpm install
以补丁插入方式(单会话 profile,不列 bundle)
在 profile 的 cordis.patch.yml 追加:
- insert:
- id: dsh-team-dev
name: dsh-team-dev
并在 profile 的 package.json 加入 dsh-team-dev 依赖,重新安装、重启。
验证
node scripts/verify.mjs # 包完整性冒烟检查
# 安装并重启后的运行时自检:
grep "dsh-team-dev" "$DSH_HOME/../Logs/DSH Desktop/harness.log" | tail -2
# 预期出现: [dsh-team-dev] budget guard + bundled skills installed
# 再跑一个 teammate 任务,单回合超过 25 次工具调用时,第 26 次非白名单调用
# 必须被拒,反馈以 "Step budget exhausted: ..." 开头。
配置
行配置(默认值如下):
softThreshold: 20
hardThreshold: 25
allow: [write, edit, team_task_update, send_message]
include: []
exclude: []
onlyTeamMembers: true
配置错误在加载时大声失败(soft 低于 2、hard 不高于 soft)。
卸载
移除 bundle 行 / 补丁行与依赖,重新安装、重启。随包技能随包消失;同名项目级/用户级技能不受影响。
发布到 DSH 插件市场
桌面端市场通过 GitHub 发现插件(discovery-github-compatibility-v1)。把本包推送到公开 GitHub 仓库即可(package.json 已带 dsh.bundle.patch 清单);市场的兼容性发现会按 github:<repo> 条目收录 version、enginesDsh 与 peer 依赖信息。
开发:本项目拥有源码
手写的守卫源码就在这里:src/guard.ts——唯一事实来源。lib/index.js 是构建产物
(scripts/build.mjs),请勿手改。
node scripts/build.mjs # 把 src/ 打包成 lib/index.js 并跑冒烟检查
node scripts/export-to-harness.mjs # 重新生成仓库侧的测试壳
cd ../deepseek-harness && pnpm exec vitest run packages/guard/step-budget
pnpm pack # 重新打包 tgz
export-to-harness.mjs 会生成仓库包 packages/guard/step-budget/src/index.ts
(补回 schemastery Config schema、身份行与真实 import),让 harness 保留类型检查、
覆盖率和 CI 门禁,并保留将来上游合入的入口。行为一致性由
packages/guard/step-budget/tests/artifact-parity.spec.ts 钉住:它把构建产物
lib/index.js 放进与测试壳相同的 agent-loop 测试台。
发布
DSH 市场支持两条收录渠道:
npm(推荐)——市场按 npm 包名收录 version /
enginesDsh/ peer 依赖事实, 并内置registry.npmmirror.com中国镜像回退。本包零 peer 依赖,兼容性检查必然通过。npm login # 仅一次;用你自己的账号 npm publish # 发布 dsh-team-dev@0.1.0GitHub 镜像(可选)——公开 GitHub 仓库会进入市场的
github:兼容清单,同时作为源码页。 Gitee 不是市场安装源(归档路径不同),只建议当镜像用。
发布前把 package.json 的 repository.url 换成你的真实仓库地址;每次发版先跑
node scripts/verify.mjs,再递增 version。
升级自检(任何 DSH 升级之后)
grep "dsh-team-dev" <harness.log> | tail -2——必须有挂载标记、无导入错误。node scripts/verify.mjs——包完整性。- 预算探针:teammate 任务单回合超过 25 次工具调用,第 26 次必须被拒;Lead 不受限。
- 技能探针:会话输入
/,菜单里应出现team-dev与team-boot。
链接
同类插件
yjh051108/dsh-routing-suite★ 6994
一个仓库三件套:DSH 插件包的运行时注入器(注入、热重载、卸载、开发侧挂区一键转正、路由自愈,外带设置页插件管理:列出、卸载、拖入文件夹内化)、任务感知的思维模式路由 agent 预设(router-standard / router-spec / router-react)、以及分级两级任务协议(commit_star / lock_stage / revise_do / edit_plan / mark_task / redteam_verdict 六个工具,任务状态落盘)。注入器实现直接在库内,安装的是它自己的行为而不是一份依赖清单。
strukto-ai/mirage#dsh★ 3762
把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Slack、Gmail、Notion、Postgres)而非宿主磁盘,支持按挂载点设置读/写/执行模式、按命令选择沙箱(进程内 monty、pyodide、quickjs;远程 docker、e2b、daytona),并可在虚拟终端中安装 CLI(git、gh、slack、linear、ntn、gws,或自行注册的程序树)作为命令头词。
first-fluke/oh-my-agent#dsh★ 1357
在工具执行前后以及尝试结束当前轮次时运行项目 OMA 检查。随插件安装 OMA CLI 依赖,并在首次使用时初始化未配置的项目。需要 Node.js 22+;首次初始化需要网络连接和项目目录写入权限。
MichengAI/dsh-skills-manager★ 444
在设置里管理本地 DSH 技能,并只读查看公共 Agent 技能。
hust-open-atom-club/oh-dsh★ 324
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
Fishquito7/dsh-skill-mcp-panel★ 248
在 DSH Web 设置中管理技能与 MCP 服务器:技能卡片热启停、工作区作用域、分组、批量迁移与拖拽导入,以及 stdio/HTTP MCP 增删改查、连接测试、密钥脱敏,并附带统一 dsh-panel 命令行。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。