omnigent-ai/omnigentPublic

Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents — swap harnesses without rewriting, enforce policies and sandboxing, and collaborate in real time from any device.

AI summary: An open-source meta-harness for orchestrating multiple AI agents and enforcing policies across devices.

Stars
10.4K
+73 today
Forks
1.7K
Watchers
46
Open issues
540
Open PRs
904
Contributors
~265
Commits
4.1K
Branches
2K

PythonApache-2.0Created Jun 11, 2026Last push 1d agoLatest release v0.15.0+224 stars this week+800 this month

Quick answers

What is omnigent?
An open-source meta-harness for orchestrating multiple AI agents and enforcing policies across devices.
What does omnigent do?
Omnigent provides a powerful orchestration layer designed to unify the management and execution of diverse AI agents, including Claude Code, Codex, and custom implementations. It allows developers to seamlessly swap or combine different agent harnesses without rewriting their underlying workflows. The platform ensures strict policy enforcement, robust sandboxing, and real-time collaboration capabilities across multiple interfaces, such as the terminal, browser, and a native macOS desktop application. By acting as a central hub, it enables complex multi-agent supervision where specialized models can collaborate or review each other's output securely.
Who is omnigent for?
Developers, AI researchers, and teams requiring a unified, secure platform to manage, orchestrate, and collaborate with multiple AI coding agents.
How do I get started with omnigent?
Download the macOS desktop app from omnigent.ai or clone the repository to run the orchestration layer locally.
How popular is omnigent on GitHub?
omnigent-ai/omnigent has 10,425 stars and 1,670 forks on GitHub, and gained 224 stars in the last 7 days.
What license does omnigent use?
omnigent-ai/omnigent is released under the Apache-2.0 license.

Star history

since Jul 29, 2026
05K10KJul 2026Aug 2026Sep 2026Oct 2026
10.4K stars as of Oct 2, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 1 commit2026-06-13: 13 commits2026-06-14: 24 commits2026-06-15: 74 commits2026-06-16: 120 commits2026-06-17: 90 commits2026-06-18: 101 commits2026-06-19: 77 commits2026-06-20: 12 commits2026-06-21: 5 commits2026-06-22: 54 commits2026-06-23: 60 commits2026-06-24: 55 commits2026-06-25: 72 commits2026-06-26: 91 commits2026-06-27: 8 commits2026-06-28: 14 commits2026-06-29: 51 commits2026-06-30: 58 commits2026-07-01: 55 commits2026-07-02: 41 commits2026-07-03: 26 commits2026-07-04: 2 commits2026-07-05: 1 commit2026-07-06: 38 commits2026-07-07: 38 commits2026-07-08: 44 commits2026-07-09: 37 commits2026-07-10: 40 commits2026-07-11: 2 commits2026-07-12: 4 commits2026-07-13: 38 commits2026-07-14: 47 commits2026-07-15: 69 commits2026-07-16: 45 commits2026-07-17: 54 commits2026-07-18: 5 commits2026-07-19: 8 commits2026-07-20: 42 commits2026-07-21: 32 commits2026-07-22: 37 commits2026-07-23: 55 commits2026-07-24: 33 commits2026-07-25: 5 commits2026-07-26: 16 commits2026-07-27: 37 commits2026-07-28: 30 commits2026-07-29: 26 commits2026-07-30: 45 commits2026-07-31: 165 commits2026-08-01: 67 commits2026-08-02: 6 commits2026-08-03: 71 commits2026-08-04: 55 commits2026-08-05: 66 commits2026-08-06: 62 commits2026-08-07: 41 commits2026-08-08: 4 commits2026-08-09: 3 commits2026-08-10: 55 commits2026-08-11: 22 commits2026-08-12: 30 commits2026-08-13: 25 commits2026-08-14: 11 commits2026-08-15: 1 commit2026-08-16: 1 commit2026-08-17: 8 commits2026-08-18: 12 commits2026-08-19: 24 commits2026-08-20: 44 commits2026-08-21: 12 commits2026-08-22: 12 commits2026-08-23: 9 commits2026-08-24: 52 commits2026-08-25: 51 commits2026-08-26: 74 commits2026-08-27: 44 commits2026-08-28: 23 commits2026-08-29: 11 commits2026-08-30: 22 commits2026-08-31: 60 commits2026-09-01: 69 commits2026-09-02: 77 commits2026-09-03: 60 commits2026-09-04: 48 commits2026-09-05: 12 commits2026-09-06: 11 commits2026-09-07: 38 commits2026-09-08: 40 commits2026-09-09: 71 commits2026-09-10: 59 commits2026-09-11: 59 commits2026-09-12: 11 commits2026-09-13: 20 commits2026-09-14: 42 commits2026-09-15: 38 commits2026-09-16: 61 commits2026-09-17: 67 commits2026-09-18: 51 commits2026-09-19: 10 commits2026-09-20: 8 commits2026-09-21: 51 commits2026-09-22: 40 commits2026-09-23: 41 commits2026-09-24: 20 commits2026-09-25: 0 commits2026-09-26: 0 commits
4,079 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    10,425 stars

  • Breakout launch

    10,425 stars in 115 days

  • Very active

    4,079 commits in 52 weeks

  • Community-driven

    ~265 contributors

  • Permissive license

    Apache-2.0

  • Continuous integration

    Automated checks passing

  • Repeat trending

    4 trending appearances

What omnigent does

Omnigent provides a powerful orchestration layer designed to unify the management and execution of diverse AI agents, including Claude Code, Codex, and custom implementations. It allows developers to seamlessly swap or combine different agent harnesses without rewriting their underlying workflows. The platform ensures strict policy enforcement, robust sandboxing, and real-time collaboration capabilities across multiple interfaces, such as the terminal, browser, and a native macOS desktop application. By acting as a central hub, it enables complex multi-agent supervision where specialized models can collaborate or review each other's output securely.

Developers, AI researchers, and teams requiring a unified, secure platform to manage, orchestrate, and collaborate with multiple AI coding agents.

  • Multi-agent supervision: Orchestrates multiple distinct AI models within a single session, allowing them to collaborate or review each other's work.
  • Universal access layer: Synchronizes sessions seamlessly across terminal, web browser, and mobile interfaces for continuous workflows.
  • Strict policy enforcement: Provides robust sandboxing and centralized policy controls to safely manage how agents interact with the system.
  • Native desktop client: Includes a dedicated macOS application for managing pinned sessions, grouped projects, and active agent instances.
  • Pluggable harness architecture: Allows developers to swap underlying agent implementations without modifying the core application code.

Where teams use it

Cross-platform development

A developer starts an agent coding session in their terminal and seamlessly continues reviewing the progress on their phone.

Multi-agent review

An engineer instructs a custom agent to write a specific module and orchestrates Claude Code to automatically review the resulting pull request.

Secure enterprise deployment

A company deploys the meta-harness to enforce strict data sandboxing policies while providing various teams access to different specialized LLMs.

Workflow consolidation

A power user manages dozens of distinct AI agent sessions related to various projects from a single, unified native desktop interface.

Getting started: Download the macOS desktop app from omnigent.ai or clone the repository to run the orchestration layer locally.

README

main branch

Omnigent

The open-source meta-harness for all your AI agents.

Omnigent is an open-source meta-harness that gives you a common orchestration layer over Claude Code, Codex, Cursor, OpenCode, Hermes, Pi, and the agents you write yourself: swap or combine harnesses without rewriting, enforce policies and sandboxing, and collaborate in real time from any device — terminal, browser, phone, or the native desktop app.

PyPI version License: Apache 2.0 Discord Status: alpha

omnigent.ai · ⬇️ Download the macOS desktop app

The Omnigent desktop app: starting a new session, with pinned and project-grouped sessions in the sidebar


Why Omnigent?

Omnigent lets you:

  • 📱 Work with agents from any device, including your phone. Sessions follow you: start in your terminal, continue in the browser, pick it up on your phone. Messages, sub-agents, terminals, and files stay in sync.

  • 🤖 Supervise multiple agents. Mix Claude Code, Codex, Cursor, OpenCode, Hermes, Pi, and custom agents (defined in YAML) together in the same session. Ask one agent to review another's work, or split a task across agents that are each good at different things.

  • 🔌 Use any model. A first-party API key, a Claude/ChatGPT subscription, or any compatible gateway. All first-class.

  • 🤝 Collaborate. Share a session so teammates can chat with your agent and watch it work live, co-drive it on your machine, or fork the conversation to continue on their own.

  • ☁️ Run agents in cloud sandboxes. No laptop required: run sessions in disposable Modal, Daytona, Blaxel, Islo, E2B, Gensee, CoreWeave, Kubernetes, OpenShell, Boxlite, microsandbox, or Databricks sandboxes, launched from the CLI or provisioned by the server per session (managed hosts).

  • 🛡️ Govern your agents. Create policies to pause for your approval before risky actions, cap spend, or limit which tools an agent reaches. They apply to the whole server, one agent, or a single chat.


Quick start

1. Install

One command installs Omnigent and everything it needs:

curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh
Optional integrations and extras

Need an optional integration? Pass one or more extras to the installer:

curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh -s -- --extra databricks
curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh -s -- --extra modal,e2b

Available user-facing extras include:

  • Model providers: databricks, bedrock, vertex
  • Sandbox providers: modal, daytona, blaxel, boxlite, microsandbox, cwsandbox, e2b, openshell, kubernetes
  • SDK harnesses: antigravity, copilot, cursor, agents-sdk
  • Storage and memory: s3, hindsight
Prefer to install manually?

Omnigent needs Python 3.12+. Install the omnigent package:

uv tool install omnigent        # or: pip install "omnigent"

Manual installs use the same extras syntax, for example:

uv tool install "omnigent[databricks,modal]"

Or with Homebrew:

brew install omnigent-ai/tap/omnigent

For source builds on networks that require package mirrors, replace these example URLs with your mirrors:

HOMEBREW_PIP_INDEX_URL='https://pypi.example.com/simple' \
HOMEBREW_CARGO_INDEX_URL='https://cargo.example.com/index/' \
  brew install --build-from-source omnigent-ai/tap/omnigent

The PyPI setting also routes pip's isolated build dependencies through the mirror. The Cargo setting takes a sparse registry index URL ending in /, without the sparse+ prefix. Both overrides are optional and do not affect prebuilt-bottle installs.

Or install straight from the repo:

uv tool install -q --python 3.12 git+https://github.com/omnigent-ai/omnigent.git
Toolchain and prerequisites (if the installer reports a missing tool)
  • uv (required). https://docs.astral.sh/uv/getting-started/installation/ The installer offers to set this up for you.
  • git (required).
  • Node.js 22 LTS or newer with npm (for the coding-harness CLIs installed by omnigent run) and pnpm (for the web UI). You can get both from a single Node install; pnpm is available via corepack enable or npm install -g pnpm.
  • Devin CLI (optional), for omnigent devin: install with curl -fsSL https://cli.devin.ai/install.sh | bash, then sign in with devin auth login. Devin tool approvals appear as Chat approval cards (its PermissionRequest hook is mirrored to the web UI) and stay answerable in the embedded Terminal. See docs/devin-native.md.
  • Kiro CLI (optional), for omnigent kiro: install with curl -fsSL https://cli.kiro.dev/install | bash, then sign in with Kiro. Kiro tool approvals stay answerable in the embedded Terminal; supported one-time approvals also appear as Chat cards. See docs/kiro-native-elicitation.md.
  • tmux, required by the native omnigent <harness> terminal wrappers (claude, codex, cursor, devin, hermes, kiro, pi) (brew install tmux / apt install tmux; the installer offers to install it for you).
  • bubblewrap (bwrap), Linux only. The native omnigent <harness> terminal wrappers and the pi harness wrap each agent terminal in a bwrap OS-sandbox; on Linux that isolation is mandatory, so a missing bwrap binary makes those terminals fail to start (apt install bubblewrap; the installer offers to install it for you). macOS uses the built-in seatbelt sandbox and needs nothing extra.
  • Databricks (optional). To use a Databricks workspace as your model provider, install Omnigent with the databricks extra: uv tool install "omnigent[databricks]" — or pass it to the bootstrap installer with ... | sh -s -- --extra databricks. Signing in to the workspace also uses the Databricks CLI.
Windows (native)

Omnigent runs natively on Windows in a degraded mode. The install_oss.sh bootstrap is POSIX-only, so install with uv directly:

uv tool install --python 3.12 omnigent
# or from the repo:
uv tool install --python 3.12 git+https://github.com/omnigent-ai/omnigent.git

What works on Windows: omnigent server, the web UI, and the SDK-based harnesses (omnigent run <agent.yaml> with the claude-sdk / cursor / codex harnesses). Agents run under a Windows Job Object for process-tree containment.

What is not available on Windows (use Linux/macOS, or WSL, for these):

  • the native omnigent claude / omnigent codex / omnigent cursor tmux/PTY terminal wrappers (run an SDK harness or the web UI instead);
  • bwrap/seatbelt filesystem & network sandboxing and the L7 egress proxy — the Job Object backend contains the process tree and enforces resource limits but does not isolate the filesystem or network.
Updating to a new release

When a newer release is on PyPI, Omnigent shows a one-line notice (once per release) pointing here. To update:

omni upgrade            # detects how you installed, drains & stops the local
                        # server, then runs the matching upgrade command
omni upgrade --check    # just report whether a newer release is available

omni upgrade waits for in-flight agent sessions to finish before stopping the local server (pass --force to stop them immediately); the next omni command brings the server back up on the new version. Source checkouts update with git pull instead. Silence the notice with OMNIGENT_NO_UPDATE_CHECK=1.

The check queries your configured package index — honoring UV_INDEX_URL / PIP_INDEX_URL and your uv.toml / pip.conf (default PyPI), so private mirrors work out of the box; override with OMNIGENT_INDEX_URL if needed.

Uninstalling Omnigent

Preview the CLI/profile cleanup that would run by default:

omnigent uninstall

Remove the CLI and installer-managed PATH entries while keeping your local history, credentials, and projects:

omnigent uninstall --yes

To also remove Omnigent state under ~/.omnigent, pass --purge; Omnigent backs it up outside the target before deletion. Your ~/omnigent workspace is kept unless you explicitly add --purge-workspace.

omnigent uninstall --purge --yes

If the installed wheel is broken or omnigent is not on PATH, run the standalone script instead:

curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/uninstall_oss.sh | sh

Add --yes to the standalone script to perform the previewed CLI cleanup.

2. Start your first agent

omnigent picks a model with you and starts a session in your terminal. It also launches a local web UI at http://localhost:6767 that shows the same session in the browser, or on a phone on your network (step 4). The desktop app wraps that same UI in a native window and adds OS notifications (with a configurable sound) and a dock badge — download it for macOS.

Note

The install puts two names for the same CLI on your PATH: omnigent and the shorter omni. They're interchangeable.

Tip

On first run, Omnigent picks up model credentials already in your environment (an ANTHROPIC_API_KEY / OPENAI_API_KEY, or a claude / codex CLI you're logged into) and offers one as the default.

omnigent

Or launch a specific agent runtime:

omnigent claude                      # Claude Code, in a session your team can join
omnigent codex                       # Codex
omnigent cursor                      # Cursor
omnigent agy                         # Antigravity
omnigent opencode                    # OpenCode
omnigent hermes                      # Hermes Agent (Nous Research)
omnigent pi                          # Pi

omnigent agy requires agy 1.1.13 or newer. When GEMINI_API_KEY is set, direct Gemini API authentication takes precedence over agy's saved OAuth login.

Using OpenClaw? See the OpenClaw integration guide to import its coding agents or drive a live OpenClaw Gateway session over ACP.

Grok Build and Devin

Two more coding agents are built in but have no omnigent <name> launcher of their own, because each ships a CLI that holds its own login. Install the vendor CLI, log in with it, then name the harness:

# Grok Build (xAI)
curl -fsSL https://x.ai/cli/install.sh | bash
grok login --device-auth              # xAI OAuth
omnigent run --harness grok           # 'grok-build' also works

# Devin (Cognition)
curl -fsSL https://cli.devin.ai/install.sh | bash
devin auth login
omnigent run --harness devin

Both speak the Agent Client Protocol over stdio, and Omnigent stores no credential for either — each CLI reads back the login it wrote to disk. That also means --model is refused rather than silently dropped: both run their account-default model. To pin one, configure an acp: agent whose command passes the vendor's own model flag.

Use the vendor login rather than an API key. A builtin ACP row has no env_passthrough of its own, and XAI_API_KEY is not in the host-to-runner credential allowlist, so exporting it in your shell does not reach the agent. If you need the key route, pass it explicitly with OMNIGENT_RUNNER_ENV_PASSTHROUGH=XAI_API_KEY, or configure an acp: agent that declares the passthrough.

🐙 Polly and 🟠🔵 Debby

Two example agents ship with the repo, and they make good first sessions:

omnigent run examples/polly/
omnigent run examples/debby/
omnigent run examples/deep-research/

# ...or on a different harness (sub-agents keep their own):
omnigent run examples/polly/ --harness <harness>
omnigent run examples/debby/ --harness <harness>

🐙 Polly is a multi-agent coding orchestrator who writes no code herself. She's the tech lead: she plans, delegates the work to coding sub-agents (Claude Code, Codex, or Pi) in parallel git worktrees, then routes each diff to a reviewer from a different vendor than the one that wrote it. You merge.

🟠🔵 Debby is a brainstorming partner with two heads, one Claude and one GPT. Every question you ask goes to both heads, and she lays the two answers out side by side. Type /debate and the heads critique each other for a few rounds before converging. (She needs both a Claude and an OpenAI credential; see step 3.)

🔎 Deep Research is a single agent that answers a question with a cited, cross-checked report. It plans sub-queries, searches the live web and reads full pages through an MCP search server, and verifies each claim across independent sources. It's also the simplest example to copy from: one agent plus one tools/mcp/*.yaml server, no sub-agents.

Prefer the browser? One command starts the local server and registers this machine as a host:

omnigent start   # starts the local server and registers this machine as a host

Open the server URL it prints, hit New Chat, pick your machine, and go. Check status with omnigent server status; stop everything with omnigent stop.

To suppress the automatic browser tab, use omni host --no-open or set OMNIGENT_HOST_NO_OPEN=1 in your shell. Both also apply to omni host --background and omni start. Sign-in may still open a browser; use --non-interactive in scripts to fail if sign-in is required.

Customize automatic session titles

Set additional natural-language requirements for the isolated title generator:

omnigent config set --global \
  'session_title_instructions=Prefix titles with the current date as lowercase mon-dd. Use PR-number-short-name for pull requests, issue-number-short-description for issues, and a short snake_case activity otherwise.'

The title generator receives the current date as YYYY-MM-DD, then applies these requirements to the first user message. The setting is server-owned and does not alter an agent's portable instructions. Default generated titles are limited to 100 characters; custom title requirements may use up to 200. Default titles over 100 characters are rejected, leaving the first-message fallback title in place. Custom titles over 200 characters are truncated with a trailing ellipsis. Manually assigned titles are also limited to 200 characters. The setting applies after the local Omnigent server restarts, both to new sessions and to later agent-initiated renames through sys_session_rename. Agent proposals are formatted using the same title requirements; if formatting fails, the existing title is preserved. Manual renames remain unchanged. For longer instructions, edit ~/.omnigent/config.yaml directly and use a YAML block scalar:

session_title_instructions: |
  Prefix every title with the current date as lowercase mon-dd.
  For pull requests use mon-dd-PR-number-short-name.
  For issues use mon-dd-issue-number-short-description.
  For other work use mon-dd-short_snake_case_activity.

Server operators can set the same key in the YAML passed to omnigent server --config.

3. Choose & switch models

omnigent setup

Add a credential, set a default, or remove one, grouped by agent. Omnigent works with four kinds of credentials:

Kind What it is
🔑 API key A first-party vendor key for Anthropic, OpenAI, and similar providers
🎟️ Subscription A Claude Pro/Max or ChatGPT plan, via the official claude / codex CLIs
🌐 Gateway Any OpenAI- or Anthropic-compatible base_url and key (OpenRouter, LiteLLM, Ollama, vLLM, Azure)
🧱 Databricks A Databricks workspace profile (requires the databricks extra)

Defaults are per agent, so a Claude default and a Codex default coexist. You can also switch models in the middle of a session with the /model command.

Gateway base URLs (OpenRouter, Ollama)

When you add a Gateway credential, omnigent setup asks for a base URL and a key. The base URL depends on which agent you point it at:

Provider For Base URL Key
OpenRouter Claude Code https://openrouter.ai/api your OpenRouter key (sk-or-…)
OpenRouter Codex / OpenAI agents https://openrouter.ai/api/v1 your OpenRouter key (sk-or-…)
Ollama (local) Codex / OpenAI agents http://localhost:11434/v1 any value (Ollama ignores it)

For Claude Code, point at OpenRouter's Anthropic-compatible endpoint (…/api, not …/api/v1). For Codex and the OpenAI-agents harness, use the OpenAI-compatible …/api/v1.

4. Deploy a server (and use it from your phone📱)

Run Omnigent on a server with a stable URL (deploy/README.md is the full guide) and your sessions become reachable from anywhere, including your phone. The web UI is built for mobile, so you get the same chat, sub-agents, terminals, and files, in sync with your laptop.

One docker compose up runs the server on any host you have (a VPS, a home server); Render and Railway deploy with one click; Fly.io, Hugging Face Spaces, Modal, Cloudflare (serverless, scale-to-zero), and Databricks Apps (backed by Lakebase Postgres and Unity Catalog Volumes) are covered too — and a Cloudflare quick tunnel (public) or Tailscale (private) reaches a server running on your own laptop without a deploy. The server can also provision a cloud sandbox per session (managed hosts), so no laptop has to stay online. The full menu of targets, the database options, the sandbox setup, and branding/white-labeling live in deploy/README.md.

Once the server is up, sign in and register your laptop as a host:

omnigent login https://your-host    # sign in once; run / attach / host reuse the token
omnigent host  https://your-host    # new sessions can now run on this machine

Tip

On your own network you don't need a deploy. Open your machine's LAN address on your phone (e.g. http://192.168.x.x:6767).

5. Collaborate with your team

Omnigent supports multi-user accounts, controlled by one environment variable:

OMNIGENT_AUTH_ENABLED=1 omnigent server --background

The Docker deploy in step 4 turns it on for you (OMNIGENT_AUTH_ENABLED defaults to 1 there).

Invite your teammates

Open the web UI (http://localhost:6767 locally, or your host's URL) and sign in as admin; first run prints the password and saves it locally. Then open Admin → Members → Invite to create a single-use invite link, no email server needed. Send it over; your teammate opens it, sets a password, and they're in. Signup is invite-only.

Note

Teammates need to be able to reach the server. A local server is only reachable on your network; for anyone off it, deploy an always-on host (see step 4).

Code together
  • Share a live session. Hit Share in the web UI and send the link; teammates watch your agent work and chat with it in real time.

  • Leave a shared session. Done with a session someone shared with you? Pick Leave session from its sidebar row menu to drop it from your sidebar. Nothing is deleted — the owner keeps it and can share it again.

  • Co-drive. A teammate co-attaches to your running session; their messages execute on your machine. Great for pairing or handing the keyboard to a domain expert mid-investigation.

    omnigent attach <session_id>
  • Fork. Clone a conversation onto your own machine and continue independently from the fork point.

    omnigent run --fork <session_id>

Tip

Want your team to sign in with the logins they already have (Google, GitHub, Okta, Microsoft)? Set OMNIGENT_OIDC_ISSUER plus a client ID and secret on your deployed server and restart. The full walkthrough, domain allowlists, and the proxy-only header auth mode are covered in deploy/README.md#auth.

6. Govern your agents with policies

Policies decide what an agent may do: run shell commands, edit files, spend tokens. They check every action and either allow it, block it, or pause to ask you first.

  • In the web UI: open a session's info panel to browse the available policies and toggle them on or off.
  • In chat: ask. "Add a policy that asks me before running shell commands." The agent sets it up for you.

Want defaults that apply to everyone, or to a specific agent? Define them in your server config or an agent's YAML:

policies:
  approve_shell:
    type: function
    handler: omnigent.policies.builtins.safety.ask_on_os_tools   # ask before shell / file writes
  cap_calls:
    type: function
    handler: omnigent.policies.builtins.safety.max_tool_calls_per_session
    factory_params:
      limit: 50                    # cap how many tools one session can call
  budget:
    type: function
    handler: omnigent.policies.builtins.cost.cost_budget
    factory_params:
      max_cost_usd: 5.00           # hard spend cap...
      ask_thresholds_usd: [3.00]   # ...with a soft warning on the way

Policies stack across three levels, server-wide (admin), per-agent (developer), and per-session (you), with the stricter session rules checked first. Spend caps and access limits ship as builtins.

See the policy guide for the full catalog and trust model.


Write your own agent

An agent is a short YAML file: your prompt, your tools — local Python functions, MCP servers, and sub-agents a supervisor can delegate to. You don't have to write it by hand: agents can build agents, so describe the agent you want in any Omnigent chat and it authors the file for you.

name: my_agent
prompt: You are a helpful data analyst.

executor:
  harness: claude-sdk          # or: claude-native, codex, codex-native, cursor,
                               # cursor-native, hermes, hermes-native, opencode,
                               # pi, pi-native, openai-agents

tools:
  # A local Python function (schema auto-generated from the signature)
  word_count:
    type: function
    callable: mypackage.mymodule.word_count

  # Tools from an MCP server (a local command, or a remote URL)
  docs:
    type: mcp
    url: https://example.com/mcp

  # A sub-agent the supervisor can delegate to
  researcher:
    type: agent
    prompt: Search for relevant information and summarize it.
    tools:
      word_count: inherit

Run it with:

omnigent run path/to/my_agent.yaml

The same file can declare sub-agents and reviewers. For a fuller example, see Polly at examples/polly/, and the Agent YAML spec for the full schema.


Telemetry

Omnigent collects anonymized usage data (telemetry) by default. This data contains no sensitive or personally identifiable information. If you're using Omnigent through a managed service or distribution, please consult your managed service agreement to determine any data collection that may impact your use of the service. To opt out, follow our instructions in Usage Telemetry.


Contributing

Contributions are welcome. See CONTRIBUTING.md for how to set up your environment, run the checks, and open a pull request.

Adding or changing support for a harness (Claude, Codex, Cursor, OpenCode, Hermes, Pi, ...)? Run the harness test bench to check its capability matrix against observed behavior.

Contributors

Thanks to all of our amazing contributors!

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

17 total
  1. v0.15.0v0.15.0Sep 24, 2026

    ## Major new features - 🤖 **Devin runs as a native harness.** `omni devin` now mirrors the real Devin TUI into the web UI, similar to the Claude Code and Codex native harnesses! ([#7595](https://github.com/omnigent-ai/omnigent/pull/7595), [#7501](https://github.com/omnigent-ai/omnigent/pull/7501), [@dhruv0811](https://github.com/dhruv0811)) - 🗂️ **Curated model catalogs everywhere.** Pi, custom ACP agents, and managed Kubernetes / Agent Sandbox sessions can show configured model shortlists — with per-harness gateways and optional live gateway discovery ([#7713](https://github.com/omnigent-ai/omnigent/pull/7713), [#7716](https://github.com/omnigent-ai/omnigent/pull/7716), [#7783](https://github.com/omnigent-ai/omnigent/pull/7783), [#7007](https://github.com/omnigent-ai/omnigent/pull/7007), [@dhruv0811](https://github.com/dhruv0811), [@stpu](https://github.com/stpu)) - 📎 **A richer composer.** Preview attached images before sending, attach more types of files to Claude Code and Codex sessions, and manage queued messages and active sub-agent work directly from the Composer. Additionally, skills are discoverable with `/` (or `$` for Codex) from the new session page. ([#7492](ht

  2. v0.14.0v0.14.0Sep 15, 2026

    ## Major new features - 🔀 **Work across GitHub repositories:** track multiple PRs in one session, switch between their summaries and diffs, and link or unlink PRs manually. Start managed sandboxes with multiple repositories and branches, cloned in parallel. (#6935, #6995) - 🎛️ **A smoother chat interface:** configure workspace, agent, model, effort, and permissions in the redesigned composer. Find sessions with fuzzy search, open the model picker from the keyboard, and inspect running background commands from the task badge. (#6345, #7226, #7413, #7061) - 🪟 **Better Claude context management:** Claude SDK sessions now show context-window usage and support `/compact` for native compaction, including with Claude Pro/Max logins. (#6119) - 🗄️ **Expanded sandbox and database support:** provision managed sandboxes through Gensee, run Kubernetes sandboxes on dedicated node pools using tolerations, and use CockroachDB as Omnigent's application database. (#7229, #6881, #6360) ## Bug fixes - 🔁 Pending approvals and requests for user input remain usable after server or runner restarts, and plans remain visible. (#6696, #6964, #6629) - ↩️ Codex sessions resume more reliably,

  3. v0.13.0v0.13.0Sep 9, 2026

    ## Major new features - 🐙 A new GitHub panel in the session workspace rail shows the branch's PR — summary, comments, CI checks, and a stacked diff with a file-tree navigator — refreshing live as the agent pushes; pick a private repo to clone in New Chat, split Summary/Changes tabs, and authenticate git and `gh` as your own connected account inside the sandbox. (#6145, #6311, #6366, #6380, #6678, #6680, #6795) - 🎨 Canvas is now a built-in page: a per-project board of draggable session cards with live status, worktree branches, and PR links, where you can open transcripts or start new sessions right from the board. (#6753, #6396) - 📦 New managed-sandbox providers — run each host in a local libkrun microVM (`sandbox.provider: microsandbox`) with sub-second boots and in-place resume, or as self-reclaiming Kubernetes agent-sandbox resources that stay alive while an agent runs, suspend when idle, and resume with their workspace intact; sandboxes that remain offline can also be reaped automatically. (#2875, #6230, #6127) - ⚡ Sessions feel instant — new conversations open immediately while the server catches up, sidebar rows label themselves with your first prompt and highlight on cli

  4. v0.12.0v0.12.0Sep 1, 2026

    - 📥 Import your existing local CLI sessions: pull recent Claude Code, Codex, and other CLI conversations straight into Omnigent from the web UI, keeping each one's original title. (#5401, #5400) - 📁 Projects now drive new sessions: name a `project_id` at creation to inherit the project's agent, workspace, and git defaults, move a session into a project from its title's folder tag, and project-started sessions now use the configured agent and directory instead of silently swapping it. (#5315, #5316, #5698) - 📱 Refreshed mobile and wide-screen UI: a ChatGPT-style mobile drawer, full-screen mobile search, better use of ultra-wide displays, appearance export/import, a heavier code-font option, a markdown table of contents, and a configurable Enter/⌘-Enter send shortcut. (#5427, #5507, #5502, #3723, #5431, #5550, #5831) - 🔌 More harnesses, more model control: Antigravity lands with the `omni agy` shortcut and `agy-native` aliases, Devin and Grok Build now show up in the New Chat picker, the pi harness takes a reasoning-effort setting (including mid-session `/effort`), self-hosted models like Ollama and vLLM get custom per-token pricing, setup offers a "Pi — use own login" option,

  5. v0.11.0v0.11.0Aug 25, 2026

    ## Major new features - 🎛️ Take full control of native harnesses: switch Claude Code permission modes live (Manual, Auto, Accept edits, Plan) with shift+tab or from settings, `/rename` syncs back to the UI, model pickers now show exactly what the claude/codex CLI reports, and Codex sessions can run at Max/Ultra reasoning. (#4018, #4104, #5022, #5217) - ⏱️ Automations get real guardrails: scheduled tasks can cap LLM spend per firing with `max_cost_usd` and set a Claude Code permission mode (e.g. Accept edits, Bypass permissions) per task. (#4791, #5346) - ⌨️ A faster web and desktop flow: Cmd/Ctrl+N starts a new session anywhere (including the macOS app), ⌘K and session-switch hotkeys stay live in the terminal and composer, the task tracker moves inline as a collapsible "Plan (N/M)" card, and a new session actions menu sits beside the chat title. (#4840, #5271, #5036, #5248) - 🎨 Give projects an emoji icon: from the New project dialog, the project header, the sidebar, or the Rename modal. (#5099, #5170, #5209) ## Bug fixes - 🔌 Sessions and terminals now ride out server restarts and network blips: in-progress sessions no longer flip to "Runner disconnected", the embedd

Commits per week

last 52 weeks
4980Week of 2025-09-28: 0 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 14 commitsWeek of 2026-06-14: 498 commitsWeek of 2026-06-21: 345 commitsWeek of 2026-06-28: 247 commitsWeek of 2026-07-05: 200 commitsWeek of 2026-07-12: 262 commitsWeek of 2026-07-19: 212 commitsWeek of 2026-07-26: 386 commitsWeek of 2026-08-02: 305 commitsWeek of 2026-08-09: 147 commitsWeek of 2026-08-16: 113 commitsWeek of 2026-08-23: 264 commitsWeek of 2026-08-30: 348 commitsWeek of 2026-09-06: 289 commitsWeek of 2026-09-13: 289 commitsWeek of 2026-09-20: 160 commitsSep 28, 2025Sep 20, 2026
4.1K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 5 commitsSun 1:00 — 2 commitsSun 2:00 — 2 commitsSun 3:00 — 1 commitsSun 4:00 — 2 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 1 commitsSun 8:00 — 4 commitsSun 9:00 — 3 commitsSun 10:00 — 2 commitsSun 11:00 — 7 commitsSun 12:00 — 6 commitsSun 13:00 — 4 commitsSun 14:00 — 9 commitsSun 15:00 — 9 commitsSun 16:00 — 6 commitsSun 17:00 — 7 commitsSun 18:00 — 9 commitsSun 19:00 — 6 commitsSun 20:00 — 16 commitsSun 21:00 — 8 commitsSun 22:00 — 17 commitsSun 23:00 — 26 commitsMon 0:00 — 21 commitsMon 1:00 — 10 commitsMon 2:00 — 9 commitsMon 3:00 — 15 commitsMon 4:00 — 7 commitsMon 5:00 — 6 commitsMon 6:00 — 12 commitsMon 7:00 — 7 commitsMon 8:00 — 8 commitsMon 9:00 — 11 commitsMon 10:00 — 47 commitsMon 11:00 — 30 commitsMon 12:00 — 34 commitsMon 13:00 — 35 commitsMon 14:00 — 58 commitsMon 15:00 — 54 commitsMon 16:00 — 65 commitsMon 17:00 — 44 commitsMon 18:00 — 43 commitsMon 19:00 — 40 commitsMon 20:00 — 38 commitsMon 21:00 — 65 commitsMon 22:00 — 28 commitsMon 23:00 — 24 commitsTue 0:00 — 25 commitsTue 1:00 — 19 commitsTue 2:00 — 12 commitsTue 3:00 — 10 commitsTue 4:00 — 11 commitsTue 5:00 — 6 commitsTue 6:00 — 8 commitsTue 7:00 — 19 commitsTue 8:00 — 16 commitsTue 9:00 — 18 commitsTue 10:00 — 16 commitsTue 11:00 — 31 commitsTue 12:00 — 25 commitsTue 13:00 — 41 commitsTue 14:00 — 58 commitsTue 15:00 — 78 commitsTue 16:00 — 58 commitsTue 17:00 — 55 commitsTue 18:00 — 57 commitsTue 19:00 — 34 commitsTue 20:00 — 18 commitsTue 21:00 — 32 commitsTue 22:00 — 31 commitsTue 23:00 — 35 commitsWed 0:00 — 25 commitsWed 1:00 — 26 commitsWed 2:00 — 13 commitsWed 3:00 — 19 commitsWed 4:00 — 16 commitsWed 5:00 — 15 commitsWed 6:00 — 13 commitsWed 7:00 — 8 commitsWed 8:00 — 14 commitsWed 9:00 — 19 commitsWed 10:00 — 31 commitsWed 11:00 — 42 commitsWed 12:00 — 36 commitsWed 13:00 — 53 commitsWed 14:00 — 69 commitsWed 15:00 — 67 commitsWed 16:00 — 60 commitsWed 17:00 — 72 commitsWed 18:00 — 37 commitsWed 19:00 — 31 commitsWed 20:00 — 29 commitsWed 21:00 — 48 commitsWed 22:00 — 38 commitsWed 23:00 — 40 commitsThu 0:00 — 43 commitsThu 1:00 — 32 commitsThu 2:00 — 16 commitsThu 3:00 — 12 commitsThu 4:00 — 8 commitsThu 5:00 — 10 commitsThu 6:00 — 9 commitsThu 7:00 — 7 commitsThu 8:00 — 24 commitsThu 9:00 — 24 commitsThu 10:00 — 25 commitsThu 11:00 — 35 commitsThu 12:00 — 39 commitsThu 13:00 — 40 commitsThu 14:00 — 44 commitsThu 15:00 — 57 commitsThu 16:00 — 65 commitsThu 17:00 — 68 commitsThu 18:00 — 69 commitsThu 19:00 — 40 commitsThu 20:00 — 27 commitsThu 21:00 — 20 commitsThu 22:00 — 30 commitsThu 23:00 — 34 commitsFri 0:00 — 18 commitsFri 1:00 — 13 commitsFri 2:00 — 9 commitsFri 3:00 — 5 commitsFri 4:00 — 10 commitsFri 5:00 — 13 commitsFri 6:00 — 9 commitsFri 7:00 — 20 commitsFri 8:00 — 25 commitsFri 9:00 — 25 commitsFri 10:00 — 28 commitsFri 11:00 — 36 commitsFri 12:00 — 37 commitsFri 13:00 — 43 commitsFri 14:00 — 48 commitsFri 15:00 — 68 commitsFri 16:00 — 70 commitsFri 17:00 — 57 commitsFri 18:00 — 48 commitsFri 19:00 — 43 commitsFri 20:00 — 25 commitsFri 21:00 — 23 commitsFri 22:00 — 29 commitsFri 23:00 — 30 commitsSat 0:00 — 19 commitsSat 1:00 — 10 commitsSat 2:00 — 2 commitsSat 3:00 — 2 commitsSat 4:00 — 1 commitsSat 5:00 — 3 commitsSat 6:00 — 0 commitsSat 7:00 — 4 commitsSat 8:00 — 5 commitsSat 9:00 — 4 commitsSat 10:00 — 8 commitsSat 11:00 — 4 commitsSat 12:00 — 7 commitsSat 13:00 — 4 commitsSat 14:00 — 3 commitsSat 15:00 — 2 commitsSat 16:00 — 12 commitsSat 17:00 — 19 commitsSat 18:00 — 16 commitsSat 19:00 — 15 commitsSat 20:00 — 16 commitsSat 21:00 — 8 commitsSat 22:00 — 5 commitsSat 23:00 — 6 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Jun 17, 2026daily#21+13
Jun 16, 2026daily#18+17
Jun 15, 2026daily#25+18
Jun 14, 2026daily#15+43
  • public-apis/public-apis

    A collective list of free APIs

    486.1K stars · Python

  • openclaw/openclaw

    The AI that really does things. Any OS. Any Platform. The lobster way. 🦞

    391.3K stars · TypeScript

  • donnemartin/system-design-primer

    Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

    373.2K stars · Python

  • obra/superpowers

    An agentic skills framework & software development methodology that works.

    295.2K stars · Shell

  • practical-tutorials/project-based-learning

    Curated list of project-based tutorials

    285.8K stars · Python

  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    272.8K stars · JavaScript