主要改进: - Agent 增强: 订单查询、售后支持、客服路由等功能优化 - 新增语言检测和 Token 管理模块 - 改进 Chatwoot webhook 处理和用户标识 - MCP 服务器增强: 订单 MCP 和 Strapi MCP 功能扩展 - 新增商城客户端、知识库、缓存和同步模块 - 添加多语言提示词系统 (YAML) - 完善项目结构: 整理文档、脚本和测试文件 - 新增调试和测试工具脚本 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
109 lines
3.3 KiB
Bash
Executable File
109 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
||
# Chatwoot 配置诊断工具
|
||
|
||
echo "======================================"
|
||
echo "Chatwoot 配置诊断工具"
|
||
echo "======================================"
|
||
echo ""
|
||
|
||
# 检查是否提供了 API Token
|
||
if [ -z "$CHATWOOT_API_TOKEN" ]; then
|
||
echo "❌ 请先设置 CHATWOOT_API_TOKEN 环境变量"
|
||
echo ""
|
||
echo "获取方式:"
|
||
echo "1. 访问 http://localhost:3000"
|
||
echo "2. 登录后进入 Settings → Profile → Access Tokens"
|
||
echo "3. 创建一个新的 Access Token"
|
||
echo ""
|
||
echo "然后运行:"
|
||
echo " CHATWOOT_API_TOKEN=your_token $0"
|
||
echo ""
|
||
exit 1
|
||
fi
|
||
|
||
CHATWOOT_BASE_URL="http://localhost:3000"
|
||
ACCOUNT_ID="2"
|
||
|
||
echo "🔍 正在检查 Chatwoot 配置..."
|
||
echo ""
|
||
|
||
# 1. 检查服务是否运行
|
||
echo "1️⃣ 检查 Chatwoot 服务状态..."
|
||
if curl -s "$CHATWOOT_BASE_URL" > /dev/null; then
|
||
echo " ✅ Chatwoot 服务正常运行"
|
||
else
|
||
echo " ❌ Chatwoot 服务无法访问"
|
||
exit 1
|
||
fi
|
||
echo ""
|
||
|
||
# 2. 获取所有收件箱
|
||
echo "2️⃣ 获取所有收件箱..."
|
||
INBOXES=$(curl -s \
|
||
-H "Authorization: Bearer $CHATWOOT_API_TOKEN" \
|
||
"$CHATWOOT_BASE_URL/api/v1/accounts/$ACCOUNT_ID/inboxes")
|
||
|
||
echo "$INBOXES" | grep -o '"id":[0-9]*' | wc -l | xargs echo " 找到收件箱数量:"
|
||
echo ""
|
||
|
||
# 3. 解析并显示每个收件箱的详细信息
|
||
echo "3️⃣ 收件箱详细信息:"
|
||
echo "======================================"
|
||
|
||
# 提取所有收件箱的 ID
|
||
INBOX_IDS=$(echo "$INBOXES" | grep -o '"id":[0-9]*' | grep -o '[0-9]*' | sort -u)
|
||
|
||
for INBOX_ID in $INBOX_IDS; do
|
||
echo ""
|
||
echo "📬 收件箱 ID: $INBOX_ID"
|
||
echo "--------------------------------------"
|
||
|
||
# 获取收件箱详情
|
||
INBOX_DETAIL=$(curl -s \
|
||
-H "Authorization: Bearer $CHATWOOT_API_TOKEN" \
|
||
"$CHATWOOT_BASE_URL/api/v1/accounts/$ACCOUNT_ID/inboxes/$INBOX_ID")
|
||
|
||
# 提取收件箱名称
|
||
NAME=$(echo "$INBOX_DETAIL" | grep -o '"name":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||
echo " 名称: $NAME"
|
||
|
||
# 提取收件箱类型
|
||
TYPE=$(echo "$INBOX_DETAIL" | grep -o '"inbox_type":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||
echo " 类型: $TYPE"
|
||
|
||
# 提取 Website Token(如果有)
|
||
WEBSITE_TOKEN=$(echo "$INBOX_DETAIL" | grep -o '"website_token":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||
if [ -n "$WEBSITE_TOKEN" ]; then
|
||
echo " Website Token: $WEBSITE_TOKEN"
|
||
fi
|
||
|
||
# 提取 Webhook URL
|
||
WEBHOOK_URL=$(echo "$INBOX_DETAIL" | grep -o '"webhook_url":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||
if [ -n "$WEBHOOK_URL" ]; then
|
||
echo " Webhook URL: $WEBHOOK_URL"
|
||
else
|
||
echo " Webhook URL: ❌ 未配置"
|
||
fi
|
||
|
||
# 检查是否是测试页面使用的 token
|
||
if [ "$WEBSITE_TOKEN" = "39PNCMvbMk3NvB7uaDNucc6o" ]; then
|
||
echo ""
|
||
echo " ⭐ 这是测试页面使用的收件箱!"
|
||
echo " Webhook 应该配置为: http://agent:8000/webhooks/chatwoot"
|
||
fi
|
||
done
|
||
|
||
echo ""
|
||
echo "======================================"
|
||
echo ""
|
||
echo "📋 下一步操作:"
|
||
echo ""
|
||
echo "1. 找到 Website Token 为 '39PNCMvbMk3NvB7uaDNucc6o' 的收件箱"
|
||
echo "2. 记录该收件箱的 ID"
|
||
echo "3. 确保该收件箱的 Webhook URL 配置为:"
|
||
echo " http://agent:8000/webhooks/chatwoot"
|
||
echo ""
|
||
echo "💡 提示:可以通过 Chatwoot 界面更新配置:"
|
||
echo " Settings → Inboxes → 选择收件箱 → Configuration → Webhook URL"
|
||
echo ""
|