feat: 增强 Agent 系统和完善项目结构
主要改进: - Agent 增强: 订单查询、售后支持、客服路由等功能优化 - 新增语言检测和 Token 管理模块 - 改进 Chatwoot webhook 处理和用户标识 - MCP 服务器增强: 订单 MCP 和 Strapi MCP 功能扩展 - 新增商城客户端、知识库、缓存和同步模块 - 添加多语言提示词系统 (YAML) - 完善项目结构: 整理文档、脚本和测试文件 - 新增调试和测试工具脚本 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
108
scripts/check-chatwoot-config.sh
Executable file
108
scripts/check-chatwoot-config.sh
Executable file
@@ -0,0 +1,108 @@
|
||||
#!/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 ""
|
||||
Reference in New Issue
Block a user