@simonyea/holysheep-cli 1.6.6 → 1.6.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/README.md +1 -0
- package/package.json +1 -1
- package/src/tools/openclaw.js +20 -3
package/README.md
CHANGED
|
@@ -218,6 +218,7 @@ A: OpenClaw 需要 Node.js 20+,运行 `node --version` 确认版本后重试
|
|
|
218
218
|
|
|
219
219
|
## Changelog
|
|
220
220
|
|
|
221
|
+
- **v1.6.7** — OpenClaw 配置新增 `MiniMax-M2.7-highspeed`,并补齐节点迁移脚本中的 SSH 代理账号创建逻辑
|
|
221
222
|
- **v1.6.6** — 修复 Droid CLI 的 GPT-5.4 配置残留问题,同时同步 `~/.factory/settings.json` 和 `~/.factory/config.json`,统一使用 `openai + https://api.holysheep.ai/v1`
|
|
222
223
|
- **v1.6.5** — 修复 HolySheep 对 Droid Responses API 的兼容
|
|
223
224
|
- **v1.6.4** — 修复 OpenClaw 的 npx 运行时检测,避免配置后页面仍卡在 Unauthorized / 未连接状态
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simonyea/holysheep-cli",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.7",
|
|
4
4
|
"description": "Claude Code/Cursor/Cline API relay for China — ¥1=$1, WeChat/Alipay payment, no credit card, no VPN. One command setup for all AI coding tools.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"openai-china",
|
package/src/tools/openclaw.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* OpenClaw 适配器 (v2 — 基于实测的正确配置格式)
|
|
3
3
|
*
|
|
4
|
-
* 正确方案:写入 HolySheep 的 OpenAI + Anthropic
|
|
5
|
-
* 默认模型固定为 GPT-5.4,同时保留 Claude 模型供 /model 切换。
|
|
4
|
+
* 正确方案:写入 HolySheep 的 OpenAI + Anthropic + MiniMax provider,
|
|
5
|
+
* 默认模型固定为 GPT-5.4,同时保留 Claude / MiniMax 模型供 /model 切换。
|
|
6
6
|
*/
|
|
7
7
|
const fs = require('fs')
|
|
8
8
|
const path = require('path')
|
|
@@ -17,6 +17,7 @@ const DEFAULT_GATEWAY_PORT = 18789
|
|
|
17
17
|
const MAX_PORT_SCAN = 20
|
|
18
18
|
const OPENCLAW_DEFAULT_MODEL = 'gpt-5.4'
|
|
19
19
|
const OPENCLAW_DEFAULT_CLAUDE_MODEL = 'claude-sonnet-4-6'
|
|
20
|
+
const OPENCLAW_DEFAULT_MINIMAX_MODEL = 'MiniMax-M2.7-highspeed'
|
|
20
21
|
|
|
21
22
|
function hasOpenClawBinary() {
|
|
22
23
|
return commandExists('openclaw')
|
|
@@ -213,7 +214,7 @@ function buildModelEntry(id) {
|
|
|
213
214
|
function buildManagedPlan(apiKey, baseUrlAnthropic, baseUrlOpenAI, selectedModels) {
|
|
214
215
|
const requestedModels = Array.isArray(selectedModels) && selectedModels.length > 0
|
|
215
216
|
? selectedModels
|
|
216
|
-
: [OPENCLAW_DEFAULT_MODEL, OPENCLAW_DEFAULT_CLAUDE_MODEL]
|
|
217
|
+
: [OPENCLAW_DEFAULT_MODEL, OPENCLAW_DEFAULT_CLAUDE_MODEL, OPENCLAW_DEFAULT_MINIMAX_MODEL]
|
|
217
218
|
|
|
218
219
|
const openaiModels = requestedModels.filter((model) => model.startsWith('gpt-'))
|
|
219
220
|
if (!openaiModels.includes(OPENCLAW_DEFAULT_MODEL)) {
|
|
@@ -225,8 +226,14 @@ function buildManagedPlan(apiKey, baseUrlAnthropic, baseUrlOpenAI, selectedModel
|
|
|
225
226
|
claudeModels.push(OPENCLAW_DEFAULT_CLAUDE_MODEL)
|
|
226
227
|
}
|
|
227
228
|
|
|
229
|
+
const minimaxModels = requestedModels.filter((model) => model.startsWith('MiniMax-'))
|
|
230
|
+
if (requestedModels.includes(OPENCLAW_DEFAULT_MINIMAX_MODEL) && !minimaxModels.includes(OPENCLAW_DEFAULT_MINIMAX_MODEL)) {
|
|
231
|
+
minimaxModels.unshift(OPENCLAW_DEFAULT_MINIMAX_MODEL)
|
|
232
|
+
}
|
|
233
|
+
|
|
228
234
|
const openaiProviderName = buildProviderName(baseUrlOpenAI, 'custom-openai')
|
|
229
235
|
const anthropicProviderName = buildProviderName(baseUrlAnthropic, 'custom-anthropic')
|
|
236
|
+
const minimaxProviderName = buildProviderName(`${baseUrlAnthropic.replace(/\/+$/, '')}/minimax`, 'custom-anthropic')
|
|
230
237
|
|
|
231
238
|
const providers = {
|
|
232
239
|
[openaiProviderName]: {
|
|
@@ -243,9 +250,19 @@ function buildManagedPlan(apiKey, baseUrlAnthropic, baseUrlOpenAI, selectedModel
|
|
|
243
250
|
},
|
|
244
251
|
}
|
|
245
252
|
|
|
253
|
+
if (minimaxModels.length > 0) {
|
|
254
|
+
providers[minimaxProviderName] = {
|
|
255
|
+
baseUrl: `${baseUrlAnthropic.replace(/\/+$/, '')}/minimax`,
|
|
256
|
+
apiKey,
|
|
257
|
+
api: 'anthropic-messages',
|
|
258
|
+
models: minimaxModels.map(buildModelEntry),
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
246
262
|
const managedModelRefs = [
|
|
247
263
|
...openaiModels.map((id) => `${openaiProviderName}/${id}`),
|
|
248
264
|
...claudeModels.map((id) => `${anthropicProviderName}/${id}`),
|
|
265
|
+
...minimaxModels.map((id) => `${minimaxProviderName}/${id}`),
|
|
249
266
|
]
|
|
250
267
|
|
|
251
268
|
return {
|