Browser AI Assistant 是一个面向 Chrome / Edge 的浏览器侧边栏 AI 工作台。它基于当前网页、多个标签页、图片附件、Network 请求、JS 源码、Source Map 和运行时信息组织上下文,让 AI 不只是在旁边聊天,而是能参与网页阅读、资料整理、接口分析、前端调试和受控浏览器自动化。
项目地址:https://github.com/AhYi8/browser-ai-assistant
完整安装、配置、使用流程和常见问题请查看 插件教程。
日常使用浏览器时,AI 助手最容易卡在几个地方:
所以这个项目的目标不是再做一个“浏览器里的聊天框”,而是把网页上下文、聊天、提示词、工具调用、浏览器自动化、调试分析、导出和同步整合成一个可持续扩展的侧边栏工作台。



/ 快捷调用,并在发送时保存提示词调用快照。在 chrome.debugger 模式下,Browser AI Assistant 可以在用户授权范围内连接当前标签页,执行浏览器自动化和调试分析。
network.*:请求列表、详情读取、等待请求、请求对比、参数候选分析、JS 候选提取。js.*:JS 资源索引、源码搜索、同源 JS 补位和源码上下文提取。sourcemap.*:Source Map 候选发现、压缩代码位置映射、原始源码片段提取。runtime.*:运行时全局摘要、模块搜索、函数描述。replay.*:受控请求重放沙箱,用于基于已捕获请求生成草案、发送和对比响应。full_access.*:完全访问模式下的脚本执行、页面 fetch、Network 原文详情、Storage 读取和撤销。这些能力让 AI 不只是“猜页面发生了什么”,而是可以结合页面状态、请求、源码、映射关系和运行时摘要进行分析。
浏览器自动化能力分为三种运行模式:
项目默认不信任模型输出和外部输入。Network 详情、工具附件、导出内容和后续上下文都会尽量经过脱敏、截断和边界校验;Runtime 分析只允许固定只读模板,Source Map 只从受控范围内提取有限源码片段,请求重放默认采用受控沙箱。
Browser AI Assistant 的核心体验是“把浏览器当前工作现场交给 AI”:
.
├── public/manifest.json # Chrome 扩展清单,构建后输出到 dist/manifest.json
├── src/background/ # MV3 Service Worker、运行时消息、流式端口、同步闹钟和浏览器控制
├── src/content/ # 注入网页的内容脚本和页面内容提取逻辑
├── src/shared/ # 共享类型、模型适配器、聊天构造、存储、同步、加密和工具注册
├── src/side-panel/ # 侧边栏 React 应用、状态、组件、主题和样式
├── tests/unit/ # 单元测试
├── tests/e2e/ # Playwright 端到端冒烟测试
├── docs/ # 安装、验收、设计规格、实施计划和文档资产
├── doc/ # 需求设计文档
├── dist/ # 构建产物,本地生成,不建议手动编辑
└── artifacts/ # 本地打包产物,本地生成,不提交版本库
安装依赖:
npm install
启动本地开发服务:
npm run dev
构建 Chrome 扩展产物:
npm run build:extension
构建完成后,在浏览器扩展管理页使用“加载已解压的扩展程序”,选择项目下的 dist 目录。
生成本地可分发扩展目录:
npm run package:extension
打包完成后会生成 artifacts/chrome-extension,其中包含 build-info.json,用于追踪本次本地构建来源。
npm run dev # 启动 Vite 开发服务
npm run build # 构建生产产物
npm run build:extension # 构建 Chrome 扩展产物
npm run package:extension # 生成本地可分发扩展目录
npm run check:package # 验证并生成本地可分发扩展目录
npm run preview # 预览构建结果
npm run test # 运行 Vitest 单元测试
npm run test:watch # 以 watch 模式运行单元测试
npm run test:e2e # 运行 Playwright 端到端测试
npm run typecheck # 执行 TypeScript 类型检查
npm run check # 类型检查、构建、单测和打包综合验证
powershell
npm run build:extension
dist 目录。注意:不要直接选择项目根目录。扩展清单文件在构建后才会输出到 dist/manifest.json。
如果需要把扩展目录交给其他本地环境测试,可以执行 npm run package:extension,再选择 artifacts/chrome-extension。该目录是由 dist 复制并校验生成的本地产物,不应手动编辑,也不应提交到 Git。
感谢 linux.do 社区各位佬的公益站!
$ claude mcp add browser-ai-assistant \
-- python -m otcore.mcp_server <graph>