You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(web): add a per-agent shortcut into CLI proxy settings
Settings → Execution → Local CLI hides per-agent proxy and custom-path
configuration behind a collapsed "Advanced: proxy & custom paths"
disclosure below the agent grid. Users routing Claude Code or Codex
through a third-party endpoint had no signpost telling them those fields
exist, so the common BYOK/proxy setup was effectively undiscoverable.
Add a quiet shortcut to each installed agent card that opens that
disclosure and scrolls it into view.
Two properties are deliberate and are covered by tests:
- It renders whether or not an endpoint is already configured. Gating it
on "configured" inverts its own purpose, because the user who needs to
find the proxy fields is exactly the one who has not filled them in.
Configured state only changes how the shortcut reads, never whether it
appears.
- It is not Claude-specific. Claude and Codex both declare a base URL,
auth keys and custom paths, so visibility is derived from
AGENT_CLI_ENV_FIELDS rather than an agent id, and any agent that gains
CLI env fields picks the shortcut up for free.
Configured detection reads every stored key for the agent instead of the
known field list, so values written out-of-band by `od` still count --
the daemon accepts ANTHROPIC_AUTH_TOKEN, which the panel has no field for.
Presented as quiet inline text rather than a second pill: the card's
action row already owns one affordance in Test, and Test performs work
while this only navigates, so equal visual weight would read as two peer
actions. It stays a real <button> outside the card-selection control,
which is what keeps keyboard and assistive-technology activation working.
i18n: replace the Claude-specific strings with settings.cliEnvShortcut and
settings.cliEnvShortcutConfigured across all 19 locales, deriving each
locale's wording from its own cliEnvTitle so the shortcut and the
disclosure it opens read as the same thing.
'settings.cliEnvHint': 'استخدم هذه الخيارات لتجاوز بيئة CLI المحدّد: مفاتيح API، وعناوين base URL للوكيل، ومجلدات home المخصّصة، أو مسارات تنفيذ غير قياسية. عند عدم ضبط base URL، يستخدم CLI نقطة النهاية الافتراضية الخاصة به. تبقى الأسرار في إعدادات التطبيق المحلية ولا يراها سوى CLI المحدّد.',
613
615
'settings.cliEnvClaudeConfigDir': 'دليل إعدادات Claude Code',
'settings.cliEnvHint': 'Nutze diese Felder, um die Umgebung der ausgewählten CLI zu überschreiben: API-Keys, Proxy-Base-URLs, eigene Homes oder nicht standardmäßige Binary-Pfade. Ohne Base URL nutzt die CLI ihren Standard-Endpunkt. Secrets bleiben in der lokalen App-Konfiguration und werden nur an die ausgewählte CLI weitergegeben.',
'settings.cliEnvHint': 'Use these to override the selected CLI environment: API keys, proxy base URLs, custom homes, or non-standard binary paths. Without a base URL, the CLI uses its default endpoint. Secrets stay in local app config and only the selected CLI sees them.',
'settings.cliEnvHint': 'Usa estos campos para sobrescribir el entorno de la CLI seleccionada: API keys, base URLs de proxy, homes personalizados o rutas de binarios no estándar. Sin base URL, la CLI usa su endpoint predeterminado. Los secretos permanecen en la configuración local de la app y solo los ve la CLI seleccionada.',
613
615
'settings.cliEnvClaudeConfigDir': 'Directorio de configuración de Claude Code',
614
616
'settings.cliEnvClaudeBaseUrl': 'Base URL del proxy de Claude',
'settings.cliEnvHint': 'از این گزینهها برای بازنویسی محیط CLI انتخابشده استفاده کنید: API key، base URL پراکسی، home سفارشی یا مسیر اجرایی غیر استاندارد. اگر base URL تنظیم نشود، CLI از endpoint پیشفرض خودش استفاده میکند. اطلاعات محرمانه در تنظیمات محلی برنامه میمانند و فقط CLI انتخابشده آنها را میبیند.',
613
615
'settings.cliEnvClaudeConfigDir': 'پوشه پیکربندی Claude Code',
Copy file name to clipboardExpand all lines: apps/web/src/i18n/locales/fr.ts
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -609,6 +609,8 @@ export const fr: Dict = {
609
609
'settings.modelPickerLiveCatalogOnlyHint': 'Les modèles ont été actualisés depuis la CLI installée.',
610
610
'settings.modelPickerFallbackHint': 'Valeurs par défaut intégrées affichées. Cliquez sur Réanalyser pour récupérer les modèles en direct depuis la CLI.',
611
611
'settings.cliEnvTitle': 'Avancé : proxy et chemins personnalisés',
612
+
'settings.cliEnvShortcut': 'Proxy et chemins personnalisés',
613
+
'settings.cliEnvShortcutConfigured': 'Configuré',
612
614
'settings.cliEnvHint': 'Utilisez ces champs pour remplacer l’environnement de la CLI sélectionnée : clés API, base URLs de proxy, homes personnalisés ou chemins de binaires non standard. Sans base URL, la CLI utilise son endpoint par défaut. Les secrets restent dans la configuration locale de l’app et seule la CLI sélectionnée les voit.',
613
615
'settings.cliEnvClaudeConfigDir': 'Dossier de configuration Claude Code',
614
616
'settings.cliEnvClaudeBaseUrl': 'URL de base du proxy Claude',
Copy file name to clipboardExpand all lines: apps/web/src/i18n/locales/hu.ts
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -609,6 +609,8 @@ export const hu: Dict = {
609
609
'settings.modelPickerLiveCatalogOnlyHint': 'A modellek frissültek a telepített CLI-ből.',
610
610
'settings.modelPickerFallbackHint': 'A beépített alapértékek láthatók. Kattints az Újraellenőrzésre az élő CLI-modellek lekéréséhez.',
611
611
'settings.cliEnvTitle': 'Speciális: proxy és egyéni útvonalak',
612
+
'settings.cliEnvShortcut': 'Proxy és egyéni útvonalak',
613
+
'settings.cliEnvShortcutConfigured': 'Beállítva',
612
614
'settings.cliEnvHint': 'Ezekkel írhatod felül a kiválasztott CLI környezetét: API-kulcsok, proxy base URL-ek, egyéni home-ok vagy nem szabványos bináris útvonalak. Base URL nélkül a CLI a saját alapértelmezett endpointját használja. A titkok a helyi alkalmazás-konfigurációban maradnak, és csak a kiválasztott CLI kapja meg őket.',
'settings.cliEnvHint': 'Gunakan ini untuk menimpa environment CLI yang dipilih: API key, proxy base URL, home kustom, atau path binary non-standar. Tanpa base URL, CLI memakai endpoint defaultnya. Secret tetap berada di konfigurasi app lokal dan hanya dilihat oleh CLI yang dipilih.',
613
615
'settings.cliEnvClaudeConfigDir': 'Direktori konfigurasi Claude Code',
'settings.cliEnvHint': 'Usa questi campi per sovrascrivere l’ambiente della CLI selezionata: API key, base URL proxy, home personalizzate o percorsi di binari non standard. Senza base URL, la CLI usa il proprio endpoint predefinito. I segreti restano nella configurazione locale dell’app e li vede solo la CLI selezionata.',
613
615
'settings.cliEnvClaudeConfigDir': 'Directory di configurazione Claude Code',
614
616
'settings.cliEnvClaudeBaseUrl': 'Base URL del proxy Claude',
0 commit comments