I liked Arc. The vertical tabs, the minimal chrome, the command bar — it felt like the first browser in years that actually cared about design. But I kept running into the same problem: I used maybe 20% of it. Spaces, easels, boosts, Arc Max. Cool ideas, just not how I browse.
At the same time, I started wanting AI in my browser — not as a gimmick, but as something that actually understands the page I'm on. Every "AI browser" I tried had two dealbreakers:
- Vendor lock-in. You use their model, their cloud, their account. Want to switch? Start over.
- Privacy. Your browsing context, your conversations, your data — routed through someone else's server. No opt-out.
So I forked Chromium and started building Dao Browser.
What it is
A Chromium-based browser that's deliberately minimal, with an AI agent built into the browsing surface — not bolted on as an extension.
The browser part: vertical tab sidebar, a Spotlight-style command bar, split view, PiP. On macOS the chrome melts away in immersive mode. No built-in wallet, no social feed, no features I'll forget exist next week.
The AI part is where it gets interesting.
The AI agent
Dao's agent isn't a chat sidebar that happens to live in a browser. It's aware of where you are and what you're looking at.
Focus context — every prompt automatically carries the current page and your text selection. No copy-pasting URLs into ChatGPT. Ask "what does this function do?" and it already knows which function.
Long-term memory — the agent remembers things across sessions. Your preferences, your projects, context you've shared before. Stored as local Markdown files you can read, edit, or delete:
Per-host skills — you can teach the agent site-specific behaviors in plain conversation. "When I'm on GitHub, summarize the PR diff for me." It turns that into a reusable skill, scoped to github.com. Next time you open a PR, it just does it. Skills only load on matching domains, so you can have hundreds without bloating context.
Soul — the agent has a persistent identity file. Not a row of preset bots you switch between — one assistant that evolves as you use it. It accumulates how you communicate, what you care about, what annoys you. The soul is a plain text file you can version, back up, or rewrite.
Self-evolution — after meaningful interactions, the agent reflects on what worked and proposes updates to its own memory and soul. You review the diff before anything changes. Nothing learns silently.
Your API, your data
This was non-negotiable. Dao talks to anything that speaks the OpenAI-compatible API:
- Claude, GPT, Gemini, DeepSeek, Qwen
- Local Ollama or any self-hosted endpoint
- Your key, in your config file, on your machine
No Dao account. No cloud sync. Every memory file, every skill, every soul revision is a file on your disk.
What I learned building this
Chromium's build system is its own universe. The first successful build felt like a graduation ceremony. gclient sync alone takes long enough to question your life choices.
Keeping up with upstream is a part-time job. Chromium doesn't wait for you. Every rebase is a merge conflict adventure. I've gotten faster at it, but it never gets easy.
"Just fork Chromium" is advice that sounds simple and absolutely is not. If you're considering it, budget 10x the time you think it'll take. Then double that.
Less is harder than more. Deciding what NOT to put in the browser was harder than building the features. Every "wouldn't it be cool if..." had to pass the filter: "will I actually use this daily?"
Current status
- MIT licensed, fully open source
- macOS Apple Silicon only (for now)
- Linux and Windows are next — Chromium cross-platform builds are painful and I'm one person
- I've been daily driving it for a while and don't want to go back
Links
- GitHub: github.com/msgbyte/dao-browser
- Website: dao.msgbyte.com
- AI Agent docs: dao.msgbyte.com/agent
If you have questions about the architecture, the agent design, or any specific technical decisions — happy to talk about it in the comments.

Top comments (0)