by Muvon
Keyboard-first AI browser for macOS — WebKit + Rust, built-in AI sidebar, isolated workspaces, and an MCP server that lets your agents drive the web.
# Add to your Claude Code skills
git clone https://github.com/Muvon/octowebGuides for using ai agents skills like octoweb.
See how octoweb compares with popular alternatives.
octoweb is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Muvon. Keyboard-first AI browser for macOS — WebKit + Rust, built-in AI sidebar, isolated workspaces, and an MCP server that lets your agents drive the web. It has 123 GitHub stars.
octoweb's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/Muvon/octoweb" and add it to your Claude Code skills directory (see the Installation section above).
octoweb is primarily written in Rust. It is open-source under Muvon on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh octoweb against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
The browser you reach for when you want to think. macOS only, by design.
Built on WebKit and Rust. No Electron. No Chrome. No mouse required.
🏠 Website · Releases · Changelog
Most browsers are built around the mouse. Octoweb is built around the keyboard — and around the idea that your browser should amplify your thinking, not interrupt it. Every action has a shortcut. The AI assistant lives in a sidebar, not a tab. And your AI tools can drive the browser directly via MCP. No config. Just open it and go.
Three things it does differently:
Keyboard-first navigation — Every action has a shortcut. Nothing requires a click. The command palette (⌘⇧P) fuzzy-searches tabs and history. Pin any page to a fast-access slot with ⌘⇧1–⌘⇧0 and jump back with ⌘1–⌘9 from anywhere.
AI assistant built in — Not an extension, not a tab. A sidebar overlay powered by a local octomind agent server. Ask questions about the current page, get code explanations, summarize content — all without leaving the browser.
MCP server inside the browser — Your AI tools can actually drive the browser. Octoweb runs an MCP server on localhost:3434/mcp that exposes 38 tools for navigation, tab management, page interaction, content extraction, and mail. Point Claude Desktop or any MCP client at it and watch it browse.
⌘⇧P) — Fuzzy search across tabs and history. Type a URL, search query, or page fragment./ in the palette) — Search the text of pages you have visited, not just titles. "Where did I see that pricing table" is one keystroke away; the agent gets the same search as an MCP tool. Private tabs are never indexed.⌘⇧C) — Copies the URL, or the selection with the URL under it, as plain text. ⌥⌘C copies markdown instead: a quote with its source link, or the whole page as clean markdown when nothing is selected. ⌥-click the address bar's copy button for a [title](url) link.⌘⇧L) — A reading queue that decays instead of a bookmark shelf: saved pages sit on top of the palette and the new-tab page, opening one removes it, and after later_days they drop out while their text stays searchable. The digest-later workflow turns whatever you never opened into three lines each.⌘⇧K) — Select text on any page and ask the sidebar to explain it, with the page as context. No selection asks about the page.⌘⇧↵ in the palette) — Open any result in an isolated tab with in-memory cookies and storage. Nothing is written to history, the session file, or the favicon cache; closing the tab discards everything.⌘1–⌘0) — Pin up to 10 pages for instant access, one set per workspace. Footer bar shows all slots.⌘⇧N) — Pin the current tab to the fast-access bar with one keystroke.⌘⇧O) — Isolated browser profiles: each workspace has its own tabs, history, AI sessions, and a dedicated WebKit data store, so cookies, localStorage, and cache never leak between them. Switch with ⌘1–⌘0 while the popover is open.⌘,). Changes apply on the next keystroke, no restart.⌘⇧A) — Chat with a local AI agent about the current page. Streaming responses, code blocks with copy.⌘⇧E) — Select text on any page, transform it with AI. Rewrite, summarize, translate.⌘,).⌘⇧I) — Gmail, iCloud, Outlook, Private Email, or any IMAP account in a pane beside the page: Important and Other, single-key triage, snooze, undo send, send later, search, attachment previews. Accounts are scoped per workspace.⌘⇧D) — The calendars of those same accounts (Google Calendar, Outlook, iCloud, CalDAV) in the pane: the next meeting with a Join button, an alert before it starts, ⌘J to join from anywhere, list/day/week views, RSVP, quick add in plain English ("Lunch with anna@x.com tomorrow 1pm"), and your free times copied as text. Subscribe to webcal:// / ICS feeds, import .ics files (drop them on the pane), and answer invitations right in the mail message. With mail AI on: an event drafted from an email, free times offered in a reply, meeting prep from the guests' mail and last notes, and tasks or a follow-up from the meeting's notes.⌘⇧J) — One markdown file per workspace. ⌥⌘J captures the page as a task, or the selection as a quote.⌥⌘T) — The open - [ ] lines of the notes, above the text in a block you can fold: an add field, then Overdue, Today, Upcoming and the ones without a date. >fri in a task becomes an Obsidian Tasks date (📅 2026-10-30); due tasks show in the calendar and as a count on the Notes tab.⌘`) — A real shell under the page, with tabs and splits, per workspace; layout, directories, and output come back after a restart..crx, .zip, .xpi, or unpacked folder, scoped per workspace (macOS 15.4+).⌘F) — Full-text search with highlighting.+/- to zoom, ⌘0 to reset.⌘S for viewport, ⌘⇧S for full page. Copied to clipboard.Press ⌘⇧A to open the sidebar. It talks to a local octomind agent server over WebSocket. Responses stream in as they arrive.
octoweb ──WebSocket (loopback, per-run token)──▶ octomind server
│ one session per chat / background job │
│ (own working dir + agent tag each) specialist agent configs
│ from the tap registry
◀───────── MCP (browser tools, render_ui) ──────────────┤
your chosen AI provider
Octoweb starts ONE octomind server process the first time an assistant is needed and runs every assistant in it —
every chat in every workspace, inline edit, background learning and the mail jobs — each as its own session with its
own working directory and agent tag. The server is stopped when octoweb quits.
octomind is a plug-and-play AI agent runtime. You install it once, point it at an API key, and get a fully configured specialist agent — model, system prompt, tools, and all — with zero manual setup. The octoweb:chief tag fetches that agent's configuration from the community tap registry automatically.
1. Install octomind:
curl -fsSL https://raw.githubusercontent.com/muvon/octomind/master/install.sh | bash
2. Set an API key (any supported provider):
export OPENROUTER_API_KEY="your_key" # easiest — covers all providers
# or: OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.
3. Nothing else to start — octoweb launches octomind server itself (on a free loopback port, with a per-run
secret), resolves the octoweb:chief agent from the tap, and connects every sidebar session to it.
4. Open the sidebar in octoweb: ⌘⇧A
The agent tag in the sidebar header defaults to octoweb:chief. You can type any tag your octomind instance knows about — developer:rust, assistant, your own custom agents — the new-session picker autocompletes as you type, and the sidebar reconnects to that agent immediately. The list now offers domains first (for example developer); picking one starts that domain's chief agent.
Shipped tags include octoweb:chief (sidebar chat), octoweb:editor (inline text transformation, used by ⌘⇧E), octoweb:learning (background learning), and octoweb:trend (live social trend research) — see the tap registry.
The octoweb:chief agent uses a stable working directory per browser workspace.
Default keeps ~/.local/share/octoweb; other workspaces use
~/.local/share/octoweb-workspaces/octoweb-<workspace-id>. Renaming a workspace
keeps its directory and Octomind lesson scope. Each directory has the same local
tools and links to Default's .env and AGENTS.md when present; existing
workspace-specific files are kept. Existing lessons stay in Default's sco