← Go back

octto: browser UI for brainstorming with OpenCode agents

146
Stars
15
Forks
1
Contributors
5
Open Issues
TypeScript Updated Jan 2026

Brainstorming with AI agents in a terminal is slow and painful. You type a paragraph, the agent asks a question, you type another paragraph, it asks another question. Ten minutes of back-and-forth just to agree on an approach. Most of that time is spent typing things that could have been a single click.

octto opens a browser window instead.

Stop Typing, Start Clicking

When you describe an idea to the agent, octto opens a browser UI that presents structured, visual questions. Instead of typing “I think option B is better because…”, you click a radio button. Instead of describing priority order in prose, you drag items into a ranked list. Instead of explaining a code preference, you review a side-by-side diff and click approve.

14 input types replace free-form text: radio buttons, checkboxes, sliders, drag-to-rank, star ratings, thumbs up/down, option cards with pros and cons, side-by-side code diffs, syntax-highlighted code editors, text fields, image uploads, and file pickers.

Parallel Exploration

The real speedup comes from parallel branching. Instead of exploring one question at a time, octto splits your request into 2-4 exploration branches. All initial questions appear at once. You answer them in any order. Some branches finish in 2 questions, others need 4. It’s a tree-structured exploration, not a linear conversation.

Follow-up questions appear dynamically as you answer. A progress indicator shows remaining questions. Completed answers stay visible for context.

Three-Agent Architecture

Three specialized agents orchestrate each session:

AgentRole
bootstrapperSplits your request into 2-4 exploration branches
probeEvaluates each branch after you answer: needs more questions, or done?
octtoOrchestrates the overall session lifecycle

The bootstrapper decomposes. The probe adapts. The octto agent manages the whole thing. Once all branches converge, a final plan is rendered for review, approval, and saved to docs/plans/ in your project.

Configuration

Simple setup: one line in your OpenCode config. You can customize the port, agent models, and inject project-specific instructions via “fragments”. Fragments can be global or per-project, so you can tell the brainstorming agents “this project uses React, focus on component patterns” without repeating it every session.

Source on GitHub

Stay curious ☕