tokenmix 0.4.9 → 0.4.11
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 +6 -0
- package/dist/agents/goose.js +53 -0
- package/dist/agents/openhands.js +55 -0
- package/dist/agents/registry.js +4 -0
- package/dist/commands/list.js +4 -0
- package/dist/i18n/messages.js +50 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -29,6 +29,8 @@ npx tokenmix roo # print Roo Code VSCode configuration
|
|
|
29
29
|
npx tokenmix continue # print Continue config.yaml snippet
|
|
30
30
|
npx tokenmix codex # install + configure + start Codex
|
|
31
31
|
npx tokenmix qwen # install + configure + start Qwen Code
|
|
32
|
+
npx tokenmix goose # configure + start Goose (install it first)
|
|
33
|
+
npx tokenmix openhands # configure + start OpenHands (install it first)
|
|
32
34
|
```
|
|
33
35
|
|
|
34
36
|
### Alternative login modes
|
|
@@ -51,6 +53,8 @@ npx tokenmix login --key sk-tm-... # supply API key directly (for CI
|
|
|
51
53
|
| [Continue](https://github.com/continuedev/continue) | VSCode / JetBrains | config-only |
|
|
52
54
|
| [Codex](https://github.com/openai/codex) | `npm i -g @openai/codex` | full auto |
|
|
53
55
|
| [Qwen Code](https://github.com/QwenLM/qwen-code) | `npm i -g @qwen-code/qwen-code` | full auto |
|
|
56
|
+
| [Goose](https://github.com/block/goose) | [install script](https://block.github.io/goose) | semi auto |
|
|
57
|
+
| [OpenHands](https://github.com/All-Hands-AI/OpenHands) | `uv tool install openhands` (Python 3.12+) | semi auto |
|
|
54
58
|
|
|
55
59
|
## Commands
|
|
56
60
|
|
|
@@ -72,6 +76,8 @@ tokenmix roo Print Roo Code configuration
|
|
|
72
76
|
tokenmix continue Print Continue config.yaml snippet
|
|
73
77
|
tokenmix codex [args...] Launch Codex via TokenMix
|
|
74
78
|
tokenmix qwen [args...] Launch Qwen Code via TokenMix
|
|
79
|
+
tokenmix goose [args...] Launch Goose via TokenMix
|
|
80
|
+
tokenmix openhands [args...] Launch OpenHands via TokenMix
|
|
75
81
|
```
|
|
76
82
|
|
|
77
83
|
## Language
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { commandExists, run, captureRun } from '../utils/exec.js';
|
|
2
|
+
import { t } from '../i18n/index.js';
|
|
3
|
+
const GOOSE_BIN = 'goose';
|
|
4
|
+
// Goose ships as a Rust binary via an official install script. We do NOT auto-run
|
|
5
|
+
// a `curl | bash`; we print it so the user installs it deliberately.
|
|
6
|
+
const GOOSE_INSTALL = 'curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash';
|
|
7
|
+
async function installCheck() {
|
|
8
|
+
const bin = await commandExists(GOOSE_BIN);
|
|
9
|
+
if (!bin) {
|
|
10
|
+
return {
|
|
11
|
+
installed: false,
|
|
12
|
+
hint: t('goose.hintInstall', { cmd: GOOSE_INSTALL }),
|
|
13
|
+
installCmd: GOOSE_INSTALL,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
const v = await captureRun(GOOSE_BIN, ['--version']);
|
|
18
|
+
return { installed: true, version: v.stdout.trim() };
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return { installed: true };
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async function configure(apiKey, baseUrl, defaultModel) {
|
|
25
|
+
// Goose reads GOOSE_PROVIDER/GOOSE_MODEL + OPENAI_HOST/OPENAI_API_KEY. NOTE:
|
|
26
|
+
// OPENAI_HOST is the BARE host — Goose appends /v1/chat/completions itself, so we
|
|
27
|
+
// pass baseUrl WITHOUT /v1 (unlike every other agent). GOOSE_DISABLE_KEYRING
|
|
28
|
+
// avoids an interactive keyring prompt. Verified end-to-end against tokenmix.
|
|
29
|
+
return {
|
|
30
|
+
envVars: {
|
|
31
|
+
GOOSE_PROVIDER: 'openai',
|
|
32
|
+
GOOSE_MODEL: defaultModel,
|
|
33
|
+
OPENAI_HOST: baseUrl,
|
|
34
|
+
OPENAI_API_KEY: apiKey,
|
|
35
|
+
GOOSE_DISABLE_KEYRING: '1',
|
|
36
|
+
},
|
|
37
|
+
notes: [t('goose.noteUsing'), t('goose.noteModel', { model: defaultModel })],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async function launch(args, env) {
|
|
41
|
+
// Pure pass-through: `tokenmix goose run -t "..."` → `goose run -t "..."` with our
|
|
42
|
+
// env. No flag injection, so info-only (`goose --version`) needs no special-casing.
|
|
43
|
+
await run(GOOSE_BIN, args, { env });
|
|
44
|
+
}
|
|
45
|
+
export const GooseAgent = {
|
|
46
|
+
id: 'goose',
|
|
47
|
+
displayName: 'Goose',
|
|
48
|
+
description: 'block/goose — on-machine AI agent (OpenAI-compatible)',
|
|
49
|
+
installMode: 'manual',
|
|
50
|
+
installCheck,
|
|
51
|
+
configure,
|
|
52
|
+
launch,
|
|
53
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { commandExists, run, captureRun } from '../utils/exec.js';
|
|
2
|
+
import { t } from '../i18n/index.js';
|
|
3
|
+
const OPENHANDS_BIN = 'openhands';
|
|
4
|
+
// OpenHands needs Python 3.12+; `uv` pulls a matching Python automatically. We
|
|
5
|
+
// print this rather than auto-running it (it installs a toolchain + Python).
|
|
6
|
+
const OPENHANDS_INSTALL = 'uv tool install openhands --python 3.12';
|
|
7
|
+
async function installCheck() {
|
|
8
|
+
const bin = await commandExists(OPENHANDS_BIN);
|
|
9
|
+
if (!bin) {
|
|
10
|
+
return {
|
|
11
|
+
installed: false,
|
|
12
|
+
hint: t('openhands.hintInstall', { cmd: OPENHANDS_INSTALL }),
|
|
13
|
+
installCmd: OPENHANDS_INSTALL,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
const v = await captureRun(OPENHANDS_BIN, ['--version']);
|
|
18
|
+
return { installed: true, version: v.stdout.trim() };
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return { installed: true };
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async function configure(apiKey, baseUrl, defaultModel) {
|
|
25
|
+
// OpenHands reads LLM_API_KEY/LLM_MODEL/LLM_BASE_URL but ONLY when launched with
|
|
26
|
+
// --override-with-envs (injected in launch()). LLM_MODEL needs a LiteLLM provider
|
|
27
|
+
// prefix — `openai/` routes to the OpenAI-compatible path. Verified end-to-end.
|
|
28
|
+
return {
|
|
29
|
+
envVars: {
|
|
30
|
+
LLM_API_KEY: apiKey,
|
|
31
|
+
LLM_MODEL: `openai/${defaultModel}`,
|
|
32
|
+
LLM_BASE_URL: `${baseUrl}/v1`,
|
|
33
|
+
OPENHANDS_SUPPRESS_BANNER: '1',
|
|
34
|
+
},
|
|
35
|
+
notes: [t('openhands.noteUsing'), t('openhands.noteModel', { model: defaultModel })],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async function launch(args, env) {
|
|
39
|
+
// Info-only (`openhands --version`) arrives with an empty env — just forward.
|
|
40
|
+
if (!env.LLM_BASE_URL) {
|
|
41
|
+
await run(OPENHANDS_BIN, args, { env });
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
// OpenHands ignores the LLM_* env vars unless --override-with-envs is passed.
|
|
45
|
+
await run(OPENHANDS_BIN, ['--override-with-envs', ...args], { env });
|
|
46
|
+
}
|
|
47
|
+
export const OpenHandsAgent = {
|
|
48
|
+
id: 'openhands',
|
|
49
|
+
displayName: 'OpenHands',
|
|
50
|
+
description: 'All-Hands-AI/OpenHands — autonomous coding agent (OpenAI-compatible)',
|
|
51
|
+
installMode: 'manual',
|
|
52
|
+
installCheck,
|
|
53
|
+
configure,
|
|
54
|
+
launch,
|
|
55
|
+
};
|
package/dist/agents/registry.js
CHANGED
|
@@ -7,6 +7,8 @@ import { RooAgent } from './roo.js';
|
|
|
7
7
|
import { ContinueAgent } from './continue.js';
|
|
8
8
|
import { CodexAgent } from './codex.js';
|
|
9
9
|
import { QwenAgent } from './qwen.js';
|
|
10
|
+
import { GooseAgent } from './goose.js';
|
|
11
|
+
import { OpenHandsAgent } from './openhands.js';
|
|
10
12
|
// Ordered by historical ARPU on tokenmix (highest first). New agents go to the bottom.
|
|
11
13
|
export const AGENTS = [
|
|
12
14
|
OpenCodeAgent,
|
|
@@ -18,6 +20,8 @@ export const AGENTS = [
|
|
|
18
20
|
ContinueAgent,
|
|
19
21
|
CodexAgent,
|
|
20
22
|
QwenAgent,
|
|
23
|
+
GooseAgent,
|
|
24
|
+
OpenHandsAgent,
|
|
21
25
|
];
|
|
22
26
|
export function findAgent(id) {
|
|
23
27
|
return AGENTS.find((a) => a.id === id);
|
package/dist/commands/list.js
CHANGED
package/dist/i18n/messages.js
CHANGED
|
@@ -88,6 +88,8 @@ export const en = {
|
|
|
88
88
|
'desc.continue': 'continuedev/continue — VSCode/JetBrains extension (config file)',
|
|
89
89
|
'desc.codex': 'openai/codex — OpenAI coding agent CLI',
|
|
90
90
|
'desc.qwen': 'QwenLM/qwen-code — terminal coding agent (OpenAI-compatible)',
|
|
91
|
+
'desc.goose': 'block/goose — on-machine AI agent (OpenAI-compatible)',
|
|
92
|
+
'desc.openhands': 'All-Hands-AI/OpenHands — autonomous coding agent (OpenAI-compatible)',
|
|
91
93
|
// install hints
|
|
92
94
|
'install.willInstallVia': 'Will install via: {cmd}',
|
|
93
95
|
'aider.hintNeedPython': 'Aider requires Python 3. Install Python 3 from https://python.org/downloads, then come back and run `tokenmix aider` again.',
|
|
@@ -139,6 +141,14 @@ export const en = {
|
|
|
139
141
|
// qwen configure notes (env-based like aider; launched with --auth-type openai)
|
|
140
142
|
'qwen.noteUsing': 'Qwen Code will use TokenMix via its OpenAI-compatible mode — your ~/.qwen/settings.json is left untouched.',
|
|
141
143
|
'qwen.noteModel': 'Default model: {model} — override with OPENAI_MODEL or `qwen --model`.',
|
|
144
|
+
// goose configure notes (env-based; Goose appends /v1/chat/completions to OPENAI_HOST)
|
|
145
|
+
'goose.noteUsing': 'Goose will use TokenMix as its OpenAI provider — its keyring/config is left untouched.',
|
|
146
|
+
'goose.noteModel': 'Default model: {model} — override with GOOSE_MODEL.',
|
|
147
|
+
// openhands configure notes (env via --override-with-envs; LLM_MODEL needs openai/ prefix)
|
|
148
|
+
'openhands.noteUsing': 'OpenHands will use TokenMix via LiteLLM (--override-with-envs) — your saved config is left untouched.',
|
|
149
|
+
'openhands.noteModel': 'Default model: openai/{model} — override with LLM_MODEL (keep the openai/ prefix).',
|
|
150
|
+
'openhands.hintInstall': 'OpenHands is not installed (needs Python 3.12+). Install it, then re-run `tokenmix openhands`:\n {cmd}',
|
|
151
|
+
'goose.hintInstall': 'Goose is not installed. Install it (see https://block.github.io/goose), then re-run `tokenmix goose`:\n {cmd}',
|
|
142
152
|
// command / option descriptions (--help)
|
|
143
153
|
'cmd.program': 'Zero-config CLI to use any open-source coding agent with TokenMix as the unified LLM backend.',
|
|
144
154
|
'cmd.login': 'Log in to TokenMix (default: browser device authorization)',
|
|
@@ -247,6 +257,8 @@ export const zh = {
|
|
|
247
257
|
'desc.continue': 'continuedev/continue — VSCode/JetBrains 扩展(配置文件)',
|
|
248
258
|
'desc.codex': 'openai/codex — OpenAI 编程 agent CLI',
|
|
249
259
|
'desc.qwen': 'QwenLM/qwen-code — 终端编程 agent(OpenAI 兼容)',
|
|
260
|
+
'desc.goose': 'block/goose — 本机 AI agent(OpenAI 兼容)',
|
|
261
|
+
'desc.openhands': 'All-Hands-AI/OpenHands — 自主编程 agent(OpenAI 兼容)',
|
|
250
262
|
// install hints
|
|
251
263
|
'install.willInstallVia': '将自动安装:{cmd}',
|
|
252
264
|
'aider.hintNeedPython': 'Aider 需要 Python 3。请从 https://python.org/downloads 安装 Python 3,然后重新运行 `tokenmix aider`。',
|
|
@@ -293,6 +305,12 @@ export const zh = {
|
|
|
293
305
|
'codex.noteModel': '默认模型:{model} —— 可用 `--config model=...` 覆盖。',
|
|
294
306
|
'qwen.noteUsing': 'Qwen Code 将通过其 OpenAI 兼容模式使用 TokenMix —— 不会改动你的 ~/.qwen/settings.json。',
|
|
295
307
|
'qwen.noteModel': '默认模型:{model} —— 可用 OPENAI_MODEL 或 `qwen --model` 覆盖。',
|
|
308
|
+
'goose.noteUsing': 'Goose 将以 TokenMix 作为其 OpenAI provider —— 不会改动它的 keyring/配置。',
|
|
309
|
+
'goose.noteModel': '默认模型:{model} —— 可用 GOOSE_MODEL 覆盖。',
|
|
310
|
+
'openhands.noteUsing': 'OpenHands 将通过 LiteLLM(--override-with-envs)使用 TokenMix —— 不会改动你已保存的配置。',
|
|
311
|
+
'openhands.noteModel': '默认模型:openai/{model} —— 可用 LLM_MODEL 覆盖(保留 openai/ 前缀)。',
|
|
312
|
+
'openhands.hintInstall': 'OpenHands 未安装(需要 Python 3.12+)。请先安装,然后重新运行 `tokenmix openhands`:\n {cmd}',
|
|
313
|
+
'goose.hintInstall': 'Goose 未安装。请先安装(见 https://block.github.io/goose),然后重新运行 `tokenmix goose`:\n {cmd}',
|
|
296
314
|
// command / option descriptions (--help)
|
|
297
315
|
'cmd.program': '零配置 CLI:以 TokenMix 作为统一 LLM 后端,驱动任意开源编程 agent。',
|
|
298
316
|
'cmd.login': '登录 TokenMix(默认:浏览器设备授权)',
|
|
@@ -392,6 +410,8 @@ export const ja = {
|
|
|
392
410
|
'desc.continue': 'continuedev/continue — VSCode/JetBrains 拡張機能(設定ファイル)',
|
|
393
411
|
'desc.codex': 'openai/codex — OpenAI のコーディング agent CLI',
|
|
394
412
|
'desc.qwen': 'QwenLM/qwen-code — ターミナルのコーディング agent(OpenAI 互換)',
|
|
413
|
+
'desc.goose': 'block/goose — オンマシン AI agent(OpenAI 互換)',
|
|
414
|
+
'desc.openhands': 'All-Hands-AI/OpenHands — 自律型コーディング agent(OpenAI 互換)',
|
|
395
415
|
'install.willInstallVia': '次の方法でインストールします:{cmd}',
|
|
396
416
|
'aider.hintNeedPython': 'Aider には Python 3 が必要です。https://python.org/downloads から Python 3 をインストールし、再度 `tokenmix aider` を実行してください。',
|
|
397
417
|
'aider.hintNotInstalled': 'Aider はインストールされていません。別のターミナルで次を実行してください:\n {cmd}\nその後 `tokenmix aider` を再実行してください — TokenMix のログインは保存済みなので自動的に反映されます。',
|
|
@@ -433,6 +453,12 @@ export const ja = {
|
|
|
433
453
|
'codex.noteModel': 'デフォルトモデル:{model} — `--config model=...` で上書きできます。',
|
|
434
454
|
'qwen.noteUsing': 'Qwen Code は OpenAI 互換モードで TokenMix を使用します —— ~/.qwen/settings.json は変更されません。',
|
|
435
455
|
'qwen.noteModel': 'デフォルトモデル:{model} — OPENAI_MODEL または `qwen --model` で上書きできます。',
|
|
456
|
+
'goose.noteUsing': 'Goose は TokenMix を OpenAI プロバイダーとして使用します —— keyring/設定は変更されません。',
|
|
457
|
+
'goose.noteModel': 'デフォルトモデル:{model} — GOOSE_MODEL で上書きできます。',
|
|
458
|
+
'openhands.noteUsing': 'OpenHands は LiteLLM(--override-with-envs)経由で TokenMix を使用します —— 保存済みの設定は変更されません。',
|
|
459
|
+
'openhands.noteModel': 'デフォルトモデル:openai/{model} — LLM_MODEL で上書きできます(openai/ プレフィックスは残してください)。',
|
|
460
|
+
'openhands.hintInstall': 'OpenHands がインストールされていません(Python 3.12+ が必要)。インストールしてから `tokenmix openhands` を再実行してください:\n {cmd}',
|
|
461
|
+
'goose.hintInstall': 'Goose がインストールされていません。インストール(https://block.github.io/goose 参照)してから `tokenmix goose` を再実行してください:\n {cmd}',
|
|
436
462
|
'cmd.program': 'TokenMix を統一 LLM バックエンドとして、あらゆるオープンソースのコーディング agent を使うためのゼロ設定 CLI。',
|
|
437
463
|
'cmd.login': 'TokenMix にログイン(デフォルト:ブラウザでのデバイス認証)',
|
|
438
464
|
'cmd.loginKey': 'API キーを直接貼り付け(ブラウザ認証をスキップ、CI に便利)',
|
|
@@ -531,6 +557,8 @@ export const ko = {
|
|
|
531
557
|
'desc.continue': 'continuedev/continue — VSCode/JetBrains 확장 (설정 파일)',
|
|
532
558
|
'desc.codex': 'openai/codex — OpenAI 코딩 agent CLI',
|
|
533
559
|
'desc.qwen': 'QwenLM/qwen-code — 터미널 코딩 agent (OpenAI 호환)',
|
|
560
|
+
'desc.goose': 'block/goose — 온디바이스 AI agent (OpenAI 호환)',
|
|
561
|
+
'desc.openhands': 'All-Hands-AI/OpenHands — 자율 코딩 agent (OpenAI 호환)',
|
|
534
562
|
'install.willInstallVia': '다음 방법으로 설치합니다: {cmd}',
|
|
535
563
|
'aider.hintNeedPython': 'Aider에는 Python 3가 필요합니다. https://python.org/downloads 에서 Python 3를 설치한 뒤 다시 `tokenmix aider`를 실행하세요.',
|
|
536
564
|
'aider.hintNotInstalled': 'Aider가 설치되어 있지 않습니다. 다른 터미널에서 다음을 실행하세요:\n {cmd}\n그런 다음 다시 `tokenmix aider`를 실행하세요 — TokenMix 로그인이 이미 저장되어 있어 자동으로 적용됩니다.',
|
|
@@ -572,6 +600,12 @@ export const ko = {
|
|
|
572
600
|
'codex.noteModel': '기본 모델: {model} — `--config model=...`으로 재정의할 수 있습니다.',
|
|
573
601
|
'qwen.noteUsing': 'Qwen Code는 OpenAI 호환 모드로 TokenMix를 사용합니다 — ~/.qwen/settings.json은 변경되지 않습니다.',
|
|
574
602
|
'qwen.noteModel': '기본 모델: {model} — OPENAI_MODEL 또는 `qwen --model`으로 재정의할 수 있습니다.',
|
|
603
|
+
'goose.noteUsing': 'Goose는 TokenMix를 OpenAI provider로 사용합니다 — keyring/설정은 변경되지 않습니다.',
|
|
604
|
+
'goose.noteModel': '기본 모델: {model} — GOOSE_MODEL로 재정의할 수 있습니다.',
|
|
605
|
+
'openhands.noteUsing': 'OpenHands는 LiteLLM(--override-with-envs)을 통해 TokenMix를 사용합니다 — 저장된 설정은 변경되지 않습니다.',
|
|
606
|
+
'openhands.noteModel': '기본 모델: openai/{model} — LLM_MODEL로 재정의할 수 있습니다(openai/ 접두사 유지).',
|
|
607
|
+
'openhands.hintInstall': 'OpenHands가 설치되어 있지 않습니다(Python 3.12+ 필요). 설치 후 `tokenmix openhands`를 다시 실행하세요:\n {cmd}',
|
|
608
|
+
'goose.hintInstall': 'Goose가 설치되어 있지 않습니다. 설치(https://block.github.io/goose 참조) 후 `tokenmix goose`를 다시 실행하세요:\n {cmd}',
|
|
575
609
|
'cmd.program': 'TokenMix를 통합 LLM 백엔드로 사용하여 모든 오픈소스 코딩 agent를 쓰는 제로 설정 CLI.',
|
|
576
610
|
'cmd.login': 'TokenMix에 로그인 (기본값: 브라우저 기기 인증)',
|
|
577
611
|
'cmd.loginKey': 'API 키를 직접 붙여넣기 (브라우저 절차 생략, CI에 유용)',
|
|
@@ -670,6 +704,8 @@ export const es = {
|
|
|
670
704
|
'desc.continue': 'continuedev/continue — extensión de VSCode/JetBrains (archivo de configuración)',
|
|
671
705
|
'desc.codex': 'openai/codex — CLI del agente de programación de OpenAI',
|
|
672
706
|
'desc.qwen': 'QwenLM/qwen-code — agente de programación de terminal (compatible con OpenAI)',
|
|
707
|
+
'desc.goose': 'block/goose — agente de IA en tu máquina (compatible con OpenAI)',
|
|
708
|
+
'desc.openhands': 'All-Hands-AI/OpenHands — agente de programación autónomo (compatible con OpenAI)',
|
|
673
709
|
'install.willInstallVia': 'Se instalará mediante: {cmd}',
|
|
674
710
|
'aider.hintNeedPython': 'Aider requiere Python 3. Instala Python 3 desde https://python.org/downloads y vuelve a ejecutar `tokenmix aider`.',
|
|
675
711
|
'aider.hintNotInstalled': 'Aider no está instalado. Ejecuta esto en otra terminal:\n {cmd}\nLuego vuelve a ejecutar `tokenmix aider`: tu sesión de TokenMix ya está guardada, así que se detectará automáticamente.',
|
|
@@ -711,6 +747,12 @@ export const es = {
|
|
|
711
747
|
'codex.noteModel': 'Modelo por defecto: {model} — anúlalo con `--config model=...`.',
|
|
712
748
|
'qwen.noteUsing': 'Qwen Code usará TokenMix mediante su modo compatible con OpenAI: tu ~/.qwen/settings.json no se modifica.',
|
|
713
749
|
'qwen.noteModel': 'Modelo por defecto: {model} — anúlalo con OPENAI_MODEL o `qwen --model`.',
|
|
750
|
+
'goose.noteUsing': 'Goose usará TokenMix como su proveedor de OpenAI: su keyring/configuración no se modifica.',
|
|
751
|
+
'goose.noteModel': 'Modelo por defecto: {model} — anúlalo con GOOSE_MODEL.',
|
|
752
|
+
'openhands.noteUsing': 'OpenHands usará TokenMix mediante LiteLLM (--override-with-envs): tu configuración guardada no se modifica.',
|
|
753
|
+
'openhands.noteModel': 'Modelo por defecto: openai/{model} — anúlalo con LLM_MODEL (mantén el prefijo openai/).',
|
|
754
|
+
'openhands.hintInstall': 'OpenHands no está instalado (requiere Python 3.12+). Instálalo y vuelve a ejecutar `tokenmix openhands`:\n {cmd}',
|
|
755
|
+
'goose.hintInstall': 'Goose no está instalado. Instálalo (consulta https://block.github.io/goose) y vuelve a ejecutar `tokenmix goose`:\n {cmd}',
|
|
714
756
|
'cmd.program': 'CLI sin configuración para usar cualquier agent de programación de código abierto con TokenMix como backend LLM unificado.',
|
|
715
757
|
'cmd.login': 'Inicia sesión en TokenMix (predeterminado: autorización de dispositivo por navegador)',
|
|
716
758
|
'cmd.loginKey': 'Pega una clave de API directamente (omite el navegador, útil para CI)',
|
|
@@ -809,6 +851,8 @@ export const fr = {
|
|
|
809
851
|
'desc.continue': 'continuedev/continue — extension VSCode/JetBrains (fichier de configuration)',
|
|
810
852
|
'desc.codex': 'openai/codex — CLI de l’agent de codage d’OpenAI',
|
|
811
853
|
'desc.qwen': 'QwenLM/qwen-code — agent de codage en terminal (compatible OpenAI)',
|
|
854
|
+
'desc.goose': 'block/goose — agent IA sur votre machine (compatible OpenAI)',
|
|
855
|
+
'desc.openhands': 'All-Hands-AI/OpenHands — agent de codage autonome (compatible OpenAI)',
|
|
812
856
|
'install.willInstallVia': 'Sera installé via : {cmd}',
|
|
813
857
|
'aider.hintNeedPython': 'Aider nécessite Python 3. Installez Python 3 depuis https://python.org/downloads, puis relancez `tokenmix aider`.',
|
|
814
858
|
'aider.hintNotInstalled': 'Aider n’est pas installé. Exécutez ceci dans un autre terminal :\n {cmd}\nPuis relancez `tokenmix aider` — votre connexion TokenMix est déjà enregistrée, elle sera donc prise en compte automatiquement.',
|
|
@@ -850,6 +894,12 @@ export const fr = {
|
|
|
850
894
|
'codex.noteModel': 'Modèle par défaut : {model} — remplacez-le avec `--config model=...`.',
|
|
851
895
|
'qwen.noteUsing': 'Qwen Code utilisera TokenMix via son mode compatible OpenAI — votre ~/.qwen/settings.json n’est pas modifié.',
|
|
852
896
|
'qwen.noteModel': 'Modèle par défaut : {model} — remplacez-le avec OPENAI_MODEL ou `qwen --model`.',
|
|
897
|
+
'goose.noteUsing': 'Goose utilisera TokenMix comme fournisseur OpenAI — son keyring/sa configuration n’est pas modifié.',
|
|
898
|
+
'goose.noteModel': 'Modèle par défaut : {model} — remplacez-le avec GOOSE_MODEL.',
|
|
899
|
+
'openhands.noteUsing': 'OpenHands utilisera TokenMix via LiteLLM (--override-with-envs) — votre configuration enregistrée n’est pas modifiée.',
|
|
900
|
+
'openhands.noteModel': 'Modèle par défaut : openai/{model} — remplacez-le avec LLM_MODEL (gardez le préfixe openai/).',
|
|
901
|
+
'openhands.hintInstall': 'OpenHands n’est pas installé (nécessite Python 3.12+). Installez-le, puis relancez `tokenmix openhands` :\n {cmd}',
|
|
902
|
+
'goose.hintInstall': 'Goose n’est pas installé. Installez-le (voir https://block.github.io/goose), puis relancez `tokenmix goose` :\n {cmd}',
|
|
853
903
|
'cmd.program': 'CLI sans configuration pour utiliser n’importe quel agent de codage open source avec TokenMix comme backend LLM unifié.',
|
|
854
904
|
'cmd.login': 'Se connecter à TokenMix (par défaut : autorisation de l’appareil via le navigateur)',
|
|
855
905
|
'cmd.loginKey': 'Coller directement une clé API (ignore le navigateur, utile pour la CI)',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tokenmix",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.11",
|
|
4
4
|
"description": "Zero-config CLI to use any open-source coding agent with TokenMix as the unified LLM backend.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -32,6 +32,8 @@
|
|
|
32
32
|
"continue",
|
|
33
33
|
"codex",
|
|
34
34
|
"qwen-code",
|
|
35
|
+
"goose",
|
|
36
|
+
"openhands",
|
|
35
37
|
"coding-agent"
|
|
36
38
|
],
|
|
37
39
|
"license": "MIT",
|