ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

浏览器AI零成本指南:本地模型与免费API告别天价账单

浏览器AI零成本指南:本地模型与免费API告别天价账单 上个月我帮一个做浏览器插件创业的朋友算了一笔账。他的插件功能非常简单选中网页文字右键一键生成摘要。底层调的是某大厂的对话模型按 token 计费。用户量不算大一个月也就几万次请求但账单出来那天他直接沉默了——折算下来接近三千人民币。我问他每次请求塞了多少上下文他说为了省事直接把整页正文扔给模型。问题就出在这API 账单就是在这些看不见的地方悄悄滚起来的。这个场景应该能戳中不少人。不管你是写浏览器插件的开发者还是重度依赖 AI 搜索、AI 翻译、AI 写作的普通用户只要你把大模型 API 直接接进浏览器基本都会遇到同一个困境功能越顺手账单越离谱。所以这篇我想认真聊一个话题——浏览器里的 AI 自由度到底能不能不跟 API 账单绑定。先说结论能。方法是在浏览器里搭一套本地模型 云端免费额度 聚合平台免费模型的三层结构。本地模型负责隐私要求高、离线也要能用的场景云端免费额度负责你需要更强模型、但不想花钱的场景聚合平台的免费模型负责你没有 Key、临时想体验新模型的场景。三条路线我都实际跑通过下面逐个拆开讲。1. 先捋清楚你每个月到底在为什么付费1.1 浏览器场景下的 API 账单是怎么涨起来的很多人以为 API 收费就是我聊了 30 句应该只算了 30 句的钱。真实情况完全不是这样。大模型的计费单位是 token也就是模型把文本切碎后的基本单位一个汉字大约等于 1 到 2 个 token一个英文单词大约等于 1 到 3 个 token。关键是输入和输出分开计费而且输入部分的单价通常不低。浏览器场景恰恰是输入 token 消耗最凶的场景。你让 AI 总结一个网页看起来只是一句话指令实际传输给模型的是系统提示词 整页正文 你选中的文本 以前的历史对话。整页正文动辄几千字算下来一次操作吃掉四五千 token 是家常便饭。更隐蔽的是很多插件的系统提示词本身就写得很长动不动几百 token这部分你完全感知不到但它一直在账单里。我给你算一笔具体的账。假设你每天用 AI 总结网页 30 次每次输入 4000 token、输出 800 token每天输入30 次 × 4000 token 120,000 token每天输出30 次 × 800 token 24,000 token一个月按 30 天算输入约 360 万 token输出约 72 万 token如果用的是中等偏上定价的闭源模型按输入 3 美元/百万 token、输出 15 美元/百万 token 计算一个月光这一项就是 10.8 美元加 10.8 美元合计约 21.6 美元。听着不多这只是每天 30 次的轻度用法而且只算了一个插件。真实用户通常在好几个 AI 功能里打转一个月上百美元就是这么滚起来的。1.2 免费的能不能打为什么很多人不敢用顾虑基本来自两个印象一是免费模型都是残次品二是免费的东西不稳定说不定哪天就没了。先说能力。现在的开源模型已经不是三年前那种只能聊几句的水平了。qwen2.5、llama3.1 这代模型在摘要、翻译、改写、信息抽取这些浏览器高频任务上的表现已经接近甚至追平部分闭源模型。而 API 费用的背后主要是 GPU 成本和带宽成本你本地电脑的显卡本来就在那闲着用起来反而是更高的性价比。再说稳定性。靠官方免费额度确实有不确定性靠谱的做法是多路备份——本地模型主力云端免费模型兜底真遇到免费方案扛不住的高密需求再临时开个付费 Key 跑两天。这样既不会让免费资源绑架你的工作流也不会让账单绑架你的钱包。三套方案的对比直接看这张表方案成本隐私性能上限上手难度适合场景本地模型Ollama电费数据不出本机受硬件限制中等翻译、摘要、离线使用官方免费额度Gemini、DeepSeek 等零/极低数据上传厂商接近付费模型低写作辅助、代码生成聚合平台免费模型OpenRouter零数据上传平台模型众多能力不一低体验新模型、临时救急2. 选型什么项目该配什么方案2.1 本地路线按显存和内存选模型本地部署现在最顺手的工具是 Ollama一条命令就能把模型拉下来跑起来而且它对外提供 OpenAI 兼容接口这意味着浏览器插件、自建网页都能直接用不用写两套对接代码。选模型是本地路线的核心学问。给个非常粗但实用的参考7B 级别的模型如 qwen2.5:7b、llama3.1:8b16GB 内存的电脑就能跑最好有 8GB 以上显存速度体感流畅。日常摘要、翻译完全够用。14B 级别的模型建议 16GB 显存起步或者内存 32GB 以上跑 CPU 推理速度会慢不少。32B 级别及以上24GB 以上显存才谈得上体验适合追求生成质量的用户。没有独立显卡也不用绝望。CPU 跑 7B 模型出字速度大概是每秒几个 token虽然称不上流畅但应付睡前总结一篇长文这种不着急的场景绰绰有余。中文场景我实测更推荐通义千问系列它对中文的理解、成语和口语处理明显比同体量的海外模型稳。如果你主要处理英文llama3.1 和 mistral 系列也不错。我的建议是本地机器就固定放一两个模型不要贪多毕竟每个模型都要吃几个 G 的磁盘和内存。2.2 云端免费哪些能长期用哪些是尝鲜不是所有免费都一个含金量。我按实际使用体验分个类第一类是官方免费额度。这类含金量最高因为背后是正经厂商费率限制写在文档里稳定性相对有保障。Google 的 Gemini API 免费层就是一个典型注册 AI Studio 拿 Key 之后个人日常用完全够。还有 DeepSeek 这类价格压得很低的国产模型就算按量计费单纯聊聊天写写东西一个月也就几块钱。第二类是聚合平台的免费模型。OpenRouter 这类平台会把社区里开放权重模型挂出来其中有不少带:free后缀的模型调用不收费。它的限制也很直接有速率限制每分钟请求次数被卡得比较死而且免费列表经常变动。适合个人低频使用不适合当生产依赖。第三类是新用户注册赠送。不少 API 平台有新人体验额度本质是让开发者上手试错。这类额度通常有有效期而且不会太多适合用来玩明白不适合当成长期方案。2.3 浏览器侧的接入方式插件、自建页面还是油猴脚本有了模型和 Key怎么把它装进浏览器是这个环节的另一半。浏览器插件是最省事的入口。比如搭本地 Ollama 的侧栏插件装好就能聊天还能直接划词提问。大厂出品的一些 AI 助手插件也支持自定义 API 地址你可以把配置从官方 Key 换成自己的免费 Key。插件的缺点是功能多而杂有些会拖慢浏览器装之前最好挑轻量的。自建一个 HTML 页面是我个人最推荐的方式。就一个本地文件写几十行代码里面填好 API 地址和 Key双击打开就是一个专属 AI 聊天页。没有上传、没有审核、没有广告干净利落。关键是它的接口格式和 OpenAI 兼容规范一致换供应商只需要改三行配置。油猴脚本适合那些特别爱折腾的人——在别人的网页里注入你自己的 AI 面板。但我得提醒一声脚本里直接写死 Key如果打包发布到公开平台等于把 Key 送给别人。真要玩建议用动态输入或环境变量的方式。3. 实操三套方案从零到跑通3.1 方案一Ollama 本地模型加浏览器侧栏把显卡用起来这是我最推荐新手先跑通的方案因为一旦本地模型起来了后面很多折腾都没有了。步骤如下第一步安装 Ollama。Windows 直接下载安装包macOS 也是装完命令行里输入ollama --version能输出版本号就说明成功了。第二步拉取模型。选一个适合你硬件的模型# 中文能力强、显存压力小的首选 ollama pull qwen2.5:7b # 英文任务为主可以考虑 ollama pull llama3.1:8b首次拉取会下载几个 G 的文件网络慢的耐心等一会儿。拉完先测试ollama run qwen2.5:7b输入一句你好能正常回复就说明模型没问题。第三步在浏览器里接入。我用的插件是 Page Assist一个开源项目装好后在设置里把 Ollama 地址填上默认是http://localhost:11434一般不需要改。它能自动发现本地已经拉取的模型侧栏想用哪个用哪个。第四步验证 OpenAI 兼容接口。Ollama 启动后默认监听 11434 端口同时开放了/v1/chat/completions这个端点。你在同一个局域网内的另一台设备甚至手机上也可以把它配进各种 AI 客户端Base URL: http://你的电脑IP:11434/v1 API Key: 随便填一个非空字符串本地不校验 Model: qwen2.5:7b这个细节很值钱Ollama 的 OpenAI 兼容接口意味着成千上万个原本只为云端设计的工具都能无缝指向你本地的免费模型。需要注意首次请求时模型要加载进内存可能要等几秒甚至十几秒别急着关页面。用完想释放内存执行ollama stop qwen2.5:7b即可。3.2 方案二OpenRouter 免费模型加一个 HTML 页面本地模型受硬件限制有时候你真的需要更强一点的模型。这时候 OpenRouter 的免费模型是最快、零成本的补充。第一步注册 OpenRouter进后台创建一个 API Key。这个 Key 形如sk-or-v1-开头记得复制完整。第二步在模型列表页找到带:free后缀的模型。比如 meta-llama 家的 llama-3.2 系列、Mistral 系列都有免费版本。点进模型详情能看到一个路由 ID类似meta-llama/llama-3.2-3b-instruct:free复制它。第三步新建一个 HTML 文件粘下面这段代码把 API Key 替换掉!DOCTYPE html html langzh-CN head meta charsetUTF-8 title免费 AI 聊天/title /head body textarea idinput rows4 stylewidth:100%/textarea button onclickask()发送/button pre idoutput/pre script async function ask() { const text document.getElementById(input).value; const output document.getElementById(output); output.textContent 思考中...; const resp await fetch(https://openrouter.ai/api/v1/chat/completions, { method: POST, headers: { Content-Type: application/json, Authorization: Bearer 你的OpenRouter_API_KEY }, body: JSON.stringify({ model: meta-llama/llama-3.2-3b-instruct:free, messages: [ { role: user, content: text } ] }) }); const data await resp.json(); if (data.choices data.choices.length 0) { output.textContent data.choices[0].message.content; } else { output.textContent JSON.stringify(data, null, 2); } } /script /body /html双击打开这个文件就能用。整个过程无服务器、无依赖、无构建就一个 HTML 文件。第四步讲讲限速的问题。OpenRouter 的免费模型对单 IP 每分钟请求数限制很严格正常聊天没问题但你在循环里批量调就很容易被拒。解决办法也很朴素加一个延时把请求排成队列一个个来或者干脆不用免费模型处理批量任务把批量任务留给本地模型让免费模型只做临时问答。3.3 方案三DeepSeek 和 Gemini用近乎为零的成本调用强模型如果你对生成质量要求比较高本地小模型觉得不够聪明OpenRouter 免费模型又觉得不够快那官方 API 的低价模型和免费层值得配一份。DeepSeek 的用法是最接近 ChatGPT 体验的方案之一。注册开放平台后创建 API Key它的 Base URL 是https://api.deepseek.com/v1模型名填deepseek-chat。接口也是 OpenAI 兼容格式所以上面那个 HTML 文件只需要改三行// 把请求地址换成 DeepSeek https://api.deepseek.com/v1/chat/completions // 把模型名换成 deepseek-chat model: deepseek-chat // 换成你的 DeepSeek API Key Authorization: Bearer 你的DeepSeek_API_KEY顺带说一句DeepSeek 各家的接口一直就是一个地址、一个 Key、一个模型名三个字段的事很多朋友在网上问deepseek api 如何调用其实和调 OpenAI 的流程一模一样唯一要注意的是官方文档里写名的 Base URL 到底带不带/v1后缀以及当前模型名称的准确拼写直接看官方文档是最稳的。Gemini 的免费层则是免费额度里质量比较高的那一档。注册 Google AI Studio创建 API Key然后使用官方提供的 OpenAI 兼容端点Base URL: https://generativelanguage.googleapis.com/v1beta/openai/ Model: gemini-2.0-flash 或当前免费层支持的模型名Gemini 免费层有几个限制指标包括每分钟请求数 RPM 和每天请求数 TPM。个人正常使用基本碰不到墙但如果你写了个循环脚本想批量跑就要注意频控报错。它适合的任务翻译长文、生成文案、代码审查、对话式问答这些都不在话下。三套免费方案凑齐之后你会发现所谓API 账单就只剩下一个边角真正的高强度、大批量、非用最强模型不可的场景。那种场景属于你该为公司付钱的需求而不是你该为自己的浏览器 AI 付钱的需求。4. 常见问题与排查技巧实录4.1 HTTP 401API Key 无效或者根本没传对这是接入任何 AI 接口时遇到的第一个拦路虎。错误提示通常长这样unexpected status 401 unauthorized: incorrect api key provided: sk-svcac****见到这行字先别急着怀疑平台按顺序排查Key 是否复制完整。平台生成的 Key 往往很长复制时漏掉末尾几位是高频事故。打开后台把 Key 重新完整复制一次不带引号不带空格。Authorization 头是否写成 Bearer 格式。请求头里必须是Authorization: Bearer sk-xxx少了Bearer这个词服务端直接不认。Key 和 Base URL 是否搭配。OpenRouter 的 Key 不能拿去调 DeepSeek 的接口反过来也一样。每个平台都有自己的鉴权体系这个错是最隐蔽的很多时候你配错了地址报的还是 401非常反直觉。环境变量是否真的生效。如果你用 Node.js 或 Python 跑脚本改完.env文件记得重启进程很多 401 其实是旧配置还没刷新。我自己的习惯是先在命令行里用 curl 直接测通了再进代码。这样能把代码问题和配置问题快速隔离。注意不管你怎么用 Key都别把它硬编码进公开的脚本、前端包或 GitHub 仓库里。浏览器端的代码天然是公开的任何塞进 HTML 或 JS 里的 Key 都会被人抓走。个人自用无妨公开发布之前务必加后端转发或权限校验。4.2 HTTP 400上下文长度超限把模型喂撑了当你在日志里看到这类报错api error: 400 this models maximum context length is 1048576 tokens...意思是你的输入加上输出超过了模型支持的上下文窗口。1048576 这个数字已经不算小了能触发这个报错通常是你把整本电子书、整个爬虫抓回来的 HTML 源码、或者几百页文档一次性塞给了模型。解决办法有三个层次。第一层输入降量对网页场景不要直接把 HTML 丢给模型先用工具提取正文文本把脚本标签、样式、导航栏全部去掉。第二层主动截断在代码里加一段逻辑超过预设长度就切片或只取开头。第三层换大窗口模型如果你必须处理超长内容那就换上下文更长的模型或者在本地 Ollama 配置里调大上下文参数。我的经验是90% 的AI 说不懂你在问什么问题根子不在模型笨是你喂进去的信息太杂。先把输入整理干净比换什么模型都管用。4.3 本地模型插件连不上报 connection refused浏览器插件配 Ollama 时最常见的报错是这个。按下面顺序查先确认 Ollama 真的在跑。命令行输入ollama list如果能列出模型列表说明服务在。如果提示无法连接那就是服务没起来。确认地址没写错。本机访问默认是http://localhost:11434注意不要写成https不要漏掉端口。Windows 防火墙要放行。Windows 上第一次运行 Ollama 会弹防火墙授权如果点掉了后面插件就访问不了。去防火墙设置里找到 Ollama 相关规则允许专用网络访问即可。跨域环境变量。如果你在自建网页里通过http://localhost:11434调用会碰到浏览器的跨域限制。简单粗暴的解法是给 Ollama 设置允许所有来源Windows 上在系统环境变量里加OLLAMA_ORIGINS*然后重启 Ollama 服务。实际上很多插件自带代理不需要手动处理但自建页面十有八九需要这一步。提示如果页面是https环境里请求http://localhost部分浏览器会拦截这种混合内容。插件类扩展因为有独立权限通常没事自建网页就要注意最好把静态页面也用本地http://localhost打开绕开混域问题。4.4 免费模型 429 限速请求一多就报错OpenRouter 免费模型和高频自用场景之间最常见的冲突就是埋在最前面的:free。你手动聊天没什么感觉一旦用脚本循环调用或者浏览器里开了多个会话并发429 就来了。处理思路按优先级排加退避重试。捕获 429 后等待 1 秒、2 秒、4 秒逐步递增再发起重试。不要立即重试否则只会被封更久。串行化请求。把并发改成队列一次只发一个两个请求之间至少间隔几百毫秒。换一个免费模型。OpenRouter 上的免费模型不止一个这个限速了就换那个反正是零成本。降级到本地。如果任务量实在大而且对模型能力要求不高直接切本地模型跑彻底绕开云端限速。4.5 浏览器内存占用和体验优化顺手聊一个很多朋友关心的点浏览器 AI 插件装多了之后Edge、Chrome 内存占用高得吓人。这里面容易有个误解——本地模型跑在 Ollama 服务进程里浏览器插件只是它的前端界面主要内存在模型进程里不在浏览器里。7B 模型加载后大概要占 5 到 7 GB 内存如果电脑只有 16GB 内存跑模型的同时再开着几十个标签页系统压力确实不小。这不是浏览器卡是内存不够分。解决办法是用完就停不需要 AI 侧栏时执行ollama stop qwen2.5:7b模型退出内存能省出一大块空间。浏览器本身也要做减法关掉不用的扩展用内置的休眠功能把长期不看的标签页挂起内存大户主要集中在混用大量插件且常年不关后台页的场景这个和模型抢内存的问题一叠加体感就会非常明显。5. 我的一点实操体会最后聊几句不那么技术的话。我自己现在的浏览器里常驻了三个 AI 入口一个 Ollama 本地侧栏一个 OpenRouter 免费模型的自建页面还有一个 DeepSeek Key 作为临时替补。日常写周报、翻译英文资料、总结长文、让 AI 帮忙给代码找 bug这些事基本没花过钱。真正花钱的场景只剩一种批量处理几百个文件。这种需求我会临时开一天付费额度跑完就关账单通常也就在一杯咖啡的价位内。回过头看当初动不动就绑一张信用卡的行为其实是把月的活当成了随手的活把本可以本地化、免费化的需求全部用最贵的通道处理了。先看本地能不能扛再配免费额度兜底最后才考虑付费 API——这个顺序走下来浏览器 AI 自由就不是一句口号而是每天都摸得到的东西。如果你也想摆脱 API 账单建议从今天先跑通一个 Ollama 模型开始。
返回列表