tokenmix 0.4.4 → 0.4.6

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
@@ -15,6 +15,9 @@ npx tokenmix opencode # install + configure + start OpenCode
15
15
  npx tokenmix claude # install + configure + start Claude Code
16
16
  npx tokenmix aider # configure + start Aider (Python required)
17
17
  npx tokenmix kilo # print Kilo Code VSCode configuration
18
+ npx tokenmix cline # print Cline VSCode configuration
19
+ npx tokenmix roo # print Roo Code VSCode configuration
20
+ npx tokenmix continue # print Continue config.yaml snippet
18
21
  ```
19
22
 
20
23
  ### Alternative login modes
@@ -32,6 +35,9 @@ npx tokenmix login --key sk-tm-... # supply API key directly (for CI
32
35
  | [Claude Code](https://github.com/anthropics/claude-code) | `npm i -g @anthropic-ai/claude-code` | full auto |
33
36
  | [Aider](https://github.com/Aider-AI/aider) | `pip install aider-chat` | semi auto |
34
37
  | [Kilo Code](https://github.com/Kilo-Org/kilocode) | VSCode extension | config-only |
38
+ | [Cline](https://github.com/cline/cline) | VSCode extension | config-only |
39
+ | [Roo Code](https://github.com/RooCodeInc/Roo-Code) | VSCode extension | config-only |
40
+ | [Continue](https://github.com/continuedev/continue) | VSCode / JetBrains | config-only |
35
41
 
36
42
  ## Commands
37
43
 
@@ -48,6 +54,9 @@ tokenmix opencode [args...] Launch OpenCode via TokenMix
48
54
  tokenmix claude [args...] Launch Claude Code via TokenMix
49
55
  tokenmix aider [args...] Launch Aider via TokenMix
50
56
  tokenmix kilo Print Kilo Code configuration
57
+ tokenmix cline Print Cline configuration
58
+ tokenmix roo Print Roo Code configuration
59
+ tokenmix continue Print Continue config.yaml snippet
51
60
  ```
52
61
 
53
62
  ## Language
@@ -0,0 +1,40 @@
1
+ import { commandExists } from '../utils/exec.js';
2
+ import { t } from '../i18n/index.js';
3
+ async function installCheck() {
4
+ // Cline is a config-only agent (VSCode extension). The CLI cannot install the
5
+ // extension on the user's behalf, so we always proceed to `configure()` and
6
+ // print the settings — even if VSCode isn't installed locally yet, the user
7
+ // may be copying the config for another machine.
8
+ const code = await commandExists('code');
9
+ return {
10
+ installed: true,
11
+ hint: code ? t('cline.hintMarketplace') : t('cline.hintNoVscode'),
12
+ };
13
+ }
14
+ async function configure(apiKey, baseUrl, defaultModel) {
15
+ // Cline is a VSCode extension configured through its settings panel
16
+ // (API Provider → "OpenAI Compatible"). Unlike Kilo it exposes no documented
17
+ // settings.json import, so we only print the field values to enter by hand —
18
+ // we never fabricate a JSON snippet that might not be read.
19
+ return {
20
+ notes: [
21
+ t('cline.noteNoLauncher'),
22
+ t('cline.noteConfigWith'),
23
+ '',
24
+ ` Provider: OpenAI Compatible`,
25
+ ` Base URL: ${baseUrl}/v1`,
26
+ ` API Key: ${apiKey}`,
27
+ ` Model ID: ${defaultModel}`,
28
+ '',
29
+ t('cline.noteKeepPrivate'),
30
+ ],
31
+ };
32
+ }
33
+ export const ClineAgent = {
34
+ id: 'cline',
35
+ displayName: 'Cline',
36
+ description: 'cline/cline — VSCode extension (config-only)',
37
+ installMode: 'manual-vscode',
38
+ installCheck,
39
+ configure,
40
+ };
@@ -0,0 +1,50 @@
1
+ import { commandExists } from '../utils/exec.js';
2
+ import { t } from '../i18n/index.js';
3
+ async function installCheck() {
4
+ // Continue is a config-only agent (VSCode/JetBrains extension). The CLI cannot
5
+ // install the extension, so we always proceed to configure() and print the
6
+ // config the user pastes into ~/.continue/config.yaml.
7
+ const code = await commandExists('code');
8
+ return {
9
+ installed: true,
10
+ hint: code ? t('continue.hintMarketplace') : t('continue.hintNoVscode'),
11
+ };
12
+ }
13
+ async function configure(apiKey, baseUrl, defaultModel) {
14
+ // Continue is driven by ~/.continue/config.yaml (verified schema: top-level
15
+ // name/version/schema + a `models:` list; each model needs name/provider/model,
16
+ // plus apiBase/apiKey for an OpenAI-compatible endpoint). We PRINT a ready-to-use
17
+ // config rather than write the file, so we never clobber a user's existing
18
+ // ~/.continue/config.yaml (and need no YAML dependency or cleanup step).
19
+ const yaml = [
20
+ 'name: TokenMix',
21
+ 'version: 1.0.0',
22
+ 'schema: v1',
23
+ 'models:',
24
+ ' - name: TokenMix',
25
+ ' provider: openai',
26
+ ` model: ${defaultModel}`,
27
+ ` apiBase: ${baseUrl}/v1`,
28
+ ` apiKey: ${apiKey}`,
29
+ ].join('\n');
30
+ return {
31
+ notes: [
32
+ t('continue.noteNoLauncher'),
33
+ t('continue.noteConfigWith'),
34
+ // Leading '\n' so agent-runner's 2-space note prefix lands on a blank line,
35
+ // keeping the YAML top-level keys at column 0 (valid YAML when pasted).
36
+ '\n' + yaml,
37
+ '',
38
+ t('continue.noteMergeHint'),
39
+ t('continue.noteKeepPrivate'),
40
+ ],
41
+ };
42
+ }
43
+ export const ContinueAgent = {
44
+ id: 'continue',
45
+ displayName: 'Continue',
46
+ description: 'continuedev/continue — VSCode/JetBrains extension (config file)',
47
+ installMode: 'manual-vscode',
48
+ installCheck,
49
+ configure,
50
+ };
@@ -2,12 +2,18 @@ import { OpenCodeAgent } from './opencode.js';
2
2
  import { ClaudeCodeAgent } from './claude.js';
3
3
  import { AiderAgent } from './aider.js';
4
4
  import { KiloAgent } from './kilo.js';
5
+ import { ClineAgent } from './cline.js';
6
+ import { RooAgent } from './roo.js';
7
+ import { ContinueAgent } from './continue.js';
5
8
  // Ordered by historical ARPU on tokenmix (highest first). New agents go to the bottom.
6
9
  export const AGENTS = [
7
10
  OpenCodeAgent,
8
11
  ClaudeCodeAgent,
9
12
  AiderAgent,
10
13
  KiloAgent,
14
+ ClineAgent,
15
+ RooAgent,
16
+ ContinueAgent,
11
17
  ];
12
18
  export function findAgent(id) {
13
19
  return AGENTS.find((a) => a.id === id);
@@ -0,0 +1,38 @@
1
+ import { commandExists } from '../utils/exec.js';
2
+ import { t } from '../i18n/index.js';
3
+ async function installCheck() {
4
+ // Roo Code is a config-only agent (VSCode extension, a Cline fork). The CLI
5
+ // cannot install the extension, so we always proceed to configure() and print
6
+ // the settings — the user may also be copying the config for another machine.
7
+ const code = await commandExists('code');
8
+ return {
9
+ installed: true,
10
+ hint: code ? t('roo.hintMarketplace') : t('roo.hintNoVscode'),
11
+ };
12
+ }
13
+ async function configure(apiKey, baseUrl, defaultModel) {
14
+ // Roo Code is configured through its settings panel (API Provider →
15
+ // "OpenAI Compatible"), exactly like Cline. No documented settings.json
16
+ // import, so we only print the field values to enter by hand.
17
+ return {
18
+ notes: [
19
+ t('roo.noteNoLauncher'),
20
+ t('roo.noteConfigWith'),
21
+ '',
22
+ ` Provider: OpenAI Compatible`,
23
+ ` Base URL: ${baseUrl}/v1`,
24
+ ` API Key: ${apiKey}`,
25
+ ` Model ID: ${defaultModel}`,
26
+ '',
27
+ t('roo.noteKeepPrivate'),
28
+ ],
29
+ };
30
+ }
31
+ export const RooAgent = {
32
+ id: 'roo',
33
+ displayName: 'Roo Code',
34
+ description: 'RooCodeInc/Roo-Code — VSCode extension (config-only)',
35
+ installMode: 'manual-vscode',
36
+ installCheck,
37
+ configure,
38
+ };
@@ -27,6 +27,12 @@ function agentDesc(id, fallback) {
27
27
  return t('desc.aider');
28
28
  case 'kilo':
29
29
  return t('desc.kilo');
30
+ case 'cline':
31
+ return t('desc.cline');
32
+ case 'roo':
33
+ return t('desc.roo');
34
+ case 'continue':
35
+ return t('desc.continue');
30
36
  default:
31
37
  return fallback;
32
38
  }
@@ -82,6 +82,9 @@ export const en = {
82
82
  'desc.claude': 'anthropics/claude-code — official Anthropic CLI coding agent',
83
83
  'desc.aider': 'Aider-AI/aider — paired-programming CLI (requires Python)',
84
84
  'desc.kilo': 'Kilo-Org/kilocode — VSCode extension (config-only)',
85
+ 'desc.cline': 'cline/cline — VSCode extension (config-only)',
86
+ 'desc.roo': 'RooCodeInc/Roo-Code — VSCode extension (config-only)',
87
+ 'desc.continue': 'continuedev/continue — VSCode/JetBrains extension (config file)',
85
88
  // install hints
86
89
  'install.willInstallVia': 'Will install via: {cmd}',
87
90
  'aider.hintNeedPython': 'Aider requires Python 3. Install Python 3 from https://python.org/downloads, then come back and run `tokenmix aider` again.',
@@ -108,6 +111,25 @@ export const en = {
108
111
  'kilo.noteKeepPrivate': 'Keep this API key private — anyone with it can spend your TokenMix balance.',
109
112
  'kilo.hintMarketplace': 'Install "Kilo Code" from the VSCode marketplace, then paste the snippet below into its settings.',
110
113
  'kilo.hintNoVscode': 'VSCode not detected on PATH. Install VSCode, then add the Kilo Code extension, then use the snippet below.',
114
+ // cline configure notes (config-only; technical lines stay verbatim)
115
+ 'cline.noteNoLauncher': 'Cline is a VSCode extension and does not have a CLI launcher.',
116
+ 'cline.noteConfigWith': 'Open the Cline settings panel (⚙ → API Provider) and enter:',
117
+ 'cline.noteKeepPrivate': 'Keep this API key private — anyone with it can spend your TokenMix balance.',
118
+ 'cline.hintMarketplace': 'Install "Cline" from the VSCode marketplace, then enter the settings below in its panel.',
119
+ 'cline.hintNoVscode': 'VSCode not detected on PATH. Install VSCode, then add the Cline extension, then use the settings below.',
120
+ // roo configure notes (config-only; technical lines stay verbatim)
121
+ 'roo.noteNoLauncher': 'Roo Code is a VSCode extension and does not have a CLI launcher.',
122
+ 'roo.noteConfigWith': 'Open the Roo Code settings panel (API Provider) and enter:',
123
+ 'roo.noteKeepPrivate': 'Keep this API key private — anyone with it can spend your TokenMix balance.',
124
+ 'roo.hintMarketplace': 'Install "Roo Code" from the VSCode marketplace, then enter the settings below in its panel.',
125
+ 'roo.hintNoVscode': 'VSCode not detected on PATH. Install VSCode, then add the Roo Code extension, then use the settings below.',
126
+ // continue configure notes (config file; YAML lines stay verbatim)
127
+ 'continue.noteNoLauncher': 'Continue is configured via ~/.continue/config.yaml; there is no CLI launcher.',
128
+ 'continue.noteConfigWith': 'Add this model to your ~/.continue/config.yaml:',
129
+ 'continue.noteMergeHint': 'If the file already exists, merge just the entry under `models:` into it.',
130
+ 'continue.noteKeepPrivate': 'Keep this API key private — anyone with it can spend your TokenMix balance.',
131
+ 'continue.hintMarketplace': 'Install "Continue" from the VSCode marketplace, then add the config below.',
132
+ 'continue.hintNoVscode': 'VSCode not detected on PATH. Install VSCode, then add the Continue extension, then use the config below.',
111
133
  // command / option descriptions (--help)
112
134
  'cmd.program': 'Zero-config CLI to use any open-source coding agent with TokenMix as the unified LLM backend.',
113
135
  'cmd.login': 'Log in to TokenMix (default: browser device authorization)',
@@ -209,6 +231,9 @@ export const zh = {
209
231
  'desc.claude': 'anthropics/claude-code — Anthropic 官方 CLI 编程 agent',
210
232
  'desc.aider': 'Aider-AI/aider — 结对编程 CLI(需要 Python)',
211
233
  'desc.kilo': 'Kilo-Org/kilocode — VSCode 扩展(仅配置)',
234
+ 'desc.cline': 'cline/cline — VSCode 扩展(仅配置)',
235
+ 'desc.roo': 'RooCodeInc/Roo-Code — VSCode 扩展(仅配置)',
236
+ 'desc.continue': 'continuedev/continue — VSCode/JetBrains 扩展(配置文件)',
212
237
  // install hints
213
238
  'install.willInstallVia': '将自动安装:{cmd}',
214
239
  'aider.hintNeedPython': 'Aider 需要 Python 3。请从 https://python.org/downloads 安装 Python 3,然后重新运行 `tokenmix aider`。',
@@ -235,6 +260,22 @@ export const zh = {
235
260
  'kilo.noteKeepPrivate': '请妥善保管此 API 密钥 —— 任何人拿到它都能消耗你的 TokenMix 余额。',
236
261
  'kilo.hintMarketplace': '从 VSCode 应用市场安装 "Kilo Code",然后将下面的片段粘贴到它的设置中。',
237
262
  'kilo.hintNoVscode': '未在 PATH 中检测到 VSCode。请先安装 VSCode,再添加 Kilo Code 扩展,然后使用下面的片段。',
263
+ 'cline.noteNoLauncher': 'Cline 是 VSCode 扩展,没有 CLI 启动器。',
264
+ 'cline.noteConfigWith': '打开 Cline 设置面板(⚙ → API Provider),填入以下信息:',
265
+ 'cline.noteKeepPrivate': '请妥善保管此 API 密钥 —— 任何人拿到它都能消耗你的 TokenMix 余额。',
266
+ 'cline.hintMarketplace': '从 VSCode 应用市场安装 "Cline",然后在它的设置面板中填入下面的信息。',
267
+ 'cline.hintNoVscode': '未在 PATH 中检测到 VSCode。请先安装 VSCode,再添加 Cline 扩展,然后使用下面的设置。',
268
+ 'roo.noteNoLauncher': 'Roo Code 是 VSCode 扩展,没有 CLI 启动器。',
269
+ 'roo.noteConfigWith': '打开 Roo Code 设置面板(API Provider),填入以下信息:',
270
+ 'roo.noteKeepPrivate': '请妥善保管此 API 密钥 —— 任何人拿到它都能消耗你的 TokenMix 余额。',
271
+ 'roo.hintMarketplace': '从 VSCode 应用市场安装 "Roo Code",然后在它的设置面板中填入下面的信息。',
272
+ 'roo.hintNoVscode': '未在 PATH 中检测到 VSCode。请先安装 VSCode,再添加 Roo Code 扩展,然后使用下面的设置。',
273
+ 'continue.noteNoLauncher': 'Continue 通过 ~/.continue/config.yaml 配置,没有 CLI 启动器。',
274
+ 'continue.noteConfigWith': '将以下模型添加到你的 ~/.continue/config.yaml:',
275
+ 'continue.noteMergeHint': '如果该文件已存在,只需把 `models:` 下的这一项合并进去。',
276
+ 'continue.noteKeepPrivate': '请妥善保管此 API 密钥 —— 任何人拿到它都能消耗你的 TokenMix 余额。',
277
+ 'continue.hintMarketplace': '从 VSCode 应用市场安装 "Continue",然后添加下面的配置。',
278
+ 'continue.hintNoVscode': '未在 PATH 中检测到 VSCode。请先安装 VSCode,再添加 Continue 扩展,然后使用下面的配置。',
238
279
  // command / option descriptions (--help)
239
280
  'cmd.program': '零配置 CLI:以 TokenMix 作为统一 LLM 后端,驱动任意开源编程 agent。',
240
281
  'cmd.login': '登录 TokenMix(默认:浏览器设备授权)',
@@ -327,6 +368,9 @@ export const ja = {
327
368
  'desc.claude': 'anthropics/claude-code — Anthropic 公式の CLI コーディング agent',
328
369
  'desc.aider': 'Aider-AI/aider — ペアプログラミング CLI(Python が必要)',
329
370
  'desc.kilo': 'Kilo-Org/kilocode — VSCode 拡張機能(設定のみ)',
371
+ 'desc.cline': 'cline/cline — VSCode 拡張機能(設定のみ)',
372
+ 'desc.roo': 'RooCodeInc/Roo-Code — VSCode 拡張機能(設定のみ)',
373
+ 'desc.continue': 'continuedev/continue — VSCode/JetBrains 拡張機能(設定ファイル)',
330
374
  'install.willInstallVia': '次の方法でインストールします:{cmd}',
331
375
  'aider.hintNeedPython': 'Aider には Python 3 が必要です。https://python.org/downloads から Python 3 をインストールし、再度 `tokenmix aider` を実行してください。',
332
376
  'aider.hintNotInstalled': 'Aider はインストールされていません。別のターミナルで次を実行してください:\n {cmd}\nその後 `tokenmix aider` を再実行してください — TokenMix のログインは保存済みなので自動的に反映されます。',
@@ -348,6 +392,22 @@ export const ja = {
348
392
  'kilo.noteKeepPrivate': 'この API キーは公開しないでください — 入手した人は誰でもあなたの TokenMix 残高を使えます。',
349
393
  'kilo.hintMarketplace': 'VSCode マーケットプレイスから "Kilo Code" をインストールし、下のスニペットを設定に貼り付けてください。',
350
394
  'kilo.hintNoVscode': 'PATH に VSCode が見つかりません。VSCode をインストールし、Kilo Code 拡張機能を追加してから、下のスニペットを使用してください。',
395
+ 'cline.noteNoLauncher': 'Cline は VSCode 拡張機能で、CLI ランチャーはありません。',
396
+ 'cline.noteConfigWith': 'Cline の設定パネル(⚙ → API Provider)を開き、次を入力してください:',
397
+ 'cline.noteKeepPrivate': 'この API キーは公開しないでください — 入手した人は誰でもあなたの TokenMix 残高を使えます。',
398
+ 'cline.hintMarketplace': 'VSCode マーケットプレイスから "Cline" をインストールし、下の設定をパネルに入力してください。',
399
+ 'cline.hintNoVscode': 'PATH に VSCode が見つかりません。VSCode をインストールし、Cline 拡張機能を追加してから、下の設定を使用してください。',
400
+ 'roo.noteNoLauncher': 'Roo Code は VSCode 拡張機能で、CLI ランチャーはありません。',
401
+ 'roo.noteConfigWith': 'Roo Code の設定パネル(API Provider)を開き、次を入力してください:',
402
+ 'roo.noteKeepPrivate': 'この API キーは公開しないでください — 入手した人は誰でもあなたの TokenMix 残高を使えます。',
403
+ 'roo.hintMarketplace': 'VSCode マーケットプレイスから "Roo Code" をインストールし、下の設定をパネルに入力してください。',
404
+ 'roo.hintNoVscode': 'PATH に VSCode が見つかりません。VSCode をインストールし、Roo Code 拡張機能を追加してから、下の設定を使用してください。',
405
+ 'continue.noteNoLauncher': 'Continue は ~/.continue/config.yaml で設定します。CLI ランチャーはありません。',
406
+ 'continue.noteConfigWith': '次のモデルを ~/.continue/config.yaml に追加してください:',
407
+ 'continue.noteMergeHint': 'ファイルが既にある場合は、`models:` の下のこの項目だけをマージしてください。',
408
+ 'continue.noteKeepPrivate': 'この API キーは公開しないでください — 入手した人は誰でもあなたの TokenMix 残高を使えます。',
409
+ 'continue.hintMarketplace': 'VSCode マーケットプレイスから "Continue" をインストールし、下の設定を追加してください。',
410
+ 'continue.hintNoVscode': 'PATH に VSCode が見つかりません。VSCode をインストールし、Continue 拡張機能を追加してから、下の設定を使用してください。',
351
411
  'cmd.program': 'TokenMix を統一 LLM バックエンドとして、あらゆるオープンソースのコーディング agent を使うためのゼロ設定 CLI。',
352
412
  'cmd.login': 'TokenMix にログイン(デフォルト:ブラウザでのデバイス認証)',
353
413
  'cmd.loginKey': 'API キーを直接貼り付け(ブラウザ認証をスキップ、CI に便利)',
@@ -439,6 +499,9 @@ export const ko = {
439
499
  'desc.claude': 'anthropics/claude-code — Anthropic 공식 CLI 코딩 agent',
440
500
  'desc.aider': 'Aider-AI/aider — 페어 프로그래밍 CLI (Python 필요)',
441
501
  'desc.kilo': 'Kilo-Org/kilocode — VSCode 확장 (설정 전용)',
502
+ 'desc.cline': 'cline/cline — VSCode 확장 (설정 전용)',
503
+ 'desc.roo': 'RooCodeInc/Roo-Code — VSCode 확장 (설정 전용)',
504
+ 'desc.continue': 'continuedev/continue — VSCode/JetBrains 확장 (설정 파일)',
442
505
  'install.willInstallVia': '다음 방법으로 설치합니다: {cmd}',
443
506
  'aider.hintNeedPython': 'Aider에는 Python 3가 필요합니다. https://python.org/downloads 에서 Python 3를 설치한 뒤 다시 `tokenmix aider`를 실행하세요.',
444
507
  'aider.hintNotInstalled': 'Aider가 설치되어 있지 않습니다. 다른 터미널에서 다음을 실행하세요:\n {cmd}\n그런 다음 다시 `tokenmix aider`를 실행하세요 — TokenMix 로그인이 이미 저장되어 있어 자동으로 적용됩니다.',
@@ -460,6 +523,22 @@ export const ko = {
460
523
  'kilo.noteKeepPrivate': '이 API 키를 비공개로 유지하세요 — 키를 가진 사람은 누구나 당신의 TokenMix 잔액을 쓸 수 있습니다.',
461
524
  'kilo.hintMarketplace': 'VSCode 마켓플레이스에서 "Kilo Code"를 설치한 뒤 아래 스니펫을 설정에 붙여넣으세요.',
462
525
  'kilo.hintNoVscode': 'PATH에서 VSCode를 찾을 수 없습니다. VSCode를 설치하고 Kilo Code 확장을 추가한 뒤 아래 스니펫을 사용하세요.',
526
+ 'cline.noteNoLauncher': 'Cline은 VSCode 확장이며 CLI 런처가 없습니다.',
527
+ 'cline.noteConfigWith': 'Cline 설정 패널(⚙ → API Provider)을 열고 다음을 입력하세요:',
528
+ 'cline.noteKeepPrivate': '이 API 키를 비공개로 유지하세요 — 키를 가진 사람은 누구나 당신의 TokenMix 잔액을 쓸 수 있습니다.',
529
+ 'cline.hintMarketplace': 'VSCode 마켓플레이스에서 "Cline"을 설치한 뒤 아래 설정을 패널에 입력하세요.',
530
+ 'cline.hintNoVscode': 'PATH에서 VSCode를 찾을 수 없습니다. VSCode를 설치하고 Cline 확장을 추가한 뒤 아래 설정을 사용하세요.',
531
+ 'roo.noteNoLauncher': 'Roo Code는 VSCode 확장이며 CLI 런처가 없습니다.',
532
+ 'roo.noteConfigWith': 'Roo Code 설정 패널(API Provider)을 열고 다음을 입력하세요:',
533
+ 'roo.noteKeepPrivate': '이 API 키를 비공개로 유지하세요 — 키를 가진 사람은 누구나 당신의 TokenMix 잔액을 쓸 수 있습니다.',
534
+ 'roo.hintMarketplace': 'VSCode 마켓플레이스에서 "Roo Code"를 설치한 뒤 아래 설정을 패널에 입력하세요.',
535
+ 'roo.hintNoVscode': 'PATH에서 VSCode를 찾을 수 없습니다. VSCode를 설치하고 Roo Code 확장을 추가한 뒤 아래 설정을 사용하세요.',
536
+ 'continue.noteNoLauncher': 'Continue는 ~/.continue/config.yaml로 설정하며 CLI 런처가 없습니다.',
537
+ 'continue.noteConfigWith': '다음 모델을 ~/.continue/config.yaml에 추가하세요:',
538
+ 'continue.noteMergeHint': '파일이 이미 있으면 `models:` 아래의 이 항목만 병합하세요.',
539
+ 'continue.noteKeepPrivate': '이 API 키를 비공개로 유지하세요 — 키를 가진 사람은 누구나 당신의 TokenMix 잔액을 쓸 수 있습니다.',
540
+ 'continue.hintMarketplace': 'VSCode 마켓플레이스에서 "Continue"를 설치한 뒤 아래 설정을 추가하세요.',
541
+ 'continue.hintNoVscode': 'PATH에서 VSCode를 찾을 수 없습니다. VSCode를 설치하고 Continue 확장을 추가한 뒤 아래 설정을 사용하세요.',
463
542
  'cmd.program': 'TokenMix를 통합 LLM 백엔드로 사용하여 모든 오픈소스 코딩 agent를 쓰는 제로 설정 CLI.',
464
543
  'cmd.login': 'TokenMix에 로그인 (기본값: 브라우저 기기 인증)',
465
544
  'cmd.loginKey': 'API 키를 직접 붙여넣기 (브라우저 절차 생략, CI에 유용)',
@@ -551,6 +630,9 @@ export const es = {
551
630
  'desc.claude': 'anthropics/claude-code — agent de programación CLI oficial de Anthropic',
552
631
  'desc.aider': 'Aider-AI/aider — CLI de programación en pareja (requiere Python)',
553
632
  'desc.kilo': 'Kilo-Org/kilocode — extensión de VSCode (solo configuración)',
633
+ 'desc.cline': 'cline/cline — extensión de VSCode (solo configuración)',
634
+ 'desc.roo': 'RooCodeInc/Roo-Code — extensión de VSCode (solo configuración)',
635
+ 'desc.continue': 'continuedev/continue — extensión de VSCode/JetBrains (archivo de configuración)',
554
636
  'install.willInstallVia': 'Se instalará mediante: {cmd}',
555
637
  'aider.hintNeedPython': 'Aider requiere Python 3. Instala Python 3 desde https://python.org/downloads y vuelve a ejecutar `tokenmix aider`.',
556
638
  '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.',
@@ -572,6 +654,22 @@ export const es = {
572
654
  'kilo.noteKeepPrivate': 'Mantén privada esta clave de API: cualquiera que la tenga puede gastar tu saldo de TokenMix.',
573
655
  'kilo.hintMarketplace': 'Instala "Kilo Code" desde el marketplace de VSCode y pega el fragmento de abajo en su configuración.',
574
656
  'kilo.hintNoVscode': 'No se detectó VSCode en el PATH. Instala VSCode, añade la extensión Kilo Code y luego usa el fragmento de abajo.',
657
+ 'cline.noteNoLauncher': 'Cline es una extensión de VSCode y no tiene lanzador de CLI.',
658
+ 'cline.noteConfigWith': 'Abre el panel de configuración de Cline (⚙ → API Provider) e introduce:',
659
+ 'cline.noteKeepPrivate': 'Mantén privada esta clave de API: cualquiera que la tenga puede gastar tu saldo de TokenMix.',
660
+ 'cline.hintMarketplace': 'Instala "Cline" desde el marketplace de VSCode y luego introduce la configuración de abajo en su panel.',
661
+ 'cline.hintNoVscode': 'No se detectó VSCode en el PATH. Instala VSCode, añade la extensión Cline y luego usa la configuración de abajo.',
662
+ 'roo.noteNoLauncher': 'Roo Code es una extensión de VSCode y no tiene lanzador de CLI.',
663
+ 'roo.noteConfigWith': 'Abre el panel de configuración de Roo Code (API Provider) e introduce:',
664
+ 'roo.noteKeepPrivate': 'Mantén privada esta clave de API: cualquiera que la tenga puede gastar tu saldo de TokenMix.',
665
+ 'roo.hintMarketplace': 'Instala "Roo Code" desde el marketplace de VSCode y luego introduce la configuración de abajo en su panel.',
666
+ 'roo.hintNoVscode': 'No se detectó VSCode en el PATH. Instala VSCode, añade la extensión Roo Code y luego usa la configuración de abajo.',
667
+ 'continue.noteNoLauncher': 'Continue se configura mediante ~/.continue/config.yaml; no tiene lanzador de CLI.',
668
+ 'continue.noteConfigWith': 'Añade este modelo a tu ~/.continue/config.yaml:',
669
+ 'continue.noteMergeHint': 'Si el archivo ya existe, fusiona solo la entrada bajo `models:`.',
670
+ 'continue.noteKeepPrivate': 'Mantén privada esta clave de API: cualquiera que la tenga puede gastar tu saldo de TokenMix.',
671
+ 'continue.hintMarketplace': 'Instala "Continue" desde el marketplace de VSCode y luego añade la configuración de abajo.',
672
+ 'continue.hintNoVscode': 'No se detectó VSCode en el PATH. Instala VSCode, añade la extensión Continue y luego usa la configuración de abajo.',
575
673
  'cmd.program': 'CLI sin configuración para usar cualquier agent de programación de código abierto con TokenMix como backend LLM unificado.',
576
674
  'cmd.login': 'Inicia sesión en TokenMix (predeterminado: autorización de dispositivo por navegador)',
577
675
  'cmd.loginKey': 'Pega una clave de API directamente (omite el navegador, útil para CI)',
@@ -663,6 +761,9 @@ export const fr = {
663
761
  'desc.claude': 'anthropics/claude-code — agent de codage CLI officiel d’Anthropic',
664
762
  'desc.aider': 'Aider-AI/aider — CLI de programmation en binôme (nécessite Python)',
665
763
  'desc.kilo': 'Kilo-Org/kilocode — extension VSCode (configuration seule)',
764
+ 'desc.cline': 'cline/cline — extension VSCode (configuration seule)',
765
+ 'desc.roo': 'RooCodeInc/Roo-Code — extension VSCode (configuration seule)',
766
+ 'desc.continue': 'continuedev/continue — extension VSCode/JetBrains (fichier de configuration)',
666
767
  'install.willInstallVia': 'Sera installé via : {cmd}',
667
768
  'aider.hintNeedPython': 'Aider nécessite Python 3. Installez Python 3 depuis https://python.org/downloads, puis relancez `tokenmix aider`.',
668
769
  '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.',
@@ -684,6 +785,22 @@ export const fr = {
684
785
  'kilo.noteKeepPrivate': 'Gardez cette clé API privée — quiconque la détient peut dépenser votre solde TokenMix.',
685
786
  'kilo.hintMarketplace': 'Installez « Kilo Code » depuis la marketplace VSCode, puis collez l’extrait ci-dessous dans ses paramètres.',
686
787
  'kilo.hintNoVscode': 'VSCode introuvable dans le PATH. Installez VSCode, ajoutez l’extension Kilo Code, puis utilisez l’extrait ci-dessous.',
788
+ 'cline.noteNoLauncher': 'Cline est une extension VSCode et n’a pas de lanceur CLI.',
789
+ 'cline.noteConfigWith': 'Ouvrez le panneau de configuration de Cline (⚙ → API Provider) et saisissez :',
790
+ 'cline.noteKeepPrivate': 'Gardez cette clé API privée — quiconque la détient peut dépenser votre solde TokenMix.',
791
+ 'cline.hintMarketplace': 'Installez « Cline » depuis la marketplace VSCode, puis saisissez les paramètres ci-dessous dans son panneau.',
792
+ 'cline.hintNoVscode': 'VSCode introuvable dans le PATH. Installez VSCode, ajoutez l’extension Cline, puis utilisez les paramètres ci-dessous.',
793
+ 'roo.noteNoLauncher': 'Roo Code est une extension VSCode et n’a pas de lanceur CLI.',
794
+ 'roo.noteConfigWith': 'Ouvrez le panneau de configuration de Roo Code (API Provider) et saisissez :',
795
+ 'roo.noteKeepPrivate': 'Gardez cette clé API privée — quiconque la détient peut dépenser votre solde TokenMix.',
796
+ 'roo.hintMarketplace': 'Installez « Roo Code » depuis la marketplace VSCode, puis saisissez les paramètres ci-dessous dans son panneau.',
797
+ 'roo.hintNoVscode': 'VSCode introuvable dans le PATH. Installez VSCode, ajoutez l’extension Roo Code, puis utilisez les paramètres ci-dessous.',
798
+ 'continue.noteNoLauncher': 'Continue se configure via ~/.continue/config.yaml ; il n’a pas de lanceur CLI.',
799
+ 'continue.noteConfigWith': 'Ajoutez ce modèle à votre ~/.continue/config.yaml :',
800
+ 'continue.noteMergeHint': 'Si le fichier existe déjà, fusionnez uniquement l’entrée sous `models:`.',
801
+ 'continue.noteKeepPrivate': 'Gardez cette clé API privée — quiconque la détient peut dépenser votre solde TokenMix.',
802
+ 'continue.hintMarketplace': 'Installez « Continue » depuis la marketplace VSCode, puis ajoutez la configuration ci-dessous.',
803
+ 'continue.hintNoVscode': 'VSCode introuvable dans le PATH. Installez VSCode, ajoutez l’extension Continue, puis utilisez la configuration ci-dessous.',
687
804
  'cmd.program': 'CLI sans configuration pour utiliser n’importe quel agent de codage open source avec TokenMix comme backend LLM unifié.',
688
805
  'cmd.login': 'Se connecter à TokenMix (par défaut : autorisation de l’appareil via le navigateur)',
689
806
  '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.4",
3
+ "version": "0.4.6",
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": {
@@ -27,6 +27,9 @@
27
27
  "claude-code",
28
28
  "aider",
29
29
  "kilo",
30
+ "cline",
31
+ "roo-code",
32
+ "continue",
30
33
  "coding-agent"
31
34
  ],
32
35
  "license": "MIT",