ThariqS/ai-newtab
Claude generates a daily new tab page based on your browser history.
TL;DR
AI Homepage 是一个 Chrome 扩展程序,它会将您的新标签页替换为由 AI 撰写、根据您实际访问网站所生成的个性化摘要。它会读取您最近浏览的最多八个页面,将简短摘要与清理后的 HTML 发送给 Claude(通过您自己的 Anthropic API 密钥),模型随后会根据您描述的风格生成一个基于 React 的主页。
功能说明(白话文)
- 收集极少量的浏览历史记录 – 仅包含顶级域名、访问次数及少量页面标题。
- 在后台开启最相关的页面(最多 8 个),去除 HTML 并将这些文件交给 Anthropic Claude 代理程序。
- Claude 读取页面,提取标题、链接以及您要求的任何其他内容,然后撰写一个单一的 React 组件,作为您的新标签页。
- 每次开启新标签页时都会看到全新的主页 – 它可以看起来像报纸、极简列表、仪表板,甚至是绿底黑字的终端机,具体取决于您在设置面板中输入的提示词。
- 自动重建(默认每 6-48 小时)或按需重建,始终使用与您 API 密钥绑定的全新代理程序会话。
谁会觉得它有用?
- 进阶用户:想要快速获取实际阅读内容的个性化摘要,而无需手动开启每个网站。
- 开发者 / AI 爱好者:对在浏览器扩展程序中执行 Claude Managed Agents 的具体示例感兴趣的人。
- 注重隐私的人:喜欢本地、自托管 AI 工具的概念,且数据不会存储在第三方服务器上(唯一离开浏览器的数据是发送给 Claude 的极简摘要)。
运作原理 – 主要组件
| 组件 | 角色 |
|---|---|
| Chrome extension (MV3) | UI(新标签页、设置面板)+ 与 Chrome API (history, tabs) 交互的后台工作程序。 |
| Agent core (host-agnostic) | 调用 Claude Managed Agents 的循环,提供两个自定义工具:getHistory 和 getPageHtml。 |
| Claude Managed Agents | 在 Anthropic 的沙盒中执行 LLM (Claude Sonnet/Haiku/Opus),接收抓取的页面作为文件,并返回生成的 React 组件。 |
| pnpm / WXT | React UI 与扩展程序封装的构建系统。 |
| Bun harness | 用于在 Chrome 之外对代理核心进行本地测试的脚本。 |
数据流(如 README 所述):
getHistory→ 域名排名列表。getPageHtml→ 开启最多 8 个页面,清理 HTML,挂载为文件。- 代理程序对这些文件执行
grep/read以提取内容。 - 代理程序
write一个 React 组件,由扩展程序进行渲染。
执行需求
- Chrome 或任何基于 Chromium 的浏览器。
- Node 20+ (存储库使用 pnpm 10.11.1 进行包管理)。
- Anthropic API 密钥(由您提供;扩展程序本身不包含任何密钥)。
安装步骤很简单:克隆存储库,执行 pnpm install && pnpm build,然后将生成的 apps/extension/.output/chrome-mv3 文件夹作为未封装的扩展程序加载。
限制与注意事项
- 成本 – 每次重建都会产生一次 Claude API 调用;费用取决于模型以及发送的页面内容多寡。
- 隐私 – 虽然扩展程序仅发送摘要与最多八个页面,但这些页面仍会传输给 Anthropic。README 强调 API 密钥会保留在本地存储中,且每个会话在构建后都会删除。
- 实验性 – 该项目被标记为“早期且实验性”;不打算直接发布到 Chrome 网上应用店。
- 无服务器端 – 所有内容都在浏览器中执行;如果您丢失 API 密钥或移除扩展程序,将无法进行重建。
- 内容来源限制 – 它刻意跳过了搜索引擎、网络邮件、银行网站及登出后的营销页面。
快速入门清单
git clone https://github.com/ThariqS/ai-newtab.git && cd ai-newtabpnpm install && pnpm build- 在 Chrome 中加载未封装的扩展程序。
- 开启新标签页,粘贴您的 Anthropic API 密钥,点击 Build today's homepage。
- 在设置中调整提示词以获得您偏好的版面配置。
授权
MIT – 您可以分叉、修改并私下使用。
以上所有信息均直接取自存储库的 README;未添加任何外部假设。
相关
- 项目
- 项目
- 项目
- 项目