#!/bin/bash echo "🔗 Chrome Extension 连接完整测试" echo "================================" echo "" # 颜色定义 GREEN='\033[0;32m' RED='\033[0;31m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # 扩展 ID EXTENSION_ID="cimaabkejokbhjkdnajgfniiolfjgbhd" # Step 1: 测试 Native Host 直接响应 echo -e "${BLUE}Step 1: 测试 Native Host 直接响应${NC}" echo "----------------------------------------" # 创建测试 Python 脚本 cat > /tmp/test_native.py << 'EOF' #!/usr/bin/env python3 import json import struct import subprocess import sys import os def test_native_host(): host_path = sys.argv[1] if len(sys.argv) > 1 else './native-host/run.sh' if not os.path.exists(host_path): print(f"❌ Host 文件不存在: {host_path}") return False try: # 启动 Native Host proc = subprocess.Popen( [host_path], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) # 发送握手消息 message = {"type": "handshake", "version": "1.0.0"} encoded = json.dumps(message).encode('utf-8') proc.stdin.write(struct.pack(' /dev/null; then echo -e "${GREEN}✓${NC} Chrome 正在运行" # 获取 Chrome 版本 CHROME_VERSION=$("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version 2>/dev/null | cut -d' ' -f3) if [ -n "$CHROME_VERSION" ]; then echo " 版本: $CHROME_VERSION" fi else echo -e "${YELLOW}⚠${NC} Chrome 未运行" fi echo "" # Step 4: 提供测试指令 echo -e "${BLUE}Step 4: 手动测试步骤${NC}" echo "----------------------------------------" echo "请按以下步骤进行手动测试:" echo "" echo "1. 打开 Chrome 并访问: chrome://extensions/" echo " 扩展 ID 应为: ${EXTENSION_ID}" echo "" echo "2. 重新加载扩展:" echo " - 找到 'Qwen CLI Bridge'" echo " - 点击重新加载按钮 🔄" echo "" echo "3. 查看后台日志:" echo " - 点击 'Service Worker' 链接" echo " - 在控制台中查看日志" echo "" echo "4. 测试连接:" echo " - 点击扩展图标" echo " - 点击 'Connect to Qwen CLI'" echo " - 观察控制台输出" echo "" # Step 5: 提供快速命令 echo -e "${BLUE}Step 5: 快速命令${NC}" echo "----------------------------------------" echo "打开扩展管理页面:" echo -e "${YELLOW} open 'chrome://extensions/'${NC}" echo "" echo "查看 Service Worker:" echo -e "${YELLOW} open 'chrome://extensions/?id=$EXTENSION_ID'${NC}" echo "" echo "查看 Native Host 日志:" echo -e "${YELLOW} tail -f /tmp/qwen-bridge-host.log${NC}" echo "" # 清理临时文件 rm -f /tmp/test_native.py echo "================================" echo -e "${GREEN}测试完成!${NC}" echo "" echo "如果连接仍然失败,请检查 Service Worker 控制台的具体错误信息。"