For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development 前置依赖: Dify 实例已部署,API Key 就绪
目标: 创建能量盘对话 Chatflow,接收能量盘数据 + 用户消息,返回 AI 解读
START (Input)
│ inputs: { chart_data, user_message, history }
▼
[Python Node: context_builder]
│ - 解析 chart_data JSON
│ - 构建易读的系统上下文文本
│ - 输出: system_context 字符串
▼
[LLM Node: chat]
│ - System: 数字能量学解读 Prompt
│ - User: {{user_message}}
│ - 历史: {{history}}
▼
END (Output)
│ output: { answer: "..." }
import json
def main(chart_data: dict, user_message: str, history: list) -> dict:
positions = chart_data.get("positions", {})
zones = chart_data.get("zones", {})
context = f"【能量盘数据】\n"
context += f"主性格数字: {chart_data.get('mainCharacter')}\n"
if chart_data.get('isMasterNumber'):
context += "(卓越数,天赋异禀)\n"
context += "\n三角形各位置数字:\n"
context += f"顶端: O={positions.get('O')}\n"
context += f"第四层: I={positions.get('I')}, K={positions.get('K')}\n"
context += f"第三层: J={positions.get('J')}, M={positions.get('M')}, L={positions.get('L')}\n"
context += f"第二层: F={positions.get('F')}, G={positions.get('G')}, N={positions.get('N')}, H={positions.get('H')}\n"
context += f"底层: A={positions.get('A')}, B={positions.get('B')}, C={positions.get('C')}, D={positions.get('D')}, E={positions.get('E')}\n"
context += "\n五区数据:\n"
for key, zone in zones.items():
context += f"{zone.get('name')}: 数字={zone.get('values')}\n"
return {
"system_context": context
}
System Prompt:
你是一位专业的数字能量学解读师,精通生命密码(数字能量学)的三角形能量盘分析体系。
以下是当前用户的完整能量盘数据:
{{#context_builder.system_context#}}
## 回答规则:
1. 所有解读必须基于上述能量盘中的实际数字,不得编造
2. 每个回答 200-300 字,言简意赅
3. 语气温和正向,避免恐吓或绝对化表述(如"你一定会..."改为"你可能会...")
4. 如果用户没有明确问题,主动介绍能量盘亮点(主性格含义、特殊数字组合等)
5. 涉及多区域时,交叉引用各位置数字的关系
6. 回答末尾加一句 "仅供参考"
## 用户聊天:
Response: LLM 直接输出文本回复
[ ] Step 6: 验证 — 用 curl 测试发送消息返回解读
curl -X POST https://your-dify.com/v1/chat-messages \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '{
"inputs": {"chart_data": {"mainCharacter":7,"positions":{"O":7,"I":3,"K":5,"J":2,"M":8,"L":4,"F":1,"G":6,"N":9,"H":7,"A":1,"B":9,"C":9,"D":0,"E":1},"zones":{"mainCharacter":{"name":"主性格","values":[7]},"fatherSource":{"name":"父源区","values":[3,2]},"motherSource":{"name":"母源区","values":[5,4]}}}},
"query": "我的左区数字有什么含义?",
"response_mode": "blocking"
}'
Expected: 返回 JSON 含 answer 字段