dark 4250a7b221 LLM action 结果分析不再传 state_summary
调整了 agent.py 和 LLM client 协议/实现。
现在只传当前 action 的结构化结果和必要诊断日志,避免历史运行态影响判断。
提示词和文档也已同步说明。

verify-ip 增加健康检查重试
默认 VERIFY_INTERVAL_SEC=10、VERIFY_MAX_ATTEMPTS=12,约 2 分钟。
verify-ip 未通过但未达到最大次数时,会播报进度、保存 checkpoint,并继续从当前 verify-ip 重试,不会进入 download-log。
参数已加入 config.txt.example、脚本配置读取、README、打包 README、Skill 文档和流程图。
2026-06-04 16:57:16 +08:00

90 lines
1.9 KiB
Python

"""PAM 部署流程中的 action、参数和敏感字段常量。"""
# PAM_HOME 侧只能通过脚本执行的 action。
HOME_ACTIONS = (
"get-token",
"create-version",
"upload-package",
"publish-version",
"get-node-url",
)
# PAM_NODE 侧可通过 MCP 或脚本执行的 action。
NODE_ACTIONS = (
"get-online-ips",
"create-download-task",
"poll-download-progress",
"upgrade-ip",
"poll-upgrade-progress",
"start-ip",
"stop-ip",
"verify-ip",
"download-log",
"rollback-ip",
)
# 全局阶段按顺序执行,完成后才能进入逐 IP 阶段。
GLOBAL_ACTION_SEQUENCE = (
"get-token",
"create-version",
"upload-package",
"publish-version",
"get-node-url",
"get-online-ips",
"create-download-task",
"poll-download-progress",
)
# 单个工作站 IP 的部署阶段顺序。
IP_ACTION_SEQUENCE = (
"upgrade-ip",
"poll-upgrade-progress",
"start-ip",
"verify-ip",
"download-log",
)
# Agent 允许规划和执行的完整 action 集合。
ALLOWED_ACTIONS = HOME_ACTIONS + NODE_ACTIONS
# 创建运行状态前必须具备的部署参数。
REQUIRED_PARAMS = (
"HOME_BASE_URL",
"CLIENT_ID",
"CLIENT_SECRET",
"AIRPORT_CODE",
"APP_NAME",
"MODULE_NAME",
"VERSION_NUMBER",
"ZIP_FILE_PATH",
)
# 用户未显式提供时使用的默认参数。
DEFAULT_PARAMS = {
"ACTION_TYPE": "FULL",
"TIMEOUT": 120,
"LOG_NAME": "app.log",
"POLL_INTERVAL_SEC": 2,
"DOWNLOAD_POLL_MAX_ATTEMPTS": 60,
"UPGRADE_POLL_MAX_ATTEMPTS": 600,
"VERIFY_INTERVAL_SEC": 10,
"VERIFY_MAX_ATTEMPTS": 12,
}
# 日志、报告和 LLM 输入中需要脱敏的字段。
SENSITIVE_KEYS = {
"CLIENT_SECRET",
"MCP_CLIENT_SECRET",
"MCP_TOKEN",
"TOKEN",
"Authorization",
"authorization",
"access_token",
"ACCESS_TOKEN",
"api_key",
"API_KEY",
"PAM_LLM_API_KEY",
"password",
"PASSWORD",
}