@simonyea/holysheep-cli 1.7.26 → 1.7.28
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/package.json +1 -1
- package/src/commands/claude.js +1 -0
- package/src/commands/setup.js +10 -34
- package/src/tools/aider.js +0 -1
- package/src/tools/codex.js +1 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simonyea/holysheep-cli",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.28",
|
|
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/commands/claude.js
CHANGED
|
@@ -44,6 +44,7 @@ async function runClaude(args = []) {
|
|
|
44
44
|
|
|
45
45
|
const env = {
|
|
46
46
|
...process.env,
|
|
47
|
+
ANTHROPIC_API_KEY: undefined, // 防止与 ANTHROPIC_AUTH_TOKEN 冲突
|
|
47
48
|
ANTHROPIC_AUTH_TOKEN: apiKey,
|
|
48
49
|
ANTHROPIC_BASE_URL: BASE_URL_ANTHROPIC,
|
|
49
50
|
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: '1',
|
package/src/commands/setup.js
CHANGED
|
@@ -9,6 +9,7 @@ const pkg = require('../../package.json')
|
|
|
9
9
|
const { saveConfig, getApiKey, BASE_URL_ANTHROPIC, BASE_URL_OPENAI, SHOP_URL } = require('../utils/config')
|
|
10
10
|
const {
|
|
11
11
|
writeEnvToShell,
|
|
12
|
+
removeEnvFromShell,
|
|
12
13
|
ensureWindowsUserPathHasNpmBin,
|
|
13
14
|
installWindowsCliShims,
|
|
14
15
|
removeWindowsUserEnvVars,
|
|
@@ -328,43 +329,18 @@ async function setup(options) {
|
|
|
328
329
|
}
|
|
329
330
|
}
|
|
330
331
|
|
|
331
|
-
// Step 5:
|
|
332
|
-
const
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
if (
|
|
336
|
-
|
|
337
|
-
ANTHROPIC_API_KEY: apiKey,
|
|
338
|
-
ANTHROPIC_BASE_URL: BASE_URL_ANTHROPIC,
|
|
339
|
-
})
|
|
340
|
-
}
|
|
341
|
-
if (needsOpenAIEnv) {
|
|
342
|
-
Object.assign(envVarsToWrite, {
|
|
343
|
-
OPENAI_API_KEY: apiKey,
|
|
344
|
-
})
|
|
345
|
-
if (toConfigureTools.some(t => t.id === 'aider')) {
|
|
346
|
-
Object.assign(envVarsToWrite, {
|
|
347
|
-
OPENAI_BASE_URL: BASE_URL_OPENAI,
|
|
348
|
-
})
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
if (Object.keys(envVarsToWrite).length > 0) {
|
|
354
|
-
const spinner = ora('写入环境变量到 shell 配置文件...').start()
|
|
355
|
-
try {
|
|
356
|
-
const written = writeEnvToShell(envVarsToWrite)
|
|
357
|
-
spinner.succeed(`环境变量已写入: ${written.map(f => chalk.cyan(f)).join(', ')}`)
|
|
358
|
-
} catch (e) {
|
|
359
|
-
spinner.fail(`写入环境变量失败: ${e.message}`)
|
|
332
|
+
// Step 5: 清理 shell 环境变量(所有工具改用 JSON/config 文件配置,不再写 shell)
|
|
333
|
+
const staleKeys = ['ANTHROPIC_API_KEY', 'ANTHROPIC_BASE_URL', 'OPENAI_API_KEY', 'OPENAI_BASE_URL']
|
|
334
|
+
try {
|
|
335
|
+
const cleaned = removeEnvFromShell(staleKeys)
|
|
336
|
+
if (cleaned.length > 0) {
|
|
337
|
+
console.log(chalk.gray(`已清理 shell 中的过时变量: ${cleaned.map(f => chalk.cyan(f)).join(', ')}`))
|
|
360
338
|
}
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
const removed = removeWindowsUserEnvVars(['OPENAI_BASE_URL'])
|
|
339
|
+
} catch {}
|
|
340
|
+
if (process.platform === 'win32') {
|
|
341
|
+
const removed = removeWindowsUserEnvVars(staleKeys)
|
|
365
342
|
if (removed.length > 0) {
|
|
366
343
|
console.log(chalk.gray(`已移除过时环境变量: ${removed.map(item => chalk.cyan(item)).join(', ')}`))
|
|
367
|
-
console.log()
|
|
368
344
|
}
|
|
369
345
|
}
|
|
370
346
|
|
package/src/tools/aider.js
CHANGED