dark d01c4d3d06 feat: 完善交互式部署与 MCP/LLM 配置能力
- 新增 MCP client 配置加载,支持 CLI/chat 通过配置文件接入 MCP
- 完善 chat 交互命令,支持参数查看、事件查看、checkpoint 列表与加载
- 增加 LLM action 后诊断能力,支持真实 LLM 和本地规则兜底
- 将 chat 人工确认点接入 LangGraph interrupt/checkpointer
- 更新 README、流程图、待办文档和打包说明
- 补充相关单元测试
2026-06-01 16:45:52 +08:00

87 lines
2.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""用于 PAM 部署结构化理解和规划的 LLM 提示词。"""
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。
"""
ACTION_ANALYSIS_PROMPT = """分析一次 PAM action 执行结果。
输出 JSON schema
{
"action": "...",
"has_anomaly": false,
"severity": "info|low|medium|high",
"possible_reason": "...",
"suggested_action": "...",
"requires_confirmation": false,
"notes": ["..."]
}
要求:
- 只给诊断建议,不决定继续执行、回滚或修改参数。
- 如果 exit_code 非 0、ok=false、verify-ip SUCCESS=false、出现 pending_confirmation应标记异常。
- 不要输出密钥、token、Authorization 或完整日志原文。
"""