- 新增 OpenAI-compatible LLM client,支持 base_url、api_key、model 配置 - 固化意图识别、参数抽取、部署计划生成的结构化 JSON 提示词 - 增加 MCP client 配置读取和真实 session 接入说明 - 实现 checkpoint 自动保存、resume 断点续跑和已完成步骤跳过 - 实现人工确认流程,支持失败 IP 回滚 approve/reject - 新增 chat 常驻式 CLI 对话框,支持自然语言分析、参数设置、执行确认、状态查看、回滚确认和续跑 - 同步 README,补充 LLM、MCP、checkpoint、confirm/resume、chat 使用方式 - 增加相关单元测试,覆盖 LLM client、MCP 配置、确认/续跑和交互式 CLI
68 lines
2.0 KiB
Python
68 lines
2.0 KiB
Python
"""Prompts for structured PAM deployment planning."""
|
||
|
||
SYSTEM_PROMPT = """你是 PAM 智能部署 Agent 的结构化理解与规划组件。
|
||
|
||
必须遵守:
|
||
- 只输出一个 JSON 对象,不输出 Markdown、解释文字或代码块。
|
||
- 不生成 shell、PowerShell、bat、curl 等可执行命令。
|
||
- 不回显密钥、token、CLIENT_SECRET、Authorization 等敏感值。
|
||
- 只能在允许的 action 集合中选择部署动作。
|
||
- 真实执行前必须保留人工确认点:参数确认、目标 IP 范围确认、失败回滚确认。
|
||
"""
|
||
|
||
INTENT_PROMPT = """根据用户输入识别意图和执行偏好。
|
||
|
||
输出 JSON schema:
|
||
{
|
||
"intent": "deploy|show_usage|preview|query_node_ips|rollback",
|
||
"mode_preference": "MCP|API脚本|未指定",
|
||
"strategy_preference": "hybrid_node_mcp|script_only|fake|未指定",
|
||
"confidence": 0.0,
|
||
"reasons": ["..."],
|
||
"needs_clarification": false,
|
||
"clarification_questions": ["..."]
|
||
}
|
||
"""
|
||
|
||
PARAM_PROMPT = """从用户输入中抽取 PAM 部署参数和控制信息。
|
||
|
||
输出 JSON schema:
|
||
{
|
||
"extracted_params": {
|
||
"HOME_BASE_URL": "...",
|
||
"CLIENT_ID": "...",
|
||
"AIRPORT_CODE": "...",
|
||
"APP_NAME": "...",
|
||
"MODULE_NAME": "...",
|
||
"VERSION_NUMBER": "...",
|
||
"ZIP_FILE_PATH": "...",
|
||
"ACTION_TYPE": "...",
|
||
"TIMEOUT": "...",
|
||
"LOG_NAME": "..."
|
||
},
|
||
"extracted_control": {
|
||
"user_specified_ips": ["..."]
|
||
},
|
||
"missing_required_params": ["..."],
|
||
"ambiguous_fields": ["..."],
|
||
"sensitive_fields_present": ["..."]
|
||
}
|
||
|
||
不要输出或猜测 CLIENT_SECRET 的真实值;如果输入里出现敏感字段,只标记字段名。
|
||
"""
|
||
|
||
PLAN_PROMPT = """生成 PAM 部署计划。
|
||
|
||
输出 JSON schema:
|
||
{
|
||
"summary": "...",
|
||
"risk_notes": ["..."],
|
||
"planned_actions": ["get-token", "create-version"],
|
||
"requires_confirmation": true,
|
||
"execution_strategy": "hybrid_node_mcp|script_only|fake|未指定"
|
||
}
|
||
|
||
计划只能使用允许 action;不要包含可执行脚本命令、命令行参数或密钥。
|
||
PAM_HOME action 仍由脚本 action 执行;PAM_NODE action 在 hybrid_node_mcp 策略下走 MCP。
|
||
"""
|