claude-connect 0.1.1 → 0.1.4
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 +25 -6
- package/bin/claude-connect.js +7 -6
- package/package.json +1 -1
- package/src/data/catalog-store.js +495 -3
- package/src/gateway/messages.js +152 -7
- package/src/gateway/server.js +206 -63
- package/src/gateway/state.js +52 -0
- package/src/lib/app-paths.js +2 -0
- package/src/lib/claude-settings.js +39 -24
- package/src/lib/profile.js +11 -2
- package/src/lib/secrets.js +48 -0
- package/src/wizard.js +130 -47
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Claude Connect
|
|
2
2
|
|
|
3
|
-
> Conecta `Claude Code` con `Kimi`, `DeepSeek` y `Qwen` desde una interfaz de consola clara, rápida y reversible.
|
|
3
|
+
> Conecta `Claude Code` con `OpenCode Go`, `Zen`, `Kimi`, `DeepSeek`, `OpenRouter` y `Qwen` desde una interfaz de consola clara, rápida y reversible.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/claude-connect)
|
|
6
6
|
[](https://nodejs.org/)
|
|
7
7
|
[](./LICENSE)
|
|
8
|
-
[](https://www.npmjs.com/package/claude-connect)
|
|
9
9
|
|
|
10
10
|
## Why Claude Connect
|
|
11
11
|
|
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
|
|
14
14
|
### Highlights
|
|
15
15
|
|
|
16
|
-
- `Kimi`, `DeepSeek` y `Qwen` listos desde el primer arranque
|
|
16
|
+
- `OpenCode Go`, `Zen`, `Kimi`, `DeepSeek`, `OpenRouter` y `Qwen` listos desde el primer arranque
|
|
17
17
|
- soporte para `Token` y `OAuth` cuando el proveedor lo permite
|
|
18
|
+
- API keys compartidas por proveedor para no repetir el mismo token en cada modelo
|
|
18
19
|
- activación reversible sobre la instalación real de `Claude Code`
|
|
19
20
|
- limpieza automática del conflicto entre `claude.ai` y `ANTHROPIC_API_KEY`
|
|
20
21
|
- gateway local Anthropic-compatible para `Qwen`
|
|
@@ -65,6 +66,7 @@ Nueva conexion
|
|
|
65
66
|
-> proveedor
|
|
66
67
|
-> modelo
|
|
67
68
|
-> OAuth o Token
|
|
69
|
+
-> guardar API key una vez por proveedor si aplica
|
|
68
70
|
-> guardar perfil
|
|
69
71
|
-> Activar en Claude
|
|
70
72
|
-> usar claude
|
|
@@ -72,18 +74,35 @@ Nueva conexion
|
|
|
72
74
|
|
|
73
75
|
Al activar:
|
|
74
76
|
|
|
75
|
-
- `
|
|
77
|
+
- `OpenCode Go` usa conexión directa o gateway según el modelo elegido
|
|
78
|
+
- `Zen` usa conexión directa o gateway según el modelo elegido
|
|
79
|
+
- `Kimi` usa gateway local y reenvia al endpoint Anthropic de `https://api.kimi.com/coding/`
|
|
76
80
|
- `DeepSeek` apunta a `https://api.deepseek.com/anthropic`
|
|
81
|
+
- `OpenRouter` usa `openrouter/free` por gateway sobre `https://openrouter.ai/api/v1`
|
|
77
82
|
- `Qwen` apunta al gateway local `http://127.0.0.1:4310/anthropic`
|
|
78
83
|
|
|
79
84
|
## Providers
|
|
80
85
|
|
|
81
86
|
| Proveedor | Modelos | Auth | Integración |
|
|
82
87
|
| --- | --- | --- | --- |
|
|
83
|
-
| `
|
|
88
|
+
| `OpenCode Go` | `glm-5`, `kimi-k2.5`, `minimax-m2.7`, `minimax-m2.5` | `Token` | Mixta |
|
|
89
|
+
| `Zen` | `Claude*` de Zen + modelos `chat/completions` de Zen | `Token` | Mixta |
|
|
90
|
+
| `Kimi` | `kimi-for-coding` | `Token` | Gateway local |
|
|
84
91
|
| `DeepSeek` | `deepseek-chat`, `deepseek-reasoner` | `Token` | Directa |
|
|
92
|
+
| `OpenRouter` | `openrouter/free` | `Token` | Gateway local |
|
|
85
93
|
| `Qwen` | `qwen3-coder-plus` | `OAuth`, `Token` | Gateway local |
|
|
86
94
|
|
|
95
|
+
Nota sobre `OpenCode Go`:
|
|
96
|
+
|
|
97
|
+
- `minimax-m2.7` y `minimax-m2.5` van directos por endpoint `messages`
|
|
98
|
+
- `glm-5` y `kimi-k2.5` van por gateway usando `chat/completions`
|
|
99
|
+
|
|
100
|
+
Nota sobre `Zen`:
|
|
101
|
+
|
|
102
|
+
- los modelos Anthropic de Zen van por conexión directa
|
|
103
|
+
- los modelos de Zen servidos por `chat/completions` van por gateway local
|
|
104
|
+
- esta primera integración no incluye todavía los modelos de Zen expuestos por `responses` ni los de endpoint tipo Google
|
|
105
|
+
|
|
87
106
|
## What It Stores
|
|
88
107
|
|
|
89
108
|
Claude Connect guarda el estado sensible fuera del repo.
|
|
@@ -99,7 +118,7 @@ Ahí viven:
|
|
|
99
118
|
|
|
100
119
|
- perfiles
|
|
101
120
|
- tokens OAuth
|
|
102
|
-
- API keys
|
|
121
|
+
- API keys compartidas por proveedor
|
|
103
122
|
- estado del switch de Claude
|
|
104
123
|
- logs y estado del gateway
|
|
105
124
|
|
package/bin/claude-connect.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import { spawn } from 'node:child_process';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import process from 'node:process';
|
|
6
|
-
import { run } from '../src/index.js';
|
|
7
6
|
|
|
8
7
|
const alreadyRestarted = process.env.CLAUDE_CONNECT_NO_WARNINGS === '1';
|
|
9
8
|
|
|
@@ -32,9 +31,11 @@ if (!alreadyRestarted && !process.execArgv.includes('--no-warnings=ExperimentalW
|
|
|
32
31
|
process.exit(1);
|
|
33
32
|
});
|
|
34
33
|
} else {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
import('../src/index.js')
|
|
35
|
+
.then(({ run }) => run())
|
|
36
|
+
.catch((error) => {
|
|
37
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
38
|
+
console.error(`\nclaude-connect: ${message}`);
|
|
39
|
+
process.exitCode = 1;
|
|
40
|
+
});
|
|
40
41
|
}
|