DeepSeek Harness 插件

li906912102/dsh-team-dev

Star 数 ★ 0 分类 开发与运行时 收录于 2026-11-02 npm dsh-team-dev

为 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 的自包含「开发团队」插件包。一行插件行带来两项能力:

  1. 步数预算守卫——每个 agent 每回合的工具调用预算。软阈值(默认 20)向非 teammate 会话注入警告;硬阈值(默认 25)在运行之前拒绝所有受跟踪的非白名单调用,指导模型写 handoff、更新任务、向 Lead 汇报。白名单工具(write、edit、team_task_update、send_message)保持可用,让 agent 能收尾。默认 onlyTeamMembers: true 只约束 Agent Teams 的 teammate——Lead 永不受限。
  2. 随包技能——装插件即装技能:从包内 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 市场支持两条收录渠道:

  1. npm(推荐)——市场按 npm 包名收录 version / enginesDsh / peer 依赖事实, 并内置 registry.npmmirror.com 中国镜像回退。本包零 peer 依赖,兼容性检查必然通过。

    npm login            # 仅一次;用你自己的账号
    npm publish          # 发布 dsh-team-dev@0.1.0
    
  2. GitHub 镜像(可选)——公开 GitHub 仓库会进入市场的 github: 兼容清单,同时作为源码页。 Gitee 不是市场安装源(归档路径不同),只建议当镜像用。

发布前把 package.json 的 repository.url 换成你的真实仓库地址;每次发版先跑 node scripts/verify.mjs,再递增 version。

升级自检(任何 DSH 升级之后)

  1. grep "dsh-team-dev" <harness.log> | tail -2——必须有挂载标记、无导入错误。
  2. node scripts/verify.mjs——包完整性。
  3. 预算探针:teammate 任务单回合超过 25 次工具调用,第 26 次必须被拒;Lead 不受限。
  4. 技能探针:会话输入 /,菜单里应出现 team-dev 与 team-boot。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。