multi-ccp 0.1.3 → 0.1.5
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/README.md +44 -17
- package/README.zh-CN.md +44 -17
- package/dist/cli/program.js +213 -19
- package/dist/cli/program.js.map +1 -1
- package/dist/core/ccr.js +19 -1
- package/dist/core/ccr.js.map +1 -1
- package/dist/core/presets.d.ts +47 -0
- package/dist/core/presets.js +142 -0
- package/dist/core/presets.js.map +1 -0
- package/dist/core/profiles.d.ts +2 -1
- package/dist/core/profiles.js +19 -3
- package/dist/core/profiles.js.map +1 -1
- package/dist/core/types.d.ts +8 -0
- package/dist/web/assets/app.js +71 -0
- package/dist/web/assets/index.html +111 -0
- package/dist/web/assets/styles.css +1 -0
- package/dist/web/server.d.ts +6 -0
- package/dist/web/server.js +531 -0
- package/dist/web/server.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# multi-ccp
|
|
2
2
|
|
|
3
|
+
[![NPM Version][npm-version]][npm-url]
|
|
4
|
+
[![NPM Downloads][npm-downloads]][npm-url]
|
|
5
|
+
[![License][license]][license-url]
|
|
6
|
+
|
|
3
7
|
English | [简体中文](README.zh-CN.md)
|
|
4
8
|
|
|
5
9
|
`multi-ccp` is a profile and session manager for Claude Code. It installs the `ccp` command and helps you run multiple Claude Code windows with fully isolated configuration directories, model providers, login state, and history.
|
|
@@ -42,25 +46,38 @@ How do I use multi-ccp to manage multiple Claude Code profiles?
|
|
|
42
46
|
|
|
43
47
|
Then continue with the examples below when you want the full command reference.
|
|
44
48
|
|
|
45
|
-
|
|
49
|
+
Open the local Web UI to browse profiles and create configurations visually:
|
|
46
50
|
|
|
47
51
|
```bash
|
|
48
|
-
ccp
|
|
49
|
-
ccp start provider-a
|
|
52
|
+
ccp ui
|
|
50
53
|
```
|
|
51
54
|
|
|
52
|
-
|
|
55
|
+
The Web UI is a local companion for the CLI. It helps you inspect profiles, create preset-based profiles, edit profile settings, and open CCR management shortcuts.
|
|
56
|
+
|
|
57
|
+

|
|
58
|
+
|
|
59
|
+
Create a profile interactively:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
ccp add
|
|
63
|
+
ccp start <profile-name>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
`ccp add` lets you choose a built-in preset template or custom configuration, including DeepSeek, AI CodeMirror, Mimo, CCR GPT, Manual CCR, Claude Login, or Custom API.
|
|
67
|
+
|
|
68
|
+
If you want to create directly from a built-in preset, pass `--preset`:
|
|
53
69
|
|
|
54
70
|
```bash
|
|
55
|
-
ccp add
|
|
56
|
-
ccp
|
|
71
|
+
ccp add --preset deepseek
|
|
72
|
+
ccp add --preset deepseek my-ds
|
|
73
|
+
ccp start my-ds
|
|
57
74
|
```
|
|
58
75
|
|
|
59
|
-
Create
|
|
76
|
+
Create another isolated profile for a different provider, account, or project context:
|
|
60
77
|
|
|
61
78
|
```bash
|
|
62
|
-
ccp add
|
|
63
|
-
ccp start
|
|
79
|
+
ccp add
|
|
80
|
+
ccp start <profile-name>
|
|
64
81
|
```
|
|
65
82
|
|
|
66
83
|
List and inspect profiles:
|
|
@@ -78,11 +95,11 @@ ccp path work
|
|
|
78
95
|
API profiles are for Anthropic-compatible providers. They store API environment variables in the profile's `settings.json`.
|
|
79
96
|
|
|
80
97
|
```bash
|
|
81
|
-
ccp add
|
|
82
|
-
ccp start
|
|
98
|
+
ccp add
|
|
99
|
+
ccp start <profile-name>
|
|
83
100
|
```
|
|
84
101
|
|
|
85
|
-
|
|
102
|
+
When you choose an API preset, the command prompts for a profile name and token. When you choose Custom API, it prompts for:
|
|
86
103
|
|
|
87
104
|
- `ANTHROPIC_BASE_URL`
|
|
88
105
|
- `ANTHROPIC_AUTH_TOKEN`
|
|
@@ -134,8 +151,8 @@ See the [DeepSeek API documentation](https://api-docs.deepseek.com/) for provide
|
|
|
134
151
|
Login profiles are for Claude Code account-based authentication. They do not set `ANTHROPIC_BASE_URL` or `ANTHROPIC_AUTH_TOKEN`.
|
|
135
152
|
|
|
136
153
|
```bash
|
|
137
|
-
ccp add
|
|
138
|
-
ccp start
|
|
154
|
+
ccp add
|
|
155
|
+
ccp start <profile-name>
|
|
139
156
|
```
|
|
140
157
|
|
|
141
158
|
When Claude Code asks you to sign in, the login state is stored under that profile's config directory. Another profile can use a different account or login state:
|
|
@@ -145,6 +162,8 @@ ccp add-login personal
|
|
|
145
162
|
ccp start personal
|
|
146
163
|
```
|
|
147
164
|
|
|
165
|
+
`ccp add-login <profile>` remains available as a direct compatibility entrypoint.
|
|
166
|
+
|
|
148
167
|
### Claude Code Router Profiles
|
|
149
168
|
|
|
150
169
|
CCR profiles are bound to [Claude Code Router](https://github.com/musistudio/claude-code-router) presets. Claude Code Router is a separate open source project that can route Claude Code requests to different model providers. `multi-ccp` integrates with its config and preset system so each profile can use its own provider route.
|
|
@@ -152,8 +171,8 @@ CCR profiles are bound to [Claude Code Router](https://github.com/musistudio/cla
|
|
|
152
171
|
```bash
|
|
153
172
|
ccp ccr status
|
|
154
173
|
ccp ccr model
|
|
155
|
-
ccp add
|
|
156
|
-
ccp start
|
|
174
|
+
ccp add
|
|
175
|
+
ccp start <profile-name>
|
|
157
176
|
```
|
|
158
177
|
|
|
159
178
|
A CCR profile stores its route in `.ccp.json` and points Claude Code at a preset endpoint such as:
|
|
@@ -193,7 +212,9 @@ The sync command tracks hashes in `.ccp-sync`, copies session assets, and prompt
|
|
|
193
212
|
```bash
|
|
194
213
|
ccp help
|
|
195
214
|
ccp list
|
|
196
|
-
ccp
|
|
215
|
+
ccp ui
|
|
216
|
+
ccp add [profile]
|
|
217
|
+
ccp add --preset <preset> [profile]
|
|
197
218
|
ccp add-login <profile>
|
|
198
219
|
ccp add-ccr <profile>
|
|
199
220
|
ccp remove <profile>
|
|
@@ -277,3 +298,9 @@ npm pack --dry-run
|
|
|
277
298
|
## License
|
|
278
299
|
|
|
279
300
|
MIT
|
|
301
|
+
|
|
302
|
+
[npm-version]: https://img.shields.io/npm/v/multi-ccp?style=flat-square
|
|
303
|
+
[npm-downloads]: https://img.shields.io/npm/dm/multi-ccp?style=flat-square
|
|
304
|
+
[npm-url]: https://www.npmjs.com/package/multi-ccp
|
|
305
|
+
[license]: https://img.shields.io/npm/l/multi-ccp?style=flat-square
|
|
306
|
+
[license-url]: LICENSE
|
package/README.zh-CN.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# multi-ccp
|
|
2
2
|
|
|
3
|
+
[![NPM Version][npm-version]][npm-url]
|
|
4
|
+
[![NPM Downloads][npm-downloads]][npm-url]
|
|
5
|
+
[![License][license]][license-url]
|
|
6
|
+
|
|
3
7
|
[English](README.md) | 简体中文
|
|
4
8
|
|
|
5
9
|
`multi-ccp` 是一个 Claude Code profile 和历史会话管理工具。它会安装 `ccp` 命令,帮助你运行多个 Claude Code 会话窗口,并让每个窗口拥有独立隔离的配置目录、模型 provider、登录状态和历史记录。
|
|
@@ -42,25 +46,38 @@ How do I use multi-ccp to manage multiple Claude Code profiles?
|
|
|
42
46
|
|
|
43
47
|
如果你想查看完整命令说明,可以继续阅读下面的示例。
|
|
44
48
|
|
|
45
|
-
|
|
49
|
+
打开本地 Web UI,用可视化方式查看 profile 和创建配置:
|
|
46
50
|
|
|
47
51
|
```bash
|
|
48
|
-
ccp
|
|
49
|
-
ccp start provider-a
|
|
52
|
+
ccp ui
|
|
50
53
|
```
|
|
51
54
|
|
|
52
|
-
|
|
55
|
+
Web UI 是 CLI 的本地辅助界面,可用于查看 profile、基于预设创建 profile、编辑 profile 配置,以及打开 CCR 管理入口。
|
|
56
|
+
|
|
57
|
+

|
|
58
|
+
|
|
59
|
+
交互式创建一个 profile:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
ccp add
|
|
63
|
+
ccp start <profile-name>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
`ccp add` 会让你选择内置预设模板或自定义配置,例如 DeepSeek、AI CodeMirror、Mimo、CCR GPT、Manual CCR、Claude Login 或 Custom API。
|
|
67
|
+
|
|
68
|
+
如果你想直接使用某个内置预设,也可以指定 `--preset`:
|
|
53
69
|
|
|
54
70
|
```bash
|
|
55
|
-
ccp add
|
|
56
|
-
ccp
|
|
71
|
+
ccp add --preset deepseek
|
|
72
|
+
ccp add --preset deepseek my-ds
|
|
73
|
+
ccp start my-ds
|
|
57
74
|
```
|
|
58
75
|
|
|
59
|
-
|
|
76
|
+
为另一个 provider、账号或项目上下文创建独立 profile:
|
|
60
77
|
|
|
61
78
|
```bash
|
|
62
|
-
ccp add
|
|
63
|
-
ccp start
|
|
79
|
+
ccp add
|
|
80
|
+
ccp start <profile-name>
|
|
64
81
|
```
|
|
65
82
|
|
|
66
83
|
列出和查看 profile:
|
|
@@ -78,11 +95,11 @@ ccp path work
|
|
|
78
95
|
API profile 用于兼容 Anthropic API 的 provider。它会将 API 环境变量写入该 profile 的 `settings.json`。
|
|
79
96
|
|
|
80
97
|
```bash
|
|
81
|
-
ccp add
|
|
82
|
-
ccp start
|
|
98
|
+
ccp add
|
|
99
|
+
ccp start <profile-name>
|
|
83
100
|
```
|
|
84
101
|
|
|
85
|
-
|
|
102
|
+
选择 API 预设时,命令会提示你输入 profile 名称和 token。选择 Custom API 时,命令会提示你输入:
|
|
86
103
|
|
|
87
104
|
- `ANTHROPIC_BASE_URL`
|
|
88
105
|
- `ANTHROPIC_AUTH_TOKEN`
|
|
@@ -134,8 +151,8 @@ ccp edit deepseek
|
|
|
134
151
|
Login profile 用于 Claude Code 的账号登录模式。它不会设置 `ANTHROPIC_BASE_URL` 或 `ANTHROPIC_AUTH_TOKEN`。
|
|
135
152
|
|
|
136
153
|
```bash
|
|
137
|
-
ccp add
|
|
138
|
-
ccp start
|
|
154
|
+
ccp add
|
|
155
|
+
ccp start <profile-name>
|
|
139
156
|
```
|
|
140
157
|
|
|
141
158
|
当 Claude Code 要求你登录时,登录状态会保存在这个 profile 的配置目录下。另一个 profile 可以使用不同账号或不同登录状态:
|
|
@@ -145,6 +162,8 @@ ccp add-login personal
|
|
|
145
162
|
ccp start personal
|
|
146
163
|
```
|
|
147
164
|
|
|
165
|
+
`ccp add-login <profile>` 仍可作为直接创建登录 profile 的兼容入口。
|
|
166
|
+
|
|
148
167
|
### Claude Code Router Profiles
|
|
149
168
|
|
|
150
169
|
CCR profile 绑定到 [Claude Code Router](https://github.com/musistudio/claude-code-router) preset。Claude Code Router 是一个独立的开源项目,可以将 Claude Code 请求路由到不同模型 provider。`multi-ccp` 会集成它的 config 和 preset system,让每个 profile 可以使用自己的 provider route。
|
|
@@ -152,8 +171,8 @@ CCR profile 绑定到 [Claude Code Router](https://github.com/musistudio/claude-
|
|
|
152
171
|
```bash
|
|
153
172
|
ccp ccr status
|
|
154
173
|
ccp ccr model
|
|
155
|
-
ccp add
|
|
156
|
-
ccp start
|
|
174
|
+
ccp add
|
|
175
|
+
ccp start <profile-name>
|
|
157
176
|
```
|
|
158
177
|
|
|
159
178
|
CCR profile 会把 route 写入 `.ccp.json`,并让 Claude Code 指向类似这样的 preset endpoint:
|
|
@@ -193,7 +212,9 @@ ccp sync-session work to main
|
|
|
193
212
|
```bash
|
|
194
213
|
ccp help
|
|
195
214
|
ccp list
|
|
196
|
-
ccp
|
|
215
|
+
ccp ui
|
|
216
|
+
ccp add [profile]
|
|
217
|
+
ccp add --preset <preset> [profile]
|
|
197
218
|
ccp add-login <profile>
|
|
198
219
|
ccp add-ccr <profile>
|
|
199
220
|
ccp remove <profile>
|
|
@@ -277,3 +298,9 @@ npm pack --dry-run
|
|
|
277
298
|
## License
|
|
278
299
|
|
|
279
300
|
MIT
|
|
301
|
+
|
|
302
|
+
[npm-version]: https://img.shields.io/npm/v/multi-ccp?style=flat-square
|
|
303
|
+
[npm-downloads]: https://img.shields.io/npm/dm/multi-ccp?style=flat-square
|
|
304
|
+
[npm-url]: https://www.npmjs.com/package/multi-ccp
|
|
305
|
+
[license]: https://img.shields.io/npm/l/multi-ccp?style=flat-square
|
|
306
|
+
[license-url]: LICENSE
|
package/dist/cli/program.js
CHANGED
|
@@ -7,6 +7,8 @@ import { resolveConfigDir } from "../core/profiles.js";
|
|
|
7
7
|
import { createApiProfile, createCcrProfile, createLoginProfile, listProfiles, profileExists, removeProfile, summarizeProfile } from "../core/profiles.js";
|
|
8
8
|
import { getSettingsPath } from "../core/settings.js";
|
|
9
9
|
import { getCcrRouteChoices, getCcrStatus, installCcr, readCcrConfig, invokeCcrCli, printCcrStatus, restartCcrService, startCcrService, stopCcrService } from "../core/ccr.js";
|
|
10
|
+
import { createApiProfileFromPreset, createCcrProfileFromPreset, getProfilePreset, listProfilePresets } from "../core/presets.js";
|
|
11
|
+
import { startUiServer } from "../web/server.js";
|
|
10
12
|
import { openEditor } from "../platform/editor.js";
|
|
11
13
|
import { parseSelectionText, syncSessions } from "../core/sessions.js";
|
|
12
14
|
function getPackageVersion() {
|
|
@@ -38,6 +40,174 @@ function printProfile(profile) {
|
|
|
38
40
|
console.log(`${profile.name}\t${profile.baseUrl}`);
|
|
39
41
|
}
|
|
40
42
|
}
|
|
43
|
+
function presetChoiceName(preset) {
|
|
44
|
+
const tags = preset.tags?.length ? ` [${preset.tags.join(", ")}]` : "";
|
|
45
|
+
return `${preset.label}${tags}`;
|
|
46
|
+
}
|
|
47
|
+
async function promptProfileName(profile, defaultName, options) {
|
|
48
|
+
if (profile?.trim()) {
|
|
49
|
+
return profile.trim();
|
|
50
|
+
}
|
|
51
|
+
if (!options.promptWhenMissing) {
|
|
52
|
+
return defaultName;
|
|
53
|
+
}
|
|
54
|
+
return (await input({ message: "Profile name", default: defaultName, required: true })).trim();
|
|
55
|
+
}
|
|
56
|
+
async function selectProfilePreset() {
|
|
57
|
+
const presets = listProfilePresets().sort((a, b) => {
|
|
58
|
+
if (a.id === "custom-api")
|
|
59
|
+
return -1;
|
|
60
|
+
if (b.id === "custom-api")
|
|
61
|
+
return 1;
|
|
62
|
+
return (a.sortOrder ?? 0) - (b.sortOrder ?? 0) || a.label.localeCompare(b.label);
|
|
63
|
+
});
|
|
64
|
+
return select({
|
|
65
|
+
message: "Choose a profile template",
|
|
66
|
+
choices: presets.map((preset) => ({ name: presetChoiceName(preset), value: preset }))
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
function printCreatedProfile(created) {
|
|
70
|
+
console.log(`Created profile '${created.name}'.`);
|
|
71
|
+
console.log(`Run: ccp start ${created.name}`);
|
|
72
|
+
}
|
|
73
|
+
async function createApiPresetProfile(profile, preset, options) {
|
|
74
|
+
if (preset.type !== "api") {
|
|
75
|
+
throw new CcpError(`Preset '${preset.id}' is not an API preset.`);
|
|
76
|
+
}
|
|
77
|
+
const profileName = await promptProfileName(profile, preset.defaultProfileName, { promptWhenMissing: options.promptName });
|
|
78
|
+
if (!(await ensureProfileCanBeCreated(profileName)))
|
|
79
|
+
return;
|
|
80
|
+
console.log(`Create Claude API profile: ${profileName}`);
|
|
81
|
+
console.log(`Preset: ${preset.label}`);
|
|
82
|
+
console.log(`Base: ${preset.env.ANTHROPIC_BASE_URL}`);
|
|
83
|
+
if (preset.modelSummary)
|
|
84
|
+
console.log(`Model: ${preset.modelSummary}`);
|
|
85
|
+
const token = await password({ message: "ANTHROPIC_AUTH_TOKEN (hidden, Enter to leave placeholder)", mask: "*" });
|
|
86
|
+
const ok = await confirm({ message: "Create this profile?", default: true });
|
|
87
|
+
if (!ok) {
|
|
88
|
+
console.log("Cancelled.");
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
printCreatedProfile(await createApiProfileFromPreset({ presetId: preset.id, name: profileName, token }));
|
|
92
|
+
}
|
|
93
|
+
async function createCcrPresetProfile(profile, preset, options) {
|
|
94
|
+
if (preset.type !== "ccr") {
|
|
95
|
+
throw new CcpError(`Preset '${preset.id}' is not a CCR preset.`);
|
|
96
|
+
}
|
|
97
|
+
const profileName = await promptProfileName(profile, preset.defaultProfileName, { promptWhenMissing: options.promptName });
|
|
98
|
+
if (!(await ensureProfileCanBeCreated(profileName)))
|
|
99
|
+
return;
|
|
100
|
+
console.log(`Create CCR profile: ${profileName}`);
|
|
101
|
+
console.log(`Preset: ${preset.label}`);
|
|
102
|
+
console.log(`CCR Preset: ${preset.ccrPreset}`);
|
|
103
|
+
console.log(`Route: ${preset.ccrRoute}`);
|
|
104
|
+
const token = await password({ message: "ANTHROPIC_AUTH_TOKEN for CCR (hidden, Enter to use preset default)", mask: "*" });
|
|
105
|
+
const ok = await confirm({ message: "Create this CCR profile?", default: true });
|
|
106
|
+
if (!ok) {
|
|
107
|
+
console.log("Cancelled.");
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
printCreatedProfile(await createCcrProfileFromPreset({ presetId: preset.id, name: profileName, token }));
|
|
111
|
+
}
|
|
112
|
+
async function createCustomApiProfile(profile, preset, options) {
|
|
113
|
+
const profileName = await promptProfileName(profile, preset.defaultProfileName, { promptWhenMissing: options.promptName });
|
|
114
|
+
if (!(await ensureProfileCanBeCreated(profileName)))
|
|
115
|
+
return;
|
|
116
|
+
console.log(`Create Claude API profile: ${profileName}`);
|
|
117
|
+
const baseUrl = await input({ message: "ANTHROPIC_BASE_URL", required: true });
|
|
118
|
+
const token = await password({ message: "ANTHROPIC_AUTH_TOKEN (hidden, Enter to leave placeholder)", mask: "*" });
|
|
119
|
+
const model = await input({ message: "Model (optional, Enter for Claude Code default)" });
|
|
120
|
+
const ok = await confirm({ message: "Create this profile?", default: true });
|
|
121
|
+
if (!ok) {
|
|
122
|
+
console.log("Cancelled.");
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
printCreatedProfile(await createApiProfile({ name: profileName, baseUrl, token, model }));
|
|
126
|
+
}
|
|
127
|
+
async function selectManualCcrRoute(config) {
|
|
128
|
+
const routes = getCcrRouteChoices(config);
|
|
129
|
+
if (!config) {
|
|
130
|
+
throw new CcpError("CCR config not found. Run 'ccp ccr model' first.");
|
|
131
|
+
}
|
|
132
|
+
if (routes.length === 0) {
|
|
133
|
+
console.log("No CCR routes found. Type a route as provider,model.");
|
|
134
|
+
return input({ message: "CCR route", required: true });
|
|
135
|
+
}
|
|
136
|
+
const selected = await select({
|
|
137
|
+
message: "Bind this profile to a CCR route",
|
|
138
|
+
choices: [
|
|
139
|
+
...routes.map((value) => ({ name: value, value })),
|
|
140
|
+
{ name: "Type route manually", value: "__manual__" }
|
|
141
|
+
]
|
|
142
|
+
});
|
|
143
|
+
if (selected !== "__manual__") {
|
|
144
|
+
return selected;
|
|
145
|
+
}
|
|
146
|
+
return input({ message: "CCR route", required: true });
|
|
147
|
+
}
|
|
148
|
+
async function promptManualCcrToken(config) {
|
|
149
|
+
if (config?.APIKEY) {
|
|
150
|
+
const useExisting = await confirm({ message: "Use APIKEY from CCR config as ANTHROPIC_AUTH_TOKEN?", default: true });
|
|
151
|
+
if (useExisting) {
|
|
152
|
+
return String(config.APIKEY);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return password({ message: "ANTHROPIC_AUTH_TOKEN for CCR (hidden, Enter to use ccr-local-secret)", mask: "*" });
|
|
156
|
+
}
|
|
157
|
+
async function createManualCcrProfile(profile, preset, options) {
|
|
158
|
+
const profileName = await promptProfileName(profile, preset.defaultProfileName, { promptWhenMissing: options.promptName });
|
|
159
|
+
if (!(await ensureProfileCanBeCreated(profileName)))
|
|
160
|
+
return;
|
|
161
|
+
const config = await readCcrConfig();
|
|
162
|
+
const route = await selectManualCcrRoute(config);
|
|
163
|
+
const token = await promptManualCcrToken(config);
|
|
164
|
+
console.log("");
|
|
165
|
+
console.log("Profile: " + profileName);
|
|
166
|
+
console.log("Type: ccr");
|
|
167
|
+
console.log("Route: " + route);
|
|
168
|
+
console.log("Token: set");
|
|
169
|
+
const ok = await confirm({ message: "Create this CCR profile?", default: true });
|
|
170
|
+
if (!ok) {
|
|
171
|
+
console.log("Cancelled.");
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
printCreatedProfile(await createCcrProfile({ name: profileName, route, token }));
|
|
175
|
+
}
|
|
176
|
+
async function createLoginPresetProfile(profile, preset, options) {
|
|
177
|
+
const profileName = await promptProfileName(profile, preset.defaultProfileName, { promptWhenMissing: options.promptName });
|
|
178
|
+
if (!(await ensureProfileCanBeCreated(profileName)))
|
|
179
|
+
return;
|
|
180
|
+
console.log(`Create Claude login profile: ${profileName}`);
|
|
181
|
+
console.log("This profile will not set ANTHROPIC_BASE_URL or ANTHROPIC_AUTH_TOKEN.");
|
|
182
|
+
const ok = await confirm({ message: "Create this login profile?", default: true });
|
|
183
|
+
if (!ok) {
|
|
184
|
+
console.log("Cancelled.");
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const created = await createLoginProfile({ name: profileName });
|
|
188
|
+
console.log(`Created Claude login profile '${created.name}'.`);
|
|
189
|
+
console.log(`Run: ccp start ${created.name}`);
|
|
190
|
+
console.log("Then complete the Claude Code login flow for this account.");
|
|
191
|
+
}
|
|
192
|
+
async function createProfileFromPreset(profile, preset, options) {
|
|
193
|
+
switch (preset.type) {
|
|
194
|
+
case "api":
|
|
195
|
+
await createApiPresetProfile(profile, preset, options);
|
|
196
|
+
break;
|
|
197
|
+
case "ccr":
|
|
198
|
+
await createCcrPresetProfile(profile, preset, options);
|
|
199
|
+
break;
|
|
200
|
+
case "custom-api":
|
|
201
|
+
await createCustomApiProfile(profile, preset, options);
|
|
202
|
+
break;
|
|
203
|
+
case "manual-ccr":
|
|
204
|
+
await createManualCcrProfile(profile, preset, options);
|
|
205
|
+
break;
|
|
206
|
+
case "login":
|
|
207
|
+
await createLoginPresetProfile(profile, preset, options);
|
|
208
|
+
break;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
41
211
|
async function selectSessionFiles(sessions) {
|
|
42
212
|
if (sessions.length === 0)
|
|
43
213
|
return [];
|
|
@@ -126,23 +296,17 @@ export function createProgram() {
|
|
|
126
296
|
});
|
|
127
297
|
program
|
|
128
298
|
.command("add")
|
|
129
|
-
.argument("
|
|
130
|
-
.
|
|
131
|
-
.
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const token = await password({ message: "ANTHROPIC_AUTH_TOKEN (hidden, Enter to leave placeholder)", mask: "*" });
|
|
137
|
-
const model = await input({ message: "Model (optional, Enter for Claude Code default)" });
|
|
138
|
-
const ok = await confirm({ message: "Create this profile?", default: true });
|
|
139
|
-
if (!ok) {
|
|
140
|
-
console.log("Cancelled.");
|
|
299
|
+
.argument("[profile]")
|
|
300
|
+
.option("--preset <preset>", "Create from a built-in preset")
|
|
301
|
+
.description("Create a profile from an interactive template or custom configuration")
|
|
302
|
+
.action(async (profile, options) => {
|
|
303
|
+
if (options.preset) {
|
|
304
|
+
const preset = getProfilePreset(options.preset);
|
|
305
|
+
await createProfileFromPreset(profile, preset, { promptName: false });
|
|
141
306
|
return;
|
|
142
307
|
}
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
console.log(`Run: ccp start ${created.name}`);
|
|
308
|
+
const preset = await selectProfilePreset();
|
|
309
|
+
await createProfileFromPreset(profile, preset, { promptName: true });
|
|
146
310
|
});
|
|
147
311
|
program
|
|
148
312
|
.command("add-login")
|
|
@@ -165,9 +329,36 @@ export function createProgram() {
|
|
|
165
329
|
});
|
|
166
330
|
program
|
|
167
331
|
.command("add-ccr")
|
|
168
|
-
.argument("
|
|
332
|
+
.argument("[profile]")
|
|
333
|
+
.option("--preset <preset>", "Create from a built-in CCR preset")
|
|
169
334
|
.description("Create a CCR preset-bound profile")
|
|
170
|
-
.action(async (profile) => {
|
|
335
|
+
.action(async (profile, options) => {
|
|
336
|
+
if (options.preset) {
|
|
337
|
+
const preset = getProfilePreset(options.preset);
|
|
338
|
+
if (preset.type !== "ccr") {
|
|
339
|
+
throw new CcpError(`Preset '${options.preset}' is not a CCR preset.`);
|
|
340
|
+
}
|
|
341
|
+
const profileName = profile || preset.defaultProfileName;
|
|
342
|
+
if (!(await ensureProfileCanBeCreated(profileName)))
|
|
343
|
+
return;
|
|
344
|
+
console.log(`Create CCR profile: ${profileName}`);
|
|
345
|
+
console.log(`Preset: ${preset.label}`);
|
|
346
|
+
console.log(`CCR Preset: ${preset.ccrPreset}`);
|
|
347
|
+
console.log(`Route: ${preset.ccrRoute}`);
|
|
348
|
+
const token = await password({ message: "ANTHROPIC_AUTH_TOKEN for CCR (hidden, Enter to use preset default)", mask: "*" });
|
|
349
|
+
const ok = await confirm({ message: "Create this CCR profile?", default: true });
|
|
350
|
+
if (!ok) {
|
|
351
|
+
console.log("Cancelled.");
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
const created = await createCcrProfileFromPreset({ presetId: preset.id, name: profileName, token });
|
|
355
|
+
console.log("Created CCR profile '" + created.name + "'.");
|
|
356
|
+
console.log("Run: ccp start " + created.name);
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
if (!profile) {
|
|
360
|
+
throw new CcpError("Missing profile name. Use 'ccp add-ccr <profile>' or 'ccp add-ccr --preset <preset> [profile]'.");
|
|
361
|
+
}
|
|
171
362
|
if (!(await ensureProfileCanBeCreated(profile)))
|
|
172
363
|
return;
|
|
173
364
|
const config = await readCcrConfig();
|
|
@@ -336,8 +527,11 @@ export function createProgram() {
|
|
|
336
527
|
program
|
|
337
528
|
.command("ui")
|
|
338
529
|
.description("Start the local web UI")
|
|
339
|
-
.
|
|
340
|
-
|
|
530
|
+
.option("--host <host>", "Host to bind", "127.0.0.1")
|
|
531
|
+
.option("--port <port>", "Port to listen on", (value) => Number(value), 7821)
|
|
532
|
+
.option("--no-open", "Do not open the UI in the default browser")
|
|
533
|
+
.action(async (options) => {
|
|
534
|
+
await startUiServer({ host: options.host, port: options.port, open: options.open });
|
|
341
535
|
});
|
|
342
536
|
return program;
|
|
343
537
|
}
|
package/dist/cli/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"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"}
|
package/dist/core/ccr.js
CHANGED
|
@@ -5,6 +5,16 @@ import path from "node:path";
|
|
|
5
5
|
import { CcpError } from "./errors.js";
|
|
6
6
|
import { getClaudeCodeRouterConfigPath, getClaudeCodeRouterDir } from "./paths.js";
|
|
7
7
|
import { readMeta, readSettings, writeMeta, writeSettings } from "./settings.js";
|
|
8
|
+
const CCR_MODEL_ENV_NAMES = [
|
|
9
|
+
"ANTHROPIC_MODEL",
|
|
10
|
+
"ANTHROPIC_SMALL_FAST_MODEL",
|
|
11
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL",
|
|
12
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL",
|
|
13
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL_NAME",
|
|
14
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL",
|
|
15
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL_NAME",
|
|
16
|
+
"CLAUDE_CODE_SUBAGENT_MODEL"
|
|
17
|
+
];
|
|
8
18
|
function stripBom(value) {
|
|
9
19
|
return value.replace(/^/, "");
|
|
10
20
|
}
|
|
@@ -257,9 +267,17 @@ export async function updateCcrProfileEndpoint(profileDir, endpoint, presetName)
|
|
|
257
267
|
settings.env ??= {};
|
|
258
268
|
if (settings.env.ANTHROPIC_BASE_URL !== endpoint) {
|
|
259
269
|
settings.env.ANTHROPIC_BASE_URL = endpoint;
|
|
260
|
-
await writeSettings(profileDir, settings);
|
|
261
270
|
changed = true;
|
|
262
271
|
}
|
|
272
|
+
for (const name of CCR_MODEL_ENV_NAMES) {
|
|
273
|
+
if (settings.env[name] !== undefined) {
|
|
274
|
+
delete settings.env[name];
|
|
275
|
+
changed = true;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
if (changed) {
|
|
279
|
+
await writeSettings(profileDir, settings);
|
|
280
|
+
}
|
|
263
281
|
}
|
|
264
282
|
const meta = await readMeta(profileDir);
|
|
265
283
|
if (meta) {
|