t33w411/agentic-browser-chat

GitHub: t33w411/agentic-browser-chat

一款隐私优先、零服务器的 Chrome 浏览器扩展,通过注入悬浮面板提供与网页对话的 AI 助手、笔记、任务和 agent 工具集,所有数据本地存储。

Stars: 3 | Forks: 0

# Agentic Browser 聊天 [![Chrome Web Store](https://img.shields.io/chrome-web-store/v/bmkiakodphbdicdfbajbcjemccacihcd?label=Chrome%20Web%20Store&logo=googlechrome&logoColor=white)](https://chromewebstore.google.com/detail/bmkiakodphbdicdfbajbcjemccacihcd) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE) [![Manifest V3](https://img.shields.io/badge/Manifest-V3-blue.svg)](https://developer.chrome.com/docs/extensions/mv3/intro/) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](./CONTRIBUTING.md) ## 这是什么 Agentic Browser Chat 是一个 Chrome 扩展,它将 AI 助手放置在一个注入到每个页面的悬浮面板中(页面顶部的 shadow-DOM UI,**不是** Chrome 内置的侧边栏 API)。它可以: - 读取您当前所在页面的任何内容,并回答相关问题。 - 进行长时间运行的对话,支持可搜索的历史记录、收藏夹以及针对单个聊天的模型覆盖。 - 通过内置的 tool registry 为您执行操作:页面查询、表单填写、在沙盒 worker 中执行代码、网络搜索、网络抓取、文档和图像生成等。 - 跨聊天记住关于您的事实,将可重用的流程保存为 **skills**,并将您自己的 **custom instructions** 应用到每个聊天中。 - 管理您自己的笔记(带有版本历史和弹出式编辑器)、任务(带有提醒)和测验——所有这些都与聊天并排进行。 - 附加文件(PDF、DOCX、PPTX、XLSX、CSV、图像)、浏览器标签页、其他聊天、其他笔记、截图和粘贴的电子表格。 它被设计为 **local-first**:您的所有数据都保存在您的浏览器中。没有后端,没有分析,没有开发者控制的服务器。网络请求仅发送到此扩展使用的唯一 LLM 提供商 OpenRouter。 ## 截图
Start a new conversation
Chat — start a conversation about the current page
Chat about the page
Page context — ask anything about what's on screen
Upload any file
Attachments — PDF, DOCX, PPTX, XLSX, CSV, images
Notes
Notes — build a personal knowledge base
Tasks
Tasks — with due dates and reminders
Quizzes
Quizzes — practice from your notes
Image generation
Image generation — inline via your selected model
Connect AI key
Setup — paste your OpenRouter key once
Settings
Settings — model, theme, data management
## 亮点 一个纯粹的浏览器端 agent,它可以读取当前页面、搜索网络和抓取 URL(在 guardrails 保护下)、在沙盒 Web Worker 中运行 JavaScript 以进行精确计算、通过确认步骤填写表单,以及生成 Office 文档(DOCX、PPTX、XLSX、PDF、CSV)和图像。它带有一个持久化的 **memory**(模型可对其进行写入)、一个可重用的 **skills** 库(您或模型可以保存)以及您自己的 **custom instructions**(会附加到每次聊天中)。笔记、任务和测验位于同一面板中,因此您可以在不离开页面的情况下捕获、安排和复习知识。所有数据都本地存储在 IndexedDB 中;唯一的外部网络目标是 OpenRouter,使用的是您自己的 API key。 ## 功能 ### 与任何页面聊天 - 与 LLM 进行 **按页面聊天**,具有完整的 markdown、代码、图表和数学公式渲染。 - **持久化聊天历史记录**:可搜索、可排序、可置顶。旧的聊天可以根据您设定的阈值自动清理。 - 每个新聊天都有 **建议提示词**(*为我总结*、*向我解释这个*、*帮助我完成此任务/问题*)。 - **按聊天覆盖模型**:为单个对话选择任何 OpenRouter 模型,而无需更改您的默认设置。 - **收藏**:置顶您经常访问的聊天,并切换到“收藏”视图以过滤列表。 - **Quick Question**:通过右键单击选中文本触发的轻量级模态框。每个 Quick Question 都会在单独的 **Quick Q** 日志中成为其自己的简短聊天,因此不会弄乱您的主要历史记录。 - **复制原始聊天** 用于导出或分享。 - **Reduce-to-float / Expand** 面板模式:将面板缩小为浮动气泡,或将其展开以接管整个视口。 ### 右键菜单和内容选择器 - **右键菜单** 条目: - 选中文本时:*解释所选内容*、*总结所选内容*、*校对所选内容*、*关于所选内容的 Quick Question*、*将所选内容添加到聊天*。 - 选中图像时:*将图像添加到聊天*。 - **内容选择器**:一种可以切换打开的悬停高亮模式。单击任何页面元素可将其内容添加到聊天中。右键单击高亮部分会打开一个小菜单,让您选择 **Add simple HTML to chat**(清理、扁平化后的表示)或 **Add raw HTML to chat**(字面标记)。 - **离开警告**:如果您在 agent 执行任务中途尝试离开,扩展程序会在页面卸载前警告您。 ### 附件 通过输入区域中的 **`+`** 按钮将上下文附加到聊天中: | 来源 | 备注 | |---|---| | **图像上传** | `.png`, `.jpg`, `.webp`, `.gif` | | **文件上传** | `.txt`, `.md`, `.json`, `.csv`, `.pdf`, `.docx`, `.xlsx`, `.xls`, `.ods`, `.pptx`(以及其他 `text/*`) | | **截图** | 捕获当前标签页并内联附加图像 | | **浏览器标签页内容** | 选择另一个打开的标签页;其内容将被扁平化并附加 | | **笔记** | 附加现有的笔记作为上下文 | | **聊天摘要** | 附加另一个聊天的摘要 | | **来自剪贴板的电子表格** | 粘贴剪贴板中的表格数据并将其视为电子表格附件 | 在 **Notes** 编辑器内部,您也可以将文件附加到笔记本身(文件类型与聊天输入相同)。 ### 笔记 - 面板内的完整笔记编辑器,具有 **Edit** 模式和独立的 **read view**。 - **Pop-out**:在独立的浮动窗口中打开任何笔记,以便您可以在主面板中浏览和聊天时继续编辑。 - **版本历史记录**:更改会被记录版本,以便您恢复以前的草稿。 - **收藏** 和 **搜索**。 - 每个笔记上的 **文件附件**。 - **Skill notes**:一个笔记可以被标记为一个 skill,并带有一个类似 `calculate-worksheet-discrepancy` 的 slug。然后,agent 可以通过 `skill` 工具按需加载它。请参阅 [Memory, Skills, and Custom Instructions](#memory-skills-and-custom-instructions)。 ### 任务 - 标题、可选描述、**`dueAt`**、**`reminderAt`**。 - 按 **All / Pending / Completed** 过滤。 - 触发提醒时的 **Chrome notifications**。 - 伴随通知播放的可选 **alert sound**。 - 在“设置”中具有 **可配置的提醒提前时间**(到期前的默认分钟数)。 - service worker 每分钟检查一次提醒闹钟。 ### 测验 - 通过 `generate_questions` 工具从任何源材料(粘贴的文本、附加的笔记或聊天)生成问题。 - 支持 **MCQ**(多项选择)、**FITB**(填空题)以及两者的 **mix**。 - 可选的 **focus** 参数将生成范围限定在特定主题。 - **Spaced practice**:每个问题都有一个 `pausedUntil` 字段,因此您可以将其标记为已回答,并让它在选定的时间段内从活跃池中消失。 ### Agent 工具 Agent 会在对话中途调用这些工具。按用途分组,并强调了安全保护措施: **针对笔记语料库的类文件系统操作** - `read`、`write`、`edit` — 读取、创建和修改笔记内容。 - `grep`、`ls` — 通过正则表达式(内容或标题范围)发现笔记或列出它们。 **页面交互** - `page_query` — 使用选择器查询当前页面上的元素并返回其内容/状态。其 `select_option` 子操作还驱动 **custom dropdowns**(div/ARIA 组合框,如 React Select、MUI、Headless UI):它会打开下拉菜单并单击匹配的选项,能够处理 portal-rendered 列表、type-to-filter 和虚拟化列表。 - `page_fill_form` — 填写原生表单字段(input、textarea、单选 `