bingocode 1.1.55 → 1.1.57

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/.env.example ADDED
@@ -0,0 +1,53 @@
1
+ # ============================================================
2
+ # MiniMax(直连 Anthropic 兼容接口)
3
+ # 海外用户: ANTHROPIC_BASE_URL=https://api.minimax.io/anthropic
4
+ # 国内用户: ANTHROPIC_BASE_URL=https://api.minimaxi.com/anthropic
5
+ # 可用模型: MiniMax-M2.7(默认)、MiniMax-M2.7-highspeed(更快)
6
+ # ============================================================
7
+ # ANTHROPIC_AUTH_TOKEN=your_minimax_api_key_here
8
+ # ANTHROPIC_BASE_URL=https://api.minimax.io/anthropic
9
+ # ANTHROPIC_MODEL=MiniMax-M2.7
10
+ # ANTHROPIC_DEFAULT_SONNET_MODEL=MiniMax-M2.7
11
+ # ANTHROPIC_DEFAULT_HAIKU_MODEL=MiniMax-M2.7-highspeed
12
+ # ANTHROPIC_DEFAULT_OPUS_MODEL=MiniMax-M2.7
13
+ # API_TIMEOUT_MS=3000000
14
+
15
+ # ============================================================
16
+ # OpenAI(通过 LiteLLM 代理)
17
+ # 先启动: litellm --config litellm_config.yaml --port 4000
18
+ # ============================================================
19
+ # ANTHROPIC_AUTH_TOKEN=sk-anything
20
+ # ANTHROPIC_BASE_URL=http://localhost:4000
21
+ # ANTHROPIC_MODEL=gpt-4o
22
+ # ANTHROPIC_DEFAULT_SONNET_MODEL=gpt-4o
23
+ # ANTHROPIC_DEFAULT_HAIKU_MODEL=gpt-4o
24
+ # ANTHROPIC_DEFAULT_OPUS_MODEL=gpt-4o
25
+ # API_TIMEOUT_MS=3000000
26
+
27
+ # ============================================================
28
+ # DeepSeek(通过 LiteLLM 代理)
29
+ # 先启动: litellm --config litellm_config.yaml --port 4000
30
+ # ============================================================
31
+ # ANTHROPIC_AUTH_TOKEN=sk-anything
32
+ # ANTHROPIC_BASE_URL=http://localhost:4000
33
+ # ANTHROPIC_MODEL=deepseek-chat
34
+ # ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-chat
35
+ # ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-chat
36
+ # ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-chat
37
+ # API_TIMEOUT_MS=3000000
38
+
39
+ # ============================================================
40
+ # OpenRouter(直连 Anthropic 兼容接口)
41
+ # ============================================================
42
+ # ANTHROPIC_AUTH_TOKEN=sk-or-v1-xxx
43
+ # ANTHROPIC_BASE_URL=https://openrouter.ai/api/v1
44
+ # ANTHROPIC_MODEL=openai/gpt-4o
45
+ # ANTHROPIC_DEFAULT_SONNET_MODEL=openai/gpt-4o
46
+ # ANTHROPIC_DEFAULT_HAIKU_MODEL=openai/gpt-4o-mini
47
+ # ANTHROPIC_DEFAULT_OPUS_MODEL=openai/gpt-4o
48
+
49
+ # ============================================================
50
+ # 通用设置(建议始终开启)
51
+ # ============================================================
52
+ DISABLE_TELEMETRY=1
53
+ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bingocode",
3
- "version": "1.1.55",
3
+ "version": "1.1.57",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "claude": "bin/claude-win.cjs",
@@ -24,6 +24,7 @@
24
24
  "config/",
25
25
  ".claude/",
26
26
  "preload.ts",
27
+ ".env.example",
27
28
  "package.json",
28
29
  "tsconfig.json",
29
30
  "README.md",
@@ -285,7 +285,46 @@ export const CliMenuManager: React.FC = () => {
285
285
  let mounted = true;
286
286
  (async () => {
287
287
  if (apiUrl) return;
288
- const entry = path.resolve(import.meta.dir, '../server/index.ts');
288
+
289
+ // 动态定位 server 入口,兼容开发环境 (.ts) 和打包环境 (.js)
290
+ let entry = "";
291
+ try {
292
+ // 方案 1: 基于 import.meta.url 动态计算 (最通用)
293
+ const __filename = fileURLToPath(import.meta.url);
294
+ const __dirname = path.dirname(__filename);
295
+
296
+ // 方案 2: 尝试包内的几种标准结构
297
+ const pkgRoot = path.resolve(__dirname, '../../'); // 从 src/manager 向上两级到根目录
298
+ const possiblePaths = [
299
+ path.join(__dirname, '../server/index.ts'), // 结构 1: src/manager -> src/server
300
+ path.join(__dirname, '../server/index.js'),
301
+ path.join(pkgRoot, 'src/server/index.ts'), // 结构 2: root -> src/server
302
+ path.join(pkgRoot, 'dist/server.js'),
303
+ path.resolve(process.argv[1], '../../src/server/index.ts'), // 结构 3: 从 bin 文件位置反推
304
+ ];
305
+
306
+ for (const p of possiblePaths) {
307
+ if (fs.existsSync(p)) {
308
+ entry = p;
309
+ break;
310
+ }
311
+ }
312
+ } catch (e) {
313
+ // Fallback: 如果上面的动态探测挂了,尝试最后的大招:
314
+ // 既然 package.json 里的 name 是 bingocode,我们可以尝试寻找它
315
+ try {
316
+ // 这里不做具体的 require.resolve 以免在非 node 环境报错,但可以手动拼
317
+ entry = path.join(process.cwd(), 'node_modules/bingocode/src/server/index.ts');
318
+ } catch {}
319
+ }
320
+
321
+ if (!entry || !fs.existsSync(entry)) {
322
+ // 最后的诊断信息:显示一下我找过哪里,方便用户反馈
323
+ const lastTry = path.resolve(import.meta.dir || "", '../server/index.ts');
324
+ setBootErr(`无法定位服务器入口文件。请确保 src/server/index.ts 存在。\n尝试路径: ${entry || '未找到'}`);
325
+ return;
326
+ }
327
+
289
328
  const MAX_RETRIES = 3;
290
329
  const RETRY_DELAYS = [0, 2000, 5000]; // 首次无延迟,第2次2秒,第3次5秒
291
330
  for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {