Your new AI hive.

Agents that work on your computer. A roster you message like people, with a built-in signed-in browser, on the subscriptions you already pay for.

Pollen is a Grok Bot competitor that runs on your own computer — the roster of named agents you message like people, with Codex's built-in browser and its quiet, text-first chat. Free and open source.

It is not a chat app with AI bolted on, and it is not an AI Slack. Every agent speaks the Agent Client Protocol over a subscription you already hold, works in a copy of your folder, so your originals are untouched until you push, and shares one browser you sign into once.


The roster

A team, not a thread.

Agents sit down the left edge the way people do: a face, a name, one line about what they do, one dot for how they are. Every face is drawn from small circles and derived from the agent's own id — eleven species, six moods, its own blink rhythm. Click one and it boops.

You do not fill in a form to get an agent. Pollen offers to build one and interviews you, one question at a time, then writes the agent to disk. It appears in the roster within a second.

buzz — 4 agents
pollenPollenbuilt in
agentRufusclaude-code
agentIriscodex
agentOttogemini

mail.google.com/u/0/#inbox
browserclick “Compose”watching
The browser

The browser is the connector.

There is no integrations page, because there are no integrations. The browser is a real Chromium view inside the window, on a cookie partition that persists — you sign into Gmail, or Photos, or your bank's dashboard, once, and every agent in the workspace can reach it from then on.

No agent in Pollen is allowed to say it lacks a connector for something. It opens the real URL, checks whether it is signed in, asks you once if it is not, and carries on. That rule lives in the preamble every agent inherits.

Agents drive it through tools — navigate, snapshot, click, type, screenshot — and you watch it happen in the panel. Split is the default: the page opens beside the conversation, never on top of it.


The copy

It works in a copy. Your folder stays untouched.

You point Pollen at a folder and it makes its own copy, respecting your ignore rules. Everything the agents do happens there. Nothing reaches your originals until you open the diff, tick the files you want, and push.

Where it lives~/.pollen/hives/<workspace>/workspace
Push to sourceA file-level diff with checkboxes. Nothing is written without a tick, and source files are never deleted unless you ask for it explicitly.
Pull from sourceRefreshes the copy from your folder, newest wins, conflicts listed. Work in the copy is never dropped without a confirm.
Where it runsInside a Docker container per workspace, with every provider CLI pre-installed — or on the host if you would rather. Either way, still against the copy.

Providers

Your subscriptions. Not your API keys.

Every agent runs a CLI you already have, authenticated the way that CLI authenticates — its own login, its own account, its own quota. Pollen never asks for an API key unless you turn key mode on yourself.

Claude Code Codex Cursor Gemini CLI Grok Build Copilot OpenCode Goose Qwen Code Mistral Vibe

Pollen detects what is installed on first run and offers to install or log in the ones that are not. Pick a provider and a model per agent; the model name sits in the chat header, because being silently on the wrong model costs you a whole session.


Paper

When Pollen writes, the chat becomes paper.

A document or a design does not open in a window you have to manage. It replaces the conversation in the same column, with the same bar underneath — now aimed at the page. Nothing pops up. Nothing minimises. Back to chat is one click, in the header where it always is.

Pollen's chat/ Release notes — 0.1.0 edited by Pollen VersionsExport

What changed in the browser

Draft · 24 Aug · 4 min read

The browser stopped being a panel and became the connector. It is a real Chromium view on a persistent cookie partition, which means a sign-in survives a restart and belongs to the workspace rather than to one conversation.

Split is now the default geometry for every surface. A page opens beside the conversation at roughly half the width, with a hairline between them and the bar still under the chat. Full screen is the exception, reserved for heavy artifacts, and it docks the transcript to the bottom rather than hiding it

The doctrine

Quiet by default.

Pollen spends its entire colour budget on one thing per view, so that thing means something. A tool call is one line, not a card you expand. Separation comes from a hairline or a change of surface, never from a drawn box. Nothing on screen is set bold.

One loud elementExactly one accent-filled control is visible in any state — send or mic, Allow, Download. Two loud things and neither reads as loud.
One line per toolread  src/main/acp/SessionManager.ts   1.9 kB
Stop is always thereThe header shows Stop whenever a turn is running, and the bar's arrow becomes a square in the same slot. Typing mid-turn queues instead of failing.
It says what happenedA turn that ends for any reason other than success says so in one quiet line. Stopped by you. A turn that just goes silent is what makes an app feel broken.
One centred columnMessages, tool rows, cards and the bar share a single 704px centre line, so on a wide monitor the text does not hug the left edge while the bar floats in the middle. This page uses the same one.

On your machine

Voice and memory, both on disk.

Press the microphone and the bar itself becomes the recorder — no modal, no new screen. The engine is Whisper running locally through a hidden window that is the only thing in the app allowed to touch your microphone. Nothing is uploaded.

Voicewhisper-base.en, downloaded once to ~/.pollen/models, running on WebGPU with a WASM fallback. Measured: 55.3 seconds of microphone audio transcribed in 672 milliseconds.
MemoryEach agent keeps a mind on disk — a soul, what it knows, and dated memories, one idea per line. It is a text file you can read and edit. Most turns inject nothing at all.
TranscriptsEvery conversation is written as JSONL under its workspace, with usage and cost. Yours, replayable, and nowhere else.

Under the hood

What it actually is.

Version0.1.0 · Windows installer, x64
Built withElectron 43 · electron-vite 5 · React 19 · TypeScript strict · Tailwind 4
ProtocolAgent Client Protocol v1, over stdio — docker exec or local spawn
Sandboxpollen/hive:0.1.0 · Ubuntu 24.04 · 4.04 GB · ten provider CLIs pre-installed
BrowserWebContentsView tabs on partition persist:pollen-browser, driven by injected refs and synthetic input
Agent toolsHost MCP over streamable HTTP, 127.0.0.1, per-run bearer token
Contract129 typed IPC methods across 15 domains · 23 event streams · 335 tests passing
TypeGeist · Geist Mono · Newsreader
LicenceFree and open source

Download

Point Pollen at a folder.

It works in a sandboxed copy. Your originals stay untouched until you push.

Pollen for Windows Pollen-Setup-0.1.0.exe · 112 MB Download 0.1.0
InstallerNSIS, per-user. No admin prompt.
RequiresWindows 10 or 11, 64-bit.
AndOne provider CLI signed in.
OptionalDocker Desktop — without it, Pollen falls back to a local sandbox and says so.

macOS and Linux are not packaged yet. The app builds and runs on both from source, which is also how you run it if you would rather read the code first.

# in the project folder npm install npm run dev # or build the installer yourself npm run dist → release/Pollen-Setup-0.1.0.exe
First runPollen detects your providers, offers to install or log in the ones that are missing, asks for a folder, and makes the copy. Then Pollen says hello and offers to build you an agent.
If something failsIt tells you which thing and gives you the button that fixes it. Codex isn't logged in → Log in. Nothing fails silently.