mirror of
https://github.com/katanemo/plano.git
synced 2026-04-29 02:46:28 +02:00
feat: add Codex and OpenCode routers with multi-provider support and updated configurations
This commit is contained in:
parent
69d650a4e5
commit
5d35a3ae18
8 changed files with 347 additions and 4 deletions
102
demos/llm_routing/codex_router/README.md
Normal file
102
demos/llm_routing/codex_router/README.md
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
# Codex Router - Multi-Model Access with Intelligent Routing
|
||||
|
||||
Plano extends Codex to access multiple LLM providers through a single interface and route coding requests to the best configured model.
|
||||
|
||||
## Benefits
|
||||
|
||||
- **Single Interface**: Use Codex while routing through Plano
|
||||
- **Task-Aware Routing**: Route requests based on coding task intent
|
||||
- **Provider Flexibility**: Mix OpenAI, Anthropic, and local models behind one endpoint
|
||||
- **Routing Transparency**: Inspect exactly which model served each request
|
||||
|
||||
## How It Works
|
||||
|
||||
Plano sits between Codex and configured providers:
|
||||
|
||||
```text
|
||||
Your Request -> Codex -> Plano -> Selected Model -> Response
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Prerequisites
|
||||
|
||||
```bash
|
||||
# Install Codex CLI
|
||||
npm install -g @openai/codex
|
||||
|
||||
# Ensure Docker is running
|
||||
docker --version
|
||||
```
|
||||
|
||||
### 1) Enter this demo directory
|
||||
|
||||
```bash
|
||||
cd demos/llm_routing/codex_router
|
||||
```
|
||||
|
||||
### 2) Set API keys
|
||||
|
||||
```bash
|
||||
export OPENAI_API_KEY="your-openai-key-here"
|
||||
export ANTHROPIC_API_KEY="your-anthropic-key-here"
|
||||
```
|
||||
|
||||
### 3) Start Plano
|
||||
|
||||
```bash
|
||||
# Install with uv (recommended)
|
||||
uv tool install planoai
|
||||
planoai up
|
||||
|
||||
# Or if already installed with uv
|
||||
uvx planoai up
|
||||
```
|
||||
|
||||
### 4) Launch Codex through Plano
|
||||
|
||||
```bash
|
||||
planoai cli-agent codex
|
||||
# Or if installed with uv:
|
||||
uvx planoai cli-agent codex
|
||||
```
|
||||
|
||||
The Codex launcher integration configures:
|
||||
|
||||
```bash
|
||||
OPENAI_BASE_URL=http://127.0.0.1:12000/v1
|
||||
OPENAI_API_KEY=test
|
||||
```
|
||||
|
||||
If `arch.codex.default` exists in `model_aliases`, `planoai cli-agent codex` automatically starts Codex with:
|
||||
|
||||
```bash
|
||||
codex -m arch.codex.default
|
||||
```
|
||||
|
||||
## Monitor Routing Decisions
|
||||
|
||||
In a second terminal:
|
||||
|
||||
```bash
|
||||
sh pretty_model_resolution.sh
|
||||
```
|
||||
|
||||
This prints `MODEL_RESOLUTION` lines so you can see request model -> resolved model mappings in real time.
|
||||
|
||||
## Advanced Usage
|
||||
|
||||
### Override Codex model for a session
|
||||
|
||||
```bash
|
||||
planoai cli-agent codex --settings='{"CODEX_MODEL":"openai/gpt-4.1-2025-04-14"}'
|
||||
```
|
||||
|
||||
### Context window guidance
|
||||
|
||||
Codex works best with a large context window. Use models/configuration that support at least 64k context when possible.
|
||||
|
||||
## Notes
|
||||
|
||||
- Plano's `default: true` model is only used when a client request does not specify a model.
|
||||
- If Codex sends an explicit model in requests, aliasing/routing rules decide the final upstream model.
|
||||
Loading…
Add table
Add a link
Reference in a new issue