@gaburieuru/claudio 0.25.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +343 -346
  2. package/dist/cli.mjs +96 -79
  3. package/dist/sdk.mjs +284 -61
  4. package/package.json +211 -211
package/README.md CHANGED
@@ -1,346 +1,343 @@
1
- <div align="center">
2
- <img src="docs/assets/openclaude-wordmark.svg" alt="Claudio — Open terminal for any LLM" width="830">
3
- </div>
4
-
5
- Claudio is an open-source coding-agent CLI for cloud and local model providers.
6
-
7
- Use OpenAI-compatible APIs, Gemini, GitHub Models, Codex OAuth, Codex, Ollama, Atomic Chat, and other supported backends while keeping one terminal-first workflow: prompts, tools, agents, MCP, slash commands, and streaming output.
8
-
9
- [![Security Policy](https://img.shields.io/badge/security-policy-0f766e)](SECURITY.md)
10
- [![License](https://img.shields.io/badge/license-MIT-2563eb)](LICENSE)
11
-
12
- [Quick Start](#quick-start) | [Setup Guides](#setup-guides) | [Providers](#supported-providers) | [Development](#development) | [VS Code Extension](#vs-code-extension) | [Community](#community)
13
-
14
- ## Why Claudio
15
-
16
- - One CLI across cloud APIs and local model backends — no per-provider tooling
17
- - Guided provider setup and saved profiles with `/provider`
18
- - Coding-agent workflows in one place: bash, file tools, grep, glob, agents, tasks, MCP, and web tools
19
- - A bundled VS Code extension for launch integration and theme support
20
-
21
- ## Quick Start
22
-
23
- ### Install
24
-
25
- Claudio requires Node.js `>=22.0.0` for npm installs and runtime. Bun is
26
- only needed for source builds and local development.
27
-
28
- ```bash
29
- npm install -g @gaburieuru/claudio@latest
30
- # or
31
- bun install -g @gaburieuru/claudio@latest
32
- ```
33
-
34
- If the install later reports `ripgrep not found`, install ripgrep system-wide and confirm `rg --version` works in the same terminal before starting Claudio.
35
-
36
- **Verify / troubleshoot installed version:**
37
-
38
- ```bash
39
- claudio --version
40
- npm view @gaburieuru/claudio dist-tags
41
- npm install -g @gaburieuru/claudio@latest
42
- ```
43
-
44
- ### Start
45
-
46
- ```bash
47
- claudio
48
- ```
49
-
50
- Inside Claudio:
51
-
52
- - run `/provider` for guided provider setup and saved profiles
53
- - run `/onboard-github` for GitHub Models onboarding
54
-
55
- > **Note:** Claudio does not automatically load project `.env` files. We recommend using the `/provider` command for setup, which saves provider profiles and credentials in `.openclaude-profile.json`. If you prefer environment variables, export them explicitly or run `claudio --provider-env-file .env` for provider/setup variables. Export runtime/debug knobs from your shell or launcher.
56
-
57
- ### Resume or fork a conversation
58
-
59
- Resume an existing conversation by session ID, or continue the most recent
60
- conversation in the current directory:
61
-
62
- ```bash
63
- claudio --resume <session-id>
64
- claudio --continue
65
- ```
66
-
67
- Add `--fork-session` to branch the conversation history into a new session ID
68
- instead of reusing the original transcript:
69
-
70
- ```bash
71
- claudio --resume <session-id> --fork-session
72
- claudio --continue --fork-session
73
- ```
74
-
75
- Forking is conversation branching only. It does not create filesystem isolation,
76
- copy your working tree, or create a git worktree branch.
77
-
78
- ### Background sessions
79
-
80
- Run long non-interactive prompts detached from the current terminal:
81
-
82
- ```bash
83
- claudio --bg "fix failing tests"
84
- claudio --bg --name auth-refactor "refactor auth middleware"
85
- claudio ps
86
- claudio logs auth-refactor
87
- claudio logs auth-refactor -f
88
- claudio kill auth-refactor
89
- ```
90
-
91
- Background sessions are local child processes. Claudio does not start a daemon
92
- or network service, and permission/provider/model/settings flags are passed to
93
- the child process the same way they are for a foreground `--print` run. Session
94
- metadata and logs are stored under the resolved Claudio config directory,
95
- usually `~/.openclaude/bg-sessions/`; `OPENCLAUDE_CONFIG_DIR` can point
96
- Claudio somewhere else. `CLAUDE_CONFIG_DIR` is ignored for Claudio
97
- background-session storage. Session names can be reused after older sessions
98
- reach a terminal state; use the session ID to inspect older logs with the same
99
- name.
100
-
101
- `claudio attach <id-or-name>` currently reports the matching session and
102
- points to `claudio logs <id> -f`; full terminal reattach is not implemented
103
- for local background sessions yet.
104
-
105
- ### Claudio config cutover
106
-
107
- Claudio stores its own config under `~/.openclaude` and `~/.openclaude.json`
108
- by default. It does not read `~/.claude`, project `.claude/` directories, or
109
- `CLAUDE_CONFIG_DIR`; new users can start with an empty Claudio config and do
110
- not need Claude Code installed.
111
-
112
- If you previously used Claudio with `.claude` paths, migrate intentionally:
113
- copy only the settings, commands, agents, skills, scheduled tasks, or other files
114
- you personally created for Claudio into the matching `.openclaude` location.
115
- Do not blanket-copy `.claude`, and do not copy Claude Code credentials or auth
116
- files. For provider authentication, prefer running Claudio's provider setup
117
- again or exporting provider-specific environment variables.
118
-
119
- ### Fastest OpenAI setup
120
-
121
- macOS / Linux:
122
-
123
- ```bash
124
- export CLAUDE_CODE_USE_OPENAI=1
125
- export OPENAI_API_KEY=sk-your-key-here
126
- export OPENAI_MODEL=gpt-4o
127
-
128
- claudio
129
- ```
130
-
131
- Windows PowerShell:
132
-
133
- ```powershell
134
- $env:CLAUDE_CODE_USE_OPENAI="1"
135
- $env:OPENAI_API_KEY="sk-your-key-here"
136
- $env:OPENAI_MODEL="gpt-4o"
137
-
138
- claudio
139
- ```
140
-
141
- ### Fastest local Ollama setup
142
-
143
- macOS / Linux:
144
-
145
- ```bash
146
- export CLAUDE_CODE_USE_OPENAI=1
147
- export OPENAI_BASE_URL=http://localhost:11434/v1
148
- export OPENAI_MODEL=qwen2.5-coder:7b
149
-
150
- claudio
151
- ```
152
-
153
- Windows PowerShell:
154
-
155
- ```powershell
156
- $env:CLAUDE_CODE_USE_OPENAI="1"
157
- $env:OPENAI_BASE_URL="http://localhost:11434/v1"
158
- $env:OPENAI_MODEL="qwen2.5-coder:7b"
159
-
160
- claudio
161
- ```
162
-
163
- For Ollama, Claudio uses Ollama's native chat API and requests a 32768-token
164
- context window on each chat request so same-session history is not silently
165
- truncated by Ollama's OpenAI-compatible shim. Set `OPENCLAUDE_OLLAMA_NUM_CTX`
166
- or `OLLAMA_CONTEXT_LENGTH` if you need a different request-level context size.
167
- See [Advanced Setup](docs/advanced-setup.md#ollama-context-length) for
168
- verification with `ollama ps`.
169
-
170
- ## Setup Guides
171
-
172
- Beginner-friendly guides:
173
-
174
- - [Non-Technical Setup](docs/non-technical-setup.md)
175
- - [Windows Quick Start](docs/quick-start-windows.md)
176
- - [macOS / Linux Quick Start](docs/quick-start-mac-linux.md)
177
-
178
- Advanced and source-build guides:
179
-
180
- - [Advanced Setup](docs/advanced-setup.md)
181
- - [Smart Auto-Routing](docs/smart-routing.md)
182
- - [Agent Routing and Step Limits](docs/agent-routing.md)
183
- - [Headless gRPC Server](docs/grpc-server.md)
184
- - [Repo Map (codebase intelligence)](docs/repo-map.md)
185
- - [Android Install](ANDROID_INSTALL.md)
186
-
187
- ## Supported Providers
188
-
189
- | Provider | Setup Path | Notes |
190
- | --- | --- | --- |
191
- | OpenAI-compatible | `/provider` or env vars | Works with OpenAI, OpenRouter, DeepSeek, Groq, Mistral, LM Studio, and other compatible `/v1` servers |
192
- | Z.AI GLM Coding Plan | `/provider` or OpenAI-compatible env vars | Uses `OPENAI_API_KEY` at `https://api.z.ai/api/coding/paas/v4` and defaults to `glm-5.2` |
193
- | AI/ML API | `/provider` or `AIMLAPI_API_KEY` ([setup guide](docs/aimlapi-setup.md)) | Uses `https://api.aimlapi.com/v1`, auto-detects the OpenAI-compatible route from `AIMLAPI_API_KEY`, sends Claudio attribution headers, and discovers chat-capable models from the public `/models` catalog |
194
- | Hicap | `/provider` or OpenAI-compatible env vars | Uses `api-key` auth, discovers models from unauthenticated `/models`, and supports Responses mode for `gpt-` models |
195
- | Fireworks AI | `/provider` or env vars | First-class provider with 276 curated models (DeepSeek, Qwen, Llama, Gemma, and more); uses `FIREWORKS_API_KEY` |
196
- | ClinePass | `/provider` or env vars | AI model gateway with usage limits (5hr, weekly, monthly); uses `CLINE_API_KEY` at `https://api.cline.bot/api/v1` |
197
- | Gemini | `/provider` or env vars | Supports API key only |
198
- | GitHub Models | `/onboard-github` | Interactive onboarding with saved credentials |
199
- | Codex OAuth | `/provider` | Opens ChatGPT sign-in in your browser and stores Codex credentials securely |
200
- | Codex | `/provider` | Uses existing Codex CLI auth, Claudio secure storage, or env credentials |
201
- | Gitlawb Opengateway | Startup default, `/provider`, or env vars | Smart gateway at `https://opengateway.gitlawb.com/v1`; requires an API key from https://gitlawb.com/opengateway/keys and routes Xiaomi MiMo and GMI Cloud partner models by `OPENAI_MODEL` |
202
- | OpenCode Zen | `/provider` or env vars | Pay-as-you-go AI gateway (48 models); uses `OPENCODE_API_KEY` via `https://opencode.ai/zen/v1`; shared key with OpenCode Go |
203
- | OpenCode Go | `/provider` or env vars | $10/mo subscription for open models (13 models); uses `OPENCODE_API_KEY` via `https://opencode.ai/zen/go/v1`; shared key with OpenCode Zen |
204
- | Xiaomi MiMo | `/provider` or env vars | OpenAI-compatible API at `https://mimo.mi.com`; uses `MIMO_API_KEY` and defaults to `mimo-v2.5-pro` |
205
- | NEAR AI | `/provider` or env vars | Unified gateway (Claude, GPT, Gemini + TEE open models); uses `NEARAI_API_KEY` at `https://cloud-api.near.ai/v1` |
206
- | Cloudflare Workers AI | `/provider` or env vars | OpenAI-compatible API at `https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai/v1`; uses `CLOUDFLARE_API_TOKEN`. Replace `<ACCOUNT_ID>` with your Cloudflare account id. |
207
- | Ollama | `/provider` or env vars | Local inference with no API key |
208
- | Atomic Chat | `/provider`, env vars, or `bun run dev:atomic-chat` | Local Model Provider; auto-detects loaded models |
209
- | Bedrock / Vertex / Foundry | env vars | Anthropic-family cloud routes; Vertex is for Claude on Vertex AI, not arbitrary Model Garden models |
210
-
211
- ## What Works
212
-
213
- - **Tool-driven coding workflows**: Bash, file read/write/edit, grep, glob, agents, tasks, MCP, and slash commands
214
- - **Streaming responses**: Real-time token output and tool progress
215
- - **Tool calling**: Multi-step tool loops with model calls, tool execution, and follow-up responses
216
- - **Images**: URL and base64 image inputs for providers that support vision
217
- - **Provider profiles**: Guided setup plus saved user-level provider profile support
218
- - **Local and remote model backends**: Cloud APIs, local servers, and Apple Silicon local inference
219
- - **Codebase intelligence (repo map)**: Structural map of the repository ranked by PageRank importance, auto-injected into context when the `REPO_MAP` flag is enabled or the `REPO_MAP` environment variable is set. Inspect with `/repomap` (2048-token default). See [docs/repo-map.md](docs/repo-map.md) for details.
220
-
221
- ## Provider Notes
222
-
223
- Claudio supports multiple providers, but behavior is not identical across all of them.
224
-
225
- - Anthropic-specific features may not exist on other providers
226
- - Tool quality depends heavily on the selected model
227
- - Smaller local models can struggle with long multi-step tool flows
228
- - Some providers impose lower output caps than the CLI defaults, and Claudio adapts where possible
229
- - AI/ML API uses the OpenAI-compatible route, defaults to `gpt-4o`, and only surfaces chat-capable models from its public catalog
230
- - Gitlawb Opengateway is the fresh-install startup default and requires an API key from https://gitlawb.com/opengateway/keys. It uses one OpenAI-compatible base URL; switch between `mimo-*` and `google/gemini-3.1-flash-lite-preview` with `/model`, and do not pin the base URL to `/v1/xiaomi-mimo`.
231
- - Z.AI GLM Coding Plan uses `https://api.z.ai/api/coding/paas/v4` with `glm-5.2` by default. Use `glm-5.2?reasoning=high` for enhanced reasoning, `glm-5.2?reasoning=xhigh` to request Z.AI `reasoning_effort=max`, or `glm-5.2?thinking=disabled` for faster direct answers.
232
- - Xiaomi MiMo uses `api-key` header auth on the direct OpenAI-compatible route and currently does not support `/usage` reporting in Claudio
233
- - GitHub Copilot serializes sub-agent execution by default to reduce Premium Request consumption — see [Agent Routing and Step Limits](docs/agent-routing.md#github-copilot-sub-agent-optimization) for tuning
234
-
235
- For best results, use models with strong tool/function calling support.
236
-
237
- ## Agents
238
-
239
- Route different agents to different models (cost optimization, splitting work
240
- by model strength), cap sub-agent tool steps with `maxSteps`, and tune GitHub
241
- Copilot sub-agent behavior. All settings-driven:
242
-
243
- - per-agent provider/model overrides via `agentModels` + `agentRouting` in `~/.openclaude.json`
244
- - model-only routes that reuse your current provider's credentials
245
- - built-in agents (`Explore`, `Plan`, `verification`) routable by type name
246
-
247
- See [Agent Routing and Step Limits](docs/agent-routing.md) for the full guide.
248
-
249
- ## Web Search and Fetch
250
-
251
- By default, `WebSearch` works on non-Anthropic models using DuckDuckGo. This gives GPT-4o, DeepSeek, Gemini, Ollama, and other OpenAI-compatible providers a free web search path out of the box.
252
-
253
- > **Note:** DuckDuckGo fallback works by scraping search results and may be rate-limited, blocked, or subject to DuckDuckGo's Terms of Service. If you want a more reliable supported option, configure Firecrawl.
254
-
255
- For Anthropic-native backends and Codex responses, Claudio keeps the native provider web search behavior.
256
-
257
- `WebFetch` works, but its basic HTTP plus HTML-to-markdown path can still fail on JavaScript-rendered sites or sites that block plain HTTP requests.
258
-
259
- Set a [Firecrawl](https://firecrawl.dev) API key if you want Firecrawl-powered search/fetch behavior:
260
-
261
- ```bash
262
- export FIRECRAWL_API_KEY=your-key-here
263
- ```
264
-
265
- With Firecrawl enabled:
266
-
267
- - `WebSearch` can use Firecrawl's search API while DuckDuckGo remains the default free path for non-Claude models
268
- - `WebFetch` uses Firecrawl's scrape endpoint instead of raw HTTP, handling JS-rendered pages correctly
269
-
270
- Free tier at [firecrawl.dev](https://firecrawl.dev) includes 500 credits. The key is optional.
271
-
272
- ## Headless gRPC Server
273
-
274
- Claudio can run as a headless gRPC service with bidirectional streaming —
275
- integrate its agentic capabilities into other applications, CI/CD pipelines,
276
- or custom UIs. Start it with `npm run dev:grpc`; a test CLI client ships with
277
- the repo. See [Headless gRPC Server](docs/grpc-server.md) for configuration
278
- and client generation from `src/proto/openclaude.proto`.
279
-
280
- ## Development
281
-
282
- Use Node.js `>=22.0.0` and Bun `1.3.13` or newer for source builds.
283
-
284
- ```bash
285
- bun install
286
- bun run build
287
- node dist/cli.mjs
288
- ```
289
-
290
- Day-to-day commands:
291
-
292
- - `bun run dev` — build and launch from source
293
- - `bun test` — full unit suite (Bun's built-in runner)
294
- - `bun test path/to/file.test.ts` focused runs for the areas you touch
295
- - `bun run test:coverage` — coverage to `coverage/lcov.info` plus a visual report at `coverage/index.html` (`bun run test:coverage:ui` rebuilds just the UI)
296
- - `bun run smoke` smoke checks
297
- - `bun run doctor:runtime`, `bun run verify:privacy`, `bun run security:pr-scan -- --base origin/main`
298
-
299
- Focused suites: `bun run test:provider`, `bun run test:provider-recommendation`.
300
-
301
- Recommended validation before opening a PR:
302
-
303
- - `bun run build`
304
- - `bun run smoke`
305
- - `bun run test:coverage` when your change affects shared runtime or provider logic
306
- - focused `bun test ...` runs for the files and flows you changed
307
-
308
- ## Repository Structure
309
-
310
- - `src/` - core CLI/runtime
311
- - `scripts/` - build, verification, and maintenance scripts
312
- - `docs/` - setup, contributor, and project documentation
313
- - `vscode-extension/openclaude-vscode/` - VS Code extension
314
- - `.github/` - repo automation, templates, and CI configuration
315
- - `bin/` - CLI launcher entrypoints
316
-
317
- ## VS Code Extension
318
-
319
- The repo includes a VS Code extension in [`vscode-extension/openclaude-vscode`](vscode-extension/openclaude-vscode) for Claudio launch integration, provider-aware Control Center, in-editor chat, theme support, and optional **Microsoft Foundry / Azure OpenAI** configuration (endpoint, API version, deployment, API key via Secret Storage) injected into launched terminals. See that folder's [README](vscode-extension/openclaude-vscode/README.md).
320
-
321
- ## Security
322
-
323
- If you believe you found a security issue, see [SECURITY.md](SECURITY.md).
324
-
325
- ## Community
326
-
327
- - Use [GitHub Discussions](https://github.com/Gitlawb/openclaude/discussions) for Q&A, ideas, and community conversation
328
- - Use [GitHub Issues](https://github.com/Gitlawb/openclaude/issues) for confirmed bugs and actionable feature work
329
- - Join the [Discord](https://discord.gg/k68zFR6AcB) to chat with the community in real time
330
- - Follow [@gitlawb on X](https://x.com/gitlawb) for updates and announcements
331
-
332
- ## Contributing
333
-
334
- Contributions are welcome. For larger changes, open an issue first so the
335
- scope is clear before implementation. See [Development](#development) for the
336
- build, test, and pre-PR validation commands.
337
-
338
- ## Disclaimer
339
-
340
- Claudio is an independent community project and is not affiliated with, endorsed by, or sponsored by Anthropic.
341
-
342
- Claudio originated from the Claude Code codebase and has since been substantially modified to support multiple providers and open use. "Claude" and "Claude Code" are trademarks of Anthropic PBC. See [LICENSE](LICENSE) for details.
343
-
344
- ## License
345
-
346
- MIT for Claudio contributors' modifications; the derived Claude Code remains Anthropic's. [See more](LICENSE).
1
+ <div align="center">
2
+ <h1>Claudio</h1>
3
+ <p>Coding-agent CLI for cloud and local model providers</p>
4
+ </div>
5
+
6
+ Claudio is an open-source coding-agent CLI for cloud and local model providers.
7
+
8
+ Use OpenAI-compatible APIs, Gemini, GitHub Models, Codex OAuth, Codex, Ollama, Atomic Chat, and other supported backends while keeping one terminal-first workflow: prompts, tools, agents, MCP, slash commands, and streaming output.
9
+
10
+ [![Security Policy](https://img.shields.io/badge/security-policy-0f766e)](SECURITY.md)
11
+ [![License](https://img.shields.io/badge/license-MIT-2563eb)](LICENSE)
12
+
13
+ [Quick Start](#quick-start) | [Setup Guides](#setup-guides) | [Providers](#supported-providers) | [Development](#development) | [VS Code Extension](#vs-code-extension) | [Community](#community)
14
+
15
+ ## Why Claudio
16
+
17
+ - One CLI across cloud APIs and local model backends — no per-provider tooling
18
+ - Guided provider setup and saved profiles with `/provider`
19
+ - Coding-agent workflows in one place: bash, file tools, grep, glob, agents, tasks, MCP, and web tools
20
+ - A bundled VS Code extension for launch integration and theme support
21
+
22
+ ## Quick Start
23
+
24
+ ### Install
25
+
26
+ Claudio requires Node.js `>=22.0.0` for npm installs and runtime. Bun is
27
+ only needed for source builds and local development.
28
+
29
+ ```bash
30
+ npm install -g @gaburieuru/claudio@latest
31
+ # or
32
+ bun install -g @gaburieuru/claudio@latest
33
+ ```
34
+
35
+ If the install later reports `ripgrep not found`, install ripgrep system-wide and confirm `rg --version` works in the same terminal before starting Claudio.
36
+
37
+ **Verify / troubleshoot installed version:**
38
+
39
+ ```bash
40
+ claudio --version
41
+ npm view @gaburieuru/claudio dist-tags
42
+ npm install -g @gaburieuru/claudio@latest
43
+ ```
44
+
45
+ ### Start
46
+
47
+ ```bash
48
+ claudio
49
+ ```
50
+
51
+ Inside Claudio:
52
+
53
+ - run `/provider` for guided provider setup and saved profiles
54
+ - run `/onboard-github` for GitHub Models onboarding
55
+
56
+ > **Note:** Claudio does not automatically load project `.env` files. We recommend using the `/provider` command for setup, which saves provider profiles and credentials for you. If you prefer environment variables, export them explicitly or run `claudio --provider-env-file .env` for provider/setup variables. Export runtime/debug knobs from your shell or launcher.
57
+
58
+ ### Resume or fork a conversation
59
+
60
+ Resume an existing conversation by session ID, or continue the most recent
61
+ conversation in the current directory:
62
+
63
+ ```bash
64
+ claudio --resume <session-id>
65
+ claudio --continue
66
+ ```
67
+
68
+ Add `--fork-session` to branch the conversation history into a new session ID
69
+ instead of reusing the original transcript:
70
+
71
+ ```bash
72
+ claudio --resume <session-id> --fork-session
73
+ claudio --continue --fork-session
74
+ ```
75
+
76
+ Forking is conversation branching only. It does not create filesystem isolation,
77
+ copy your working tree, or create a git worktree branch.
78
+
79
+ ### Background sessions
80
+
81
+ Run long non-interactive prompts detached from the current terminal:
82
+
83
+ ```bash
84
+ claudio --bg "fix failing tests"
85
+ claudio --bg --name auth-refactor "refactor auth middleware"
86
+ claudio ps
87
+ claudio logs auth-refactor
88
+ claudio logs auth-refactor -f
89
+ claudio kill auth-refactor
90
+ ```
91
+
92
+ Background sessions are local child processes. Claudio does not start a daemon
93
+ or network service, and permission/provider/model/settings flags are passed to
94
+ the child process the same way they are for a foreground `--print` run. Session
95
+ metadata and logs are stored under the resolved Claudio config directory
96
+ (bg-sessions under your Claudio home config). You can override the config
97
+ root with an environment variable if needed. `CLAUDE_CONFIG_DIR` is ignored for Claudio
98
+ background-session storage. Session names can be reused after older sessions
99
+ reach a terminal state; use the session ID to inspect older logs with the same
100
+ name.
101
+
102
+ `claudio attach <id-or-name>` currently reports the matching session and
103
+ points to `claudio logs <id> -f`; full terminal reattach is not implemented
104
+ for local background sessions yet.
105
+
106
+ ### Claudio config cutover
107
+
108
+ Claudio stores its own config under a Claudio-specific home directory and
109
+ settings JSON by default. It does not read `~/.claude`, project `.claude/` directories, or
110
+ `CLAUDE_CONFIG_DIR`; new users can start with an empty Claudio config and do
111
+ not need Claude Code installed.
112
+
113
+ If you previously used Claudio with `.claude` paths, migrate intentionally:
114
+ copy only the settings, commands, agents, skills, scheduled tasks, or other files
115
+ you personally created for Claudio into the matching Claudio config location.
116
+ Do not blanket-copy `.claude`, and do not copy Claude Code credentials or auth
117
+ files. For provider authentication, prefer running Claudio's provider setup
118
+ again or exporting provider-specific environment variables.
119
+
120
+ ### Fastest OpenAI setup
121
+
122
+ macOS / Linux:
123
+
124
+ ```bash
125
+ export CLAUDE_CODE_USE_OPENAI=1
126
+ export OPENAI_API_KEY=sk-your-key-here
127
+ export OPENAI_MODEL=gpt-4o
128
+
129
+ claudio
130
+ ```
131
+
132
+ Windows PowerShell:
133
+
134
+ ```powershell
135
+ $env:CLAUDE_CODE_USE_OPENAI="1"
136
+ $env:OPENAI_API_KEY="sk-your-key-here"
137
+ $env:OPENAI_MODEL="gpt-4o"
138
+
139
+ claudio
140
+ ```
141
+
142
+ ### Fastest local Ollama setup
143
+
144
+ macOS / Linux:
145
+
146
+ ```bash
147
+ export CLAUDE_CODE_USE_OPENAI=1
148
+ export OPENAI_BASE_URL=http://localhost:11434/v1
149
+ export OPENAI_MODEL=qwen2.5-coder:7b
150
+
151
+ claudio
152
+ ```
153
+
154
+ Windows PowerShell:
155
+
156
+ ```powershell
157
+ $env:CLAUDE_CODE_USE_OPENAI="1"
158
+ $env:OPENAI_BASE_URL="http://localhost:11434/v1"
159
+ $env:OPENAI_MODEL="qwen2.5-coder:7b"
160
+
161
+ claudio
162
+ ```
163
+
164
+ For Ollama, Claudio uses Ollama's native chat API and requests a 32768-token
165
+ context window on each chat request so same-session history is not silently
166
+ truncated by Ollama's OpenAI-compatible shim. Set `OLLAMA_CONTEXT_LENGTH`
167
+ if you need a different request-level context size.
168
+ See [Advanced Setup](docs/advanced-setup.md#ollama-context-length) for
169
+ verification with `ollama ps`.
170
+
171
+ ## Setup Guides
172
+
173
+ Beginner-friendly guides:
174
+
175
+ - [Non-Technical Setup](docs/non-technical-setup.md)
176
+ - [Windows Quick Start](docs/quick-start-windows.md)
177
+ - [macOS / Linux Quick Start](docs/quick-start-mac-linux.md)
178
+
179
+ Advanced and source-build guides:
180
+
181
+ - [Advanced Setup](docs/advanced-setup.md)
182
+ - [Smart Auto-Routing](docs/smart-routing.md)
183
+ - [Agent Routing and Step Limits](docs/agent-routing.md)
184
+ - [Headless gRPC Server](docs/grpc-server.md)
185
+ - [Repo Map (codebase intelligence)](docs/repo-map.md)
186
+ - [Android Install](ANDROID_INSTALL.md)
187
+
188
+ ## Supported Providers
189
+
190
+ | Provider | Setup Path | Notes |
191
+ | --- | --- | --- |
192
+ | OpenAI-compatible | `/provider` or env vars | Works with OpenAI, OpenRouter, DeepSeek, Groq, Mistral, LM Studio, and other compatible `/v1` servers |
193
+ | Z.AI GLM Coding Plan | `/provider` or OpenAI-compatible env vars | Uses `OPENAI_API_KEY` at `https://api.z.ai/api/coding/paas/v4` and defaults to `glm-5.2` |
194
+ | AI/ML API | `/provider` or `AIMLAPI_API_KEY` ([setup guide](docs/aimlapi-setup.md)) | Uses `https://api.aimlapi.com/v1`, auto-detects the OpenAI-compatible route from `AIMLAPI_API_KEY`, sends Claudio attribution headers, and discovers chat-capable models from the public `/models` catalog |
195
+ | Hicap | `/provider` or OpenAI-compatible env vars | Uses `api-key` auth, discovers models from unauthenticated `/models`, and supports Responses mode for `gpt-` models |
196
+ | Fireworks AI | `/provider` or env vars | First-class provider with 276 curated models (DeepSeek, Qwen, Llama, Gemma, and more); uses `FIREWORKS_API_KEY` |
197
+ | ClinePass | `/provider` or env vars | AI model gateway with usage limits (5hr, weekly, monthly); uses `CLINE_API_KEY` at `https://api.cline.bot/api/v1` |
198
+ | Gemini | `/provider` or env vars | Supports API key only |
199
+ | GitHub Models | `/onboard-github` | Interactive onboarding with saved credentials |
200
+ | Codex OAuth | `/provider` | Opens ChatGPT sign-in in your browser and stores Codex credentials securely |
201
+ | Codex | `/provider` | Uses existing Codex CLI auth, Claudio secure storage, or env credentials |
202
+ | OpenCode Zen | `/provider` or env vars | Pay-as-you-go AI gateway (48 models); uses `OPENCODE_API_KEY` via `https://opencode.ai/zen/v1`; shared key with OpenCode Go |
203
+ | OpenCode Go | `/provider` or env vars | $10/mo subscription for open models (13 models); uses `OPENCODE_API_KEY` via `https://opencode.ai/zen/go/v1`; shared key with OpenCode Zen |
204
+ | Xiaomi MiMo | `/provider` or env vars | OpenAI-compatible API at `https://mimo.mi.com`; uses `MIMO_API_KEY` and defaults to `mimo-v2.5-pro` |
205
+ | NEAR AI | `/provider` or env vars | Unified gateway (Claude, GPT, Gemini + TEE open models); uses `NEARAI_API_KEY` at `https://cloud-api.near.ai/v1` |
206
+ | Cloudflare Workers AI | `/provider` or env vars | OpenAI-compatible API at `https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai/v1`; uses `CLOUDFLARE_API_TOKEN`. Replace `<ACCOUNT_ID>` with your Cloudflare account id. |
207
+ | Ollama | `/provider` or env vars | Local inference with no API key |
208
+ | Atomic Chat | `/provider`, env vars, or `bun run dev:atomic-chat` | Local Model Provider; auto-detects loaded models |
209
+ | Bedrock / Vertex / Foundry | env vars | Anthropic-family cloud routes; Vertex is for Claude on Vertex AI, not arbitrary Model Garden models |
210
+
211
+ ## What Works
212
+
213
+ - **Tool-driven coding workflows**: Bash, file read/write/edit, grep, glob, agents, tasks, MCP, and slash commands
214
+ - **Streaming responses**: Real-time token output and tool progress
215
+ - **Tool calling**: Multi-step tool loops with model calls, tool execution, and follow-up responses
216
+ - **Images**: URL and base64 image inputs for providers that support vision
217
+ - **Provider profiles**: Guided setup plus saved user-level provider profile support
218
+ - **Local and remote model backends**: Cloud APIs, local servers, and Apple Silicon local inference
219
+ - **Codebase intelligence (repo map)**: Structural map of the repository ranked by PageRank importance, auto-injected into context when the `REPO_MAP` flag is enabled or the `REPO_MAP` environment variable is set. Inspect with `/repomap` (2048-token default). See [docs/repo-map.md](docs/repo-map.md) for details.
220
+
221
+ ## Provider Notes
222
+
223
+ Claudio supports multiple providers, but behavior is not identical across all of them.
224
+
225
+ - Anthropic-specific features may not exist on other providers
226
+ - Tool quality depends heavily on the selected model
227
+ - Smaller local models can struggle with long multi-step tool flows
228
+ - Some providers impose lower output caps than the CLI defaults, and Claudio adapts where possible
229
+ - AI/ML API uses the OpenAI-compatible route, defaults to `gpt-4o`, and only surfaces chat-capable models from its public catalog
230
+ - Z.AI GLM Coding Plan uses `https://api.z.ai/api/coding/paas/v4` with `glm-5.2` by default. Use `glm-5.2?reasoning=high` for enhanced reasoning, `glm-5.2?reasoning=xhigh` to request Z.AI `reasoning_effort=max`, or `glm-5.2?thinking=disabled` for faster direct answers.
231
+ - Xiaomi MiMo uses `api-key` header auth on the direct OpenAI-compatible route and currently does not support `/usage` reporting in Claudio
232
+ - GitHub Copilot serializes sub-agent execution by default to reduce Premium Request consumption see [Agent Routing and Step Limits](docs/agent-routing.md#github-copilot-sub-agent-optimization) for tuning
233
+
234
+ For best results, use models with strong tool/function calling support.
235
+
236
+ ## Agents
237
+
238
+ Route different agents to different models (cost optimization, splitting work
239
+ by model strength), cap sub-agent tool steps with `maxSteps`, and tune GitHub
240
+ Copilot sub-agent behavior. All settings-driven:
241
+
242
+ - per-agent provider/model overrides via `agentModels` + `agentRouting` in Claudio settings
243
+ - model-only routes that reuse your current provider's credentials
244
+ - built-in agents (`Explore`, `Plan`, `verification`) routable by type name
245
+
246
+ See [Agent Routing and Step Limits](docs/agent-routing.md) for the full guide.
247
+
248
+ ## Web Search and Fetch
249
+
250
+ By default, `WebSearch` works on non-Anthropic models using DuckDuckGo. This gives GPT-4o, DeepSeek, Gemini, Ollama, and other OpenAI-compatible providers a free web search path out of the box.
251
+
252
+ > **Note:** DuckDuckGo fallback works by scraping search results and may be rate-limited, blocked, or subject to DuckDuckGo's Terms of Service. If you want a more reliable supported option, configure Firecrawl.
253
+
254
+ For Anthropic-native backends and Codex responses, Claudio keeps the native provider web search behavior.
255
+
256
+ `WebFetch` works, but its basic HTTP plus HTML-to-markdown path can still fail on JavaScript-rendered sites or sites that block plain HTTP requests.
257
+
258
+ Set a [Firecrawl](https://firecrawl.dev) API key if you want Firecrawl-powered search/fetch behavior:
259
+
260
+ ```bash
261
+ export FIRECRAWL_API_KEY=your-key-here
262
+ ```
263
+
264
+ With Firecrawl enabled:
265
+
266
+ - `WebSearch` can use Firecrawl's search API while DuckDuckGo remains the default free path for non-Claude models
267
+ - `WebFetch` uses Firecrawl's scrape endpoint instead of raw HTTP, handling JS-rendered pages correctly
268
+
269
+ Free tier at [firecrawl.dev](https://firecrawl.dev) includes 500 credits. The key is optional.
270
+
271
+ ## Headless gRPC Server
272
+
273
+ Claudio can run as a headless gRPC service with bidirectional streaming —
274
+ integrate its agentic capabilities into other applications, CI/CD pipelines,
275
+ or custom UIs. Start it with `npm run dev:grpc`; a test CLI client ships with
276
+ the repo. See [Headless gRPC Server](docs/grpc-server.md) for configuration
277
+ and client generation from the gRPC proto under `src/proto/`.
278
+
279
+ ## Development
280
+
281
+ Use Node.js `>=22.0.0` and Bun `1.3.13` or newer for source builds.
282
+
283
+ ```bash
284
+ bun install
285
+ bun run build
286
+ node dist/cli.mjs
287
+ ```
288
+
289
+ Day-to-day commands:
290
+
291
+ - `bun run dev` — build and launch from source
292
+ - `bun test` — full unit suite (Bun's built-in runner)
293
+ - `bun test path/to/file.test.ts` — focused runs for the areas you touch
294
+ - `bun run test:coverage` — coverage to `coverage/lcov.info` plus a visual report at `coverage/index.html` (`bun run test:coverage:ui` rebuilds just the UI)
295
+ - `bun run smoke` — smoke checks
296
+ - `bun run doctor:runtime`, `bun run verify:privacy`, `bun run security:pr-scan -- --base origin/main`
297
+
298
+ Focused suites: `bun run test:provider`, `bun run test:provider-recommendation`.
299
+
300
+ Recommended validation before opening a PR:
301
+
302
+ - `bun run build`
303
+ - `bun run smoke`
304
+ - `bun run test:coverage` when your change affects shared runtime or provider logic
305
+ - focused `bun test ...` runs for the files and flows you changed
306
+
307
+ ## Repository Structure
308
+
309
+ - `src/` - core CLI/runtime
310
+ - `scripts/` - build, verification, and maintenance scripts
311
+ - `docs/` - setup, contributor, and project documentation
312
+ - `vscode-extension/` - VS Code extension
313
+ - `.github/` - repo automation, templates, and CI configuration
314
+ - `bin/` - CLI launcher entrypoints
315
+
316
+ ## VS Code Extension
317
+
318
+ The repo includes a VS Code extension under `vscode-extension/` for Claudio launch integration, provider-aware Control Center, in-editor chat, theme support, and optional **Microsoft Foundry / Azure OpenAI** configuration (endpoint, API version, deployment, API key via Secret Storage) injected into launched terminals. See that folder's README.
319
+
320
+ ## Security
321
+
322
+ If you believe you found a security issue, see [SECURITY.md](SECURITY.md).
323
+
324
+ ## Community
325
+
326
+ - [GitHub Issues](https://github.com/StillHue/claudio/issues) for bugs and feature work
327
+ - [GitHub Discussions](https://github.com/StillHue/claudio/discussions) when enabled on this repo
328
+
329
+ ## Contributing
330
+
331
+ Contributions are welcome. For larger changes, open an issue first so the
332
+ scope is clear before implementation. See [Development](#development) for the
333
+ build, test, and pre-PR validation commands.
334
+
335
+ ## Disclaimer
336
+
337
+ Claudio is an independent project and is not affiliated with, endorsed by, or sponsored by Anthropic.
338
+
339
+ Claudio includes modifications of Claude Code–derived code to support multiple providers. "Claude" and "Claude Code" are trademarks of Anthropic PBC. See [LICENSE](LICENSE) for details.
340
+
341
+ ## License
342
+
343
+ MIT for Claudio contributors' modifications; the derived Claude Code remains Anthropic's. [See more](LICENSE).