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 +14 -0
- package/LICENSE +21 -0
- package/README.md +252 -52
- package/dist/cli.js +97 -2
- package/package.json +8 -5
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
|
-
|
|
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-<name></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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
101
|
+
---
|
|
32
102
|
|
|
33
|
-
##
|
|
103
|
+
## Getting started
|
|
34
104
|
|
|
35
|
-
|
|
105
|
+
Launch the TUI:
|
|
36
106
|
|
|
37
107
|
```bash
|
|
38
108
|
claude-multi
|
|
39
109
|
```
|
|
40
110
|
|
|
41
|
-
|
|
111
|
+
That's the only command you need to remember. Everything else lives inside the terminal UI.
|
|
42
112
|
|
|
43
|
-
|
|
113
|
+
### The main menu
|
|
44
114
|
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
190
|
+
Run it:
|
|
50
191
|
|
|
51
192
|
```bash
|
|
52
193
|
claude-glm
|
|
53
194
|
```
|
|
54
195
|
|
|
55
|
-
|
|
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
|
-
|
|
198
|
+
### Other TUI flows
|
|
58
199
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
|
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
|
-
|
|
227
|
+
---
|
|
99
228
|
|
|
100
229
|
## How it works
|
|
101
230
|
|
|
102
|
-
|
|
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
|
|
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
|
|
7313
|
-
description: "GLM-5.1 and GLM-5-Turbo
|
|
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.
|
|
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://
|
|
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
|
}
|