ai-newtab README

The project's README from github.com/ThariqS/ai-newtab. As one markdown file: README.md.

AI Homepage

A new tab that reads the internet for you.

AI Homepage replaces Chrome's new-tab page with one that's written for you. An agent looks at what you've actually been browsing, opens the pages you follow (signed in as you), and writes a fresh homepage from what it finds there. It rebuilds itself in the background, so each new tab is up to date.

An example homepage in a morning-newspaper style Illustration. Your homepage is built from your own browsing, so its stories will be different.

A morning newspaper is just one look. You can describe any look and the next build follows it: a quiet one-column digest, a dense dashboard, a green-on-black terminal, a zine.

Privacy, up front. To build your homepage, the extension sends a summary of your browsing history (top domains, visit counts, a few page titles) and the cleaned-up HTML of up to 8 pages to the Anthropic API, using your own API key. Those pages are loaded in your signed-in browser, so they can include private content. The agent session and every uploaded page are deleted when each build ends. Your API key stays in the extension's local storage. More detail in ARCHITECTURE.md.


Install

You need Chrome (or another Chromium browser), Node.js 20+, and an Anthropic API key.

git clone https://github.com/ThariqS/ai-newtab.git
cd ai-newtab
npx [email protected] install
npx [email protected] build

(If you already have pnpm, plain pnpm install && pnpm build works too.)

Then load it into Chrome:

  1. Go to chrome://extensions.
  2. Turn on Developer mode (top right).
  3. Click Load unpacked and choose apps/extension/.output/chrome-mv3.

If Chrome asks whether to keep the changed new-tab page, choose Keep it.

Your first homepage

  1. Open a new tab and paste your Anthropic API key.
  2. Click Build today's homepage.
  3. Watch it work. The progress view walks through each step: preparing the agent, reading your history, opening pages in your browser, analyzing them, and writing your homepage.

The first build takes a few minutes. You can close the tab while it runs, since the build lives in the extension's background worker and appears in any new tab you open.

Make it yours

Click ⚙️ Settings on the new tab.

Instructions. Anything you write here goes into every build and takes priority over the agent's own defaults. This box sets both the content and the look:

You write You get
"A morning newspaper. Serif type, a big masthead, a lead story, a column of briefs." A broadsheet front page
"One calm column. No images. Five things worth reading, with one line on why." A quiet reading list
"Dense dashboard: GitHub PRs and issues first, then Hacker News, then everything else." A work cockpit
"Green-on-black terminal, monospace, like a 1980s BBS." Exactly that
"Skip sports and politics. Always show the weather and my next three calendar events." Your rules, every day

Click Save & rebuild to apply them right away.

Model. Choose which Claude model writes your page:

The new model takes effect from your next build.

Rebuild automatically. On by default. Once your homepage is older than the interval you pick (6, 12, 24 or 48 hours), the extension rebuilds it quietly in the background. It only starts after you've built once by hand, and it won't retry a failed build until the next interval, so it never loops.

↻ Rebuild in the top-right corner rebuilds right away.

Good to know

How it works

  1. getHistory: the agent gets a ranked summary of your most-visited domains.
  2. getPageHtml: it picks up to 8 pages, which the extension opens in a background window, cleans up, and mounts into the agent's sandbox as files.
  3. grep / read: the agent pulls headlines, posts and links out of those files inside its sandbox.
  4. write: it writes one React component, which the new tab renders.

The extension's background worker drives a Claude Managed Agents session directly, with no server in between. The two custom tools run in the extension because they need chrome.history and chrome.tabs. Everything else happens in the agent's sandbox, where shell access is off: scraped pages are untrusted input.

See ARCHITECTURE.md for the event flow, the layout, and the gotchas worth knowing.

Development

packages/agent-core   the agent loop: host-agnostic, no chrome.* or node:*
apps/extension        the MV3 extension (WXT + React)
harness               Bun scripts that run agent-core outside Chrome, and test the built extension
pnpm dev                 # WXT with hot reload
pnpm typecheck           # all packages
pnpm test                # unit tests (no API calls; needs Bun)
pnpm extension:test      # loads the built extension into headless Chrome (no API calls)

cp .env.example .env     # add ANTHROPIC_API_KEY, then:
pnpm agent:run           # a full build against the real API, with fixture history
pnpm agent:verify        # check the output actually renders

Status

Early and experimental. It's a tool you run yourself with your own key. Don't publish it to a store as-is: anyone with access to the browser profile can read the stored API key.

License

MIT

ai-newtab (ThariqS/ai-newtab)

Searching Database…

Что это?AI Homepage — расширение для Chrome, которое заменяет вашу страницу новой вкладки на страницу, которую для вас пишет агент Claude, основываясь на сайтах из вашей же истории посещений.
Это браузерное расширение для Chrome или то, что работает на сервере?Это браузерное расширение для Chromium, загружаемое локально; сессия агента работает из фонового воркера расширения, без какого-либо сервера посередине.
Как его установить и собрать первую домашнюю страницу?Выполните pnpm install и pnpm build, затем загрузите apps/extension/.output/chrome-mv3 как распакованное расширение через chrome://extensions с включённым режимом разработчика. На первой новой вкладке вставьте свой API-ключ Anthropic и нажмите «Build today's homepage».
Что нужно, прежде чем им пользоваться?Нужны Chrome или другой браузер на Chromium, Node.js 20+ (или сразу pnpm) и собственный API-ключ Anthropic.
Это готово к публикации в Chrome Web Store?Нет, проект явно помечен как ранний и экспериментальный, рассчитанный на самостоятельный запуск; публикация в текущем виде позволила бы любому с доступом к профилю браузера прочитать ваш сохранённый API-ключ.
Для кого это сделано?Для отдельных пользователей, готовых запускать собственное экспериментальное расширение со своим API-ключом, а пока не для распространения другим.
Какая модель Claude собирает мою домашнюю страницу?Можно выбрать Claude Sonnet 5.5 (по умолчанию, лучший баланс), Claude Haiku 5.5 (самая быстрая и дешёвая) или Claude Opus 5.5 (самая тщательная, но самая дорогая). Выбор применяется со следующей сборки.
Можно изменить внешний вид домашней страницы?Да, в Settings можно написать свободные инструкции, описывающие и содержание, и вид (например, 'a quiet one-column digest' или 'green-on-black terminal'), и они имеют приоритет над дефолтами агента при каждой пересборке.
Домашняя страница обновляется сама?Да, когда её возраст превышает заданный вами интервал (6, 12, 24 или 48 часов), она тихо пересобирается в фоне, но лишь после того, как вы хотя бы раз собрали её вручную.
Как агент решает, какие страницы читать?Он ранжирует ваши самые посещаемые домены, открывает до 8 страниц под вашей учётной записью и пропускает поисковики, веб-почту, банки и маркетинговые страницы без авторизации; каждая ссылка в результате ведёт на страницу, которую он реально прочитал.
Creator
ThariqS
Size
0.3 MB
Stars
824
Updated
CommitOct 10
Age
9d
Commits · 90 Days