claude-multi 0.5.6 → 0.5.7

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.5.7] - 2026-05-27
9
+
10
+ ### Added
11
+ - **Provider templates** (`src/templates.ts`): five new AI provider templates
12
+ - **Xiaomi MiMo** (`mimo`): MiMo-V2.5-Pro and MiMo-V2.5 via xiaomimimo.com — pay-per-token API
13
+ - **Xiaomi MiMo Token Plan** (`mimo-token`): MiMo-V2.5-Pro via xiaomimimo.com subscription; replace base URL with your regional endpoint (CN/SG/EU) from the subscription console
14
+ - **Moonshot Kimi** (`kimi`): Kimi K2.6 (opus) and Kimi K2.5 (sonnet/haiku) via moonshot.ai — pay-per-token
15
+ - **Alibaba Qwen** (`qwen`): Qwen3-Coder-Next/Plus/Flash via Alibaba DashScope — pay-per-token API
16
+ - **Alibaba Qwen Coding Plan** (`qwen-coding`): Qwen3-Coder-Next/Plus/Flash via DashScope Coding Plan subscription
17
+
18
+ ### Changed
19
+ - **GLM template** (`glm`): display name updated to "GLM Coding Plan"; description now clarifies the Anthropic endpoint is coding-plan-only (standard Z.ai pay-per-token API has no Anthropic-compatible URL)
20
+ - **Kimi template** (`kimi`): sonnet/haiku tiers use `kimi-k2.5` instead of `kimi-k2.6` — same family, ~37% cheaper; legacy K2 series EOL'd May 25 2026
21
+
8
22
  ## [0.5.6] - 2026-05-23
9
23
 
10
24
  ### Added
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 hmziqrs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -2,104 +2,233 @@
2
2
 
3
3
  <img src="public/favicon-animated.svg" width="256" height="256" alt="claude-multi logo">
4
4
 
5
- # claude-multi
5
+ <h1 align="center">claude-multi</h1>
6
6
 
7
+ <p align="center">
8
+ Run multiple isolated Claude Code instances side by side. Each one gets its own provider, config directory, plugins, MCP servers, and <code>claude-&lt;name&gt;</code> command.
9
+ </p>
10
+
11
+ <p align="center">
12
+ <a href="https://www.npmjs.com/package/claude-multi"><img src="https://img.shields.io/npm/v/claude-multi?style=flat-square" alt="npm version" /></a>
13
+ <a href="https://github.com/hmziqrs/claude-multi/blob/master/LICENSE"><img src="https://img.shields.io/github/license/hmziqrs/claude-multi?style=flat-square" alt="license" /></a>
14
+ <a href="https://github.com/hmziqrs/claude-multi"><img src="https://img.shields.io/github/stars/hmziqrs/claude-multi?style=flat-square" alt="GitHub stars" /></a>
15
+ </p>
16
+
17
+ ---
7
18
  </div>
8
19
 
9
- Run multiple Claude Code instances side by side — each with its own provider, config, and `claude-<name>` command.
20
+ ## Demo
21
+
22
+ https://github.com/user-attachments/assets/790edd9c-6ee2-425a-952c-397ad047d653
23
+
24
+ ---
25
+
26
+ ## Why?
27
+
28
+ Claude Code is great. Switching between providers and model setups is not.
29
+
30
+ If you want to try GLM today and DeepSeek tomorrow, you usually end up editing `settings.json` by hand, juggling env vars, swapping keys, or maintaining a bunch of shell aliases nobody asked for.
31
+
32
+ The other option is to use each provider's own CLI tool. That sounds clean until you realize every tool has its own workflow, its own flags, its own way of doing things. Learning a new harness for every model gets old fast.
33
+
34
+ So I went the other way: keep one harness I already like, and put the providers behind it. That's claude-multi. One workflow, many providers.
35
+
36
+ And because it's still Claude Code under the hood, you keep everything you already use. `/loop`, `/goal`, skills, MCP servers, plugins, all of it. Switching providers does not mean rebuilding your setup from scratch.
37
+
38
+ ```bash
39
+ claude # your normal Claude Code setup
40
+ claude-glm # Claude Code using GLM / Z.ai config
41
+ claude-deepseek # Claude Code using DeepSeek config
42
+ claude-minimax # Claude Code using MiniMax config
43
+ ```
44
+
45
+ Each instance is isolated. All of them run the normal, unmodified Claude Code binary.
46
+
47
+ ---
48
+
49
+ ## Features
50
+
51
+ * Multiple Claude Code instances, one `claude-<name>` command each.
52
+ * Provider templates for GLM/Z.ai, MiniMax, and DeepSeek.
53
+ * Isolated config directories. Every instance gets its own `~/.claude-<name>/`.
54
+ * A full terminal UI that covers adding, listing, plugins, MCP, and sync.
55
+ * Plugin management per instance: enable, disable, install, copy, remove.
56
+ * MCP management: list and copy server configs between instances.
57
+ * Optional auto-sync that symlinks plugins and skills from your default `~/.claude`.
58
+ * No fork. It wraps your existing `claude` binary instead of patching it.
59
+
60
+ ---
61
+
62
+ ## Requirements
63
+
64
+ * Node.js 18+ or Bun 1+
65
+ * Claude Code installed globally
66
+
67
+ If you don't have Claude Code yet:
68
+
69
+ ```bash
70
+ npm install -g @anthropic-ai/claude-code
71
+ ```
10
72
 
11
- Switching providers (Anthropic, GLM, MiniMax, DeepSeek) normally means editing `settings.json` by hand. This tool gives each one its own isolated install instead.
73
+ ---
12
74
 
13
75
  ## Install
14
76
 
77
+ Bun:
78
+
15
79
  ```bash
16
80
  bun add -g claude-multi
17
81
  ```
18
82
 
83
+ npm:
84
+
19
85
  ```bash
20
86
  npm install -g claude-multi
21
87
  ```
22
88
 
89
+ pnpm:
90
+
23
91
  ```bash
24
92
  pnpm add -g claude-multi
25
93
  ```
26
94
 
95
+ Deno:
96
+
27
97
  ```bash
28
98
  deno install -g -A -n claude-multi npm:claude-multi
29
99
  ```
30
100
 
31
- Requires Node 18+ (or Bun 1+) and `@anthropic-ai/claude-code` installed globally.
101
+ ---
32
102
 
33
- ## Usage
103
+ ## Getting started
34
104
 
35
- Just run it — the interactive TUI opens by default:
105
+ Launch the TUI:
36
106
 
37
107
  ```bash
38
108
  claude-multi
39
109
  ```
40
110
 
41
- You get a full terminal UI to add instances, manage plugins, configure MCP servers, and more. No subcommand needed.
111
+ That's the only command you need to remember. Everything else lives inside the terminal UI.
42
112
 
43
- **Adding an instance** — pick it from the menu, or run directly:
113
+ ### The main menu
44
114
 
45
- ```bash
46
- claude-multi add glm
115
+ When the TUI opens, you get something like this:
116
+
117
+ ```
118
+ 🤖 Claude Multi - Interactive Mode
119
+
120
+ ➕ Add new instance
121
+ 📋 List all instances
122
+ ℹ️ Instance details
123
+ 🔌 Manage plugins
124
+ 🔄 Toggle auto-sync
125
+ 🔗 Re-sync symlinks
126
+ 🗑️ Remove instance
127
+ ⚙️ MCP servers
128
+ 🚪 Exit
129
+ ```
130
+
131
+ Arrow keys to move. `Enter` to pick. `ESC` to go back. `q` to quit.
132
+
133
+ ### Setting up your first instance
134
+
135
+ Pick **➕ Add new instance**. The wizard has eight steps.
136
+
137
+ **1. Instance name**
138
+
139
+ Pick something short like `glm`, `deepseek`, or `work`. Letters, numbers, hyphens, and underscores only. Whatever you type here becomes your command, so `glm` gives you `claude-glm`.
140
+
141
+ **2. Provider template**
142
+
143
+ Pick one:
144
+
145
+ * `glm` for GLM / Z.ai
146
+ * `minimax` for MiniMax
147
+ * `deepseek` for DeepSeek
148
+ * `None / Custom` if you want to set things up by hand later
149
+
150
+ **3. API key** *(only if you picked a provider)*
151
+
152
+ Paste your key. It's masked while you type and gets written into the instance's `settings.json`.
153
+
154
+ **4. Confirm paths**
155
+
156
+ The wizard shows where things will go:
157
+
158
+ * Config: `~/.claude-<name>/`
159
+ * Binary: `~/.local/bin/claude-<name>`
160
+
161
+ Hit `y` to accept. The defaults are fine for almost everyone.
162
+
163
+ **5. Copy options**
164
+
165
+ If you already have a `~/.claude` setup, you can carry pieces of it into the new instance:
166
+
167
+ * **Nothing.** Start fresh, inherit nothing.
168
+ * **Only `settings.json`.** Copy just the base settings file.
169
+ * **Select plugins.** Cherry-pick plugins from your default setup.
170
+ * **All files.** Settings, `CLAUDE.md`, plugins, skills, the whole thing.
171
+
172
+ **6. Select plugins** *(only if you picked "Select plugins")*
173
+
174
+ A multi-select list of every plugin in your default `~/.claude`. `space` toggles. `enter` confirms.
175
+
176
+ **7. Auto-sync** *(only if you picked "All files")*
177
+
178
+ This asks whether to symlink `plugins/` and `skills/` back to `~/.claude`. Say `y` if you want to install a plugin once and have it show up in every instance. Say `n` if you want this instance to have its own independent copies.
179
+
180
+ **8. Done**
181
+
182
+ The wizard prints the new instance and its paths:
183
+
184
+ ```
185
+ ✓ Instance 'glm' created successfully!
186
+ ├─ Binary: /Users/you/.local/bin/claude-glm
187
+ └─ Config: /Users/you/.claude-glm
47
188
  ```
48
189
 
49
- No flags = the guided wizard walks you through provider, API key, and copy options. Then use your new instance:
190
+ Run it:
50
191
 
51
192
  ```bash
52
193
  claude-glm
53
194
  ```
54
195
 
55
- ## CLI (non-interactive)
196
+ That's a full Claude Code session on the provider you picked, with its own isolated config. Same `claude` you already know, just pointed at a different brain.
56
197
 
57
- For scripting and automation, all operations are available as flags:
198
+ ### Other TUI flows
58
199
 
59
- ```bash
60
- # Instances
61
- claude-multi add <name> --provider glm --api-key "sk-..."
62
- claude-multi add <name> --config ~/path # custom config dir
63
- claude-multi add <name> --copy-settings # seed from ~/.claude
64
- claude-multi add <name> --copy-all # copy everything + auto-sync
65
- claude-multi add <name> --skip-prompts # start fresh, no wizard
66
- claude-multi add <name> --manual # copy files instead of symlinking
67
- claude-multi list
68
- claude-multi info <name>
69
- claude-multi remove <name> [--force]
70
-
71
- # Plugins & MCP
72
- claude-multi plugins list
73
- claude-multi plugins enable <name> <plugin-id>
74
- claude-multi plugins disable <name> <plugin-id>
75
- claude-multi plugins copy <name> # copy from default ~/.claude
76
- claude-multi mcp list
77
- claude-multi mcp copy <src> <dst>
78
-
79
- # Sync
80
- claude-multi auto-sync <name> on|off # symlink plugins/skills from ~/.claude
81
- claude-multi fix-symlinks --all
82
-
83
- # Claude Code itself
84
- claude-multi version
85
- claude-multi update
86
- ```
87
-
88
- Set `CLAUDE_MULTI_INK=false` to force the simpler prompts-based UI instead of the Ink TUI.
200
+ * **📋 List all instances.** Every instance with its provider, paths, and sync status.
201
+ * **ℹ️ Instance details.** Pick one to inspect its full config.
202
+ * **🔌 Manage plugins.** Pick an instance, then enable, disable, install, copy, or remove plugins for it.
203
+ * **🔄 Toggle auto-sync.** Flip symlink syncing on or off for a chosen instance.
204
+ * **🔗 Re-sync symlinks.** Rebuild broken plugin or skill symlinks after you've moved `~/.claude` around.
205
+ * **🗑️ Remove instance.** Delete an instance, its wrapper, and optionally its config dir.
206
+ * **⚙️ MCP servers.** View MCP configs and copy them between instances.
207
+
208
+ If the menu shows a `!` health hint, press `!` to see what's wrong and fix it.
209
+
210
+ ---
89
211
 
90
212
  ## Providers
91
213
 
92
- | Provider | Endpoint |
93
- |---|---|
94
- | GLM (智谱AI) | `api.z.ai` |
95
- | MiniMax | `api.minimax.io` |
96
- | DeepSeek | `api.deepseek.com` |
214
+ | Provider | Endpoint | Template name |
215
+ |---|---|---|
216
+ | GLM Coding Plan | `api.z.ai` | `glm` |
217
+ | MiniMax | `api.minimax.io` | `minimax` |
218
+ | DeepSeek | `api.deepseek.com` | `deepseek` |
219
+ | Xiaomi MiMo | `api.xiaomimimo.com` | `mimo` |
220
+ | Xiaomi MiMo (Token Plan) | `token-plan-cn.xiaomimimo.com` | `mimo-token` |
221
+ | Moonshot Kimi | `api.moonshot.ai` | `kimi` |
222
+ | Alibaba Qwen | `dashscope-intl.aliyuncs.com` | `qwen` |
223
+ | Alibaba Qwen Coding Plan | `coding-intl.dashscope.aliyuncs.com` | `qwen-coding` |
224
+
225
+ The templates write `ANTHROPIC_BASE_URL`, `ANTHROPIC_MODEL`, and a few related env vars into `~/.claude-<name>/settings.json`. Edit that file if you want to tweak things further.
97
226
 
98
- Templates write `ANTHROPIC_BASE_URL`, `ANTHROPIC_MODEL`, and related env vars to `~/.claude-<name>/settings.json`. Edit that file to customize.
227
+ ---
99
228
 
100
229
  ## How it works
101
230
 
102
- Each instance gets a config dir at `~/.claude-<name>/` and a wrapper script at `~/.local/bin/claude-<name>`. The wrapper sets `CLAUDE_CONFIG_DIR` before launching the unmodified `claude` binary — no forking, no patching.
231
+ Every instance gets a config dir at `~/.claude-<name>/` and a wrapper script at `~/.local/bin/claude-<name>`. The wrapper sets `CLAUDE_CONFIG_DIR` and then runs the unmodified `claude` binary. No fork, no patch.
103
232
 
104
233
  ```js
105
234
  #!/usr/bin/env bun
@@ -107,8 +236,79 @@ process.env.CLAUDE_CONFIG_DIR = "/Users/you/.claude-glm"
107
236
  spawn("claude", process.argv.slice(2), { stdio: "inherit", env: process.env })
108
237
  ```
109
238
 
110
- Instance metadata lives in `~/.claude-multi/config.json`. With auto-sync on, `plugins/` and `skills/` are symlinked from `~/.claude/`, so installing a plugin once makes it available everywhere.
239
+ Instance metadata sits in `~/.claude-multi/config.json`. When auto-sync is on, `plugins/` and `skills/` are symlinks back to `~/.claude/`, so installing a plugin once makes it show up everywhere.
240
+
241
+ ---
242
+
243
+ ## File locations
244
+
245
+ | Path | Purpose |
246
+ |---|---|
247
+ | `~/.claude-multi/config.json` | claude-multi instance registry |
248
+ | `~/.claude-<name>/` | config directory for one instance |
249
+ | `~/.local/bin/claude-<name>` | generated wrapper command on Linux/macOS |
250
+ | `~/.claude/` | your default Claude Code config. Treated as the source for copy and sync operations. |
251
+
252
+ ---
253
+
254
+ ## Auto-sync vs manual mode
255
+
256
+ With auto-sync on, `plugins/` and `skills/` are symlinks pointing at your default `~/.claude/`. Install a plugin once, and every instance that opted in picks it up.
257
+
258
+ Use manual mode when you want an instance that's fully independent. Just say `n` at the auto-sync step in the wizard. You can also flip this later from the main menu under **🔄 Toggle auto-sync**.
259
+
260
+ ---
261
+
262
+ ## Troubleshooting
263
+
264
+ ### `claude-<name>` command not found
265
+
266
+ Your global binary directory probably isn't on `PATH`.
267
+
268
+ For zsh on Linux/macOS:
269
+
270
+ ```bash
271
+ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
272
+ source ~/.zshrc
273
+ ```
274
+
275
+ For Bash:
276
+
277
+ ```bash
278
+ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
279
+ source ~/.bashrc
280
+ ```
281
+
282
+ ### Broken plugin or skill symlinks
283
+
284
+ Open the TUI and pick **🔗 Re-sync symlinks**. Choose the broken instance (or all of them) and it rebuilds the links.
285
+
286
+ ### Health warnings in the menu
287
+
288
+ If the main menu shows a yellow or red banner, hit `!` to open the health screen. It lists what's wrong (missing binary, broken symlinks, stale registry entries, that kind of thing) and offers fixes for each one.
289
+
290
+ ### Force the simpler prompts UI
291
+
292
+ If the Ink TUI doesn't render right on your terminal:
293
+
294
+ ```bash
295
+ CLAUDE_MULTI_INK=false claude-multi
296
+ ```
297
+
298
+ You get a basic prompt-based UI with the same flows.
299
+
300
+ ---
301
+
302
+ ## Roadmap ideas
303
+
304
+ * More provider templates
305
+ * Better docs for provider-specific models
306
+ * Import and export instance profiles
307
+ * Safer API key management
308
+ * Preset workflows for coding, planning, review, and cheap exploration models
309
+
310
+ ---
111
311
 
112
312
  ## License
113
313
 
114
- MIT
314
+ MIT. See [LICENSE](./LICENSE) for the full text. Copyright (c) 2026 hmziqrs.
package/dist/cli.js CHANGED
@@ -7309,8 +7309,8 @@ var init_templates = __esm(() => {
7309
7309
  PROVIDER_TEMPLATES = {
7310
7310
  glm: {
7311
7311
  name: "glm",
7312
- displayName: "GLM (智谱AI)",
7313
- description: "GLM-5.1 and GLM-5-Turbo models via z.ai",
7312
+ displayName: "GLM Coding Plan",
7313
+ description: "GLM-5.1 and GLM-5-Turbo via z.ai Coding Plan subscription (Anthropic endpoint is coding-plan-only)",
7314
7314
  settings: {
7315
7315
  env: {
7316
7316
  ANTHROPIC_AUTH_TOKEN: "",
@@ -7371,6 +7371,101 @@ var init_templates = __esm(() => {
7371
7371
  includeCoAuthoredBy: false,
7372
7372
  alwaysThinkingEnabled: false
7373
7373
  }
7374
+ },
7375
+ mimo: {
7376
+ name: "mimo",
7377
+ displayName: "Xiaomi MiMo",
7378
+ description: "MiMo-V2.5-Pro and MiMo-V2.5 via xiaomimimo.com — pay-per-token API",
7379
+ settings: {
7380
+ env: {
7381
+ ANTHROPIC_AUTH_TOKEN: "",
7382
+ ANTHROPIC_BASE_URL: "https://api.xiaomimimo.com/anthropic",
7383
+ API_TIMEOUT_MS: "3000000",
7384
+ ANTHROPIC_MODEL: "mimo-v2.5-pro",
7385
+ ANTHROPIC_DEFAULT_OPUS_MODEL: "mimo-v2.5-pro",
7386
+ ANTHROPIC_DEFAULT_SONNET_MODEL: "mimo-v2.5-pro",
7387
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: "mimo-v2.5",
7388
+ ANTHROPIC_SMALL_FAST_MODEL: "mimo-v2.5"
7389
+ },
7390
+ includeCoAuthoredBy: false,
7391
+ alwaysThinkingEnabled: false
7392
+ }
7393
+ },
7394
+ "mimo-token": {
7395
+ name: "mimo-token",
7396
+ displayName: "Xiaomi MiMo (Token Plan)",
7397
+ description: "MiMo-V2.5-Pro via xiaomimimo.com Token Plan — monthly subscription with credit pool, replace base URL with your regional endpoint (CN/SG/EU) from the subscription console",
7398
+ settings: {
7399
+ env: {
7400
+ ANTHROPIC_AUTH_TOKEN: "",
7401
+ ANTHROPIC_BASE_URL: "https://token-plan-cn.xiaomimimo.com/anthropic",
7402
+ API_TIMEOUT_MS: "3000000",
7403
+ ANTHROPIC_MODEL: "mimo-v2.5-pro",
7404
+ ANTHROPIC_DEFAULT_OPUS_MODEL: "mimo-v2.5-pro",
7405
+ ANTHROPIC_DEFAULT_SONNET_MODEL: "mimo-v2.5-pro",
7406
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: "mimo-v2.5",
7407
+ ANTHROPIC_SMALL_FAST_MODEL: "mimo-v2.5"
7408
+ },
7409
+ includeCoAuthoredBy: false,
7410
+ alwaysThinkingEnabled: false
7411
+ }
7412
+ },
7413
+ kimi: {
7414
+ name: "kimi",
7415
+ displayName: "Moonshot Kimi",
7416
+ description: "Kimi K2.6 and K2.5 models via moonshot.ai — pay-per-token only, no subscription plan",
7417
+ settings: {
7418
+ env: {
7419
+ ANTHROPIC_AUTH_TOKEN: "",
7420
+ ANTHROPIC_BASE_URL: "https://api.moonshot.ai/anthropic",
7421
+ API_TIMEOUT_MS: "3000000",
7422
+ ANTHROPIC_MODEL: "kimi-k2.6",
7423
+ ANTHROPIC_DEFAULT_OPUS_MODEL: "kimi-k2.6",
7424
+ ANTHROPIC_DEFAULT_SONNET_MODEL: "kimi-k2.5",
7425
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: "kimi-k2.5",
7426
+ ANTHROPIC_SMALL_FAST_MODEL: "kimi-k2.5"
7427
+ },
7428
+ includeCoAuthoredBy: false,
7429
+ alwaysThinkingEnabled: false
7430
+ }
7431
+ },
7432
+ qwen: {
7433
+ name: "qwen",
7434
+ displayName: "Qwen (Alibaba)",
7435
+ description: "Qwen3-Coder and Qwen3.5 models via Alibaba DashScope — pay-per-token API",
7436
+ settings: {
7437
+ env: {
7438
+ ANTHROPIC_AUTH_TOKEN: "",
7439
+ ANTHROPIC_BASE_URL: "https://dashscope-intl.aliyuncs.com/apps/anthropic",
7440
+ API_TIMEOUT_MS: "3000000",
7441
+ ANTHROPIC_MODEL: "qwen3-coder-next",
7442
+ ANTHROPIC_DEFAULT_OPUS_MODEL: "qwen3-coder-next",
7443
+ ANTHROPIC_DEFAULT_SONNET_MODEL: "qwen3-coder-plus",
7444
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: "qwen3-coder-flash",
7445
+ ANTHROPIC_SMALL_FAST_MODEL: "qwen3-coder-flash"
7446
+ },
7447
+ includeCoAuthoredBy: false,
7448
+ alwaysThinkingEnabled: false
7449
+ }
7450
+ },
7451
+ "qwen-coding": {
7452
+ name: "qwen-coding",
7453
+ displayName: "Qwen Coding Plan (Alibaba)",
7454
+ description: "Qwen3-Coder and Qwen3.5 models via Alibaba DashScope Coding Plan subscription",
7455
+ settings: {
7456
+ env: {
7457
+ ANTHROPIC_AUTH_TOKEN: "",
7458
+ ANTHROPIC_BASE_URL: "https://coding-intl.dashscope.aliyuncs.com/apps/anthropic",
7459
+ API_TIMEOUT_MS: "3000000",
7460
+ ANTHROPIC_MODEL: "qwen3-coder-next",
7461
+ ANTHROPIC_DEFAULT_OPUS_MODEL: "qwen3-coder-next",
7462
+ ANTHROPIC_DEFAULT_SONNET_MODEL: "qwen3-coder-plus",
7463
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: "qwen3-coder-flash",
7464
+ ANTHROPIC_SMALL_FAST_MODEL: "qwen3-coder-flash"
7465
+ },
7466
+ includeCoAuthoredBy: false,
7467
+ alwaysThinkingEnabled: false
7468
+ }
7374
7469
  }
7375
7470
  };
7376
7471
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-multi",
3
- "version": "0.5.6",
3
+ "version": "0.5.7",
4
4
  "description": "Manage multiple Claude Code instances with different aliases and configurations",
5
5
  "type": "module",
6
6
  "bin": {
@@ -38,13 +38,10 @@
38
38
  "type": "git",
39
39
  "url": "git+https://github.com/hmziqrs/claude-multi.git"
40
40
  },
41
- "homepage": "https://claudemutli.hmziq.xyz",
41
+ "homepage": "https://claude-multi.hmziq.xyz",
42
42
  "bugs": {
43
43
  "url": "https://github.com/hmziqrs/claude-multi/issues"
44
44
  },
45
- "peerDependencies": {
46
- "@anthropic-ai/claude-code": ">=2.0.0"
47
- },
48
45
  "devDependencies": {
49
46
  "@astrojs/starlight": "^0.39.2",
50
47
  "@astrojs/tailwind": "^6.0.2",
@@ -72,5 +69,11 @@
72
69
  "engines": {
73
70
  "node": ">=18.0.0",
74
71
  "bun": ">=1.0.0"
72
+ },
73
+ "dependencies": {
74
+ "@astrojs/rss": "^4.0.18",
75
+ "@iconify-json/lucide": "^1.2.109",
76
+ "@iconify-json/simple-icons": "^1.2.83",
77
+ "astro-icon": "^1.1.5"
75
78
  }
76
79
  }