v0.29.0 — Bring your own agent
The AI assistant is no longer Claude-only. Point it at whichever coding CLI you already have — Claude Code, Codex, or Google Antigravity (agy) — and it runs on that CLI's own sign-in. No API key to paste, and none stored.
🔌 Three harnesses, one assistant
- Codex (local CLI) — runs
codex execwith model-validated structured output, conversation resume, and hermetic runs (--ignore-user-config, read-only sandbox). Verified live against codex-cli 0.146.0. - Antigravity (local CLI) — Google's
agy, streaming structured output with conversation resume. Verified live against agy 1.1.8. - Claude Code (local CLI) — unchanged, and still the only harness that grounds answers against your live database over MCP.
- Pick one in Settings → AI — each row detects the CLI on your
PATHand shows its version ("Detected · codex-cli 0.146.0"), or the sign-in command if it isn't set up yet. - Your keys stay out of it —
OPENAI_API_KEY,GEMINI_API_KEY, andGOOGLE_API_KEYare dropped from the child process environment. Bring-your-own-harness means the CLI's own auth, nothing else.
⚠️ What Codex and Antigravity can't do yet
Both ship chat-only: schema-aware answers, generated SQL, charts and metric cards — but no live database grounding, and no grounded badge. Headless codex exec auto-cancels MCP tool calls regardless of approval policy (openai/codex#24135), and agy's MCP permissions are config-file-based with only a blanket skip-permissions override. Rather than fake it, the assistant is told it has no live access, so its answers stay honest.
The MCP plumbing is built and tested for both, one capability flag away from lighting up when upstream approval handling lands. Claude Code is unaffected — grounded chat still streams and still shows the badge.
🧱 Under the hood
The Claude-only harness code became a HarnessAdapter seam, mirroring the existing DatabaseAdapter pattern: a generic runner (spawn, PATH resolution, timeouts, JSONL buffering, temp schema files), one orchestrator holding the validation and grounded-ness rules, and a small adapter per CLI. The next harness is one file.
Sessions are now provider-aware, so switching harness mid-chat starts a fresh conversation instead of failing to resume. Every adapter is tested against real captured output from the CLI it drives.
Full Changelog: v0.28.3...v0.29.0
Free for personal use · MIT source · macOS / Windows / Linux · https://datapeek.dev