@gird/ccli 2.19.0 → 2.20.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 (94) hide show
  1. package/README.md +2 -0
  2. package/dist/agent/model-catalog.js +100 -0
  3. package/dist/agent/model-catalog.js.map +1 -0
  4. package/dist/agent/os.js +291 -2
  5. package/dist/agent/os.js.map +1 -1
  6. package/dist/cli/args/index.js +22 -0
  7. package/dist/cli/args/index.js.map +1 -1
  8. package/dist/cli/repl/index.js +4 -3
  9. package/dist/cli/repl/index.js.map +1 -1
  10. package/dist/cli/run/index.js +21 -15
  11. package/dist/cli/run/index.js.map +1 -1
  12. package/dist/cli/run/task.js +20 -1
  13. package/dist/cli/run/task.js.map +1 -1
  14. package/dist/cli/session/checkpoint.js +50 -34
  15. package/dist/cli/session/checkpoint.js.map +1 -1
  16. package/dist/cli/slash/config/account.js +82 -0
  17. package/dist/cli/slash/config/account.js.map +1 -0
  18. package/dist/cli/slash/config/alias.js +96 -0
  19. package/dist/cli/slash/config/alias.js.map +1 -0
  20. package/dist/cli/slash/config/login.js +80 -0
  21. package/dist/cli/slash/config/login.js.map +1 -0
  22. package/dist/cli/slash/config/model.js +50 -6
  23. package/dist/cli/slash/config/model.js.map +1 -1
  24. package/dist/cli/slash/config/models.js +45 -0
  25. package/dist/cli/slash/config/models.js.map +1 -0
  26. package/dist/cli/slash/index.js +17 -1
  27. package/dist/cli/slash/index.js.map +1 -1
  28. package/dist/cli/slash/system/agent.js +1 -1
  29. package/dist/cli/slash/system/agent.js.map +1 -1
  30. package/dist/cli/slash/system/compact.js +1 -1
  31. package/dist/cli/slash/system/compact.js.map +1 -1
  32. package/dist/cli/slash/system/goal.js +1 -1
  33. package/dist/cli/slash/system/goal.js.map +1 -1
  34. package/dist/cli/slash/system/help.js +4 -0
  35. package/dist/cli/slash/system/help.js.map +1 -1
  36. package/dist/cli/slash/system/plan.js +1 -1
  37. package/dist/cli/slash/system/plan.js.map +1 -1
  38. package/dist/cli/slash/system/revert.js +7 -5
  39. package/dist/cli/slash/system/revert.js.map +1 -1
  40. package/dist/cli/stats/index.js +6 -1
  41. package/dist/cli/stats/index.js.map +1 -1
  42. package/dist/cli/stats/usage.js +215 -0
  43. package/dist/cli/stats/usage.js.map +1 -0
  44. package/dist/config/config.js +207 -6
  45. package/dist/config/config.js.map +1 -1
  46. package/dist/config/credentials.js +104 -0
  47. package/dist/config/credentials.js.map +1 -0
  48. package/dist/harness/index.js +3 -1
  49. package/dist/harness/index.js.map +1 -1
  50. package/dist/index.js +19 -2
  51. package/dist/index.js.map +1 -1
  52. package/dist/tools/{skill-tool.js → agent/skill-tool.js} +1 -1
  53. package/dist/tools/agent/skill-tool.js.map +1 -0
  54. package/dist/tools/{todo.js → agent/todo.js} +1 -1
  55. package/dist/tools/agent/todo.js.map +1 -0
  56. package/dist/tools/agent/web-fetch.js.map +1 -0
  57. package/dist/tools/{edit-file.js → fs/edit-file.js} +8 -14
  58. package/dist/tools/fs/edit-file.js.map +1 -0
  59. package/dist/tools/fs/glob.js.map +1 -0
  60. package/dist/tools/{grep.js → fs/grep.js} +1 -1
  61. package/dist/tools/fs/grep.js.map +1 -0
  62. package/dist/tools/fs/list-dir.js.map +1 -0
  63. package/dist/tools/{read-file.js → fs/read-file.js} +1 -1
  64. package/dist/tools/fs/read-file.js.map +1 -0
  65. package/dist/tools/{write-file.js → fs/write-file.js} +8 -15
  66. package/dist/tools/fs/write-file.js.map +1 -0
  67. package/dist/tools/index.js +11 -11
  68. package/dist/tools/index.js.map +1 -1
  69. package/dist/tools/shared.js.map +1 -1
  70. package/dist/tools/shell/bash-background.js.map +1 -0
  71. package/dist/tools/shell/bash-output.js.map +1 -0
  72. package/dist/tools/shell/bash.js.map +1 -0
  73. package/dist/tools/shell/kill-bash.js.map +1 -0
  74. package/package.json +1 -1
  75. package/dist/tools/bash-background.js.map +0 -1
  76. package/dist/tools/bash-output.js.map +0 -1
  77. package/dist/tools/bash.js.map +0 -1
  78. package/dist/tools/edit-file.js.map +0 -1
  79. package/dist/tools/glob.js.map +0 -1
  80. package/dist/tools/grep.js.map +0 -1
  81. package/dist/tools/kill-bash.js.map +0 -1
  82. package/dist/tools/list-dir.js.map +0 -1
  83. package/dist/tools/read-file.js.map +0 -1
  84. package/dist/tools/skill-tool.js.map +0 -1
  85. package/dist/tools/todo.js.map +0 -1
  86. package/dist/tools/web-fetch.js.map +0 -1
  87. package/dist/tools/write-file.js.map +0 -1
  88. /package/dist/tools/{web-fetch.js → agent/web-fetch.js} +0 -0
  89. /package/dist/tools/{glob.js → fs/glob.js} +0 -0
  90. /package/dist/tools/{list-dir.js → fs/list-dir.js} +0 -0
  91. /package/dist/tools/{bash-background.js → shell/bash-background.js} +0 -0
  92. /package/dist/tools/{bash-output.js → shell/bash-output.js} +0 -0
  93. /package/dist/tools/{bash.js → shell/bash.js} +0 -0
  94. /package/dist/tools/{kill-bash.js → shell/kill-bash.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"revert.js","sourceRoot":"","sources":["../../../../src/cli/slash/system/revert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"revert.js","sourceRoot":"","sources":["../../../../src/cli/slash/system/revert.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,13 @@ const CONTEXT_LIMIT = {
17
17
  // OpenAI / 通义千问 / DeepSeek 常见值
18
18
  'qwen-plus': 131072, // 128K
19
19
  'qwen-max': 32768, // 32K
20
+ 'qwen3.6-flash': 1048576, // 1M
21
+ 'qwen3.7-plus': 1048576, // 1M
22
+ 'qwen3.7-max': 1048576, // 1M
20
23
  'deepseek-chat': 65536, // 64K
21
24
  'deepseek-coder': 65536, // 64K
25
+ 'deepseek-v4-flash': 1048576, // 1M
26
+ 'deepseek-v4-pro': 1048576, // 1M
22
27
  'gpt-4o': 128000, // 128K
23
28
  'gpt-4o-mini': 128000, // 128K
24
29
  'gpt-4': 8192, // 8K
@@ -79,7 +84,7 @@ export function addStats(a, b) {
79
84
  export function formatStats(stats, model) {
80
85
  const ctx = model ? getContextLimit(model) : DEFAULT_CONTEXT_LIMIT;
81
86
  const ratio = ctx > 0 ? (stats.totalTokens / ctx) * 100 : 0;
82
- return `上下文: ${stats.totalTokens.toLocaleString()} / ${ctx.toLocaleString()} tokens (${ratio.toFixed(1)}%) 输入: ${stats.promptTokens.toLocaleString()} 输出: ${stats.completionTokens.toLocaleString()}`;
87
+ return `上下文: ${fmtCompact(stats.totalTokens)} / ${fmtCompact(ctx)} tokens (${ratio.toFixed(1)}%) 输入: ${fmtCompact(stats.promptTokens)} 输出: ${fmtCompact(stats.completionTokens)}`;
83
88
  }
84
89
  /** 把大数字格式化为 k/M,便于阅读。 */
85
90
  function fmtCompact(n) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/stats/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/stats/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,215 @@
1
+ /**
2
+ * Usage 统计持久化与成本估算。
3
+ *
4
+ * 每次 AI 回合结束时,把真实 token 消耗(优先后端返回,缺失时字符估算)
5
+ * 追加到 ~/.ccli/usage.jsonl。/account 可读取并展示本月累计与预估成本。
6
+ *
7
+ * 成本单价为常见模型的近似值,仅供参考;未知模型不估算成本。
8
+ */
9
+ import { homedir } from 'node:os';
10
+ import { join } from 'node:path';
11
+ import { appendFileSync, existsSync, mkdirSync, readFileSync, } from 'node:fs';
12
+ /** 默认 usage 文件路径。 */
13
+ export function usagePath() {
14
+ return join(homedir(), '.ccli', 'usage.jsonl');
15
+ }
16
+ /**
17
+ * 常见模型单价(USD / 1M tokens)。
18
+ * 价格为近似值,仅用于 /account 展示预估成本;实际账单以各平台为准。
19
+ * 匹配规则:先精确匹配,再前缀匹配(如 qwen-plus-0919 → qwen-plus)。
20
+ */
21
+ const MODEL_PRICES = {
22
+ // 通义千问(OpenAI 兼容端点常见模型)
23
+ 'qwen-plus': { prompt: 0.8, completion: 2.0 },
24
+ 'qwen-max': { prompt: 2.4, completion: 9.6 },
25
+ 'qwen-turbo': { prompt: 0.5, completion: 2.0 },
26
+ 'qwen-vl-plus': { prompt: 2.0, completion: 5.0 },
27
+ 'qwen3.6-flash': { prompt: 0.166, completion: 0.993 },
28
+ 'qwen3.7-plus': { prompt: 0.276, completion: 1.103 },
29
+ 'qwen3.7-max': { prompt: 1.655, completion: 4.966 },
30
+ // OpenAI 官方
31
+ 'gpt-4o': { prompt: 2.5, completion: 10.0 },
32
+ 'gpt-4o-mini': { prompt: 0.15, completion: 0.6 },
33
+ 'o3-mini': { prompt: 1.1, completion: 4.4 },
34
+ // Anthropic
35
+ 'claude-3-5-haiku-20241022': { prompt: 0.8, completion: 4.0 },
36
+ 'claude-sonnet-4-5': { prompt: 3.0, completion: 15.0 },
37
+ 'claude-opus-4-5': { prompt: 15.0, completion: 75.0 },
38
+ // DeepSeek
39
+ 'deepseek-chat': { prompt: 0.14, completion: 0.28 },
40
+ 'deepseek-coder': { prompt: 0.14, completion: 0.28 },
41
+ 'deepseek-reasoner': { prompt: 0.55, completion: 2.19 },
42
+ 'deepseek-v4-flash': { prompt: 0.14, completion: 0.28 },
43
+ 'deepseek-v4-pro': { prompt: 0.435, completion: 0.87 },
44
+ // Gemini
45
+ 'gemini-2.5-flash': { prompt: 0.15, completion: 0.6 },
46
+ 'gemini-2.5-pro': { prompt: 1.25, completion: 10.0 },
47
+ // 智谱 GLM
48
+ 'glm-4': { prompt: 1.0, completion: 1.0 },
49
+ 'glm-4-flash': { prompt: 0.0, completion: 0.0 },
50
+ };
51
+ /** 查找模型单价;先精确匹配,再前缀匹配。 */
52
+ function findPrice(model) {
53
+ const exact = MODEL_PRICES[model];
54
+ if (exact)
55
+ return exact;
56
+ for (const key of Object.keys(MODEL_PRICES)) {
57
+ if (model.startsWith(key))
58
+ return MODEL_PRICES[key];
59
+ }
60
+ return undefined;
61
+ }
62
+ /**
63
+ * 估算一次调用的成本(USD)。
64
+ * 未知模型返回 undefined。
65
+ */
66
+ export function estimateCost(_provider, model, promptTokens, completionTokens) {
67
+ const price = findPrice(model);
68
+ if (!price)
69
+ return undefined;
70
+ const cost = (promptTokens / 1_000_000) * price.prompt +
71
+ (completionTokens / 1_000_000) * price.completion;
72
+ return cost;
73
+ }
74
+ /**
75
+ * 追加一条 usage 记录。
76
+ * 任何失败(磁盘满、权限等)都静默吞掉,不中断会话。
77
+ */
78
+ export function appendUsage(record) {
79
+ try {
80
+ const path = usagePath();
81
+ mkdirSync(join(homedir(), '.ccli'), { recursive: true });
82
+ const estimatedCostUSD = estimateCost(record.provider, record.model, record.promptTokens, record.completionTokens);
83
+ const line = JSON.stringify({
84
+ ts: new Date().toISOString(),
85
+ ...record,
86
+ ...(estimatedCostUSD !== undefined
87
+ ? { estimatedCostUSD }
88
+ : {}),
89
+ }) + '\n';
90
+ appendFileSync(path, line, 'utf8');
91
+ }
92
+ catch {
93
+ // usage 记录不能打断会话
94
+ }
95
+ }
96
+ /** 读取全部 usage 记录;文件不存在或损坏时返回空数组。 */
97
+ export function readUsageRecords() {
98
+ const path = usagePath();
99
+ if (!existsSync(path))
100
+ return [];
101
+ const raw = readFileSync(path, 'utf8');
102
+ if (!raw.trim())
103
+ return [];
104
+ const out = [];
105
+ for (const line of raw.split('\n')) {
106
+ if (!line.trim())
107
+ continue;
108
+ try {
109
+ out.push(JSON.parse(line));
110
+ }
111
+ catch {
112
+ // 跳过坏行
113
+ }
114
+ }
115
+ return out;
116
+ }
117
+ /**
118
+ * 按条件读取 usage,并按模型分组汇总。
119
+ * 返回数组按总 token 数降序排列。
120
+ */
121
+ export function readUsageByModel(filters = {}) {
122
+ const records = readUsageRecords().filter((r) => {
123
+ if (filters.provider && r.provider !== filters.provider)
124
+ return false;
125
+ if (filters.since) {
126
+ const ts = new Date(r.ts).getTime();
127
+ if (ts < filters.since.getTime())
128
+ return false;
129
+ }
130
+ if (filters.until) {
131
+ const ts = new Date(r.ts).getTime();
132
+ if (ts > filters.until.getTime())
133
+ return false;
134
+ }
135
+ return true;
136
+ });
137
+ const byModel = new Map();
138
+ for (const r of records) {
139
+ const existing = byModel.get(r.model);
140
+ const next = {
141
+ promptTokens: existing ? existing.promptTokens + r.promptTokens : r.promptTokens,
142
+ completionTokens: existing
143
+ ? existing.completionTokens + r.completionTokens
144
+ : r.completionTokens,
145
+ totalTokens: existing ? existing.totalTokens + r.totalTokens : r.totalTokens,
146
+ estimatedCostUSD: (existing ? existing.estimatedCostUSD : 0) + (r.estimatedCostUSD ?? 0),
147
+ recordCount: existing ? existing.recordCount + 1 : 1,
148
+ };
149
+ byModel.set(r.model, next);
150
+ }
151
+ return Array.from(byModel.entries())
152
+ .map(([model, summary]) => ({ model, summary }))
153
+ .sort((a, b) => b.summary.totalTokens - a.summary.totalTokens);
154
+ }
155
+ /**
156
+ * 按条件读取 usage 并汇总。
157
+ * 不传条件时返回全部记录累计。
158
+ */
159
+ export function readUsageSummary(filters = {}) {
160
+ const records = readUsageRecords().filter((r) => {
161
+ if (filters.provider && r.provider !== filters.provider)
162
+ return false;
163
+ if (filters.model && r.model !== filters.model)
164
+ return false;
165
+ if (filters.since) {
166
+ const ts = new Date(r.ts).getTime();
167
+ if (ts < filters.since.getTime())
168
+ return false;
169
+ }
170
+ if (filters.until) {
171
+ const ts = new Date(r.ts).getTime();
172
+ if (ts > filters.until.getTime())
173
+ return false;
174
+ }
175
+ return true;
176
+ });
177
+ return records.reduce((sum, r) => ({
178
+ promptTokens: sum.promptTokens + r.promptTokens,
179
+ completionTokens: sum.completionTokens + r.completionTokens,
180
+ totalTokens: sum.totalTokens + r.totalTokens,
181
+ estimatedCostUSD: sum.estimatedCostUSD + (r.estimatedCostUSD ?? 0),
182
+ recordCount: sum.recordCount + 1,
183
+ }), {
184
+ promptTokens: 0,
185
+ completionTokens: 0,
186
+ totalTokens: 0,
187
+ estimatedCostUSD: 0,
188
+ recordCount: 0,
189
+ });
190
+ }
191
+ /** 获取本月起止时间。 */
192
+ export function thisMonthRange() {
193
+ const now = new Date();
194
+ const since = new Date(now.getFullYear(), now.getMonth(), 1);
195
+ const until = new Date(now.getFullYear(), now.getMonth() + 1, 1);
196
+ return { since, until };
197
+ }
198
+ /** 把 token 数格式化为紧凑形式(如 1.2K、3.4M)。 */
199
+ export function formatTokensCompact(n) {
200
+ if (n >= 1_000_000) {
201
+ return `${(n / 1_000_000).toFixed(1)}M`;
202
+ }
203
+ if (n >= 1_000) {
204
+ return `${(n / 1_000).toFixed(1)}K`;
205
+ }
206
+ return String(n);
207
+ }
208
+ /** 格式化 usage 摘要供 /account 展示。 */
209
+ export function formatUsageSummary(summary) {
210
+ const cost = summary.estimatedCostUSD > 0
211
+ ? ` 预估成本: $${summary.estimatedCostUSD.toFixed(4)}`
212
+ : '';
213
+ return `本月: ${formatTokensCompact(summary.totalTokens)} tokens(输入 ${formatTokensCompact(summary.promptTokens)} / 输出 ${formatTokensCompact(summary.completionTokens)})${cost}`.trim();
214
+ }
215
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/cli/stats/usage.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ import { dirname, join } from 'node:path';
15
15
  import { existsSync, mkdirSync, readFileSync, writeFileSync, } from 'node:fs';
16
16
  import { loadEnvFile } from './env.js';
17
17
  import { loadPlugins, pluginContributions } from './plugins.js';
18
+ import { encryptApiKey, decryptApiKey, loadCredentials, findCredential, saveCredential, credentialsPath, } from './credentials.js';
18
19
  /**
19
20
  * 支持的生命周期钩子事件。
20
21
  * - PreToolUse / PostToolUse / PostToolUseFailure:工具调用前 / 成功后 / 失败后
@@ -63,6 +64,108 @@ const DEFAULT_MODEL = {
63
64
  openai: 'qwen-plus',
64
65
  gemini: 'gemini-2.5-flash',
65
66
  };
67
+ /**
68
+ * 各后端的默认模型别名(fast / smart / reasoning)。
69
+ * 用户配置的同名别名会覆盖默认预设。
70
+ *
71
+ * Anthropic / Gemini 直接按 provider 注入;
72
+ * OpenAI 兼容后端根据 baseURL 识别具体服务(OpenAI 官方 / Qwen / DeepSeek / GLM),
73
+ * 未知的兼容端点不注入预设,避免指向不存在的模型。
74
+ */
75
+ export function defaultAliasesForProvider(provider, baseURL) {
76
+ if (provider === 'anthropic') {
77
+ return {
78
+ fast: 'claude-3-5-haiku-20241022',
79
+ smart: 'claude-sonnet-4-5',
80
+ reasoning: 'claude-opus-4-5',
81
+ };
82
+ }
83
+ if (provider === 'gemini') {
84
+ return {
85
+ fast: 'gemini-2.5-flash',
86
+ smart: 'gemini-2.5-pro',
87
+ reasoning: 'gemini-2.5-pro',
88
+ };
89
+ }
90
+ if (provider === 'openai') {
91
+ const url = baseURL?.toLowerCase() ?? '';
92
+ // OpenAI 官方
93
+ if (url &&
94
+ (/^https:\/\/api\.openai\.com/.test(url) ||
95
+ url === 'https://api.openai.com/v1')) {
96
+ return {
97
+ fast: 'gpt-4o-mini',
98
+ smart: 'gpt-4o',
99
+ reasoning: 'o3-mini',
100
+ };
101
+ }
102
+ // 通义千问
103
+ if (url.includes('dashscope') || url.includes('aliyun')) {
104
+ return {
105
+ fast: 'qwen3.6-flash',
106
+ smart: 'qwen3.7-plus',
107
+ reasoning: 'qwen3.7-max',
108
+ };
109
+ }
110
+ // DeepSeek
111
+ if (url.includes('deepseek')) {
112
+ return {
113
+ fast: 'deepseek-v4-flash',
114
+ smart: 'deepseek-v4-pro',
115
+ reasoning: 'deepseek-v4-pro',
116
+ };
117
+ }
118
+ // 智谱 GLM
119
+ if (url.includes('bigmodel') || url.includes('zhipu')) {
120
+ return {
121
+ fast: 'glm-4-flash',
122
+ smart: 'glm-4',
123
+ reasoning: 'glm-4',
124
+ };
125
+ }
126
+ // 未知兼容端点,不注入预设
127
+ return {};
128
+ }
129
+ return {};
130
+ }
131
+ /** 判断某个别名是不是默认预设(值也相同)。 */
132
+ export function isPresetAlias(name, model, provider, baseURL) {
133
+ const presets = defaultAliasesForProvider(provider, baseURL);
134
+ return presets[name] === model;
135
+ }
136
+ /**
137
+ * 判断模型是否为「思考模型」(服务端通常会返回 reasoning / thinking 内容)。
138
+ * 基于常见模型命名约定做启发式匹配,供 /model(s) 列表加标识用;未知模型保守返回 false。
139
+ */
140
+ export function isReasoningModel(model) {
141
+ const lower = model.toLowerCase();
142
+ // Anthropic extended-thinking 模型
143
+ if (lower.includes('claude-opus-4'))
144
+ return true;
145
+ if (lower.includes('claude-sonnet-4-5'))
146
+ return true;
147
+ if (lower.includes('claude-3-7-sonnet'))
148
+ return true;
149
+ // OpenAI reasoning 系列(o1 / o3 等)
150
+ if (lower.includes('o1') || lower.includes('o3'))
151
+ return true;
152
+ // Gemini 2.5 系列(原生 thinking)
153
+ if (lower.includes('gemini-2.5'))
154
+ return true;
155
+ // 通义千问 3.x 混合思考模型(3.6/3.7 默认开启 thinking)
156
+ if (/qwen3\.[67]/.test(lower))
157
+ return true;
158
+ if (lower.includes('qwen3-coder'))
159
+ return true;
160
+ // DeepSeek reasoning 模型
161
+ if (lower.includes('deepseek-v4'))
162
+ return true;
163
+ if (lower.includes('deepseek-reasoner'))
164
+ return true;
165
+ if (lower.includes('deepseek-r1'))
166
+ return true;
167
+ return false;
168
+ }
66
169
  /** 单个用户回合内的默认最大工具调用轮数(未配置 maxStepsPerTurn 时)。 */
67
170
  export const DEFAULT_MAX_STEPS_PER_TURN = 50;
68
171
  /**
@@ -245,6 +348,49 @@ export function saveMcpServers(cwd, mcpServers) {
245
348
  return { ok: false, message: `保存失败:${e?.message ?? String(e)}` };
246
349
  }
247
350
  }
351
+ /**
352
+ * 把 API key 加密保存到 ~/.ccli/credentials.json。
353
+ * @returns 保存成功返回路径,失败返回错误信息
354
+ */
355
+ export function saveApiKeyCredential(provider, apiKey, baseURL, model) {
356
+ try {
357
+ const encrypted = encryptApiKey(apiKey);
358
+ const entry = {
359
+ provider,
360
+ baseURL,
361
+ model,
362
+ encrypted,
363
+ };
364
+ saveCredential(entry);
365
+ return { ok: true, path: credentialsPath() };
366
+ }
367
+ catch (e) {
368
+ return {
369
+ ok: false,
370
+ message: `保存加密凭证失败:${e?.message ?? String(e)}`,
371
+ };
372
+ }
373
+ }
374
+ /**
375
+ * 把模型别名持久化到配置文件。
376
+ * @returns 保存成功返回路径,失败返回错误信息
377
+ */
378
+ export function saveAliases(cwd, aliases) {
379
+ const path = findConfigPath(cwd);
380
+ try {
381
+ let raw = {};
382
+ if (existsSync(path)) {
383
+ raw = JSON.parse(readFileSync(path, 'utf8'));
384
+ }
385
+ raw.aliases = aliases;
386
+ mkdirSync(dirname(path), { recursive: true });
387
+ writeFileSync(path, JSON.stringify(raw, null, 2) + '\n', 'utf8');
388
+ return { ok: true, path };
389
+ }
390
+ catch (e) {
391
+ return { ok: false, message: `保存失败:${e?.message ?? String(e)}` };
392
+ }
393
+ }
248
394
  /**
249
395
  * 解析出最终生效的配置。
250
396
  * @param cwd 项目根目录,用于定位 .env 和项目级配置
@@ -288,7 +434,10 @@ export function loadConfig(cwd = process.cwd()) {
288
434
  DEFAULT_MODEL.anthropic,
289
435
  mcpServers: base.mcpServers,
290
436
  roles: base.roles,
291
- aliases: base.aliases,
437
+ aliases: {
438
+ ...defaultAliasesForProvider('anthropic', get('ANTHROPIC_BASE_URL')),
439
+ ...base.aliases,
440
+ },
292
441
  maxStepsPerTurn: base.maxStepsPerTurn,
293
442
  hooks: base.hooks,
294
443
  },
@@ -307,7 +456,10 @@ export function loadConfig(cwd = process.cwd()) {
307
456
  model: get('QWEN_MODEL') ?? DEFAULT_MODEL.openai,
308
457
  mcpServers: base.mcpServers,
309
458
  roles: base.roles,
310
- aliases: base.aliases,
459
+ aliases: {
460
+ ...defaultAliasesForProvider('openai', get('QWEN_BASE_URL')),
461
+ ...base.aliases,
462
+ },
311
463
  maxStepsPerTurn: base.maxStepsPerTurn,
312
464
  hooks: base.hooks,
313
465
  },
@@ -328,7 +480,10 @@ export function loadConfig(cwd = process.cwd()) {
328
480
  DEFAULT_MODEL.openai,
329
481
  mcpServers: base.mcpServers,
330
482
  roles: base.roles,
331
- aliases: base.aliases,
483
+ aliases: {
484
+ ...defaultAliasesForProvider('openai', get('OPENAI_BASE_URL')),
485
+ ...base.aliases,
486
+ },
332
487
  maxStepsPerTurn: base.maxStepsPerTurn,
333
488
  hooks: base.hooks,
334
489
  },
@@ -349,13 +504,55 @@ export function loadConfig(cwd = process.cwd()) {
349
504
  DEFAULT_MODEL.gemini,
350
505
  mcpServers: base.mcpServers,
351
506
  roles: base.roles,
352
- aliases: base.aliases,
507
+ aliases: {
508
+ ...defaultAliasesForProvider('gemini', get('GEMINI_BASE_URL')),
509
+ ...base.aliases,
510
+ },
353
511
  maxStepsPerTurn: base.maxStepsPerTurn,
354
512
  hooks: base.hooks,
355
513
  },
356
514
  };
357
515
  }
358
- // 5) 回退到合并后的配置文件
516
+ // 5) 加密凭证(优先级高于合并后的配置文件)
517
+ try {
518
+ const credentials = loadCredentials();
519
+ if (credentials.length > 0) {
520
+ const credential = base.provider
521
+ ? findCredential(credentials, base.provider, base.baseURL)
522
+ : credentials[0];
523
+ if (credential) {
524
+ const apiKey = decryptApiKey(credential.encrypted);
525
+ const provider = credential.provider;
526
+ const baseURL = credential.baseURL ?? base.baseURL;
527
+ const model = credential.model ?? base.model ?? DEFAULT_MODEL[provider];
528
+ return {
529
+ ok: true,
530
+ source: '加密凭证',
531
+ config: {
532
+ provider,
533
+ apiKey,
534
+ baseURL,
535
+ model,
536
+ mcpServers: base.mcpServers,
537
+ roles: base.roles,
538
+ aliases: {
539
+ ...defaultAliasesForProvider(provider, baseURL),
540
+ ...base.aliases,
541
+ },
542
+ maxStepsPerTurn: base.maxStepsPerTurn,
543
+ hooks: base.hooks,
544
+ },
545
+ };
546
+ }
547
+ }
548
+ }
549
+ catch (e) {
550
+ return {
551
+ ok: false,
552
+ message: `读取加密凭证失败:${e?.message ?? String(e)}`,
553
+ };
554
+ }
555
+ // 6) 回退到合并后的配置文件
359
556
  if (base.apiKey && base.provider) {
360
557
  return {
361
558
  ok: true,
@@ -367,7 +564,10 @@ export function loadConfig(cwd = process.cwd()) {
367
564
  model: base.model ?? DEFAULT_MODEL[base.provider],
368
565
  mcpServers: base.mcpServers,
369
566
  roles: base.roles,
370
- aliases: base.aliases,
567
+ aliases: {
568
+ ...defaultAliasesForProvider(base.provider, base.baseURL),
569
+ ...base.aliases,
570
+ },
371
571
  maxStepsPerTurn: base.maxStepsPerTurn,
372
572
  hooks: base.hooks,
373
573
  },
@@ -378,6 +578,7 @@ export function loadConfig(cwd = process.cwd()) {
378
578
  ok: false,
379
579
  message: [
380
580
  '未找到可用的 API 配置。请任选其一:',
581
+ ' • 启动 REPL 后执行 /login 交互式录入并加密保存',
381
582
  ' • 设置环境变量 ANTHROPIC_API_KEY=sk-ant-...',
382
583
  ' • 或在项目 .env 写入 QWEN_API_KEY / QWEN_BASE_URL / QWEN_MODEL',
383
584
  ' • 或在项目 .env 写入 GEMINI_API_KEY / GEMINI_MODEL',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}