
AI Homepage 的功能
AI Homepage 会将你的 Chrome 或 Chromium 新标签页替换为一个根据你实际浏览的网站生成的主页。它的代理会查看浏览历史的排序摘要,在你已登录的浏览器中打开最多八个相关页面,分析这些页面的内容,并生成一个全新的 React 页面。
生成结果可以像晨报、宁静的阅读清单、信息密集的工作仪表板,也可以呈现为你描述的几乎任何其他风格。主页会在后台重新生成,让新标签页能够反映你最近阅读的内容。

每个生成的链接都来自代理实际读取过的页面。代理被要求不要编造 URL;无法打开的页面会被报告,而不会被悄悄忽略。
开始之前
你需要准备以下内容:
- Chrome 或其他基于 Chromium 的浏览器
- 20 或更高版本的 Node.js
- 一个 Anthropic API 密钥
AI Homepage 是一个早期实验性项目,设计为使用你自己的密钥运行。安装前请评估其隐私和安全影响。
安装扩展
- 克隆代码仓库并进入其目录:
git clone https://github.com/ThariqS/ai-newtab.git
cd ai-newtab- 使用指定的 pnpm 版本安装依赖并构建扩展:
npx pnpm@10.11.1 install
npx pnpm@10.11.1 build如果已经安装 pnpm,也可以使用以下等效命令:
pnpm install
pnpm build- 在 Chrome 中打开
chrome://extensions。 - 使用右上角的开关启用开发者模式。
- 点击加载已解压的扩展程序,然后选择
apps/extension/.output/chrome-mv3。 - 如果 Chrome 询问是否保留已更改的新标签页,请选择保留。
构建你的第一个主页
- 打开新标签页。
- 根据提示粘贴你的 Anthropic API 密钥。
- 点击构建今天的主页。
进度页面会显示构建阶段:准备代理、读取浏览历史、在浏览器中打开页面、分析页面,以及编写主页。首次构建可能需要几分钟。
构建继续时,你可以关闭标签页。扩展会在后台工作程序中运行构建,结果或进度可从任意新标签页查看。如果 Chrome 在构建期间关闭,下一个新标签页会提供恢复中断的构建选项。
自定义内容和设计
在新标签页中打开⚙️ 设置。每次构建都会包含说明字段,其优先级高于代理的默认说明。它同时控制页面的内容和视觉方向。
例如,你可以使用以下说明:
- 晨报风格。衬线字体、大报头、一篇头条新闻,以及一栏简讯。
- 一栏宁静的内容。不要图片。列出五件值得阅读的内容,并用一行说明原因。
- 信息密集的仪表板:先显示 GitHub PR 和 issue,然后是 Hacker News,最后显示其他内容。
- 黑底绿色终端风格,使用等宽字体,像 1980 年代的 BBS。
- 跳过体育和政治。始终显示天气和我的接下来三个日历事件。
点击保存并重新构建即可立即应用新说明。
选择 Claude 模型
模型设置决定使用哪个 Claude 模型编写你的主页:

- Claude Sonnet 5.5:质量和成本之间的默认平衡。
- Claude Haiku 5.5:速度最快、成本最低的选项。
- Claude Opus 5.5:最谨慎的编辑,也是成本最高的选项。
更改模型会在下一次构建时生效。每次构建都是一个独立的代理会话,费用计入你的 Anthropic API 密钥;总成本取决于所选模型以及代理读取的内容量。
控制自动重新构建
自动重新构建默认处于启用状态。完成一次手动构建后,当主页超过你选择的间隔时间时,扩展可以在后台安静地重新构建主页:6、12、24 或 48 小时。
自动重新构建不会在失败后立即重试,而是等到下一个间隔,从而避免无限重试循环。要立即重新构建,请点击右上角的↻ 重新构建。你也可以禁用自动重新构建,仅在需要时手动构建,以控制 API 使用量。
了解扩展可以访问哪些内容
每次构建时,扩展都会对浏览历史中的网站进行排序,并打开最多八个页面。它会跳过搜索引擎、网页邮箱、银行网站以及已退出登录的营销页面。如果页面无法打开,结果中会报告这一限制。
隐私警告:扩展会将你的浏览历史摘要(包括热门域名、访问次数和部分页面标题),以及最多八个页面经过清理的 HTML 发送到 Anthropic API。由于页面是在你已登录的浏览器中加载的,其中可能包含私人内容。
构建过程使用你自己的 API 密钥,该密钥会保留在扩展程序的本地存储中。每次构建结束后,代理会话和上传的页面都会被删除。有关更多隐私详情,请阅读 ARCHITECTURE.md。项目还警告不要原样将扩展程序发布到商店,因为任何能够访问浏览器配置文件的人都可能读取存储的 API 密钥。
构建工作原理
getHistory提供你访问次数最多的域名排名摘要。getPageHtml最多选择八个页面。扩展程序会在后台窗口中打开这些页面,清理其 HTML,并将结果作为文件挂载到代理的沙盒中。grep和read从这些文件中提取标题、文章和链接。write创建一个 React 组件,由新标签页渲染。
扩展程序的后台工作线程会直接驱动一个 Claude Managed Agents 会话,无需中间服务器。两个自定义工具在扩展程序内部运行,因为它们需要使用 chrome.history 和 chrome.tabs。其他处理在代理沙盒中进行。由于抓取的页面被视为不受信任的输入,沙盒会禁用 Shell 访问。
开发和测试项目
仓库主要分为三个区域:
packages/agent-core:与宿主环境无关的代理循环,不包含chrome.*或node:*。apps/extension:基于 WXT 和 React 的 MV3 扩展程序。harness:用于在 Chrome 外运行代理核心以及测试已构建扩展程序的 Bun 脚本。
常用开发命令包括:
pnpm dev # WXT 热重载
pnpm typecheck # 所有软件包
pnpm test # 单元测试;不调用 API,需要 Bun
pnpm extension:test # 无头 Chrome 扩展测试;不调用 API要使用模拟历史记录,通过真实 API 运行完整的代理构建,请创建环境文件并提供你的密钥:
cp .env.example .env
pnpm agent:run
pnpm agent:verify验证命令会检查生成的输出是否确实能够渲染。
更新扩展程序
拉取新的仓库更改后,重新构建扩展程序:
npx pnpm@10.11.1 build然后打开 chrome://extensions,点击 AI Homepage 的重新加载图标。后续打开的新标签页将使用更新后的构建版本。
结语
AI Homepage 将近期浏览记录转化为个性化、持续刷新的新标签页体验。请在本地构建 Chromium 扩展程序来安装它,提供你的 Anthropic 密钥,并描述你希望采用的布局和阅读优先级。使用前,请考虑 API 成本、构建过程中可能上传的私密内容,以及项目目前仍处于实验阶段这一事实。
