DSH|DSH Testkit|真实宿主插件生命周期测试 / Real-host plugin lifecycle testing #2038
Replies: 4 comments 2 replies
|
v0.3.0 已发布 / is released: https://github.com/iiwish/dsh-testkit/releases/tag/v0.3.0 一键接入新增 One-command setup now scaffolds the scenario, least-privilege CI, and project Agent Skill offline. The public npm package, SLSA provenance, and real DSH tool/Skill registration are verified. Recruitment remains open for the first five plugin maintainers. |
v0.3.1 已发布 / Released我们把 v0.3.0 的一键接入实际应用到公开插件模板仓库根目录时,发现并修复了两个真实边界:Git source-resolution 日志没有进入严格 artifact 清单,以及带有合法 v0.3.1 已通过 Trusted Publishing 发布。公共
Applying the v0.3.0 onboarding to a public template repository root exposed two real boundaries: undeclared Git-resolution log artifacts and legitimate lifecycle output before the final 首批维护者招募继续开放。最有价值的下一步不是增加下载量,而是让不同形态的插件用精确版本跑出可复现证据。 |
|
This is the missing half of the release gate, and it pairs cleanly with the preflight half. The division of labor I'd propose to plugin authors:
Together they're the two halves of "generated code and a passing install are not proof it boots" — doctor catches the cheap failures before Docker, testkit catches the lifecycle failures after. The thing I'd emphasize to authors: run doctor in every CI run, run testkit on the release branch, and don't weaken either's expectations to make a pass. Happy to be one of the five design partners — I maintain several plugins (dsh-subscribe, dsh-plugin-doctor, dsh-shelf, dsh-rule-evolve, dsh-pet-evolve) plus the dsh-plugin-template, so I can exercise the testkit across the "marketplace", "tool", "session CLI", and "self-evolution" plugin shapes and feed back what the prerequisite profile needs per shape. I'll also cross-link testkit from the doctor README so authors find both ends of the gate. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
项目地址 / Project URL: https://github.com/iiwish/dsh-testkit
v0.3.1: https://github.com/iiwish/dsh-testkit/releases/tag/v0.3.1
npm: https://www.npmjs.com/package/dsh-testkit/v/0.3.1
中文
AI 可以很快写出一个 DSH 插件,但“代码能生成”“包能安装”并不能证明发布产物能在真实 DSH 中完成启动、注册、调用、卸载和重启。
DSH Testkit 是面向 DeepSeek Harness 插件的确定性真实宿主生命周期测试工具。它会把插件打包,在一次性 Docker 环境中安装精确版本的 DSH,启动真实宿主,验证配置与运行时注册,执行不依赖模型的最小能力调用,然后卸载插件并重启同一个 profile,最终保留 JSON、JUnit、Markdown、脱敏日志和阶段证据。
v0.3.1 一键接入
init离线读取插件声明的 bundle patch,只生成三个可审核文件:dsh-testkit.yaml:精确 DSH 版本和自动识别的 row 预期.github/workflows/dsh-lifecycle.yml:最小权限的真实生命周期 CI.agents/skills/dsh-testkit/SKILL.md:让兼容的 coding agent 在开发、review 和发布时主动使用同一套门禁命令幂等,不修改
package.json、lockfile 或AGENTS.md;冲突或 symlink 路径会在任何目标写入前失败,除非显式使用--force。GitHub Actions 仍可直接使用:
它也提供可选的 DSH 原生
dsh_testtool 和dsh-testkitSkill。外部 CLI/CI 仍是独立发布闸门:如果插件让宿主在 tool 注册前就启动失败,宿主内工具无法自救。已验证的发布证据
dsh_test调用和 Skill discovery它不做安全认证,也不评测模型输出质量。静态 manifest/preflight、plugin doctor、组合检查和插件单元测试仍然各有必要;Testkit 专注真实宿主中的单插件生命周期。
首批维护者招募
我们想邀请 5 个 DSH 插件维护者作为首批设计伙伴:
愿意参与可以直接在本帖留言,或在仓库创建 issue:
https://github.com/iiwish/dsh-testkit/issues
当前支持:
@deepseek-ai/dsh@0.1.0-rc.6。DSH 仍处预览期,支持范围会以真实 canary 证据逐版本更新。English
AI can generate a DSH plugin quickly, but generated code and a successful package install do not prove that the release artifact can boot, register, execute, uninstall, and reboot inside a real DeepSeek Harness host.
DSH Testkit packs the plugin, installs it beside an exact DSH version in a disposable Docker environment, boots the real host, verifies configuration and runtime registration, performs deterministic model-free exercise, uninstalls the plugin, reboots the same profile, and retains reviewable JSON, JUnit, Markdown, sanitized logs, and stage evidence.
v0.3.1 provides the three-command adoption flow above.
dsh-test initworks offline and creates only a scenario, least-privilege workflow, and project-local Agent Skill. It is idempotent, refuses implicit replacement and symlink paths, and does not edit package manifests, lockfiles, or repository instructions.The same canonical
dsh-testkitSkill ships in npm and registers in the native bundle when DSH exposes its optional Skills service. It helps compatible coding agents choose and interpret the lifecycle gate; it does not authorize untrusted execution or replace review.A pass is environment- and scenario-bound lifecycle evidence. It is not a security certification, a model-quality evaluation, or a replacement for unit tests, static preflight, plugin doctors, or composition checks.
We are recruiting five DSH plugin maintainers as initial design partners. We will help define the smallest deterministic scenario, run the exact release in Docker, and prepare an opt-in CI integration PR. Findings are shared with reproducible evidence; named public failure claims are not made before reproduction and maintainer awareness.
Reply here or open an issue: https://github.com/iiwish/dsh-testkit/issues
Current host support:
@deepseek-ai/dsh@0.1.0-rc.6.All reactions