nyk commited on
Commit
df40714
·
unverified ·
1 Parent(s): 0dcf69a

fix(ui): improve agent panel empty state with discovery hints (#348)

Browse files

Replace the unhelpful "POST /api/agents with X-Api-Key header" message
with a user-friendly hint explaining that agents are auto-discovered
from Claude, Codex, and Hermes directories, and that gateway mode shows
registered agents.

Adds missing noAgentsHint translation key across all 10 locales.

Closes #321

messages/ar.json CHANGED
@@ -1527,6 +1527,7 @@
1527
  "addAgent": "+ إضافة وكيل",
1528
  "refresh": "تحديث",
1529
  "noAgents": "لم يُعثر على وكلاء",
 
1530
  "addFirstAgent": "أضف وكيلك الأول للبدء",
1531
  "session": "الجلسة",
1532
  "totalTasks": "إجمالي المهام",
 
1527
  "addAgent": "+ إضافة وكيل",
1528
  "refresh": "تحديث",
1529
  "noAgents": "لم يُعثر على وكلاء",
1530
+ "noAgentsHint": "يتم اكتشاف الوكلاء المحليين تلقائيًا من أدلة Claude و Codex و Hermes. في وضع البوابة، سيظهر هنا أيضًا الوكلاء المسجلون في بوابة OpenClaw الخاصة بك.",
1531
  "addFirstAgent": "أضف وكيلك الأول للبدء",
1532
  "session": "الجلسة",
1533
  "totalTasks": "إجمالي المهام",
messages/de.json CHANGED
@@ -1527,6 +1527,7 @@
1527
  "addAgent": "+ Agent hinzufügen",
1528
  "refresh": "Aktualisieren",
1529
  "noAgents": "Keine Agenten gefunden",
 
1530
  "addFirstAgent": "Fügen Sie Ihren ersten Agenten hinzu, um zu beginnen",
1531
  "session": "Sitzung",
1532
  "totalTasks": "Aufgaben gesamt",
 
1527
  "addAgent": "+ Agent hinzufügen",
1528
  "refresh": "Aktualisieren",
1529
  "noAgents": "Keine Agenten gefunden",
1530
+ "noAgentsHint": "Lokale Agenten werden automatisch aus den Claude-, Codex- und Hermes-Verzeichnissen erkannt. Im Gateway-Modus werden auch beim OpenClaw-Gateway registrierte Agenten hier angezeigt.",
1531
  "addFirstAgent": "Fügen Sie Ihren ersten Agenten hinzu, um zu beginnen",
1532
  "session": "Sitzung",
1533
  "totalTasks": "Aufgaben gesamt",
messages/en.json CHANGED
@@ -1527,6 +1527,7 @@
1527
  "addAgent": "+ Add Agent",
1528
  "refresh": "Refresh",
1529
  "noAgents": "No agents found",
 
1530
  "addFirstAgent": "Add your first agent to get started",
1531
  "session": "Session",
1532
  "totalTasks": "Total Tasks",
 
1527
  "addAgent": "+ Add Agent",
1528
  "refresh": "Refresh",
1529
  "noAgents": "No agents found",
1530
+ "noAgentsHint": "Local agents are auto-discovered from Claude, Codex, and Hermes directories. In gateway mode, agents registered with your OpenClaw gateway will also appear here.",
1531
  "addFirstAgent": "Add your first agent to get started",
1532
  "session": "Session",
1533
  "totalTasks": "Total Tasks",
messages/es.json CHANGED
@@ -1527,6 +1527,7 @@
1527
  "addAgent": "+ Agregar agente",
1528
  "refresh": "Actualizar",
1529
  "noAgents": "No se encontraron agentes",
 
1530
  "addFirstAgent": "Agrega tu primer agente para comenzar",
1531
  "session": "Sesión",
1532
  "totalTasks": "Tareas totales",
 
1527
  "addAgent": "+ Agregar agente",
1528
  "refresh": "Actualizar",
1529
  "noAgents": "No se encontraron agentes",
1530
+ "noAgentsHint": "Los agentes locales se descubren automáticamente desde los directorios de Claude, Codex y Hermes. En modo gateway, los agentes registrados en tu gateway OpenClaw también aparecerán aquí.",
1531
  "addFirstAgent": "Agrega tu primer agente para comenzar",
1532
  "session": "Sesión",
1533
  "totalTasks": "Tareas totales",
messages/fr.json CHANGED
@@ -1527,6 +1527,7 @@
1527
  "addAgent": "+ Ajouter un agent",
1528
  "refresh": "Actualiser",
1529
  "noAgents": "Aucun agent trouvé",
 
1530
  "addFirstAgent": "Ajoutez votre premier agent pour commencer",
1531
  "session": "Session",
1532
  "totalTasks": "Tâches totales",
 
1527
  "addAgent": "+ Ajouter un agent",
1528
  "refresh": "Actualiser",
1529
  "noAgents": "Aucun agent trouvé",
1530
+ "noAgentsHint": "Les agents locaux sont découverts automatiquement depuis les répertoires Claude, Codex et Hermes. En mode passerelle, les agents enregistrés sur votre passerelle OpenClaw apparaîtront également ici.",
1531
  "addFirstAgent": "Ajoutez votre premier agent pour commencer",
1532
  "session": "Session",
1533
  "totalTasks": "Tâches totales",
messages/ja.json CHANGED
@@ -1527,6 +1527,7 @@
1527
  "addAgent": "+ エージェントを追加",
1528
  "refresh": "更新",
1529
  "noAgents": "エージェントが見つかりません",
 
1530
  "addFirstAgent": "最初のエージェントを追加して開始",
1531
  "session": "セッション",
1532
  "totalTasks": "タスク総数",
 
1527
  "addAgent": "+ エージェントを追加",
1528
  "refresh": "更新",
1529
  "noAgents": "エージェントが見つかりません",
1530
+ "noAgentsHint": "ローカルエージェントは Claude、Codex、Hermes のディレクトリから自動検出されます。ゲートウェイモードでは、OpenClaw ゲートウェイに登録されたエージェントもここに表示されます。",
1531
  "addFirstAgent": "最初のエージェントを追加して開始",
1532
  "session": "セッション",
1533
  "totalTasks": "タスク総数",
messages/ko.json CHANGED
@@ -1527,6 +1527,7 @@
1527
  "addAgent": "+ 에이전트 추가",
1528
  "refresh": "새로 고침",
1529
  "noAgents": "에이전트를 찾을 수 없습니다",
 
1530
  "addFirstAgent": "첫 번째 에이전트를 추가하여 시작하세요",
1531
  "session": "세션",
1532
  "totalTasks": "총 작업",
 
1527
  "addAgent": "+ 에이전트 추가",
1528
  "refresh": "새로 고침",
1529
  "noAgents": "에이전트를 찾을 수 없습니다",
1530
+ "noAgentsHint": "로컬 에이전트는 Claude, Codex, Hermes 디렉토리에서 자동으로 검색됩니다. 게이트웨이 모드에서는 OpenClaw 게이트웨이에 등록된 에이전트도 여기에 표시됩니다.",
1531
  "addFirstAgent": "첫 번째 에이전트를 추가하여 시작하세요",
1532
  "session": "세션",
1533
  "totalTasks": "총 작업",
messages/pt.json CHANGED
@@ -1527,6 +1527,7 @@
1527
  "addAgent": "+ Adicionar agente",
1528
  "refresh": "Atualizar",
1529
  "noAgents": "Nenhum agente encontrado",
 
1530
  "addFirstAgent": "Adicione seu primeiro agente para começar",
1531
  "session": "Sessão",
1532
  "totalTasks": "Total de tarefas",
 
1527
  "addAgent": "+ Adicionar agente",
1528
  "refresh": "Atualizar",
1529
  "noAgents": "Nenhum agente encontrado",
1530
+ "noAgentsHint": "Agentes locais são descobertos automaticamente dos diretórios Claude, Codex e Hermes. No modo gateway, agentes registrados no seu gateway OpenClaw também aparecerão aqui.",
1531
  "addFirstAgent": "Adicione seu primeiro agente para começar",
1532
  "session": "Sessão",
1533
  "totalTasks": "Total de tarefas",
messages/ru.json CHANGED
@@ -1527,6 +1527,7 @@
1527
  "addAgent": "+ Добавить агента",
1528
  "refresh": "Обновить",
1529
  "noAgents": "Агенты не найдены",
 
1530
  "addFirstAgent": "Добавьте первого агента для начала работы",
1531
  "session": "Сессия",
1532
  "totalTasks": "Всего задач",
 
1527
  "addAgent": "+ Добавить агента",
1528
  "refresh": "Обновить",
1529
  "noAgents": "Агенты не найдены",
1530
+ "noAgentsHint": "Локальные агенты автоматически обнаруживаются из каталогов Claude, Codex и Hermes. В режиме шлюза здесь также будут отображаться агенты, зарегистрированные на вашем шлюзе OpenClaw.",
1531
  "addFirstAgent": "Добавьте первого агента для начала работы",
1532
  "session": "Сессия",
1533
  "totalTasks": "Всего задач",
messages/zh.json CHANGED
@@ -1749,6 +1749,7 @@
1749
  "addAgent": "+ 添加代理",
1750
  "refresh": "刷新",
1751
  "noAgents": "未找到代理",
 
1752
  "addFirstAgent": "添加您的第一个代理以开始使用",
1753
  "session": "会话",
1754
  "totalTasks": "任务总数",
 
1749
  "addAgent": "+ 添加代理",
1750
  "refresh": "刷新",
1751
  "noAgents": "未找到代理",
1752
+ "noAgentsHint": "本地代理会从 Claude、Codex 和 Hermes 目录自动发现。在网关模式下,注册到 OpenClaw 网关的代理也会显示在此处。",
1753
  "addFirstAgent": "添加您的第一个代理以开始使用",
1754
  "session": "会话",
1755
  "totalTasks": "任务总数",
src/components/panels/agent-squad-panel-phase3.tsx CHANGED
@@ -385,7 +385,6 @@ export function AgentSquadPanelPhase3() {
385
  <p className="text-xs text-muted-foreground/70 mt-1 max-w-xs text-center">
386
  {t('noAgentsHint')}
387
  </p>
388
- <p className="text-2xs text-muted-foreground/40 mt-3 font-mono">POST /api/agents with X-Api-Key header</p>
389
  </div>
390
  ) : (
391
  <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
 
385
  <p className="text-xs text-muted-foreground/70 mt-1 max-w-xs text-center">
386
  {t('noAgentsHint')}
387
  </p>
 
388
  </div>
389
  ) : (
390
  <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">