@aiyiran/myclaw 1.1.134 → 1.1.135

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.
@@ -9,8 +9,14 @@
9
9
  * myclaw inject-minimax # 仅追加 minimax provider,不改默认,副作用最小
10
10
  * myclaw inject-minimax --default # 追加 + 设为默认 + 全部对话迁移到 MiniMax-M3
11
11
  * myclaw inject-minimax --only # 追加 + 设为默认 + 全部对话迁移 + 清掉所有其他 provider
12
- * myclaw inject-minimax --beta # --only 的全部行为 + 去掉 authHeader (适配 openclaw 6.X)
13
- * myclaw inject-minimax --key sk-xxx # 使用指定 API Key
12
+ * myclaw inject-minimax --beta # 6.X 模式: minimax + zai 共存,写 SQLite 鉴权,默认 minimax
13
+ * myclaw inject-minimax --key sk-xxx # 使用指定 API Key (仅 minimax)
14
+ *
15
+ * --beta 说明:
16
+ * - 适配 openclaw 6.X: 直接写 openclaw-agent.sqlite (6.X 运行时唯一鉴权源)
17
+ * - 去掉 minimax 的 authHeader
18
+ * - 附带配置 zai: glm-5.2 / glm-5-turbo,同样写 SQLite 让其在 6.X 可用
19
+ * - 独占清理时保留 minimax + zai 两个 provider,默认模型仍为 minimax
14
20
  */
15
21
 
16
22
  const fs = require('fs');
@@ -23,6 +29,29 @@ const DEFAULT_MINIMAX_KEY = "sk-cp-dZnzWB-ScLfjo8bO7DKTqSutkBXQsLWUmjhNDBRkgJd5e
23
29
  const PROVIDER_ID = "minimax";
24
30
  const DEFAULT_MODEL = "minimax/MiniMax-M2.7-highspeed";
25
31
 
32
+ // ── zai (智谱 GLM) 配置:仅 --beta 模式下附带注入 ──
33
+ const DEFAULT_ZAI_KEY = "a7ae7806dea8406bb85eea5d859c00ad.pVnBuagTz6942JHp";
34
+ const ZAI_BETA_MODELS = [
35
+ {
36
+ id: "glm-5.2",
37
+ name: "GLM-5.2",
38
+ reasoning: true,
39
+ input: ["text"],
40
+ cost: { input: 1.2, output: 4, cacheRead: 0.24, cacheWrite: 0 },
41
+ contextWindow: 202800,
42
+ maxTokens: 131100
43
+ },
44
+ {
45
+ id: "glm-5-turbo",
46
+ name: "GLM-5 Turbo",
47
+ reasoning: true,
48
+ input: ["text"],
49
+ cost: { input: 1.2, output: 4, cacheRead: 0.24, cacheWrite: 0 },
50
+ contextWindow: 202800,
51
+ maxTokens: 131100
52
+ }
53
+ ];
54
+
26
55
  function run(cliArgs) {
27
56
  // ── 解析参数 ──
28
57
  let apiKey = null;
@@ -63,14 +92,19 @@ function run(cliArgs) {
63
92
  console.log('📍 找到配置: ' + configPath);
64
93
  console.log('📌 模式: ' + (betaMode ? '--beta (独占+6.X兼容)' : onlyMode ? '--only (独占)' : setDefault ? '--default (设默认)' : '追加'));
65
94
 
66
- // ── Step 1:--only 清掉所有其他 provider ──
95
+ // ── 保留集合:--beta 同时保留 minimax + zai,普通 --only 仅保留 minimax ──
96
+ const keepProviders = betaMode ? [PROVIDER_ID, 'zai'] : [PROVIDER_ID];
97
+ const keepProfile = (key) => keepProviders.some((p) => key.startsWith(p + ':'));
98
+ const keepModel = (key) => keepProviders.some((p) => key.startsWith(p + '/'));
99
+
100
+ // ── Step 1:--only 清掉其他 provider(保留集合除外)──
67
101
  if (onlyMode) {
68
102
  console.log('');
69
- console.log('🧹 [--only] 清理其他所有 provider...');
103
+ console.log('🧹 [--only] 清理其他 provider (保留: ' + keepProviders.join(' + ') + ')...');
70
104
 
71
105
  if (config.models?.providers) {
72
106
  for (const key of Object.keys(config.models.providers)) {
73
- if (key !== PROVIDER_ID) {
107
+ if (!keepProviders.includes(key)) {
74
108
  delete config.models.providers[key];
75
109
  console.log(' ✓ 删除 provider: ' + key);
76
110
  }
@@ -78,7 +112,7 @@ function run(cliArgs) {
78
112
  }
79
113
  if (config.auth?.profiles) {
80
114
  for (const key of Object.keys(config.auth.profiles)) {
81
- if (!key.startsWith(PROVIDER_ID + ':')) {
115
+ if (!keepProfile(key)) {
82
116
  delete config.auth.profiles[key];
83
117
  console.log(' ✓ 删除 auth profile: ' + key);
84
118
  }
@@ -86,7 +120,7 @@ function run(cliArgs) {
86
120
  }
87
121
  if (config.agents?.defaults?.models) {
88
122
  for (const key of Object.keys(config.agents.defaults.models)) {
89
- if (!key.startsWith(PROVIDER_ID + '/')) {
123
+ if (!keepModel(key)) {
90
124
  delete config.agents.defaults.models[key];
91
125
  console.log(' ✓ 删除白名单: ' + key);
92
126
  }
@@ -143,6 +177,19 @@ function run(cliArgs) {
143
177
  config.agents.defaults.models["minimax/MiniMax-M3"] = {};
144
178
  config.agents.defaults.models["minimax/MiniMax-M2.7-highspeed"] = {};
145
179
 
180
+ // ── --beta 附带注入 zai (glm-5.2 / glm-5-turbo) ──
181
+ if (betaMode) {
182
+ console.log('🔗 [--beta] 附带注入 zai: glm-5.2 / glm-5-turbo');
183
+ config.auth.profiles["zai:default"] = { provider: "zai", mode: "api_key" };
184
+ config.models.providers.zai = {
185
+ baseUrl: "https://open.bigmodel.cn/api/coding/paas/v4",
186
+ api: "openai-completions",
187
+ models: ZAI_BETA_MODELS
188
+ };
189
+ config.agents.defaults.models["zai/glm-5.2"] = {};
190
+ config.agents.defaults.models["zai/glm-5-turbo"] = {};
191
+ }
192
+
146
193
  // ── Step 3:--default 设默认模型 ──
147
194
  if (setDefault) {
148
195
  config.agents.defaults.model = { primary: DEFAULT_MODEL };
@@ -200,8 +247,13 @@ CREATE TABLE IF NOT EXISTS auth_profile_state (
200
247
  state_key TEXT NOT NULL PRIMARY KEY, state_json TEXT NOT NULL, updated_at INTEGER NOT NULL
201
248
  );`;
202
249
 
250
+ const zaiKey = DEFAULT_ZAI_KEY;
203
251
  const sqliteStorePayload = { version: 1, profiles: { "minimax:cn": { type: "api_key", provider: "minimax", key: apiKey } } };
204
252
  const sqliteStatePayload = { lastGood: { "minimax": "minimax:cn" } };
253
+ if (betaMode) {
254
+ sqliteStorePayload.profiles["zai:default"] = { type: "api_key", provider: "zai", key: zaiKey };
255
+ sqliteStatePayload.lastGood["zai"] = "zai:default";
256
+ }
205
257
 
206
258
  let okCount = 0, skipCount = 0;
207
259
 
@@ -222,6 +274,10 @@ CREATE TABLE IF NOT EXISTS auth_profile_state (
222
274
  }
223
275
  profiles.profiles["minimax:cn"] = { type: "api_key", provider: "minimax", key: apiKey };
224
276
  profiles.lastGood["minimax"] = "minimax:cn";
277
+ if (betaMode) {
278
+ profiles.profiles["zai:default"] = { type: "api_key", provider: "zai", key: zaiKey };
279
+ profiles.lastGood["zai"] = "zai:default";
280
+ }
225
281
  try { fs.writeFileSync(profilesPath, JSON.stringify(profiles, null, 2) + '\n', 'utf8'); } catch { /* ignore */ }
226
282
 
227
283
  // ── 6.X (--beta):写入 openclaw-agent.sqlite(运行时唯一鉴权源)──
@@ -290,9 +346,10 @@ CREATE TABLE IF NOT EXISTS auth_profile_state (
290
346
  console.log('');
291
347
  console.log('✅ MiniMax 注入完成');
292
348
  console.log(' 默认模型: ' + (setDefault ? DEFAULT_MODEL : '(未修改)'));
293
- console.log(' 备选模型: minimax/MiniMax-M2.7-highspeed');
349
+ console.log(' 备选模型: minimax/MiniMax-M2.7-highspeed' + (betaMode ? ' + zai/glm-5.2 + zai/glm-5-turbo' : ''));
294
350
  console.log(' Agent: ' + okCount + ' 个写入,' + skipCount + ' 个跳过');
295
- if (onlyMode) console.log(' 其他 provider 已清除');
351
+ if (betaMode) console.log(' 其他 provider 已清除 (保留 minimax + zai)');
352
+ else if (onlyMode) console.log(' 其他 provider 已清除');
296
353
  console.log('');
297
354
  }
298
355
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiyiran/myclaw",
3
- "version": "1.1.134",
3
+ "version": "1.1.135",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {