https://github.com/ofekron/better-agent
Local web workspace for coding agents — Claude, Codex, Gemini, and more in one inspectable, LAN-ready hub.
https://github.com/ofekron/better-agent
Last synced: 8 days ago
JSON representation
Local web workspace for coding agents — Claude, Codex, Gemini, and more in one inspectable, LAN-ready hub.
- Host: GitHub
- URL: https://github.com/ofekron/better-agent
- Owner: ofekron
- License: other
- Created: 2026-06-24T15:28:41.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-07-29T22:47:17.000Z (9 days ago)
- Last Synced: 2026-07-29T23:11:45.969Z (9 days ago)
- Language: Python
- Size: 23.8 MB
- Stars: 50
- Watchers: 0
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: CODEOWNERS
- Security: SECURITY.md
- Roadmap: ROADMAP.md
- Notice: NOTICE
- Agents: AGENTS.md
Awesome Lists containing this project
- awesome-vibe-coding - Better Agent - Local workspace for running coding agents in one inspectable hub. (AI Agents & Autonomous Coding / Specialized Tools)
- awesome-gemini-cli - Better Agent - Local workspace for persistent Gemini CLI, Claude Code, and Codex sessions with detached execution, restart recovery, parallel forks, delegation, and approval gates. Source-available; free for non-commercial use. (Agent Orchestration & CLI Tools)
- collective-ai-tools - Better Agent - Local workspace for Claude, Codex, and Gemini coding-agent sessions with parallel forks and restart recovery. `#free` (Developer Tools)
- awesome-codex-workflows - ofekron/better-agent - Local, inspectable workspace for persistent Codex, Claude, and Gemini coding-agent workflows, with session orchestration, delegation, forks, and an integration SDK. (Workflow Infrastructure & Design)
- awesome-ai-tools - Better Agent - agent sessions with parallel delegation, persistent state, approval gates, file access, and restart recovery. It is source-available and free for non-commercial use; commercial use requires separate permission. Disclosure: I maintain Better Agent. “Freemium” is the form’s closest available pricing option. AI-assistance disclosure: this submission was drafted by Codex under the maintainer’s authorization and reviewed in Better Agent.; [GitHub](_No response_) | (🛠️ Developer Productivity & Workflow)
- awesome-vibe-coding-resources - Better Agent - Local workspace for Claude, Codex, and Gemini sessions with parallel forks, delegation, persistent state, and restart recovery across browser, desktop, mobile, CLI, and SDK. Source-available for non-commercial use; commercial use requires permission. (Desktop Apps)
- awesome-AI-driven-development - Better Agent - Local workspace for Claude, Codex, and Gemini coding-agent sessions with parallel forks, delegation, persistent state, and restart recovery. Source-available for non-commercial use; commercial use requires permission. (Multi-Agent & Orchestration / Other IDEs)
- awesome-agent-orchestrators - Better Agent - Local web workspace with persistent state, approvals, and restart recovery for native Claude, Codex, and Gemini sessions. (Parallel Coding Agents — Desktop & Web)
- awesome-ai-agents - Better Agent - agent) | Source-available workspace for running and supervising Claude, Codex, and Gemini coding-agent sessions | (🌟 Core Frameworks)
- awesome-cli-coding-agents - Better Agent - available; free for non-commercial use. (Harnesses & orchestration / Session managers & parallel runners)
README
Better Agent
Run every coding agent. Keep every session.
Claude, Codex, and Antigravity in one local workspace—persistent, inspectable, and available from every trusted screen.
Install ·
Why Better Agent ·
How it works ·
Install guide ·
Extensions
> [!NOTE]
> Better Agent is source-available for non-commercial use. See the [license](#license).
## Install
**macOS — one command:**
```bash
curl -fsSL https://raw.githubusercontent.com/ofekron/better-agent/main/scripts/bootstrap.sh | bash
```
**Windows — one command (PowerShell):**
```powershell
irm https://raw.githubusercontent.com/ofekron/better-agent/main/scripts/bootstrap.ps1 | iex
```
Either one-liner clones into `~/.better-agent/checkout` (`%USERPROFILE%\.better-agent\checkout` on Windows), provisions the toolchain, and runs setup. Re-running updates that checkout with `git pull --ff-only`.
**macOS — Homebrew:**
```bash
brew tap ofekron/better-agent
brew install better-agent
better-agent-setup
better-agent
```
`brew install` installs only the two launchers. `better-agent-setup` runs the same `bootstrap.sh` installer and finishes provisioning; `better-agent` starts the workspace afterwards.
**From source (all platforms, including Linux):**
```bash
git clone https://github.com/ofekron/better-agent
cd better-agent
./run.sh
```
The first run initializes dependencies, builds the UI, and guides you through local authentication and network access. Linux has no one-liner — the bootstrap script accepts macOS only — so clone and follow [INSTALL.md](INSTALL.md). `./run.sh --install-service` still installs the launchd/systemd user service for a checkout.
Non-interactive installs, service mode, LAN, desktop, and mobile flows are all in [INSTALL.md](INSTALL.md). Signed source tarballs and checksums are on the [releases page](https://github.com/ofekron/better-agent/releases).
## Why Better Agent
Stop juggling terminal tabs, provider UIs, hidden logs, and throwaway sessions.
- **Every provider, one workspace.** Run Claude, Codex, and Antigravity side by side. Choose the provider and model per session without changing how you organize or revisit work.
- **Work that survives the tab.** Detached agents outlive browser disconnects and backend restarts. Return to the complete run and its full trace.
- **A team, not a chatbot.** Fork sessions, delegate bounded work, run agents in parallel, and orchestrate them headlessly through the SDK and CLI.
- **Local and inspectable.** Sessions, settings, credentials, project data, live output, tool calls, and file context stay on your machine and remain visible in one history.
- **One backend, every trusted screen.** Use the same workspace from the browser, desktop app, or mobile app on devices you trust.
## Built for real agent work
- **Persistent sessions** — recover in-flight provider work after restarts and reconcile it into one deduplicated history.
- **Offline-first capture** — create sessions and queue prompts while the backend is unreachable; sync them after reconnect.
- **Project organization** — folder trees, tags, session tabs, quick filters, and advanced search across your work.
- **Provider-native setup** — connect the Claude, Codex, and Antigravity accounts and CLIs you already use.
- **Multi-agent orchestration** — fork, delegate, supervise, and coordinate work across providers.
- **Extension platform** — add permission-scoped workflows, tools, settings, and UI through signed marketplace or private extensions.
## How it works
```mermaid
flowchart LR
UI[Browser · Desktop · Mobile] <-- REST + WebSocket --> CORE[Better Agent backend]
CORE --> C[Claude runner]
CORE --> O[Codex runner]
CORE --> G[Antigravity runner]
CORE <--> STATE[(Local persistent state)]
```
The FastAPI backend is the source of truth for sessions, projects, settings, provider state, and agent output. The React frontend reflects backend snapshots and live WebSocket events. Per-session runners stay detached so work can continue independently of the UI.
| Layer | What it owns |
| --- | --- |
| **Backend** | Orchestration, event ingestion, provider runners, authentication, persistence, and recovery |
| **Frontend** | Responsive browser, desktop, and mobile interfaces over one reconnecting session stream |
| **Local state** | Sessions, traces, settings, credentials, projects, and extension data on your machine |
## SDK and extensions
The public Integration SDK lives in `sdk/better_agent_sdk/`. Extensions and external orchestrators run out of process and call authenticated loopback APIs instead of importing backend internals.
Two included extensions demonstrate the model:
- [`extensions/ask`](extensions/ask) finds the best existing session for a task and continues the work there.
- [`extensions/session-bridge`](extensions/session-bridge) exposes cross-session search, recall, proposals, and delegation through MCP.
See [EXTENSIONS.md](EXTENSIONS.md) to build private or marketplace extensions.
## Getting started
**Supported hosts:** macOS, Linux, and Windows. Authentication uses the native OS credential store. The macOS desktop build is verified; a Windows installer is provided but has not yet been validated on a real Windows host.
On a fresh machine, use the one-liner above. Inside an existing clone, run the platform installer directly:
```bash
# macOS
./scripts/install-macos.sh
# Windows PowerShell
powershell -ExecutionPolicy Bypass -File scripts\install-windows.ps1
```
Then run `./run.sh`. The backend defaults to port `18765`; set `BETTER_AGENT_BACKEND_PORT` to override it. On first launch, choose local-only or trusted-LAN access and create credentials stored by your OS.
The complete clean-clone, LAN, desktop, mobile, and reset-auth flows are in [INSTALL.md](INSTALL.md).
Developer commands
```bash
# Backend with hot reload
cd backend
source .venv/bin/activate
uvicorn main:app --reload --port 8000
# Frontend
cd frontend
npm run dev
# Headless CLI
cd backend
source .venv/bin/activate
python cli.py -p "do the thing"
# Reset stored credentials
./run.sh --reset-auth
```
## Security
> [!WARNING]
> Better Agent can execute commands, read and write files, invoke provider CLIs, and persist local data. Run it only in trusted environments, keep backups, review tool calls, and never expose the backend to untrusted networks.
Normal API access is credential-gated. Browser clients use a signed session cookie; mobile clients use signed bearer tokens; internal extension and runner routes require a separate loopback token. Public unauthenticated routes are limited to setup, authentication, and served app artifacts.
Read [SECURITY.md](SECURITY.md) and [DISCLAIMER.md](DISCLAIMER.md) before public or shared use.
## Contributing
Read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a pull request. Integration tests run real provider CLI subprocesses rather than mocks.
Public planning and release policies live in [ROADMAP.md](ROADMAP.md) and [RELEASE.md](RELEASE.md).
## License
Better Agent is source-available for non-commercial use. Commercial use, commercial distribution, hosted offerings, and Better Agent marketplaces require prior written permission from Ofek Ron. It is not OSI-approved open-source software because commercial rights are reserved. See [LICENSE](LICENSE).
Additional legal and trust material: [DISCLAIMER.md](DISCLAIMER.md) · [SECURITY.md](SECURITY.md) · [TRADEMARKS](TRADEMARKS) · [NOTICE](NOTICE)
---
One agent in a terminal was never going to be enough.