GPT2Org 是一款浏览器扩展(支持 Firefox 和 Chrome),能够提取网页正文内容,通过 AI(DeepSeek、OpenAI 或 Kimi)生成摘要,并通过 org-protocol 将结果直接发送到 Emacs 的 org-mode 或 org-roam 中。v0.0.14 版本带来多项体验优化,让扩展更安全、更便捷、更好用。
新功能速览
🔒 API 密钥默认隐藏
之前,API 密钥在选项页中以明文显示——任何瞥到你屏幕的人都能看到。现在三个 API 密钥输入框(OpenAI、DeepSeek、Kimi)全部改为 type="password",密钥内容默认以圆点遮蔽。你的密钥只有你自己知道。
🖱️ 右键菜单随处可用
右键上下文菜单(Org-protocol、Journal、Clock-in 三种捕获方式)之前仅在选中文本时才会出现。现在它们扩展到了所有页面上下文——你可以在链接上、图片上、页面的任意位置右键触发捕获。特别适合不需要先选中文字、直接保存链接目标的场景。
📝 摘要可在保存前编辑
AI 生成的摘要不再是只能看不能改的静态文本。摘要出现在弹窗中后,你可以直接编辑——修正翻译错误、删除冗余内容、或者补充自己的笔记。摘要区域使用 contentEditable 实现,确保发往 Emacs 的内容完全符合你的期望。
⚡ 流式响应——实时看到摘要逐字生成
不再盯着转圈圈等 API 慢慢返回了。GPT2Org 现在使用 SSE 流式传输,摘要内容逐 token 实时显示。底层实现将原来的阻塞式 fetch 替换为基于 ReadableStream 的流式读取:
- 请求体带上
"stream": true - 通过
response.body.getReader()逐块读取响应 - 解析 SSE 格式的
data:行,提取choices[0].delta.content - 通过
chrome.runtime.sendMessage({ action: "streamChunk", ... })将每个片段推送到弹窗
第一个 token 到达时转圈立即消失,摘要文本框逐步填充,整个过程流畅自然。
🧠 DeepSeek 深度思考模式
。
需要更深入、更全面的分析时,可以通过右键菜单中的 “GPT2Org (Deep Think)” 来触发 DeepSeek 的思考模式(Thinking Mode)。扩展会向 API 发送 "thinking": {"type": "enabled"} 和 "reasoning_effort": "high" 参数,启动扩展推理。普通左键点击使用标准模式。思考模式的结果与普通摘要分开缓存,不会混淆。
📋 文档全面升级
README 进行了全面重构,新增了清晰的安装说明、使用指南,以及上下文菜单、思考模式、org-protocol 模板配置等各项功能的文档。
功能全景
| 功能 | 说明 |
|---|---|
| 多提供商 AI | DeepSeek (deepseek-v4-pro)、OpenAI (gpt-4o-mini)、Kimi (moonshot-v1-32k) |
| 五种捕获模式 | Roam 已有节点、Roam 新节点、计时条目、每日日记、Elfeed 条目 |
| 流式响应 | 弹窗中逐 token 实时显示摘要 |
| 摘要可编辑 | 发送到 Emacs 前可修改摘要内容 |
| 智能缓存 | 按 URL(及思考模式)缓存摘要,避免重复调用 API |
| 右键菜单 | 在所有页面上下文中右键即可捕获 |
| 深度思考模式 | 中键点击或右键菜单启用 DeepSeek 扩展推理 |
| 密码字段 | 选项页中 API 密钥默认隐藏 |
| Org-protocol | 直接集成 Emacs org-mode / org-roam |
安装与配置
- 从 Releases 页面 下载安装,或通过
make从源码构建。 - 进入扩展选项页(右键工具栏图标 → “管理扩展” / “选项”)。
- 填入 API 密钥,选择要使用的模型。
- 配置 org-protocol 模板(参考 README)。
- 点击 Save。
打开任意网页,点击工具栏图标,选择捕获模式。摘要会流式生成,你可以编辑后一键发送到 Emacs。
后续计划
一些正在考虑的方向:
- 自定义提示词预设——保存并切换多组提示词,适配不同场景
- 弹窗深色模式——夜间使用更护眼
- 本地模型支持——通过 Ollama 等接入本地部署的 LLM
- 多语言摘要——自动检测语言并按需翻译
如果你有想法或遇到问题,欢迎到 GitHub Issues 反馈。
GPT2Org 将整个网络变成你 org-mode 笔记的研究管道。试试看,期待你的反馈!