{"slug": "meta-harness-by-databricks-and-neon", "title": "Meta-Harness by Databricks and Neon", "summary": "Omnigent launched an open-source platform that provides a unified layer over AI coding agents like Claude Code, Codex, and Pi, enabling users to swap or combine harnesses, enforce policies and sandboxing, and collaborate in real time from any device. The platform supports multi-agent supervision, any model provider, cloud sandboxes, and governance policies, with one-command installation via curl, pip, or Homebrew.", "body_md": "Omnigent provides a common layer over Claude Code, Codex, Pi, and the agents you write yourself: swap or combine harnesses without rewriting, keep them in check with policies and sandboxing, and collaborate in real time on the same live session, from any device.\n\nOmnigent lets you:\n\n-\n**📱 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. -\n**🤖 Supervise multiple agents.** Use Claude Code, Codex, 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. -\n**🔌 Use any model.** A first-party API key, a Claude/ChatGPT subscription, or any compatible gateway. All first-class. -\n**🤝 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. -\n**☁️ Run agents in cloud sandboxes.** No laptop required: run sessions in disposable[Modal](https://modal.com)or[Daytona](https://www.daytona.io)sandboxes, launched from the CLI or provisioned by the server per session (*managed hosts*). More providers coming soon. -\n**🛡️ Govern your agents.** Create[policies](#6-govern-your-agents-with-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.\n\nOne command installs Omnigent and everything it needs:\n\n```\ncurl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh\n```\n\n## Prefer to install manually?\n\nOmnigent needs **Python 3.12+**. Install the `omnigent`\n\npackage:\n\n```\nuv tool install omnigent        # or: pip install \"omnigent\"\n```\n\nOr with [Homebrew](https://github.com/omnigent-ai/homebrew-tap):\n\n```\nbrew install omnigent-ai/tap/omnigent\n```\n\nOr install straight from the repo:\n\n```\nuv tool install -q --python 3.12 git+https://github.com/omnigent-ai/omnigent.git\n```\n\n## Toolchain and prerequisites (if the installer reports a missing tool)\n\n(required).`uv`\n\n[https://docs.astral.sh/uv/getting-started/installation/](https://docs.astral.sh/uv/getting-started/installation/)The installer offers to set this up for you.(required).`git`\n\n**Node.js 22 LTS or newer** with, for the Claude, Codex, and Pi coding harnesses.`npm`\n\n`omnigent run`\n\ninstalls the harness CLI you pick.[https://docs.npmjs.com/downloading-and-installing-node-js-and-npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm), required by the native`tmux`\n\n`omnigent claude`\n\n/`omnigent codex`\n\nwrappers (`brew install tmux`\n\n/`apt install tmux`\n\n; the installer offers to install it for you).**Databricks**(optional). To use a Databricks workspace as your model provider, install Omnigent with the`databricks`\n\nextra:`uv tool install \"omnigent[databricks]\"`\n\n. Signing in to the workspace also uses the[Databricks CLI](https://docs.databricks.com/aws/en/dev-tools/cli/install).\n\n`omnigent`\n\npicks a model with you and starts a session in your terminal. It\nalso launches a local web UI at `http://localhost:6767`\n\nthat shows the same\nsession in the browser, or on a phone on your network (step 4). The\n[desktop app](https://omnigent.ai/docs/interact/desktop) wraps that same UI\nin a native window and adds OS notifications and a dock badge —\n[download it for macOS](https://omnigent.ai/download/mac).\n\nNote\n\nThe install puts two names for the same CLI on your PATH: `omnigent`\n\nand\nthe shorter `omni`\n\n. They're interchangeable.\n\nTip\n\nOn first run, Omnigent picks up model credentials already in your\nenvironment (an `ANTHROPIC_API_KEY`\n\n/ `OPENAI_API_KEY`\n\n, or a `claude`\n\n/\n`codex`\n\nCLI you're logged into) and offers one as the default.\n\n```\nomnigent\n```\n\nOr launch a specific agent runtime, or your own agent:\n\n```\nomnigent claude                      # Claude Code, in a session your team can join\nomnigent codex                       # Codex\nomnigent run path/to/agent.yaml      # your own agent (see \"Write your own agent\")\n```\n\nTwo example agents ship with the repo, and they make good first sessions:\n\n```\nomnigent run examples/polly/\nomnigent run examples/debby/\n\n# Run an orchestrator on a different harness (sub-agents keep their own):\nomnigent run examples/polly/ --harness pi\nomnigent run examples/debby/ --harness openai-agents\n```\n\n**🐙 Polly** is a multi-agent coding orchestrator who writes no code herself.\nShe's the tech lead: she plans, delegates the work to coding sub-agents\n(Claude Code, Codex, or Pi) in parallel git worktrees, then routes each diff\nto a reviewer from a different vendor than the one that wrote it. You merge.\n\n**🟠🔵 Debby** is a brainstorming partner with two heads, one Claude and one GPT.\nEvery question you ask goes to both heads, and she lays the two answers out\nside by side. Type `/debate`\n\nand the heads critique each other for a few\nrounds before converging. (She needs both a Claude and an OpenAI credential;\nsee step 3.)\n\n**Prefer the browser?** Start a server and register your machine as a host:\n\n```\nomnigent server start   # start the local server and web UI in the background\nomnigent host           # (separate terminal) register this machine as a host\n```\n\nIn the web UI, hit **New Chat**, pick your machine, and go. Check status with\n`omnigent server status`\n\n; stop everything with `omnigent stop`\n\n.\n\n```\nomnigent setup\n```\n\nAdd a credential, set a default, or remove one, grouped by agent. Omnigent works with four kinds of credentials:\n\n| Kind | What it is | |\n|---|---|---|\n| 🔑 | API key |\nA first-party vendor key for Anthropic, OpenAI, and similar providers |\n| 🎟️ | Subscription |\nA Claude Pro/Max or ChatGPT plan, via the official `claude` / `codex` CLIs |\n| 🌐 | Gateway |\nAny OpenAI- or Anthropic-compatible `base_url` and key (OpenRouter, LiteLLM, Ollama, vLLM, Azure) |\n| 🧱 | Databricks |\nA Databricks workspace profile (requires the `databricks` extra) |\n\nDefaults are per agent, so a Claude default and a Codex default coexist. You\ncan also switch models in the middle of a session with the `/model`\n\ncommand.\n\n## Gateway base URLs (OpenRouter, Ollama)\n\nWhen you add a **Gateway** credential, `omnigent setup`\n\nasks for a base URL\nand a key. The base URL depends on which agent you point it at:\n\n| Provider | For | Base URL | Key |\n|---|---|---|---|\nOpenRouter |\nClaude Code | `https://openrouter.ai/api` |\nyour OpenRouter key (`sk-or-…` ) |\nOpenRouter |\nCodex / OpenAI agents | `https://openrouter.ai/api/v1` |\nyour OpenRouter key (`sk-or-…` ) |\nOllama (local) |\nCodex / OpenAI agents | `http://localhost:11434/v1` |\nany value (Ollama ignores it) |\n\nFor Claude Code, point at OpenRouter's Anthropic-compatible endpoint\n(`…/api`\n\n, **not** `…/api/v1`\n\n). For Codex and the OpenAI-agents harness, use\nthe OpenAI-compatible `…/api/v1`\n\n.\n\nRun Omnigent on a server with a stable URL\n([ deploy/README.md](https://github.com/omnigent-ai/omnigent/blob/main/deploy/README.md) is the full guide) and your sessions\nbecome reachable from anywhere, including your phone. The web UI is built for\nmobile, so you get the same chat, sub-agents, terminals, and files, in sync\nwith your laptop.\n\nOne `docker compose up`\n\nruns the server on any host you have (a VPS, a home\nserver); Render deploys with one click; Fly.io, Railway, Hugging Face Spaces,\nand Modal are covered too. The server can also provision a cloud sandbox per\nsession (*managed hosts*), so no laptop has to stay online. The full menu of\ntargets, the database options, and the sandbox setup live in\n[ deploy/README.md](https://github.com/omnigent-ai/omnigent/blob/main/deploy/README.md).\n\nOnce the server is up, sign in and register your laptop as a host:\n\n```\nomnigent login https://your-host    # sign in once; run / attach / host reuse the token\nomnigent host  https://your-host    # new sessions can now run on this machine\n```\n\nTip\n\nOn your own network you don't need a deploy. Open your machine's LAN\naddress on your phone (e.g. `http://192.168.x.x:6767`\n\n).\n\nOmnigent supports **multi-user accounts**, controlled by one environment\nvariable:\n\n```\nOMNIGENT_AUTH_ENABLED=1 omnigent server start\n```\n\nThe **Docker deploy in step 4\nturns it on for you** (\n\n`OMNIGENT_AUTH_ENABLED`\n\ndefaults to `1`\n\nthere).Open the web UI (`http://localhost:6767`\n\nlocally, or your host's URL) and\nsign in as `admin`\n\n; first run prints the password and saves it locally. Then\nopen **Admin → Members → Invite** to create a single-use invite link, no\nemail server needed. Send it over; your teammate opens it, sets a password,\nand they're in. Signup is invite-only.\n\nNote\n\nTeammates need to be able to reach the server. A local server is only\nreachable on your network; for anyone off it, deploy an always-on host\n(see [step 4](#4-deploy-a-server-and-use-it-from-your-phone)).\n\n-\n**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. -\n**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.\n\n```\nomnigent attach <session_id>\n```\n\n-\n**Fork.** Clone a conversation onto your own machine and continue independently from the fork point.\n\n```\nomnigent run --fork <session_id>\n```\n\nTip\n\nWant your team to sign in with the logins they already have (**Google,\nGitHub, Okta, Microsoft**)? Set `OMNIGENT_OIDC_ISSUER`\n\nplus a client ID\nand secret on your deployed server and restart. The full walkthrough,\ndomain allowlists, and the proxy-only `header`\n\nauth mode are covered in\n[ deploy/README.md#auth](https://github.com/omnigent-ai/omnigent/blob/main/deploy/README.md#auth).\n\n**Policies** decide what an agent may do: run shell commands, edit files,\nspend tokens. They check every action and either allow it, block it, or pause\nto ask you first.\n\n**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.\n\nWant defaults that apply to everyone, or to a specific agent? Define them in your server config or an agent's YAML:\n\n```\npolicies:\n  approve_shell:\n    type: function\n    handler: omnigent.policies.builtins.safety.ask_on_os_tools   # ask before shell / file writes\n  cap_calls:\n    type: function\n    handler: omnigent.policies.builtins.safety.max_tool_calls_per_session\n    factory_params:\n      limit: 50                    # cap how many tools one session can call\n  budget:\n    type: function\n    handler: omnigent.policies.builtins.cost.cost_budget\n    factory_params:\n      max_cost_usd: 5.00           # hard spend cap...\n      ask_thresholds_usd: [3.00]   # ...with a soft warning on the way\n```\n\nPolicies stack across three levels, **server-wide** (admin), **per-agent**\n(developer), and **per-session** (you), with the stricter session rules\nchecked first. Spend caps and access limits ship as builtins.\n\nSee the [policy guide](https://github.com/omnigent-ai/omnigent/blob/main/docs/POLICIES.md) for the full catalog and trust model.\n\nAn agent is a short YAML file: your prompt, your tools, and optional helper 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.\n\n```\nname: my_agent\nprompt: You are a helpful data analyst.\n\nexecutor:\n  harness: claude-sdk          # or: codex, codex-native, claude-native, openai-agents, pi\n\ntools:\n  # A local Python function (schema auto-generated from the signature)\n  word_count:\n    type: function\n    callable: mypackage.mymodule.word_count\n\n  # A sub-agent the supervisor can delegate to\n  researcher:\n    type: agent\n    prompt: Search for relevant information and summarize it.\n    tools:\n      word_count: inherit\n```\n\nRun it with:\n\n```\nomnigent run path/to/my_agent.yaml\n```\n\nThe same file can declare sub-agents and reviewers. For a fuller example, see\nPolly at [ examples/polly/](https://github.com/omnigent-ai/omnigent/tree/main/examples/polly/), and the\n\n[Agent YAML spec](https://github.com/omnigent-ai/omnigent/blob/main/docs/AGENT_YAML_SPEC.md)for the full schema.\n\nContributions are welcome. See [CONTRIBUTING.md](https://github.com/omnigent-ai/omnigent/blob/main/CONTRIBUTING.md) for how to set up your environment, run the checks, and open a pull request.", "url": "https://wpnews.pro/news/meta-harness-by-databricks-and-neon", "canonical_source": "https://github.com/omnigent-ai/omnigent", "published_at": "2026-06-14 11:17:19+00:00", "updated_at": "2026-06-14 11:41:56.856083+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools", "ai-infrastructure", "ai-safety"], "entities": ["Omnigent", "Claude Code", "Codex", "Pi", "Databricks", "Modal", "Daytona", "Homebrew"], "alternates": {"html": "https://wpnews.pro/news/meta-harness-by-databricks-and-neon", "markdown": "https://wpnews.pro/news/meta-harness-by-databricks-and-neon.md", "text": "https://wpnews.pro/news/meta-harness-by-databricks-and-neon.txt", "jsonld": "https://wpnews.pro/news/meta-harness-by-databricks-and-neon.jsonld"}}