Files
assistant/scripts/check-chatwoot-config.sh
wangliang e093995368 feat: 增强 Agent 系统和完善项目结构
主要改进:
- Agent 增强: 订单查询、售后支持、客服路由等功能优化
- 新增语言检测和 Token 管理模块
- 改进 Chatwoot webhook 处理和用户标识
- MCP 服务器增强: 订单 MCP 和 Strapi MCP 功能扩展
- 新增商城客户端、知识库、缓存和同步模块
- 添加多语言提示词系统 (YAML)
- 完善项目结构: 整理文档、脚本和测试文件
- 新增调试和测试工具脚本

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-16 16:28:47 +08:00

109 lines
3.3 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
#!/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 ""