mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-22 09:47:47 +00:00
6.6 KiB
6.6 KiB
Chrome Qwen Bridge 调试指南
🚀 快速开始调试
一键启动(推荐)
最简单的方式是使用我们提供的一键启动脚本:
# 进入项目目录
cd packages/chrome-qwen-bridge
# 方式一:使用 npm 脚本(跨平台)
npm run dev
# 方式二:使用 shell 脚本(macOS/Linux)
npm run dev:quick
# 或直接运行
./start.sh
脚本会自动完成以下操作:
- ✅ 检查并配置 Chrome
- ✅ 安装 Native Host
- ✅ 检查 Qwen CLI
- ✅ 启动 Qwen 服务器(端口 8080)
- ✅ 启动测试页面服务器(端口 3000)
- ✅ 启动 Chrome 并加载插件
- ✅ 自动打开 DevTools
📝 可用的 npm 命令
# 开发调试
npm run dev # 完整的开发环境启动(Node.js 脚本)
npm run dev:quick # 快速启动(Shell 脚本)
npm run dev:stop # 停止所有服务
npm run dev:chrome # 仅启动 Chrome 加载插件
npm run dev:server # 仅启动 Qwen 服务器
# 安装配置
npm run install:host # 安装 Native Host 依赖
npm run install:host:macos # macOS 安装 Native Host
npm run install:host:windows # Windows 安装 Native Host
# 构建打包
npm run build # 构建项目
npm run package # 打包扩展为 zip
npm run package:source # 打包源代码
# 日志查看
npm run logs # 查看 Native Host 日志
npm run logs:qwen # 查看 Qwen 服务器日志
# 清理
npm run clean # 清理构建文件和日志
🔧 手动调试步骤
如果自动脚本有问题,可以手动进行调试:
步骤 1:安装 Native Host
# macOS/Linux
cd native-host
./install.sh
# Windows(管理员权限)
cd native-host
install.bat
步骤 2:启动 Qwen 服务器(可选)
# 如果安装了 Qwen CLI
qwen server --port 8080
步骤 3:加载插件到 Chrome
- 打开 Chrome
- 访问
chrome://extensions/ - 开启「开发者模式」
- 点击「加载已解压的扩展程序」
- 选择
packages/chrome-qwen-bridge/extension目录
步骤 4:测试插件
- 打开任意网页(或访问 http://localhost:3000)
- 点击工具栏中的插件图标
- 点击「Connect to Qwen CLI」
- 测试各项功能
🐛 调试技巧
1. Chrome DevTools
Service Worker (Background Script)
- 打开
chrome://extensions/ - 找到 Qwen CLI Bridge
- 点击「Service Worker」链接
- 在打开的 DevTools 中查看日志
Content Script
- 在任意网页上右键 → 检查
- 在 Console 中查看 content script 的日志
- 使用 Sources 面板设置断点
Popup
- 右键点击插件图标
- 选择「检查弹出内容」
- 在 DevTools 中调试 popup 代码
2. Native Host 调试
查看 Native Host 日志:
# macOS/Linux
tail -f /tmp/qwen-bridge-host.log
# 或使用 npm 命令
npm run logs
测试 Native Host 连接:
// 在 Service Worker console 中执行
chrome.runtime.sendNativeMessage('com.qwen.cli.bridge',
{type: 'handshake', version: '1.0.0'},
response => console.log('Native Host response:', response)
);
3. 消息调试
在 Service Worker 中添加日志:
// background/service-worker.js
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
console.log('Message received:', request, 'from:', sender);
// ...
});
4. 网络请求调试
使用 Chrome DevTools Network 面板:
- 查看与 Qwen 服务器的 HTTP 通信
- 检查请求/响应头和内容
- 查看请求时间
🔍 常见问题排查
问题:Native Host 连接失败
症状:点击「Connect」后显示连接错误
解决方案:
-
检查 Native Host 是否正确安装:
# macOS ls ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/ # Linux ls ~/.config/google-chrome/NativeMessagingHosts/ -
验证 manifest.json 中的路径是否正确
-
确保 host.js 有执行权限:
chmod +x native-host/host.js
问题:Qwen CLI 未响应
症状:显示 Qwen CLI 未安装或无响应
解决方案:
-
确认 Qwen CLI 已安装:
qwen --version -
手动启动 Qwen 服务器:
qwen server --port 8080 -
检查端口是否被占用:
lsof -i:8080
问题:插件图标不显示
症状:加载插件后工具栏没有图标
解决方案:
- 点击 Chrome 扩展图标(拼图图标)
- 找到「Qwen CLI Bridge」
- 点击固定图标
问题:Content Script 未注入
症状:提取页面数据失败
解决方案:
- 刷新目标网页
- 检查 manifest.json 的 content_scripts 配置
- 确认网页不是 Chrome 内部页面(chrome://)
📊 性能分析
Memory 分析
- 打开 Chrome Task Manager(Shift + Esc)
- 查看扩展的内存使用
- 使用 DevTools Memory Profiler
Performance 分析
- 在 DevTools 中打开 Performance 面板
- 记录操作过程
- 分析瓶颈
🔄 热重载开发
虽然 Chrome Extension 不支持真正的热重载,但可以:
-
快速重载扩展:
- 在
chrome://extensions/点击重载按钮 - 或使用快捷键:Cmd+R (macOS) / Ctrl+R (Windows/Linux)
- 在
-
自动重载 Content Script: 修改代码后刷新网页即可
-
保持 Qwen 服务器运行: Qwen 服务器不需要重启,只需重载扩展
📱 远程调试
如果需要在其他设备上调试:
-
启用远程调试:
google-chrome --remote-debugging-port=9222 -
访问调试界面:
http://localhost:9222 -
使用 Chrome DevTools Protocol: 可以编程控制和调试
💡 开发建议
-
使用 console.log 大量输出日志
- 在开发阶段多打日志
- 生产环境再移除
-
利用 Chrome Storage API 存储调试信息
chrome.storage.local.set({debug: data}); -
创建测试页面
- 包含各种测试场景
- 方便重复测试
-
使用 Postman 测试 API
- 测试与 Qwen 服务器的通信
- 验证数据格式
📚 相关资源
🆘 获取帮助
如果遇到问题:
祝调试愉快!🎉