v0.1.0 — Unified Provider Architecture
What's New
agentabi v0.1.0 — a unified async Python API for driving coding agent CLIs.
Supported Agents
| Agent | Provider(s) | Transport |
|---|---|---|
| Claude Code | ClaudeNativeProvider → ClaudeSDKProvider |
subprocess (JSONL) / SDK |
| Codex | CodexSDKProvider |
SDK |
| Gemini CLI | GeminiNativeProvider → GeminiSDKProvider |
subprocess (stream-json) / SDK |
| OpenCode | OpenCodeNativeProvider |
subprocess |
Highlights
- Flat Provider model with fallback chain registry (native → SDK)
- Async-first Session API with
run(),stream(), andrun_sync()convenience wrapper - Standard IR event format — all agents emit the same event types (
session_start,message_delta,tool_use,usage, etc.) - Agent discovery —
detect_agents()finds installed CLIs,get_agent_capabilities()reports features - GeminiNativeProvider — subprocess-based provider bypassing the unreliable
gemini-cli-sdk, parsing Gemini CLI'sstream-jsonoutput directly - 119 unit tests + 16 integration tests across all providers
Quick Start
from agentabi import Session
# Async
session = Session(agent="claude_code")
result = await session.run(prompt="Fix the bug in auth.py")
# Streaming
async for event in session.stream(prompt="Explain this code"):
if event["type"] == "message_delta":
print(event["text"], end="")
# Sync convenience
from agentabi import run_sync
result = run_sync(prompt="List Python files", agent="codex")
# Discovery
from agentabi import detect_agents
agents = detect_agents() # ["claude_code", "codex", ...]Install
pip install agentabi # core only
pip install agentabi[claude] # with Claude SDK
pip install agentabi[all] # all optional SDKsEach agent's CLI must be installed separately (e.g.,
claude,codex,gemini,opencode).
What's Next (v0.2.0)
- ACP (Agent Client Protocol) provider for JSON-RPC over stdio
- A2A server wrapper