Skip to content

Multi Provider Runtime

Oleg Miagkov edited this page Jul 13, 2026 · 2 revisions

Multi-provider / CLI runner — design (8 phases)

Source: docs/roadmap/implementation-phases.md. ← Overview

This is design documentation (deliverables are .md files). The actual runner and provider-parity implementation lives on the Non-Claude autonomy roadmap.

Legend: ✅ done · 🚧 in progress · ⬜ planned

Phase Topic Status
1 Provider Abstraction Enhancement ✅ Design Complete
2 Claude SDK vs OpenAI compatibility ✅ Design Complete
3 MCP integration for OpenAI ✅ Design Complete
4 Security wrapper ✅ Design Complete
5 Model mapping ✅ Design Complete
6 Configuration & UX ✅ Design Complete
7 Roadmap & Testing 🚧 In Progress
8 Multi-CLI Runner Support 🚧 In Progress

What each phase covers

  • Phase 1 — Provider Abstraction. Extend AIEngineProvider for OpenAI while staying compatible with Claude SDK / LiteLLM / OpenRouter; feature-detection API (ProviderFeature, supports_feature()).
  • Phase 2 — Compatibility. Analyze tool-calling differences (input_schema vs parameters), stateful (Claude) vs stateless (OpenAI) sessions, porting the security model. Blocks Phase 4.
  • Phase 3 — MCP for OpenAI. MCP protocol client + schema translator MCP ↔ OpenAI function calling.
  • Phase 4 — Security wrapper. A universal wrapper (sandbox, permissions, hooks, allowlist) over non-Claude providers; auth abstraction (OAuth + API keys). Depends on Phase 2.
  • Phase 5 — Model mapping. Map models by tier (GPT ↔ Opus/Sonnet/Haiku), fallback strategy, graceful degradation.
  • Phase 6 — Configuration & UX. Env schema (AI_ENGINE_PROVIDER, OPENAI_API_KEY…), provider/model selection UI, key masking, connection testing.
  • Phase 7 — Roadmap & Testing. 🚧 Test strategy (unit/integration/E2E provider switching) + migration guide.
  • Phase 8 — Multi-CLI Runner. 🚧 Common runner contract (AgentRunner, ReviewRunner, RunnerCapabilities, RunnerRegistry); first-class (Codex, Claude Code, Gemini, Aider, CodeRabbit), strategic (Copilot CLI, Cursor CLI, Z.AI), generic CLI; runner-aware fallback; runner settings UI.

Related documents

Clone this wiki locally