diff --git a/doc_scripts/PAM_AUTO_DEPLY_SKILL.md b/doc_scripts/PAM_AUTO_DEPLY_SKILL.md index 9cc842b..85c8781 100644 --- a/doc_scripts/PAM_AUTO_DEPLY_SKILL.md +++ b/doc_scripts/PAM_AUTO_DEPLY_SKILL.md @@ -73,7 +73,7 @@ description: 面向 PAM HOME/NODE 的智能部署 Skill。由 Skill 负责理解 以下参数不一定写入 `config.txt`,但 Skill 需要掌握: - `mode`: `MCP` 或 `API脚本` -- `generateOnly`: 是否只生成文件不执行 +- `showUsageOnly`: 是否只说明现有脚本用法而不执行 - `userSpecifiedIps`: 用户指定的目标 IP 子集 - `allOrNothing`: 是否要求全有或全无 - `rollbackApproved`: 用户是否已确认回滚 @@ -213,57 +213,23 @@ description: 面向 PAM HOME/NODE 的智能部署 Skill。由 Skill 负责理解 8. 脚本 action 输出以 `key=value` 为主,Agent 应优先读取这些结果行。 9. 遇到需要回滚的场景,脚本只返回 `PENDING_AGENT_CONFIRMATION(stopFirst=...)`,Agent 必须先确认。 -## 6. 接口约定 - -### 6.1 基础约定 - -- Node 侧路径统一使用 `node-proxy` -- Node 侧接口始终携带: - - `Authorization: Bearer {TOKEN}` - - `Target-Node: {NODE_URL}` -- `airport-code: {airportCode}` 仅在下载到 Node 等需要时携带 - -### 6.2 云下载接口 - -- 创建任务接口: - - `GET /api/mcp/version/upgrade/download-cloud` - - 固定传 `timeOut=0` - - 含义是“任务创建成功立即返回”,不要等待长超时 -- 进度接口: - - `GET /api/mcp/version/upgrade/download-cloud/progress?...&versionNumber={versionNumber}` - - 完成判定优先看: - - `msg` - - `step` - - `rateOfProgress` - - 当 `msg=success`、`step=DONE`、`rateOfProgress=100` 时,判定下载完成 - -### 6.3 升级与启停接口 - -- `POST /api/mcp/version/upgrade` - - 参数直接拼到 URL query - - 不使用 body 表单 -- `POST /api/mcp/version/upgrade/start-stop` - - 参数直接拼到 URL query - - 不使用 body 表单 - - 参数名统一使用 `runStart` - -## 7. 脚本 action 能力 +## 6. 脚本 action 能力 本节仅定义允许调用的入口。除 `action` 入口外,其他脚本运行方式一律不允许用于真实部署。 -### 7.1 Shell 入口 +### 6.1 Shell 入口 ```bash bash ./deploy.sh --config ./config.txt --action [--ip 192.168.1.10] [--hash-code xxx] [--stop-first] ``` -### 7.2 PowerShell 入口 +### 6.2 PowerShell 入口 ```powershell powershell -File .\deploy.ps1 -ConfigPath .\config.txt -Action [-Ip 192.168.1.10] [-HashCode xxx] [-RollbackStopFirst] ``` -### 7.3 可用 action +### 6.3 可用 action | action | 用途 | 额外参数 | | --- | --- | --- | @@ -283,7 +249,7 @@ powershell -File .\deploy.ps1 -ConfigPath .\config.txt -Action [-Ip | `download-log` | 下载指定 IP 日志 | `--ip` / `-Ip` | | `rollback-ip` | 执行指定 IP 回滚 | `--ip` / `-Ip`,可带 `--stop-first` / `-RollbackStopFirst` | -### 7.4 action 输出约定 +### 6.4 action 输出约定 典型返回为: @@ -300,9 +266,9 @@ Agent 读取时: - 将 `[INFO]`、`[WARN]`、`[FLOW]` 视为辅助日志 - 若 action 失败,以退出码和错误日志为准 -## 8. 分支流程与禁止事项 +## 7. 分支流程与禁止事项 -### 8.1 仅说明现有脚本用法分支 +### 7.1 仅说明现有脚本用法分支 当用户意图不是“真实部署”,而是“查看现有脚本如何使用”时: @@ -310,7 +276,7 @@ Agent 读取时: 2. 不执行任何真实 `action`。 3. 不生成、不修改任何脚本文件。 -### 8.2 参数确认后不执行分支 +### 7.2 参数确认后不执行分支 当用户只想确认参数、检查部署计划,但不执行真实部署时: @@ -320,7 +286,7 @@ Agent 读取时: 4. 不执行任何真实 `action`。 5. 不生成、不修改任何脚本文件。 -### 8.3 仅查看 Node 与在线 IP 分支 +### 7.3 仅查看 Node 与在线 IP 分支 当用户只需要确认目标 Node 和在线工作站,而不是正式部署时: @@ -339,7 +305,7 @@ Agent 读取时: - `create-download-task` - `upgrade-ip` -### 8.4 手动回滚分支 +### 7.4 手动回滚分支 当部署结果出现 `PENDING_AGENT_CONFIRMATION(...)` 且用户明确同意回滚时: @@ -350,7 +316,7 @@ Agent 读取时: - `download-log` 4. 将回滚结果写入最终报告。 -### 8.5 明确禁止的做法 +### 7.5 明确禁止的做法 以下做法在本 Skill 中一律禁止: @@ -360,9 +326,9 @@ Agent 读取时: - 未确认参数就直接执行真实 action - 在出现回滚条件时自动执行回滚 -## 9. 失败处理与回滚 +## 8. 失败处理与回滚 -### 9.1 全局失败 +### 8.1 全局失败 以下步骤失败时,终止整次部署并报告失败阶段: @@ -375,7 +341,7 @@ Agent 读取时: - 创建云下载任务 - 云下载进度轮询失败或超时 -### 9.2 单 IP 失败 +### 8.2 单 IP 失败 单 IP 失败时: @@ -383,7 +349,7 @@ Agent 读取时: - 必须下载该 IP 日志 - 不得自动执行回滚 -### 9.3 回滚规则 +### 8.3 回滚规则 回滚只允许在 Agent 与用户确认后执行。 @@ -397,7 +363,7 @@ Agent 读取时: - `ROLLBACK_REQUEST_FAILED` - `ROLLBACK_VERIFY_FAILED` -推荐确认逻辑: +默认确认逻辑: - 升级失败:建议回滚,`stopFirst=false` - 启动失败:建议回滚,`stopFirst=true` @@ -413,7 +379,7 @@ bash ./deploy.sh --config ./config.txt --action rollback-ip --ip 192.168.1.10 -- powershell -File .\deploy.ps1 -ConfigPath .\config.txt -Action rollback-ip -Ip 192.168.1.10 -RollbackStopFirst ``` -## 10. 输出要求 +## 9. 输出要求 最终报告至少包含: @@ -448,7 +414,7 @@ powershell -File .\deploy.ps1 -ConfigPath .\config.txt -Action rollback-ip -Ip 1 | 192.168.1.12 | FAILED | VERIFY | PENDING_AGENT_CONFIRMATION(stopFirst=true) | logs/deploy_192.168.1.12.log | ``` -## 11. Agent 执行建议 +## 10. Agent 执行建议 1. 只能调用 `action`,不要调用脚本主流程。 2. 不要自动生成、补写、覆盖或修改脚本文件。