@sayknow-cli/coding-agent 0.6.5 → 0.6.7
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/CHANGELOG.md +29 -0
- package/dist/types/config/keybindings.d.ts +5 -0
- package/dist/types/config/settings-schema.d.ts +79 -0
- package/dist/types/i18n/messages/en.d.ts +6 -29
- package/dist/types/modes/components/welcome.d.ts +34 -40
- package/dist/types/modes/interactive-mode.d.ts +7 -4
- package/dist/types/modes/types.d.ts +4 -0
- package/dist/types/sdk/broker/broker.d.ts +22 -0
- package/dist/types/sdk/broker/process-guard.d.ts +71 -0
- package/dist/types/sdk/broker/transport.d.ts +2 -0
- package/dist/types/sdk/bus/chat-daemon-runtime.d.ts +4 -0
- package/dist/types/session/agent-session.d.ts +9 -0
- package/dist/types/session/auth-storage-discovery.d.ts +15 -0
- package/dist/types/session/auto-fallback.d.ts +27 -0
- package/dist/types/session/fallback-chain-controller.d.ts +5 -0
- package/dist/types/session/response-language.d.ts +25 -0
- package/dist/types/setup/model-onboarding-guidance.d.ts +8 -1
- package/dist/types/setup/provider-onboarding.d.ts +2 -0
- package/dist/types/tools/debug.d.ts +2 -2
- package/dist/types/tools/index.d.ts +1 -0
- package/dist/types/tools/locate-core.d.ts +97 -0
- package/dist/types/tools/locate.d.ts +38 -0
- package/package.json +7 -7
- package/scripts/generate-sdk-operation-inventory.ts +4 -0
- package/src/cli/setup-cli.ts +7 -4
- package/src/commands/sdk.ts +3 -0
- package/src/commands/setup.ts +4 -1
- package/src/config/keybindings.ts +7 -0
- package/src/config/settings-schema.ts +82 -0
- package/src/decisions/typesafe-backend.ts +38 -4
- package/src/i18n/messages/de.settings.ts +26 -0
- package/src/i18n/messages/de.ts +4 -27
- package/src/i18n/messages/en.ts +6 -29
- package/src/i18n/messages/es.settings.ts +26 -0
- package/src/i18n/messages/es.ts +4 -27
- package/src/i18n/messages/fr.settings.ts +26 -0
- package/src/i18n/messages/fr.ts +4 -27
- package/src/i18n/messages/ja.settings.ts +26 -0
- package/src/i18n/messages/ja.ts +4 -27
- package/src/i18n/messages/ko.settings.ts +25 -0
- package/src/i18n/messages/ko.ts +5 -28
- package/src/i18n/messages/zh.settings.ts +23 -0
- package/src/i18n/messages/zh.ts +4 -27
- package/src/internal-urls/docs-index.generated.ts +8 -7
- package/src/modes/action-registry.ts +1 -0
- package/src/modes/components/welcome.ts +385 -387
- package/src/modes/controllers/input-controller.ts +15 -0
- package/src/modes/controllers/selector-controller.ts +13 -0
- package/src/modes/interactive-mode.ts +160 -98
- package/src/modes/types.ts +4 -0
- package/src/prompts/system/system-prompt.md +7 -2
- package/src/prompts/tools/locate.md +12 -0
- package/src/sdk/broker/broker.ts +75 -1
- package/src/sdk/broker/process-guard.ts +160 -0
- package/src/sdk/broker/transport.ts +15 -1
- package/src/sdk/bus/chat-daemon-runtime.ts +13 -1
- package/src/sdk/protocol/operation-inventory.generated.json +22 -0
- package/src/sdk/session.ts +4 -1
- package/src/session/agent-session.ts +118 -2
- package/src/session/auth-storage-discovery.ts +22 -7
- package/src/session/auto-fallback.ts +59 -0
- package/src/session/fallback-chain-controller.ts +5 -0
- package/src/session/response-language.ts +71 -0
- package/src/setup/model-onboarding-guidance.ts +29 -14
- package/src/setup/provider-onboarding.ts +5 -0
- package/src/slash-commands/builtin-registry.ts +112 -2
- package/src/tools/index.ts +3 -0
- package/src/tools/locate-core.ts +720 -0
- package/src/tools/locate.ts +197 -0
package/src/i18n/messages/en.ts
CHANGED
|
@@ -13,41 +13,18 @@ export const en = {
|
|
|
13
13
|
|
|
14
14
|
// ── Welcome surface ──
|
|
15
15
|
"welcome.tagline": "Coding should feel like thinking.",
|
|
16
|
-
"welcome.workflows": "Workflows",
|
|
17
|
-
"welcome.wf.deepInterview": "scope · interview → spec",
|
|
18
|
-
"welcome.wf.ralplan": "consensus plan",
|
|
19
|
-
"welcome.wf.ultragoal": "autonomous build",
|
|
20
|
-
"welcome.wf.team": "parallel agents",
|
|
21
|
-
"welcome.flowKeys": "Flow keys",
|
|
22
16
|
"welcome.commands": "commands",
|
|
23
|
-
"welcome.actions": "actions",
|
|
24
|
-
"welcome.shell": "shell",
|
|
25
|
-
"welcome.python": "python",
|
|
26
17
|
"welcome.keymap": "keymap",
|
|
27
18
|
"welcome.model": "model",
|
|
28
|
-
"welcome.
|
|
29
|
-
"welcome.
|
|
30
|
-
"welcome.noLsp": "No LSP servers",
|
|
31
|
-
"welcome.sessionTrail": "Session trail",
|
|
32
|
-
"welcome.noSessions": "No saved trails",
|
|
19
|
+
"welcome.sessionTrail": "Recent sessions",
|
|
20
|
+
"welcome.noSessions": "No saved sessions",
|
|
33
21
|
"welcome.allSessions": "{key} all sessions",
|
|
22
|
+
"welcome.continue": "{key} continue",
|
|
23
|
+
"welcome.pick": "{key} pick",
|
|
24
|
+
"welcome.pickActive": "↑↓ move · ⏎ open · esc back",
|
|
25
|
+
"welcome.sessions": "sessions",
|
|
34
26
|
"welcome.chooseModel": "choose a model",
|
|
35
27
|
"welcome.modelHint": "ctrl+l to pick · / for commands",
|
|
36
|
-
"welcome.label.workspace": "workspace",
|
|
37
|
-
"welcome.label.branch": "branch",
|
|
38
|
-
"welcome.label.commits": "commits",
|
|
39
|
-
"welcome.label.model": "model",
|
|
40
|
-
"welcome.label.reasoning": "reasoning",
|
|
41
|
-
"welcome.label.preset": "preset",
|
|
42
|
-
"welcome.label.roles": "roles",
|
|
43
|
-
"welcome.label.tools": "tools",
|
|
44
|
-
"welcome.noGit": "not a git repository",
|
|
45
|
-
"welcome.rolesInherit": "roles follow the default model",
|
|
46
|
-
"welcome.skills": "skills",
|
|
47
|
-
"welcome.rules": "rules",
|
|
48
|
-
"welcome.clean": "clean",
|
|
49
|
-
"welcome.whatsNew": "What's new",
|
|
50
|
-
"welcome.readyPrompt": "Ready for your next prompt",
|
|
51
28
|
|
|
52
29
|
// ── Settings tabs ──
|
|
53
30
|
"settings.tab.appearance": "Appearance",
|
|
@@ -216,6 +216,31 @@ export const esSettings: Record<string, string> = {
|
|
|
216
216
|
"set:task.serviceTier:o:claude-only:l": "Prioridad (solo Claude)",
|
|
217
217
|
"set:task.serviceTier:o:claude-only:d":
|
|
218
218
|
"Modo rápido de Anthropic en solicitudes directas de Claude; se ignora en el resto (incl. Bedrock/Vertex)",
|
|
219
|
+
"set:fallback.maxAttempts:l": "Intentos de reserva por modelo",
|
|
220
|
+
"set:fallback.maxAttempts:d":
|
|
221
|
+
"Intentos por cada modelo de la cadena de reserva (incluido el primero) antes de pasar al siguiente. Los modelos sin credenciales se omiten de inmediato.",
|
|
222
|
+
"set:fallback.maxAttempts:o:1:l": "1 intento",
|
|
223
|
+
"set:fallback.maxAttempts:o:2:l": "2 intentos",
|
|
224
|
+
"set:fallback.maxAttempts:o:3:l": "3 intentos",
|
|
225
|
+
"set:fallback.maxAttempts:o:5:l": "5 intentos",
|
|
226
|
+
"set:fallback.auto:l": "Reserva automática de modelo",
|
|
227
|
+
"set:fallback.auto:d":
|
|
228
|
+
"Si el modelo predeterminado está bloqueado (sin sesión, cuota, errores de autenticación o servidor), continúa con un modelo de otro proveedor con sesión iniciada. /fallback muestra la cadena.",
|
|
229
|
+
"set:auth.credentialRankingMode:l": "Orden de varias cuentas",
|
|
230
|
+
"set:auth.credentialRankingMode:d":
|
|
231
|
+
"Qué cuenta con sesión iniciada de un proveedor usa una sesión nueva. Una cuenta bloqueada o agotada siempre cede el paso a la siguiente.",
|
|
232
|
+
"set:auth.credentialRankingMode:o:balanced:l": "Equilibrado",
|
|
233
|
+
"set:auth.credentialRankingMode:o:balanced:d":
|
|
234
|
+
"Primero la cuenta menos usada; reparte la carga y deja margen en cada cuenta",
|
|
235
|
+
"set:auth.credentialRankingMode:o:earliest-reset:l": "Reinicio más próximo",
|
|
236
|
+
"set:auth.credentialRankingMode:o:earliest-reset:d":
|
|
237
|
+
"Primero la cuenta cuya ventana de uso se reinicia antes, para no perder cuota al reiniciarse",
|
|
238
|
+
"set:locate.enabled:l": "Locate (búsqueda de código con Jev)",
|
|
239
|
+
"set:locate.enabled:d":
|
|
240
|
+
"Ofrece la herramienta locate cuando hay una clave de TypeSafe guardada. Para juzgar la relevancia envía a TypeSafe rutas de carpetas, nombres de archivo y líneas de declaración (sin cuerpos de función ni comentarios).",
|
|
241
|
+
"set:startup.welcomeMouse:l": "Tarjeta de inicio clicable",
|
|
242
|
+
"set:startup.welcomeMouse:d":
|
|
243
|
+
"Hasta el primer prompt, captura el ratón para abrir una sesión reciente de la tarjeta de inicio con un clic. Mientras tanto, selecciona texto del terminal con Mayús pulsada. Desactivado: abre con ↓ y Enter.",
|
|
219
244
|
"set:retry.maxRetries:l": "Intentos de reintento",
|
|
220
245
|
"set:retry.maxRetries:d": "Número máximo de reintentos ante errores de la API",
|
|
221
246
|
"set:retry.maxRetries:o:1:l": "1 reintento",
|
|
@@ -766,6 +791,7 @@ export const esSettings: Record<string, string> = {
|
|
|
766
791
|
"set:searxng.endpoint:l": "Endpoint de SearXNG",
|
|
767
792
|
"set:searxng.endpoint:d": "URL base de búsqueda autohospedada",
|
|
768
793
|
"cmd:model:d": "Seleccionar modelo (abre la interfaz de selección)",
|
|
794
|
+
"cmd:fallback:d": "Ver o editar los modelos que se prueban cuando el modelo predeterminado está bloqueado",
|
|
769
795
|
"cmd:fast:d": "Alternar el nivel de servicio prioritario (OpenAI service_tier=priority, Anthropic speed=fast)",
|
|
770
796
|
"cmd:export:d": "Exportar sesión a archivo HTML",
|
|
771
797
|
"cmd:dump:d": "Copiar la transcripción de la sesión al portapapeles",
|
package/src/i18n/messages/es.ts
CHANGED
|
@@ -8,41 +8,18 @@ export const es: Partial<Record<MsgKey, string>> = {
|
|
|
8
8
|
"lang.zh": "中文 (简体)",
|
|
9
9
|
"lang.ja": "日本語",
|
|
10
10
|
"welcome.tagline": "Programar debería sentirse como pensar.",
|
|
11
|
-
"welcome.workflows": "Flujos de trabajo",
|
|
12
|
-
"welcome.wf.deepInterview": "alcance · entrevista → spec",
|
|
13
|
-
"welcome.wf.ralplan": "plan por consenso",
|
|
14
|
-
"welcome.wf.ultragoal": "build autónomo",
|
|
15
|
-
"welcome.wf.team": "agentes paralelos",
|
|
16
|
-
"welcome.flowKeys": "Teclas de flujo",
|
|
17
11
|
"welcome.commands": "comandos",
|
|
18
|
-
"welcome.actions": "acciones",
|
|
19
|
-
"welcome.shell": "shell",
|
|
20
|
-
"welcome.python": "python",
|
|
21
12
|
"welcome.keymap": "keymap",
|
|
22
13
|
"welcome.model": "modelo",
|
|
23
|
-
"welcome.reasoning": "razonamiento",
|
|
24
|
-
"welcome.projectPulse": "Pulso del proyecto",
|
|
25
|
-
"welcome.noLsp": "Sin servidores LSP",
|
|
26
14
|
"welcome.sessionTrail": "Historial de sesión",
|
|
27
15
|
"welcome.noSessions": "Sin historiales guardados",
|
|
28
16
|
"welcome.allSessions": "{key} todas las sesiones",
|
|
17
|
+
"welcome.continue": "{key} continuar",
|
|
18
|
+
"welcome.pick": "{key} elegir",
|
|
19
|
+
"welcome.pickActive": "↑↓ mover · ⏎ abrir · esc volver",
|
|
20
|
+
"welcome.sessions": "sesiones",
|
|
29
21
|
"welcome.chooseModel": "elige un modelo",
|
|
30
22
|
"welcome.modelHint": "ctrl+l para elegir · / para comandos",
|
|
31
|
-
"welcome.label.workspace": "espacio",
|
|
32
|
-
"welcome.label.branch": "rama",
|
|
33
|
-
"welcome.label.commits": "commits",
|
|
34
|
-
"welcome.label.model": "modelo",
|
|
35
|
-
"welcome.label.reasoning": "razonamiento",
|
|
36
|
-
"welcome.label.preset": "preset",
|
|
37
|
-
"welcome.label.roles": "roles",
|
|
38
|
-
"welcome.label.tools": "herramientas",
|
|
39
|
-
"welcome.noGit": "no es un repositorio git",
|
|
40
|
-
"welcome.rolesInherit": "los roles usan el modelo por defecto",
|
|
41
|
-
"welcome.skills": "skills",
|
|
42
|
-
"welcome.rules": "reglas",
|
|
43
|
-
"welcome.clean": "limpio",
|
|
44
|
-
"welcome.whatsNew": "Novedades",
|
|
45
|
-
"welcome.readyPrompt": "Listo para tu próximo prompt",
|
|
46
23
|
"settings.tab.appearance": "Apariencia",
|
|
47
24
|
"settings.tab.model": "Modelo",
|
|
48
25
|
"settings.tab.interaction": "Interacción",
|
|
@@ -216,6 +216,31 @@ export const frSettings: Record<string, string> = {
|
|
|
216
216
|
"set:task.serviceTier:o:claude-only:l": "Priorité (Claude uniquement)",
|
|
217
217
|
"set:task.serviceTier:o:claude-only:d":
|
|
218
218
|
"Mode rapide d'Anthropic sur les requêtes Claude directes ; ignoré ailleurs (y compris Bedrock/Vertex)",
|
|
219
|
+
"set:fallback.maxAttempts:l": "Tentatives de repli par modèle",
|
|
220
|
+
"set:fallback.maxAttempts:d":
|
|
221
|
+
"Nombre d'essais de chaque modèle de la chaîne de repli (y compris le premier) avant de passer au suivant. Un modèle sans identifiants est ignoré aussitôt.",
|
|
222
|
+
"set:fallback.maxAttempts:o:1:l": "1 essai",
|
|
223
|
+
"set:fallback.maxAttempts:o:2:l": "2 essais",
|
|
224
|
+
"set:fallback.maxAttempts:o:3:l": "3 essais",
|
|
225
|
+
"set:fallback.maxAttempts:o:5:l": "5 essais",
|
|
226
|
+
"set:fallback.auto:l": "Repli automatique de modèle",
|
|
227
|
+
"set:fallback.auto:d":
|
|
228
|
+
"Si le modèle par défaut est bloqué (pas de connexion, quota, erreurs d'authentification ou serveur), continuer avec un modèle d'un autre fournisseur connecté. /fallback affiche la chaîne.",
|
|
229
|
+
"set:auth.credentialRankingMode:l": "Ordre des comptes multiples",
|
|
230
|
+
"set:auth.credentialRankingMode:d":
|
|
231
|
+
"Quel compte connecté d'un fournisseur une nouvelle session utilise. Un compte bloqué ou épuisé passe toujours la main au suivant.",
|
|
232
|
+
"set:auth.credentialRankingMode:o:balanced:l": "Équilibré",
|
|
233
|
+
"set:auth.credentialRankingMode:o:balanced:d":
|
|
234
|
+
"Le compte le moins utilisé d'abord ; répartit la charge et garde de la marge sur chaque compte",
|
|
235
|
+
"set:auth.credentialRankingMode:o:earliest-reset:l": "Réinitialisation la plus proche",
|
|
236
|
+
"set:auth.credentialRankingMode:o:earliest-reset:d":
|
|
237
|
+
"Le compte dont la fenêtre d'utilisation se réinitialise le plus tôt d'abord, pour ne pas perdre de quota",
|
|
238
|
+
"set:locate.enabled:l": "Locate (recherche de code Jev)",
|
|
239
|
+
"set:locate.enabled:d":
|
|
240
|
+
"Propose l'outil locate quand une clé TypeSafe est enregistrée. Pour juger la pertinence, il envoie à TypeSafe les chemins de dossiers, les noms de fichiers et les lignes de déclaration (sans corps de fonctions ni commentaires).",
|
|
241
|
+
"set:startup.welcomeMouse:l": "Carte de démarrage cliquable",
|
|
242
|
+
"set:startup.welcomeMouse:d":
|
|
243
|
+
"Jusqu'au premier prompt, capturer la souris pour ouvrir une session récente de la carte de démarrage d'un clic. Sélectionnez le texte du terminal avec Maj enfoncée en attendant. Désactivé : ouvrir avec ↓ et Entrée.",
|
|
219
244
|
"set:retry.maxRetries:l": "Tentatives de nouvel essai",
|
|
220
245
|
"set:retry.maxRetries:d": "Nombre maximal de nouvelles tentatives en cas d'erreurs API",
|
|
221
246
|
"set:retry.maxRetries:o:1:l": "1 nouvel essai",
|
|
@@ -738,6 +763,7 @@ export const frSettings: Record<string, string> = {
|
|
|
738
763
|
"set:searxng.endpoint:l": "Point de terminaison SearXNG",
|
|
739
764
|
"set:searxng.endpoint:d": "URL de base de recherche auto-hébergée",
|
|
740
765
|
"cmd:model:d": "Sélectionner le modèle (ouvre l'interface de sélection)",
|
|
766
|
+
"cmd:fallback:d": "Afficher ou modifier les modèles essayés quand le modèle par défaut est bloqué",
|
|
741
767
|
"cmd:fast:d":
|
|
742
768
|
"Activer/désactiver le niveau de service prioritaire (OpenAI service_tier=priority, Anthropic speed=fast)",
|
|
743
769
|
"cmd:export:d": "Exporter la session vers un fichier HTML",
|
package/src/i18n/messages/fr.ts
CHANGED
|
@@ -8,41 +8,18 @@ export const fr: Partial<Record<MsgKey, string>> = {
|
|
|
8
8
|
"lang.zh": "中文 (简体)",
|
|
9
9
|
"lang.ja": "日本語",
|
|
10
10
|
"welcome.tagline": "Coder devrait être aussi naturel que penser.",
|
|
11
|
-
"welcome.workflows": "Workflows",
|
|
12
|
-
"welcome.wf.deepInterview": "périmètre · entretien → spec",
|
|
13
|
-
"welcome.wf.ralplan": "plan par consensus",
|
|
14
|
-
"welcome.wf.ultragoal": "build autonome",
|
|
15
|
-
"welcome.wf.team": "agents parallèles",
|
|
16
|
-
"welcome.flowKeys": "Touches de flux",
|
|
17
11
|
"welcome.commands": "commandes",
|
|
18
|
-
"welcome.actions": "actions",
|
|
19
|
-
"welcome.shell": "shell",
|
|
20
|
-
"welcome.python": "python",
|
|
21
12
|
"welcome.keymap": "keymap",
|
|
22
13
|
"welcome.model": "modèle",
|
|
23
|
-
"welcome.reasoning": "raisonnement",
|
|
24
|
-
"welcome.projectPulse": "Pouls du projet",
|
|
25
|
-
"welcome.noLsp": "Aucun serveur LSP",
|
|
26
14
|
"welcome.sessionTrail": "Historique de session",
|
|
27
15
|
"welcome.noSessions": "Aucun historique enregistré",
|
|
28
16
|
"welcome.allSessions": "{key} toutes les sessions",
|
|
17
|
+
"welcome.continue": "{key} reprendre",
|
|
18
|
+
"welcome.pick": "{key} choisir",
|
|
19
|
+
"welcome.pickActive": "↑↓ déplacer · ⏎ ouvrir · esc retour",
|
|
20
|
+
"welcome.sessions": "sessions",
|
|
29
21
|
"welcome.chooseModel": "choisir un modèle",
|
|
30
22
|
"welcome.modelHint": "ctrl+l pour choisir · / pour les commandes",
|
|
31
|
-
"welcome.label.workspace": "espace",
|
|
32
|
-
"welcome.label.branch": "branche",
|
|
33
|
-
"welcome.label.commits": "commits",
|
|
34
|
-
"welcome.label.model": "modèle",
|
|
35
|
-
"welcome.label.reasoning": "raisonnement",
|
|
36
|
-
"welcome.label.preset": "preset",
|
|
37
|
-
"welcome.label.roles": "rôles",
|
|
38
|
-
"welcome.label.tools": "outils",
|
|
39
|
-
"welcome.noGit": "pas un dépôt git",
|
|
40
|
-
"welcome.rolesInherit": "les rôles suivent le modèle par défaut",
|
|
41
|
-
"welcome.skills": "skills",
|
|
42
|
-
"welcome.rules": "règles",
|
|
43
|
-
"welcome.clean": "propre",
|
|
44
|
-
"welcome.whatsNew": "Nouveautés",
|
|
45
|
-
"welcome.readyPrompt": "Prêt pour le prochain prompt",
|
|
46
23
|
"settings.tab.appearance": "Apparence",
|
|
47
24
|
"settings.tab.model": "Modèle",
|
|
48
25
|
"settings.tab.interaction": "Interaction",
|
|
@@ -247,6 +247,31 @@ export const jaSettings: Record<string, string> = {
|
|
|
247
247
|
"set:task.serviceTier:o:claude-only:l": "優先度 (Claude のみ)",
|
|
248
248
|
"set:task.serviceTier:o:claude-only:d":
|
|
249
249
|
"直接の Claude リクエストに Anthropic 高速モードを適用。それ以外では無視されます (Bedrock/Vertex を含む)",
|
|
250
|
+
"set:fallback.maxAttempts:l": "モデルごとのフォールバック試行回数",
|
|
251
|
+
"set:fallback.maxAttempts:d":
|
|
252
|
+
"フォールバックチェーンの各モデル (最初のモデルを含む) を何回試してから次へ進むか。認証情報のないモデルはすぐにスキップします。",
|
|
253
|
+
"set:fallback.maxAttempts:o:1:l": "1 回",
|
|
254
|
+
"set:fallback.maxAttempts:o:2:l": "2 回",
|
|
255
|
+
"set:fallback.maxAttempts:o:3:l": "3 回",
|
|
256
|
+
"set:fallback.maxAttempts:o:5:l": "5 回",
|
|
257
|
+
"set:fallback.auto:l": "自動モデルフォールバック",
|
|
258
|
+
"set:fallback.auto:d":
|
|
259
|
+
"既定モデルが使えないとき (未ログイン、上限、認証・サーバーエラー)、ログイン済みの別プロバイダーのモデルで続行します。/fallback でチェーンを確認できます。",
|
|
260
|
+
"set:auth.credentialRankingMode:l": "複数アカウントの順序",
|
|
261
|
+
"set:auth.credentialRankingMode:d":
|
|
262
|
+
"プロバイダーにログイン済みのアカウントのうち、新しいセッションがどれを使うか。ブロック・上限到達のアカウントは常に次へ回ります。",
|
|
263
|
+
"set:auth.credentialRankingMode:o:balanced:l": "バランス",
|
|
264
|
+
"set:auth.credentialRankingMode:o:balanced:d":
|
|
265
|
+
"使用量が最も少ないアカウントから。負荷を分散し、すべてのアカウントに余裕を残します",
|
|
266
|
+
"set:auth.credentialRankingMode:o:earliest-reset:l": "リセットが早い順",
|
|
267
|
+
"set:auth.credentialRankingMode:o:earliest-reset:d":
|
|
268
|
+
"使用量ウィンドウが最も早くリセットされるアカウントから。リセットで失われる枠を先に使います",
|
|
269
|
+
"set:locate.enabled:l": "Locate (Jev コード検索)",
|
|
270
|
+
"set:locate.enabled:d":
|
|
271
|
+
"TypeSafe キーがあるとき locate ツールを提供します。関連性の判定のため、フォルダパス、ファイル名、宣言行 (関数本体・コメントは除く) を TypeSafe に送ります。",
|
|
272
|
+
"set:startup.welcomeMouse:l": "クリックできる起動カード",
|
|
273
|
+
"set:startup.welcomeMouse:d":
|
|
274
|
+
"最初のプロンプトまでマウスを受け取り、起動カードの最近のセッションをワンクリックで開きます。その間の端末テキスト選択は Shift を押しながら行います。オフでは ↓ と Enter で開きます。",
|
|
250
275
|
"set:retry.maxRetries:l": "リトライ回数",
|
|
251
276
|
"set:retry.maxRetries:d": "API エラー時の最大リトライ回数",
|
|
252
277
|
"set:retry.maxRetries:o:1:l": "1 回リトライ",
|
|
@@ -779,6 +804,7 @@ export const jaSettings: Record<string, string> = {
|
|
|
779
804
|
"cmd:theme:d": "テーマセレクターを開く",
|
|
780
805
|
"cmd:goal:d": "ゴールモードを切り替え(このセッションの永続的な自律目標)",
|
|
781
806
|
"cmd:model:d": "モデルを選択(セレクター UI を開く)",
|
|
807
|
+
"cmd:fallback:d": "既定モデルが使えないときに試すモデルを表示・編集",
|
|
782
808
|
"cmd:fast:d": "優先サービスティアを切り替え(OpenAI service_tier=priority、Anthropic speed=fast)",
|
|
783
809
|
"cmd:export:d": "セッションを HTML ファイルにエクスポート",
|
|
784
810
|
"cmd:dump:d": "セッションのトランスクリプトをクリップボードにコピー",
|
package/src/i18n/messages/ja.ts
CHANGED
|
@@ -5,41 +5,18 @@ export const ja: Partial<Record<MsgKey, string>> = {
|
|
|
5
5
|
"lang.auto": "自動 (システム)",
|
|
6
6
|
|
|
7
7
|
"welcome.tagline": "コーディングは、思考のように。",
|
|
8
|
-
"welcome.workflows": "ワークフロー",
|
|
9
|
-
"welcome.wf.deepInterview": "要件インタビュー → 仕様",
|
|
10
|
-
"welcome.wf.ralplan": "合意ベースの計画",
|
|
11
|
-
"welcome.wf.ultragoal": "自律ビルド",
|
|
12
|
-
"welcome.wf.team": "並列エージェント",
|
|
13
|
-
"welcome.flowKeys": "ショートカット",
|
|
14
8
|
"welcome.commands": "コマンド",
|
|
15
|
-
"welcome.actions": "アクション",
|
|
16
|
-
"welcome.shell": "シェル",
|
|
17
|
-
"welcome.python": "Python",
|
|
18
9
|
"welcome.keymap": "キーマップ",
|
|
19
10
|
"welcome.model": "モデル",
|
|
20
|
-
"welcome.reasoning": "推論",
|
|
21
|
-
"welcome.projectPulse": "プロジェクト状況",
|
|
22
|
-
"welcome.noLsp": "LSP サーバーなし",
|
|
23
11
|
"welcome.sessionTrail": "セッション履歴",
|
|
24
12
|
"welcome.noSessions": "保存されたセッションなし",
|
|
25
13
|
"welcome.allSessions": "{key} すべて表示",
|
|
14
|
+
"welcome.continue": "{key} 続ける",
|
|
15
|
+
"welcome.pick": "{key} 選択",
|
|
16
|
+
"welcome.pickActive": "↑↓ 移動 · ⏎ 開く · esc 戻る",
|
|
17
|
+
"welcome.sessions": "セッション",
|
|
26
18
|
"welcome.chooseModel": "モデルを選択",
|
|
27
19
|
"welcome.modelHint": "ctrl+l で選択 · / でコマンド",
|
|
28
|
-
"welcome.label.workspace": "ワークスペース",
|
|
29
|
-
"welcome.label.branch": "ブランチ",
|
|
30
|
-
"welcome.label.commits": "コミット",
|
|
31
|
-
"welcome.label.model": "モデル",
|
|
32
|
-
"welcome.label.reasoning": "推論",
|
|
33
|
-
"welcome.label.preset": "プリセット",
|
|
34
|
-
"welcome.label.roles": "ロール",
|
|
35
|
-
"welcome.label.tools": "ツール",
|
|
36
|
-
"welcome.noGit": "git リポジトリではありません",
|
|
37
|
-
"welcome.rolesInherit": "ロールは既定モデルに従う",
|
|
38
|
-
"welcome.skills": "スキル",
|
|
39
|
-
"welcome.rules": "ルール",
|
|
40
|
-
"welcome.clean": "変更なし",
|
|
41
|
-
"welcome.whatsNew": "新着",
|
|
42
|
-
"welcome.readyPrompt": "次のプロンプトを待機中",
|
|
43
20
|
|
|
44
21
|
"settings.tab.appearance": "外観",
|
|
45
22
|
"settings.tab.model": "モデル",
|
|
@@ -248,6 +248,30 @@ export const koSettings: Record<string, string> = {
|
|
|
248
248
|
"set:task.serviceTier:o:claude-only:l": "우선순위 (Claude 전용)",
|
|
249
249
|
"set:task.serviceTier:o:claude-only:d":
|
|
250
250
|
"직접 Claude 요청에 Anthropic 고속 모드 적용. 그 외에는 무시됨 (Bedrock/Vertex 포함)",
|
|
251
|
+
"set:fallback.maxAttempts:l": "모델별 폴백 시도 횟수",
|
|
252
|
+
"set:fallback.maxAttempts:d":
|
|
253
|
+
"폴백 체인의 각 모델(첫 모델 포함)을 몇 번 시도한 뒤 다음 모델로 넘어갈지. 자격 증명이 없는 모델은 바로 건너뜁니다.",
|
|
254
|
+
"set:fallback.maxAttempts:o:1:l": "1회",
|
|
255
|
+
"set:fallback.maxAttempts:o:2:l": "2회",
|
|
256
|
+
"set:fallback.maxAttempts:o:3:l": "3회",
|
|
257
|
+
"set:fallback.maxAttempts:o:5:l": "5회",
|
|
258
|
+
"set:fallback.auto:l": "자동 모델 폴백",
|
|
259
|
+
"set:fallback.auto:d":
|
|
260
|
+
"기본 모델이 막히면(로그인 없음, 한도, 인증·서버 오류) 로그인된 다른 공급자의 모델로 이어서 진행합니다. /fallback 에서 체인을 볼 수 있습니다.",
|
|
261
|
+
"set:auth.credentialRankingMode:l": "다중 계정 순서",
|
|
262
|
+
"set:auth.credentialRankingMode:d":
|
|
263
|
+
"한 공급자에 로그인된 계정 중 새 세션이 어떤 계정을 쓸지. 막히거나 한도가 찬 계정은 항상 다음 계정으로 넘어갑니다.",
|
|
264
|
+
"set:auth.credentialRankingMode:o:balanced:l": "균형",
|
|
265
|
+
"set:auth.credentialRankingMode:o:balanced:d": "가장 덜 쓴 계정부터. 부하를 나누고 모든 계정에 여유를 남깁니다",
|
|
266
|
+
"set:auth.credentialRankingMode:o:earliest-reset:l": "빨리 초기화되는 순",
|
|
267
|
+
"set:auth.credentialRankingMode:o:earliest-reset:d":
|
|
268
|
+
"사용량 구간이 가장 먼저 초기화되는 계정부터. 초기화 때 사라질 한도를 먼저 씁니다",
|
|
269
|
+
"set:locate.enabled:l": "Locate (Jev 코드 검색)",
|
|
270
|
+
"set:locate.enabled:d":
|
|
271
|
+
"TypeSafe 키가 있으면 locate 도구를 제공합니다. 관련성 판단을 위해 폴더 경로, 파일 이름, 선언 줄(함수 본문·주석 제외)을 TypeSafe로 보냅니다.",
|
|
272
|
+
"set:startup.welcomeMouse:l": "클릭 가능한 시작 카드",
|
|
273
|
+
"set:startup.welcomeMouse:d":
|
|
274
|
+
"첫 프롬프트 전까지 마우스를 받아 시작 카드의 최근 세션을 한 번 클릭으로 엽니다. 그동안 터미널 텍스트 선택은 Shift를 누른 채로 하세요. 끄면 ↓와 Enter로 엽니다.",
|
|
251
275
|
"set:retry.maxRetries:l": "재시도 횟수",
|
|
252
276
|
"set:retry.maxRetries:d": "API 오류 시 최대 재시도 횟수",
|
|
253
277
|
"set:retry.maxRetries:o:1:l": "1회 재시도",
|
|
@@ -768,6 +792,7 @@ export const koSettings: Record<string, string> = {
|
|
|
768
792
|
"cmd:theme:d": "테마 선택기 열기",
|
|
769
793
|
"cmd:goal:d": "목표 모드 토글 (이 세션의 지속적 자율 목표)",
|
|
770
794
|
"cmd:model:d": "모델 선택 (선택기 UI 열기)",
|
|
795
|
+
"cmd:fallback:d": "기본 모델이 막혔을 때 시도할 모델 보기·편집",
|
|
771
796
|
"cmd:fast:d": "우선순위 서비스 티어 토글 (OpenAI service_tier=priority, Anthropic speed=fast)",
|
|
772
797
|
"cmd:export:d": "세션을 HTML 파일로 내보내기",
|
|
773
798
|
"cmd:dump:d": "세션 기록을 클립보드에 복사",
|
package/src/i18n/messages/ko.ts
CHANGED
|
@@ -5,41 +5,18 @@ export const ko: Partial<Record<MsgKey, string>> = {
|
|
|
5
5
|
"lang.auto": "자동 (시스템)",
|
|
6
6
|
|
|
7
7
|
"welcome.tagline": "생각하듯, 코딩하다.",
|
|
8
|
-
"welcome.workflows": "워크플로",
|
|
9
|
-
"welcome.wf.deepInterview": "요구사항 인터뷰 → 명세",
|
|
10
|
-
"welcome.wf.ralplan": "합의 기반 계획",
|
|
11
|
-
"welcome.wf.ultragoal": "자율 목표 실행",
|
|
12
|
-
"welcome.wf.team": "병렬 에이전트",
|
|
13
|
-
"welcome.flowKeys": "단축키",
|
|
14
8
|
"welcome.commands": "명령",
|
|
15
|
-
"welcome.actions": "액션",
|
|
16
|
-
"welcome.shell": "셸",
|
|
17
|
-
"welcome.python": "파이썬",
|
|
18
9
|
"welcome.keymap": "키맵",
|
|
19
10
|
"welcome.model": "모델",
|
|
20
|
-
"welcome.
|
|
21
|
-
"welcome.projectPulse": "프로젝트 상태",
|
|
22
|
-
"welcome.noLsp": "LSP 서버 없음",
|
|
23
|
-
"welcome.sessionTrail": "세션 기록",
|
|
11
|
+
"welcome.sessionTrail": "최근 세션",
|
|
24
12
|
"welcome.noSessions": "저장된 세션 없음",
|
|
25
13
|
"welcome.allSessions": "{key} 전체 보기",
|
|
14
|
+
"welcome.continue": "{key} 이어하기",
|
|
15
|
+
"welcome.pick": "{key} 선택",
|
|
16
|
+
"welcome.pickActive": "↑↓ 이동 · ⏎ 열기 · esc 닫기",
|
|
17
|
+
"welcome.sessions": "세션",
|
|
26
18
|
"welcome.chooseModel": "모델 선택",
|
|
27
19
|
"welcome.modelHint": "ctrl+l 선택 · / 명령",
|
|
28
|
-
"welcome.label.workspace": "작업공간",
|
|
29
|
-
"welcome.label.branch": "브랜치",
|
|
30
|
-
"welcome.label.commits": "커밋",
|
|
31
|
-
"welcome.label.model": "모델",
|
|
32
|
-
"welcome.label.reasoning": "추론",
|
|
33
|
-
"welcome.label.preset": "프리셋",
|
|
34
|
-
"welcome.label.roles": "역할",
|
|
35
|
-
"welcome.label.tools": "도구",
|
|
36
|
-
"welcome.noGit": "git 저장소 아님",
|
|
37
|
-
"welcome.rolesInherit": "역할은 기본 모델을 따름",
|
|
38
|
-
"welcome.skills": "스킬",
|
|
39
|
-
"welcome.rules": "규칙",
|
|
40
|
-
"welcome.clean": "깨끗함",
|
|
41
|
-
"welcome.whatsNew": "새 소식",
|
|
42
|
-
"welcome.readyPrompt": "다음 프롬프트를 기다리는 중",
|
|
43
20
|
|
|
44
21
|
"settings.tab.appearance": "외관",
|
|
45
22
|
"settings.tab.model": "모델",
|
|
@@ -243,6 +243,28 @@ export const zhSettings: Record<string, string> = {
|
|
|
243
243
|
"set:task.serviceTier:o:claude-only:l": "优先级 (仅 Claude)",
|
|
244
244
|
"set:task.serviceTier:o:claude-only:d":
|
|
245
245
|
"对直接的 Claude 请求启用 Anthropic 快速模式;其他情况忽略 (包括 Bedrock/Vertex)",
|
|
246
|
+
"set:fallback.maxAttempts:l": "每个模型的回退尝试次数",
|
|
247
|
+
"set:fallback.maxAttempts:d": "回退链中每个模型 (包括第一个) 尝试多少次后再换下一个。没有凭据的模型会立即跳过。",
|
|
248
|
+
"set:fallback.maxAttempts:o:1:l": "1 次",
|
|
249
|
+
"set:fallback.maxAttempts:o:2:l": "2 次",
|
|
250
|
+
"set:fallback.maxAttempts:o:3:l": "3 次",
|
|
251
|
+
"set:fallback.maxAttempts:o:5:l": "5 次",
|
|
252
|
+
"set:fallback.auto:l": "自动模型回退",
|
|
253
|
+
"set:fallback.auto:d":
|
|
254
|
+
"默认模型不可用时 (未登录、额度、认证或服务器错误),改用另一个已登录提供方的模型继续。用 /fallback 查看回退链。",
|
|
255
|
+
"set:auth.credentialRankingMode:l": "多账户顺序",
|
|
256
|
+
"set:auth.credentialRankingMode:d":
|
|
257
|
+
"同一提供方已登录的多个账户中,新会话使用哪一个。被阻止或额度用尽的账户总会交给下一个账户。",
|
|
258
|
+
"set:auth.credentialRankingMode:o:balanced:l": "均衡",
|
|
259
|
+
"set:auth.credentialRankingMode:o:balanced:d": "优先用量最少的账户;分摊负载,给每个账户留有余量",
|
|
260
|
+
"set:auth.credentialRankingMode:o:earliest-reset:l": "最早重置优先",
|
|
261
|
+
"set:auth.credentialRankingMode:o:earliest-reset:d": "优先用量窗口最早重置的账户,避免额度在重置时浪费",
|
|
262
|
+
"set:locate.enabled:l": "Locate (Jev 代码搜索)",
|
|
263
|
+
"set:locate.enabled:d":
|
|
264
|
+
"存有 TypeSafe 密钥时提供 locate 工具。为判断相关性,会把文件夹路径、文件名和声明行(不含函数体与注释)发送给 TypeSafe。",
|
|
265
|
+
"set:startup.welcomeMouse:l": "可点击的启动卡片",
|
|
266
|
+
"set:startup.welcomeMouse:d":
|
|
267
|
+
"在第一次提交前捕获鼠标,单击即可打开启动卡片上的最近会话。期间选择终端文字需按住 Shift。关闭后用 ↓ 和 Enter 打开。",
|
|
246
268
|
"set:retry.maxRetries:l": "重试次数",
|
|
247
269
|
"set:retry.maxRetries:d": "API 错误时的最大重试次数",
|
|
248
270
|
"set:retry.maxRetries:o:1:l": "重试 1 次",
|
|
@@ -749,6 +771,7 @@ export const zhSettings: Record<string, string> = {
|
|
|
749
771
|
"cmd:theme:d": "打开主题选择器",
|
|
750
772
|
"cmd:goal:d": "切换目标模式(本会话的持续自主目标)",
|
|
751
773
|
"cmd:model:d": "选择模型(打开选择器界面)",
|
|
774
|
+
"cmd:fallback:d": "查看或编辑默认模型不可用时尝试的模型",
|
|
752
775
|
"cmd:fast:d": "切换优先服务层级(OpenAI service_tier=priority、Anthropic speed=fast)",
|
|
753
776
|
"cmd:export:d": "将会话导出为 HTML 文件",
|
|
754
777
|
"cmd:dump:d": "将会话记录复制到剪贴板",
|
package/src/i18n/messages/zh.ts
CHANGED
|
@@ -5,41 +5,18 @@ export const zh: Partial<Record<MsgKey, string>> = {
|
|
|
5
5
|
"lang.auto": "自动 (跟随系统)",
|
|
6
6
|
|
|
7
7
|
"welcome.tagline": "写代码,本该如思考。",
|
|
8
|
-
"welcome.workflows": "工作流",
|
|
9
|
-
"welcome.wf.deepInterview": "需求访谈 → 规格",
|
|
10
|
-
"welcome.wf.ralplan": "共识规划",
|
|
11
|
-
"welcome.wf.ultragoal": "自主构建",
|
|
12
|
-
"welcome.wf.team": "并行智能体",
|
|
13
|
-
"welcome.flowKeys": "快捷键",
|
|
14
8
|
"welcome.commands": "命令",
|
|
15
|
-
"welcome.actions": "操作",
|
|
16
|
-
"welcome.shell": "终端",
|
|
17
|
-
"welcome.python": "Python",
|
|
18
9
|
"welcome.keymap": "按键表",
|
|
19
10
|
"welcome.model": "模型",
|
|
20
|
-
"welcome.reasoning": "推理",
|
|
21
|
-
"welcome.projectPulse": "项目状态",
|
|
22
|
-
"welcome.noLsp": "无 LSP 服务器",
|
|
23
11
|
"welcome.sessionTrail": "会话记录",
|
|
24
12
|
"welcome.noSessions": "暂无已保存会话",
|
|
25
13
|
"welcome.allSessions": "{key} 查看全部",
|
|
14
|
+
"welcome.continue": "{key} 继续",
|
|
15
|
+
"welcome.pick": "{key} 选择",
|
|
16
|
+
"welcome.pickActive": "↑↓ 移动 · ⏎ 打开 · esc 返回",
|
|
17
|
+
"welcome.sessions": "会话",
|
|
26
18
|
"welcome.chooseModel": "选择模型",
|
|
27
19
|
"welcome.modelHint": "ctrl+l 选择 · / 命令",
|
|
28
|
-
"welcome.label.workspace": "工作区",
|
|
29
|
-
"welcome.label.branch": "分支",
|
|
30
|
-
"welcome.label.commits": "提交",
|
|
31
|
-
"welcome.label.model": "模型",
|
|
32
|
-
"welcome.label.reasoning": "推理",
|
|
33
|
-
"welcome.label.preset": "预设",
|
|
34
|
-
"welcome.label.roles": "角色",
|
|
35
|
-
"welcome.label.tools": "工具",
|
|
36
|
-
"welcome.noGit": "不是 git 仓库",
|
|
37
|
-
"welcome.rolesInherit": "角色沿用默认模型",
|
|
38
|
-
"welcome.skills": "技能",
|
|
39
|
-
"welcome.rules": "规则",
|
|
40
|
-
"welcome.clean": "干净",
|
|
41
|
-
"welcome.whatsNew": "新变化",
|
|
42
|
-
"welcome.readyPrompt": "等待下一个提示",
|
|
43
20
|
|
|
44
21
|
"settings.tab.appearance": "外观",
|
|
45
22
|
"settings.tab.model": "模型",
|