用途
ln-032-vps-project-runtime 是一个 L3 Worker 技能,类别为 0XX Shared / Infrastructure。它的用途是在一台已经准备好的 VPS 上创建或验证单个项目运行时环境,并在目标项目仓库中安装本地操作员调度器(local operator dispatcher)。该技能要求共享主机运行时已经准备或协调完成。
主要能力
该技能提供两种模式:
- bootstrap:创建或协调一个项目运行时。
- verify_only:检查预期的项目运行时,但不做任何变更。
工作流程分为六个阶段:
- 预检(Preflight):验证唯一项目输入,包括 ${PROJECT_NAME}、${SERVICE_PREFIX}、${PROJECT_DIR}、${REPO_URL}、${REPO_REF}、${RELAY_HOOK_PORT}、${TARGET_REPO_PATH}。对已存在的不相关 ${PROJECT_NAME}、${SERVICE_PREFIX}、tmux socket 或 relay 端口冲突进行阻断。
- 项目仓库与状态:创建或验证 ${PROJECT_DIR},在 ${REPO_REF} 克隆或更新 ${REPO_URL},创建 /etc/${PROJECT_NAME} 和 /var/lib/${PROJECT_NAME},渲染项目 .claude/ 文件,保留任意非 git 文件。
- God-Session 与调度器:安装 sandbox 脚本、${SERVICE_PREFIX}-god@.service、tmux socket 与目标命名、dispatch 服务/定时器模板、statusLine 支持,以及项目范围的 hooks(hex-relay 产品部署除外)。
- 提供商凭据:配置 GitHub App 密钥路径与 ${SERVICE_PREFIX}-mint-gh-token,接入 GitLab git/API 凭据,仅在请求时可选启用 Codex notify hook。绝不编造或打印真实提供商密钥。
- 本地操作员调度器:将 dispatcher.md.template 复制到 ${TARGET_REPO_PATH}/.claude/commands/dispatcher.md,为缺失的 .env.local VPS_* 键提供初始值,验证 .env.local 已被 git 忽略。
- 摘要:写入 vps-project-runtime 摘要工件,包含项目运行时变更、本地调度器变更、警告、阻断项和验证证据。
使用方式
输入包括:mode、project/VPS 变量、provider 变量、本地 ${TARGET_REPO_PATH}、可选的 dry_run、可选的 runId、可选的 summaryArtifactPath。
输出为 vps-project-runtime 摘要,包含 status、changes、warnings、blockers、verification 和 artifact paths。如果提供了 summaryArtifactPath,则将相同的摘要 JSON 写入该路径;如果未提供,则内联返回摘要并写入独立的 run-scoped 路径。当 runId 缺失时,生成独立的 run_id。
该技能要求强制读取以下文件:shared/references/worker_runtime_contract.md、shared/references/coordinator_summary_contract.md、shared/references/vps_runtime_contract.md,以及 ../ln-030-vps-bootstrap/references/ 下的 scope_layers.md、project_repo_bootstrap.md、god_session_install.md、provider_credentials.md、operator_dispatcher_install.md。路径(shared/、../ln-030-vps-bootstrap/references/)相对于 skills 仓库根目录。如果当前工作目录下找不到,则定位此 SKILL.md 所在目录并向上查找仓库根目录。
适用场景
适用于在已准备好的 VPS 上创建或验证单个项目运行时,包括 god-session、提供商凭据和本地调度器设置。需要共享主机运行时已准备或协调完成。
限制
- 需要已准备或协调完成的共享主机运行时。
- 不安装共享 Node/Claude/Codex 运行时。
- 不部署或重建 agents/hex-relay/。
- dry_run=true 和 verify_only 不会变更远程或本地状态。
- 本地调度器设置是项目特定的,保留在此 worker 中。
完成定义
- 项目变量已验证,冲突检查已完成。
- ${PROJECT_DIR} 克隆存在于 ${REPO_REF},且未覆盖不相关文件。
- /etc/${PROJECT_NAME} 和 /var/lib/${PROJECT_NAME} 存在,具有预期的所有权和权限模式。
- 项目 .claude/ 设置和指令已渲染。
- ${SERVICE_PREFIX}-god@.service 和调度器模板已安装或验证。
- 提供商凭据已配置,或明确标记为 N/A:。
- 本地调度器命令和 .env.local VPS_* 键已安装或已计划。
- dry_run=true / verify_only 未执行任何变更。
- 已写入结构化的 vps-project-runtime 摘要工件。
版本:1.0.0,最后更新:2026-05-05。