dsh-deploy-manager
September 12, 2026 · View on GitHub
DeepSeek Harness 部署管理插件(离线版):不连接任何真实部署平台,把「部署」做成纯配置塑形——根据应用与环境生成有序的、带审批门限的发布计划;生成规范的部署配置(YAML);并对 YAML / JSON 部署配置做语法与结构校验。所有工具均为纯函数,不发起网络请求、不执行子进程、不读写文件。
安装
npx -y @deepseek-ai/dsh plugin --profile web add @qingshanjiluo/dsh-deploy-manager
工具
| 工具名 | 描述 | 参数 |
|---|---|---|
deploy_plan | 按配置提供商(Config.provider)为 app + env 生成有序发布步骤:preflight → build →(publish/migrate/backup)→ gate → deploy → verify → post;prod 环境含审批门限与回滚快照 | app: string(应用名)、env: string(须属于 Config.knownEnvs) |
deploy_generate_config | 生成可通过 deploy_validate_config 校验的规范部署配置 YAML(含 build/resources/ports/healthCheck/envVars,staging 与 prod 附带 migrate 钩子) | app: string、provider: string(vercel / netlify / railway / docker / kubernetes / static)、env?: string(dev / staging / prod,默认 staging) |
deploy_validate_config | 校验一段部署配置文本(自动识别 YAML 或 JSON):语法错误带行号、结构错误带字段路径;对未知键、疑似明文密钥、prod 缺少渐进式发布策略给出警告 | content: string(完整配置文本) |
配置校验规则摘要
- 必填:
app(非空字符串)、provider(受支持列表之一)。 - 可选:
env、strategy(recreate / rolling / canary / blue-green)、build.command、resources.{replicas,memoryMB,cpu}、ports(1–65535 整数列表)、healthCheck.{path,intervalSeconds}、envVars(标量键值,疑似明文密钥告警)、volumes.{source,target}、hooks.*。 - YAML 子集解析:缩进映射 / 序列、引号与纯量、行内注释、
|/>块标量、flow 集合[...]/{...};缩进用 Tab、重复键等会报出行号。
配置
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
provider | string | docker | deploy_plan 使用的命令模板提供商;未知提供商回退到通用脚本步骤并给出警告 |
knownEnvs | string[] | [dev, staging, prod] | deploy_plan 接受的环境列表 |
配置通过 cordis.patch.yml 注入,可按 profile 覆盖,例如把 provider 改为 kubernetes。
开发与验证
npm install --no-audit --no-fund
npx tsc --noEmit
npm run build
npx vitest run
node scripts/load-smoke.mjs
License
MIT