使用豆包大模型开发 AI 浏览器插件实战

老明君_6821

老明君_6821

2026-05-27

395人浏览

原创

必须用后台脚本中转,因其拥有 manifest 中 host_permissions 声明后的完整网络权限,可直调豆包 api;而内容脚本受同源策略与扩展安全模型限制,即使配置 permissions 也无法发起跨域请求。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

使用豆包大模型开发 ai 浏览器插件实战

直接用豆包大模型开发浏览器插件,不需要自己搭后端、不用维护 API 代理层,但必须绕开两个硬限制:chrome.runtime.sendMessage 无法直连豆包 HTTPS 接口(CORS + 权限拦截),且 fetch 在内容脚本中默认无 https://api.doubao.com/ 白名单权限。所以核心路径只有一条:走后台脚本中转。

为什么必须用 background script 做中转

内容脚本(content script)运行在网页上下文里,受同源策略和扩展权限双重约束。即使你在 manifest.json 里加了 "permissions": ["https://api.doubao.com/"],Chrome 仍会拒绝其发起跨域请求——这是安全模型强制行为,不是配置能绕过的。

后台脚本(background script)则拥有完整网络权限,只要在 host_permissions 中声明目标域名,就能自由调用豆包 API。所有选中文本、触发右键菜单、点击浮动窗按钮等前端动作,都应通过 chrome.runtime.sendMessage 把数据发给 background,再由它完成鉴权、构造请求、处理响应。

  • 错误现象:Failed to fetch 或 net::ERR_BLOCKED_BY_CLIENT,实际是 CORS 被静默拦截
  • 正确做法:内容脚本只负责 DOM 捕获与 UI 渲染;所有 POST /v1/chat/completions 必须由 background 发起
  • 性能影响:多一次进程间通信(IPC),但延迟增加通常

manifest.json 必须声明的三项权限

缺一不可,否则 background 无法调用豆包 API 或监听用户操作:

  • "host_permissions": ["https://api.doubao.com/"] —— 允许后台脚本访问豆包接口
  • "permissions": ["contextMenus", "storage", "activeTab"] —— 支持右键菜单注册、密钥持久化、当前页 DOM 访问
  • "content_security_policy": {"extension_pages": "script-src 'self'; object-src 'self'"} —— 防止因 CSP 导致注入的浮动窗 JS 失效(尤其在 strict 模式网站如 Notion、Figma 中)

注意:https://api.doubao.com/ 末尾不能带斜杠,否则 manifest 校验失败;storage 权限用于存用户填的 API_KEY,避免每次调用都弹输入框。

豆包全家桶(视频图片生成)
豆包全家桶(视频图片生成)

使用豆包(火山引擎 Ark)生成图片或视频并保存本地。用户提及“豆包生图/图片/生视频/视频”、“Doubao”、“Seedance”、“火山引擎图片/视频”时触发。

下载

右键菜单触发后如何安全传参给 background

用户右键选中一段文字,点击「润色」,这个动作本身不携带文本内容——Chrome 只传 selectionText 给监听函数,但该字段长度上限为 6KB,超长会被截断。更可靠的方式是内容脚本主动读取并压缩后发送:

  • 使用 window.getSelection().toString() 获取原始文本,而非依赖 info.selectionText
  • 对文本做简单预处理:去除多余空白、限制长度(建议 ≤ 4096 字符),避免豆包 API 返回 413 Payload Too Large
  • 通过 chrome.runtime.sendMessage 发送对象,含 action: "polish"、text、tabId(用于后续注入结果)
  • 后台脚本收到后,拼装标准豆包请求体:{"model": "doubao-pro-32k", "messages": [{"role": "user", "content": text}]},带上 Authorization: Bearer <key></key>

别漏掉 tabId:后续要把润色结果以浮动窗形式注入原页面,必须知道在哪一个 tab 执行 chrome.tabs.sendMessage。

浮动窗注入失败的三个常见原因

很多开发者卡在“后台调通了 API,但结果死活不出现在页面上”,问题几乎都出在注入时机或沙箱隔离:

  • 浮动窗 HTML 是通过 chrome.tabs.executeScript 注入的 JS 动态创建的,但若目标网页启用了 Content-Security-Policy: script-src 'none'(如部分银行/政府站),JS 注入会被拒——此时改用 chrome.scripting.insertCSS + document.createElement('div') 原生 DOM 方式更稳妥
  • 未等待 DOM 就绪:内容脚本收到消息后立即操作 document.body,但页面可能还在加载。应在 document.readyState === 'complete' 后执行,或用 setTimeout 延迟 100ms
  • CSS 样式泄漏:浮动窗样式若没加 !important 或 scoped class,容易被网站全局 CSS 覆盖(比如 z-index: 9999 被设成 z-index: 0)。推荐用随机 class 名 + 内联 style 控制关键属性

最易忽略的一点:浮动窗里的“复制”按钮绑定事件时,若用箭头函数闭包引用外部变量,在某些站点(如 Webflow 构建页)会因 JS 上下文隔离而失效——改用 addEventListener 显式绑定更可靠。

相关专题

更多
豆包App怎么下载和使用
豆包App怎么下载和使用

字节跳动推出的“豆包”是一款 ai 助手 app,提供文本创作和图像生成等功能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.12.17

4403

7

豆包是干什么的怎么用
豆包是干什么的怎么用

豆包是一款功能强大的ai聊天智能对话问答助手,主要用于提供聊天机器人、写作助手、英语学习助手等功能,帮助用户获取信息、进行对话、辅助创作等‌‌。想了解更多相关的内容,请阅读专题下面的文章。

2024.12.25

16417

7

豆包是国产软件吗
豆包是国产软件吗

豆包是一款国产AI工具,由字节跳动公司基于云雀模型开发。它提供聊天机器人、写作助手和英语学习助手等功能,支持网页、iOS和安卓平台。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.02.05

21361

7

豆包是什么软件有什么作用
豆包是什么软件有什么作用

豆包是一款跨平台文件传输工具,支持多种操作系统。其主要功能包括:快速传输:采用先进协议,实现高速文件传输。安全加密:端到端加密,确保数据安全。跨平台支持:支持各种操作系统和设备。大文件传输:轻松传输不受限的大文件。多设备互传:提高工作效率。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.02.08

3842

7

豆包是哪个公司开发的软件
豆包是哪个公司开发的软件

豆包是字节跳动开发的软件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.02.08

6036

7

豆包是什么时候发布的
豆包是什么时候发布的

字节跳动的 AI 产品 “豆包” 第一次发布时间是 2023 年 8 月 17 日。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.02.12

5138

6

豆包存在哪些风险
豆包存在哪些风险

豆包软件的风险主要在于其安全性、隐私性以及潜在的法律合规问题。想了解更多相关的内容,请阅读专题下面的文章。

2025.02.17

23537

14

抖音旗下的豆包是什么
抖音旗下的豆包是什么

抖音旗下的豆包是一款即时语音互动社交平台,定位于年轻群体。想了解更多相关内容,请阅读专题下面的文章。

2025.03.27

5554

7

豆包Ai手机版使用常见问题汇总
豆包Ai手机版使用常见问题汇总

本专题聚焦豆包AI手机版使用中的高频痛点,涵盖登录授权、功能入口查找、网络卡顿、文件上传失败、AI操作权限设置等核心问题,结合实测案例给出分步解决方案,同时解析会员权益边界、隐私保护机制等争议点,帮助用户快速避开使用雷区,高效解锁跨APP协同、智能生图、文档解析等进阶功能。

2026.05.06

420

37

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
豆包AI手册
豆包AI手册

共0课时 | 0人学习

phpMyAdmin 常见问题
phpMyAdmin 常见问题

共0课时 | 0人学习