@simonyea/holysheep-cli 1.0.9 → 1.1.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.
package/README.md CHANGED
@@ -34,16 +34,20 @@ Instead of manually editing config files and environment variables for each tool
34
34
 
35
35
  ### Supported Tools
36
36
 
37
- | Tool | Install | Config Method | Hot Reload |
38
- |------|---------|---------------|-----------|
39
- | [Claude Code](https://docs.anthropic.com/claude-code) | `npm i -g @anthropic-ai/claude-code` | `~/.claude/settings.json` | ✅ |
40
- | [Codex CLI](https://github.com/openai/codex) | `npm i -g @openai/codex` | `~/.codex/config.yaml` | |
41
- | [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `npm i -g @google/gemini-cli` | `~/.gemini/settings.json` | |
42
- | [OpenCode](https://github.com/sst/opencode) | `npm i -g opencode-ai` | `~/.config/opencode/config.json` | |
43
- | [OpenClaw](https://github.com/iOfficeAI/AionUi) | Download from website | `~/.openclaw/settings.json` | ✅ |
44
- | [Aider](https://aider.chat) | `pip install aider-chat` | `~/.aider.conf.yml` | |
45
- | [Cursor](https://cursor.sh) | Download from website | GUI guided setup | |
46
- | [Continue.dev](https://continue.dev) | VS Code marketplace | `~/.continue/config.json` | |
37
+ | Tool | Install | Config Method | Status |
38
+ |------|---------|---------------|--------|
39
+ | [Claude Code](https://docs.anthropic.com/claude-code) | `npm i -g @anthropic-ai/claude-code` | `~/.claude/settings.json` | ✅ Auto |
40
+ | [Codex CLI](https://github.com/openai/codex) | `npm i -g @openai/codex` | `~/.codex/config.toml` | Auto |
41
+ | [Aider](https://aider.chat) | `pip install aider-install && aider-install` | `~/.aider.conf.yml` | Auto |
42
+ | [Continue.dev](https://continue.dev) | VS Code marketplace | `~/.continue/config.yaml` | Auto |
43
+ | [OpenCode](https://github.com/sst/opencode) | `npm i -g opencode-ai` | `~/.config/opencode/config.json` | ✅ Auto |
44
+ | [OpenClaw](https://github.com/iOfficeAI/AionUi) | Download from website | `~/.openclaw/settings.json` | Auto |
45
+ | [Cursor](https://cursor.sh) | Download from website | GUI only (encrypted storage) | ⚠️ Manual |
46
+ | [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `npm i -g @google/gemini-cli` | Google protocol only | ❌ Not supported |
47
+
48
+ > **Note on Cursor**: Cursor (2025+) requires logging into the official Cursor account. API keys are stored in encrypted secret storage that CLI cannot access. Manual configuration via `Settings → Models → Override OpenAI Base URL` is required after login.
49
+ >
50
+ > **Note on Gemini CLI**: Gemini CLI uses Google's proprietary protocol and does not support custom relay endpoints. Use your own Google Gemini API Key from [aistudio.google.com](https://aistudio.google.com/apikey).
47
51
 
48
52
  ### Installation
49
53
 
@@ -124,16 +128,20 @@ HolySheep 是面向中国开发者的 Claude/GPT/Gemini 官方 API 中转服务
124
128
 
125
129
  ### 支持的工具
126
130
 
127
- | 工具 | 安装方式 | 配置方式 | 热切换 |
128
- |------|---------|---------|-------|
129
- | [Claude Code](https://docs.anthropic.com/claude-code) | `npm i -g @anthropic-ai/claude-code` | `~/.claude/settings.json` | ✅ |
130
- | [Codex CLI](https://github.com/openai/codex) | `npm i -g @openai/codex` | `~/.codex/config.yaml` | |
131
- | [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `npm i -g @google/gemini-cli` | `~/.gemini/settings.json` | |
132
- | [OpenCode](https://github.com/sst/opencode) | `npm i -g opencode-ai` | `~/.config/opencode/config.json` | |
133
- | [OpenClaw](https://github.com/iOfficeAI/AionUi) | 官网下载 | `~/.openclaw/settings.json` | ✅ |
134
- | [Aider](https://aider.chat) | `pip install aider-chat` | `~/.aider.conf.yml` | |
135
- | [Cursor](https://cursor.sh) | 官网下载 | 引导式 GUI 配置 | |
136
- | [Continue.dev](https://continue.dev) | VS Code 插件市场 | `~/.continue/config.json` | |
131
+ | 工具 | 安装方式 | 配置方式 | 状态 |
132
+ |------|---------|---------|------|
133
+ | [Claude Code](https://docs.anthropic.com/claude-code) | `npm i -g @anthropic-ai/claude-code` | `~/.claude/settings.json` | ✅ 自动 |
134
+ | [Codex CLI](https://github.com/openai/codex) | `npm i -g @openai/codex` | `~/.codex/config.toml` | 自动 |
135
+ | [Aider](https://aider.chat) | `pip install aider-install && aider-install` | `~/.aider.conf.yml` | 自动 |
136
+ | [Continue.dev](https://continue.dev) | VS Code 插件市场 | `~/.continue/config.yaml` | 自动 |
137
+ | [OpenCode](https://github.com/sst/opencode) | `npm i -g opencode-ai` | `~/.config/opencode/config.json` | ✅ 自动 |
138
+ | [OpenClaw](https://github.com/iOfficeAI/AionUi) | 官网下载 | `~/.openclaw/settings.json` | 自动 |
139
+ | [Cursor](https://cursor.sh) | 官网下载 | GUI 手动配置(加密存储) | ⚠️ 手动 |
140
+ | [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `npm i -g @google/gemini-cli` | 仅支持 Google 官方协议 | ❌ 不支持 |
141
+
142
+ > **关于 Cursor**:Cursor 新版(2025+)必须登录官方账号,API Key 存储在加密区域,CLI 无法写入。需登录后在 `Settings → Models → Override OpenAI Base URL` 手动填入。
143
+ >
144
+ > **关于 Gemini CLI**:Gemini CLI 使用 Google 专有协议,不支持自定义中转地址。需使用从 [aistudio.google.com](https://aistudio.google.com/apikey) 获取的 Google Gemini API Key。
137
145
 
138
146
  ### 安装
139
147
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simonyea/holysheep-cli",
3
- "version": "1.0.9",
3
+ "version": "1.1.0",
4
4
  "description": "一键配置所有 AI 编程工具接入 HolySheep API — Claude Code / Codex / Gemini CLI / OpenCode / OpenClaw / Aider / Cursor",
5
5
  "keywords": [
6
6
  "claude",
@@ -1,18 +1,18 @@
1
1
  /**
2
2
  * Cursor 适配器
3
- * Cursor 是基于 VSCode 的 AI 编辑器
4
3
  *
5
- * Cursor 自定义 API 配置路径:
6
- * Settings > Cursor > Models > Custom API Key
7
- * 实际存储在: ~/Library/Application Support/Cursor/User/globalStorage/cursor.secretStorage/...
4
+ * ⚠️ 重要:Cursor 新版本(2025+)必须登录官方账号才能使用,
5
+ * 即使是「自带 API Key」模式也需要先登录 Cursor 账号。
6
+ * Cursor 的 API Key 和 Base URL 存储在加密的 secret storage 中,
7
+ * CLI 无法直接写入,且官方越来越绑定自己的账号体系。
8
8
  *
9
- * 由于 Cursor 的 API 配置在加密的 secret storage 中,CLI 无法直接写入,
10
- * 因此本适配器采用以下方式:
11
- * 1. 打印详细的手动配置引导
12
- * 2. 写入环境变量(部分 Cursor 功能如 API playground 会读取)
13
- * 3. 生成 .cursor/mcp.json 供 Cursor MCP 功能使用
9
+ * 推荐替代方案:
10
+ * - Continue(VS Code/JetBrains 插件,完全支持自定义 API)
11
+ * - Claude Code(命令行,官方支持自定义 base_url)
12
+ * - Aider(命令行,完全支持自定义 API
14
13
  *
15
- * Cursor OpenAI 兼容格式: 在 Settings > Models 中填入 base URL 和 API Key
14
+ * 如果仍要手动配置 Cursor
15
+ * Settings → Models → Override OpenAI Base URL + OpenAI API Key
16
16
  */
17
17
  const fs = require('fs')
18
18
  const path = require('path')
@@ -39,31 +39,33 @@ module.exports = {
39
39
  id: 'cursor',
40
40
  checkInstalled() { return checkCursorInstalled() },
41
41
  isConfigured() {
42
- // Cursor 配置在加密存储中,无法直接读取,只检查环境变量
43
- return !!(process.env.OPENAI_API_KEY && process.env.OPENAI_BASE_URL?.includes('holysheep'))
42
+ return false // 无法检测(加密存储)
44
43
  },
45
- configure(apiKey, baseUrlOpenAI) {
46
- // Cursor 无法通过文件直接写入 API Key(加密存储),
47
- // 返回 manual 标志,setup 命令会打印引导信息
44
+ configure(apiKey, _baseUrlAnthropicNoV1, baseUrlOpenAI) {
45
+ // Cursor 需要登录官方账号,且 API Key 存储在加密区域,CLI 无法写入
46
+ // 返回 manual + warning
48
47
  return {
49
48
  manual: true,
50
49
  steps: [
51
- '打开 Cursor → Settings(⌘+,)→ 搜索 "Models"',
52
- '找到 "OpenAI API Key" "Custom API" 区域',
50
+ '⚠️ Cursor 新版本需要先登录官方账号(免费账号即可)',
51
+ '打开 Cursor Settings(⌘+, / Ctrl+,)→ 左侧 Models',
52
+ '找到 "OpenAI API Key" 区域,勾选 "Enable OpenAI API Key"',
53
53
  `填入 API Key: ${apiKey}`,
54
- `填入 Base URL(Override OpenAI Base URL): ${baseUrlOpenAI}`,
55
- '点击 "Verify" 验证连接',
56
- '在模型列表中选择 claude-sonnet-4-5 claude-opus-4-5',
54
+ `填入 Override OpenAI Base URL: ${baseUrlOpenAI}`,
55
+ '点击 "Verify" 验证连接,然后在模型列表中选择 claude-* 模型',
56
+ '💡 推荐使用 Continue(VS Code 插件)替代,配置更简单',
57
57
  ],
58
- imageHint: '💡 Cursor Settings → Models → Override OpenAI Base URL',
59
58
  }
60
59
  },
61
60
  reset() {
62
- // 提示手动清除
63
- return { manual: true, steps: ['打开 Cursor Settings → Models → 清除 API Key 和 Base URL'] }
61
+ return {
62
+ manual: true,
63
+ steps: ['打开 Cursor Settings → Models → 清除 API Key 和 Override Base URL'],
64
+ }
64
65
  },
65
66
  getConfigPath() { return getCursorUserDir() },
66
- hint: '需要在 Cursor GUI 中手动配置(API Key 存储在加密区域)',
67
+ hint: '需要登录 Cursor 账号 + 在 GUI 中手动配置(推荐用 Continue 替代)',
67
68
  installCmd: '访问 https://cursor.sh 下载安装',
68
69
  docsUrl: 'https://cursor.sh',
70
+ unsupported: true,
69
71
  }