Observed since 20 Oct, 17:51 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
ACAIAgent — a model-agnostic layer for the Claude Agent SDK. Switch models mid-session without losing context. Bring your own models.
A model-agnostic layer for the Claude Agent SDK. Switch models mid-session without losing context. Bring your own models.
ACAIAgent = Any-CLI AI Agent
Status (v0.1): mid-session model switching verified end-to-end on Zhipu GLM (BigModel) — a fact planted on glm-4.5-air is recalled correctly after switching to glm-5.2 and back, in one session. MiniMax-M3 direct also verified on claude-agent-sdk 0.2.110 (no proxy, no OAuth gate). Other Anthropic-format endpoints should work direct; OpenAI/Gemini/local go through a LiteLLM proxy for format translation — see docs/providers.md.
The Claude Agent SDK (and Claude Code) is brilliant — but it's welded to one endpoint and a fixed set of model aliases per session. Want to answer a quick question on a cheap model, then switch to a long-context model to read your whole project, then back? You either restart and lose the conversation, or run a resident proxy.
If you're on GLM / Qwen / DeepSeek / MiniMax / a local model — i.e. not the Anthropic-default world — this hurts more, because no single model is always the right one.
ACAIAgent is a thin wrapper around claude_agent_sdk.query() that puts the model router in your hands:
/model <key> keeps your full history.~/.acaiagent/memory/) — not tied to Claude Code.CLAUDE.md and Claude Code skills automatically.git clone https://github.com/arronfly/ACAIAgent.git
cd ACAIAgent
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
acaiagent init # interactive: pick providers, write config
acaiagent doctor # verify claude CLI + keys + endpoints
acaiagent # start the REPL
Note: the
claude-agent-sdkpackage bundles its ownclaudebinary, so you usually don't need to install anything else.acaiagent doctorverifies it's found.
Then in the REPL:
you: help me refactor this function
acaiagent: ... # uses your default model
you: /model glm-strong # switch to a stronger model — history stays
you: now write the tests for it # continues with full context, on glm-strong
Copy the template and edit:
cp config/models.yaml.example config/models.yaml
models:
glm-strong:
base_url: https://open.bigmodel.cn/api/anthropic
model: glm-5.2
auth_env: GLM_AUTH_TOKEN # key read from env / .env, never committed
minimax:
base_url: https://api.minimax.io/anthropic
model: MiniMax-M3
auth_env: MINIMAX_AUTH_TOKEN
default: glm-strong
Add a model = add one entry. That's it. See config/models.yaml.example for the full provider list and docs/providers.md for the LiteLLM-proxy path (OpenAI / Gemini / local models).
init wizard + doctor self-check/model + keyword rules)Built by someone who runs Claude Code on GLM-5.2 because the Anthropic API isn't easy to reach from where I sit. If you're on GLM / Qwen / DeepSeek / MiniMax / a local model, ACAIAgent is for you — dogfooded from exactly that seat.
MIT — see LICENSE. The Claude Agent SDK is © Anthropic and governed by its own terms; ACAIAgent is an independent wrapper and is not affiliated with Anthropic.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.3.0 | 6 Jul 2026 | 4 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 17:51 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:c9d2561e33b5e5cf8129ef8200c5335d8c81db6c26614759ea3d7210a456f3ce