Summary
Orbit is an open-source desktop browser for people who research, organize information, and complete tasks across websites. It combines conventional browsing with OpenCode AI assistance, browser automation, automatically saved workspaces, content controls, summaries, searchable bookmarks, and generated files or interactive dashboards.
Platforms
- macOS
- Windows
- Linux
- Command line
- API / backend
User roles
- Local user: Browse websites, manage sessions and tabs, control page behavior, configure AI providers, use generated artifacts, and manage bookmarks.
- Connected AI assistant: Inspect browser pages, gather information, interact with websites through permitted tools, and create results for the user.
Features
- Browse websites in multiple tabs, switch between them, close tabs, and navigate backward through page history. — Files: tab-manager.js, renderer.js, index.html
- Automatically create named sessions, save browsing changes, rename or switch sessions, and restore the last-used session at startup. — Files: automatic-sessions.js, workspace-panel.js, workspace-store.js
- Organize tabs into named groups, collapse groups to unload their pages, and choose horizontal or resizable vertical tabs. — Files: tab-manager.js, workspace-panel.js, styles.css
- Search tab titles and website addresses, including unloaded tabs and tabs inside collapsed groups. — Files: tab-manager.js, workspace-panel.js, index.html
- Use an integrated OpenCode terminal to research and interact with real browser pages using a selected AI model. — Files: opencode-service.js, terminal-panel.js, browser-tool-dispatcher.js
- Upload supporting files for an OpenCode task and view the files available to that session. — Files: session-files-panel.js, opencode-session-workspace.js, opencode-service.js
- Complete an AI task by cleaning up its tracked temporary research tabs while preserving existing tabs, retained results, and live-artifact sources. — Files: browser-task-lifecycle.js, browser-tool-dispatcher.js, scripts/browser-mcp-server.js
- Generate summaries of webpage content and available YouTube transcripts. — Files: summarizer.js, openrouter-service.js, main.js
- Clean up page content for reading and create saved, refreshable transformed views of source pages. — Files: transformed-view-manager.js, transformed-view-service.js, main.js
- Create, preview, download, and delete generated text-based artifacts, including HTML reports, CSV, JSON, and Markdown. — Files: artifact-service.js, artifact-panel.js, scripts/browser-mcp-server.js
- Create interactive dashboards with saved preferences, source data, and configurable refresh behavior. — Files: dynamic-artifact-service.js, dynamic-artifact-frame.js, artifact-service.js
- Save bookmarks and find saved pages using AI-assisted natural-language search. — Files: bookmarks-panel.js, history-manager.js, openrouter-service.js
- Search the web through DuckDuckGo from the address bar and use instant-search shortcuts. — Files: renderer.js, main.js
- Enable or disable network access independently for each tab and view network activity. — Files: main.js, renderer.js
- Enable or disable JavaScript across browser tabs. — Files: main.js, renderer.js
- Toggle browser caching and domain blocking. — Files: main.js, renderer.js, block.list
- View download progress and clear finished downloads from the download status display. — Files: main.js, renderer.js, index.html
- Discover compatible TVs and cast supported web videos with subtitle options and available playback controls. — Files: cast-panel.js, dlna-cast-manager.js, cast-relay-service.js
Main user flows
- Organize a workspace: Open Orbit → continue the automatically restored session → open tabs and assign groups → rename the session or start another → return later to the saved workspace.
- Complete an AI research task: Open Terminal → enter a task → let OpenCode inspect pages and gather information → approve actions when requested → inspect the result → let task completion clean up tracked research tabs.
- Create an interactive dashboard: Ask OpenCode to combine information from source pages → review the generated artifact → open it from Artifacts → use its filters or saved preferences → refresh its source information when needed.
- Read and rediscover information: Open a webpage or YouTube page → request a summary or cleaned reading view → bookmark useful content → open Bookmarks later → search for the saved information.
- Control browsing behavior: Select a tab → toggle its network access → adjust JavaScript, caching, or domain blocking → continue browsing with the selected controls.
- Cast a video: Open a supported video → select Cast to TV → discover and choose a compatible device → select subtitles when available → start playback and use supported controls.
Integrations and external services
- OpenCode CLI for the integrated AI terminal and browser task workflow.
- Model Context Protocol for browser and artifact tools.
- OpenRouter and Entrim for configured AI model access.
- Other model providers authenticated through OpenCode.
- Optional Claude and Codex CLI backends.
- DuckDuckGo for web search.
- YouTube transcript retrieval for video summarization.
- OpenSubtitles for subtitle search and download.
- DLNA / UPnP devices for media casting.
- FFmpeg for supported video preparation and relay.
Known limitations
- AI features require the relevant provider access or separately installed CLI tools; basic browsing does not require AI credentials.
- AI task-tab cleanup depends on the assistant invoking completion. It does not retroactively track existing tabs, and interrupted tasks or website-opened popups can leave tabs open.
- Live dashboard refresh requires the browser to remain running and its declared source pages to remain open at their expected addresses.
- Dynamic dashboards support up to six declared sources and have limits on saved application data and extracted content.
- Generated dashboards cannot independently modify source websites, submit remote forms, or navigate freely to external sites.
- Generated artifacts should be reopened through the Artifacts library after restarting; previously restored local artifact addresses may become unavailable.
- DRM-protected video cannot be cast. Playback controls and subtitle support depend on the receiving device.
- macOS builds use local ad-hoc signing; public distribution requires separate developer signing and notarization.
- Windows and Linux runtime compatibility has not been independently verified for this specification.
How to install
Installation document found: yes
Prerequisites
Git to clone the repository. Node.js 22.12 or later. npm. An interactive desktop environment. OpenCode CLI installed separately for the integrated AI terminal; its installation method is not documented in this repository. Access to an AI provider for the AI features being used. macOS for the documented macOS application build. FFmpeg and a compatible network device for optional media relay and casting.
Install
Instructions are collected from README.md and the package scripts.
git clone https://github.com/searchrome/orbit.git
cd orbit
npm install
For optional local environment configuration, copy the provided example file without sharing its contents.
cp .env.example .env
Configure
- OPENROUTER_API_KEY (optional): Credential for OpenRouter-backed features.
- OPENROUTER_MODEL (optional): Model selected for OpenRouter-backed requests.
- OPENROUTER_BASE_URL (optional): OpenRouter-compatible service endpoint.
- OPENROUTER_HTTP_REFERER (optional): Request attribution setting documented for OpenRouter.
- OPENROUTER_APP_TITLE (optional): Application attribution setting for OpenRouter.
- OPENCODE_TERMINAL_ENABLED (optional): Controls whether the OpenCode terminal is available.
- CLAUDE_CLI (optional): Selects the documented alternative planner backend.
Build
A development build is not required before starting the application.
For a standalone macOS application:
npm run build:mac
The README instructs users to copy the resulting Orbit.app into Applications and open that application directly.
For the Windows packaging target provided by the package scripts:
npm run package
A Linux packaging command is not documented.
Run
For optional OpenCode features, authenticate the separately installed CLI before starting an OpenCode session:
opencode auth login
Start the desktop application from the repository:
npm start
Port
Unknown