Install
openclaw skills install dify-chat使用 OpenClaw 调用本地 Dify API,以对话模式查询知识库。支持单个工作流的多轮对话和流式响应输出。当用户需要访问公司内部知识库、文档查询或问答系统时触发,如"帮我查一下知识库""查询下Dify知识库"等场景。
openclaw skills install dify-chat本skill允许你在OpenClaw中通过命令行调用本地部署的Dify API,进行知识库问答和对话交互。适合用于自动化查询、智能客服场景。
确保 ~/.openclaw/config/dify.env 存在并配置:
# Dify API 配置
DIFY_API_KEY=your_KEY
DIFY_API_BASE=your_DIFY_API_BASE
DIFY_USER=openclaw-user
环境变量说明:
| 变量 | 类型 | 必填 | 说明 |
|---|---|---|---|
DIFY_API_KEY | string | ✅ | Dify API Key(应用密钥) |
DIFY_API_BASE | string | ✅ | Dify API 基础 URL |
DIFY_USER | string | ⚪ | 用户标识(可选,默认 openclaw-user) |
dify-chat - Dify 对话机器人调用方式: 在 OpenClaw CLI 中直接输入 dify-chat 命令
必需参数:
-q, --query <问题> - 要查询的问题或消息(必填)可选参数:
-c, --conv-id <会话 ID> - 保持多轮对话的会话标识--show-config - 显示当前配置信息-h, --help - 显示帮助信息dify-chat -q "什么是公司报销政策?"
输出:
🤖 Dify Chat Bot:
📝 Your query: 什么是公司报销政策?
--------------------------------------------------
🔄 Calling Dify API...
公司报销政策规定:
1. 出差补贴每日上限 500 元,需提供发票
2. 所有报销需在月末前提交审批单
3. 超过 5000 元的支出需要部门主管批准
💬 Conversation ID: conv_abc123xyz
第一次查询(获取会话 ID):
dify-chat -q "公司的年假怎么算?"
# 输出中会显示 conversation_id
继续追问(使用上一次的会话 ID):
dify-chat -q -c conv_abc123xyz "那带薪病假呢?"
dify-chat --show-config
输出:
📋 Current Configuration:
API Base: your_DIFY_API_BASE
User: openclaw-user
✅ Status: Connected
conversation_id 用于多轮交流,保持上下文sequenceDiagram
participant User as 用户
participant CLI as dify-chat CLI
participant Dify as Dify API
Note over User,Dify: 单轮对话流程
User->>CLI: dify-chat -q "问题"
CLI->>Dify: POST /chat-messages
Note over Dify: 查询知识库/执行工作流
Dify-->>CLI: SSE 流式响应
CLI-->>User: 实时显示回答
Note over User,Dify: 多轮对话流程
par
CLI->>CLI: 保存 conversation_id
User->>CLI: dify-chat -q "追问" -c ID
end
Error: Missing required environment variables原因: 环境变量未正确配置或文件不存在
解决:
# 检查配置文件
cat ~/.openclaw/config/dify.env
# 如果缺少 DIFY_API_KEY 或 DIFY_WORKFLOW_ID,请添加
nano ~/.openclaw/config/dify.env
Cannot connect to API原因:
解决:
400 Client Error: BAD REQUEST原因:
解决:
# 验证 API Key
source ~/.openclaw/config/dify.env
curl -X POST "$DIFY_API_BASE/chat-messages" \
-H "Authorization: Bearer $DIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"inputs": {}, "response_mode": "blocking", "conversation_id": "", "user": "openclaw-user"}'
Conversation ID not working原因: 会话 ID 格式错误或已过期
解决:
conv_xxx| Version | Date | Change |
|---|---|---|
| 1.0.0 | 2026-04-14 | Initial release - Dify workflow chat integration |
dify-chat📌 提示: 运行 dify-chat --help 查看完整帮助信息。如需反馈或改进建议,请通过 OpenClaw 社区渠道提交。