Copied to Clipboard
and the dashboard exposes actions like:
await this.api('/codex/config/proxy', { method: 'POST' });
await this.api('/api/tools/install/codex', { method: 'POST' });
So instead of editing files manually, I can open the panel, click install if a tool is missing, then click configure.
The part I wanted most
I did not want a generic "tool manager."
I wanted a very specific workflow:
- install Claude Code, Codex, Gemini CLI, or OpenClaw
- point each one at the same local gateway
- launch the tool without leaving the dashboard
That is what the page does now.
For example, the Codex side boils down to these settings:
chatgpt_base_url = "http://localhost:8081/backend-api/"
openai_base_url = "http://localhost:8081"
Claude Code gets its localhost base URL, Gemini CLI gets patched for proxy mode, and OpenClaw gets its provider block written with the same target.
Why this is better than another README section
I already had setup docs.
The problem was not missing information. The problem was repetition.
Every time I switched machines, reset a config, or wanted to try another CLI, I was doing the same boring setup work again.
Once I moved that into the product, the project became easier to try and easier to keep using.
Who this is actually for
If you use one tool with one API key, this is probably unnecessary.
If you keep bouncing between Claude Code, Codex, Gemini CLI, or OpenClaw, the friction adds up fast. That is the use case this page fixes.
If you've built a similar setup layer for AI tooling, I'm curious what you automated first: install, auth, config, or routing.