feat(Agnet): support multi agents (#385)

This commit is contained in:
Haze
2026-03-10 16:13:55 +08:00
committed by GitHub
Unverified
parent 17e6ab9149
commit 36c0fcb5c7
19 changed files with 2295 additions and 690 deletions

View File

@@ -7,6 +7,7 @@ import enSettings from './locales/en/settings.json';
import enDashboard from './locales/en/dashboard.json';
import enChat from './locales/en/chat.json';
import enChannels from './locales/en/channels.json';
import enAgents from './locales/en/agents.json';
import enSkills from './locales/en/skills.json';
import enCron from './locales/en/cron.json';
import enSetup from './locales/en/setup.json';
@@ -17,6 +18,7 @@ import zhSettings from './locales/zh/settings.json';
import zhDashboard from './locales/zh/dashboard.json';
import zhChat from './locales/zh/chat.json';
import zhChannels from './locales/zh/channels.json';
import zhAgents from './locales/zh/agents.json';
import zhSkills from './locales/zh/skills.json';
import zhCron from './locales/zh/cron.json';
import zhSetup from './locales/zh/setup.json';
@@ -27,6 +29,7 @@ import jaSettings from './locales/ja/settings.json';
import jaDashboard from './locales/ja/dashboard.json';
import jaChat from './locales/ja/chat.json';
import jaChannels from './locales/ja/channels.json';
import jaAgents from './locales/ja/agents.json';
import jaSkills from './locales/ja/skills.json';
import jaCron from './locales/ja/cron.json';
import jaSetup from './locales/ja/setup.json';
@@ -46,6 +49,7 @@ const resources = {
dashboard: enDashboard,
chat: enChat,
channels: enChannels,
agents: enAgents,
skills: enSkills,
cron: enCron,
setup: enSetup,
@@ -56,6 +60,7 @@ const resources = {
dashboard: zhDashboard,
chat: zhChat,
channels: zhChannels,
agents: zhAgents,
skills: zhSkills,
cron: zhCron,
setup: zhSetup,
@@ -66,6 +71,7 @@ const resources = {
dashboard: jaDashboard,
chat: jaChat,
channels: jaChannels,
agents: jaAgents,
skills: jaSkills,
cron: jaCron,
setup: jaSetup,
@@ -79,7 +85,7 @@ i18n
lng: 'en', // will be overridden by settings store
fallbackLng: 'en',
defaultNS: 'common',
ns: ['common', 'settings', 'dashboard', 'chat', 'channels', 'skills', 'cron', 'setup'],
ns: ['common', 'settings', 'dashboard', 'chat', 'channels', 'agents', 'skills', 'cron', 'setup'],
interpolation: {
escapeValue: false, // React already escapes
},

View File

@@ -0,0 +1,51 @@
{
"title": "Agents",
"subtitle": "Manage your OpenClaw agents and their channel ownership",
"refresh": "Refresh",
"addAgent": "Add Agent",
"gatewayWarning": "Gateway service is not running. Agent/channel changes may take a moment to apply.",
"defaultBadge": "default",
"inherited": "inherited",
"none": "none",
"modelLine": "Model: {{model}}{{suffix}}",
"channelsLine": "Channels: {{channels}}",
"deleteAgent": "Delete Agent",
"settings": "Settings",
"creating": "Creating...",
"createDialog": {
"title": "Add Agent",
"description": "Create a new agent by name. ClawX will copy the main agent's workspace bootstrap files and runtime auth setup.",
"nameLabel": "Agent Name",
"namePlaceholder": "Coding Helper"
},
"deleteDialog": {
"title": "Delete Agent",
"message": "Delete \"{{name}}\" from ClawX? Existing workspace and session files will be left on disk."
},
"settingsDialog": {
"title": "{{name}} Settings",
"description": "Update the agent name and manage which channels belong to this agent.",
"nameLabel": "Agent Name",
"agentIdLabel": "Agent ID",
"modelLabel": "Model",
"channelsTitle": "Channels",
"channelsDescription": "Each channel type has a single ClawX configuration. Saving a configured channel here moves ownership to this agent.",
"addChannel": "Add Channel",
"noChannels": "No channels are assigned to this agent yet."
},
"removeChannelDialog": {
"title": "Remove Channel",
"message": "Remove {{name}} from ClawX? This deletes the current channel configuration."
},
"toast": {
"agentCreated": "Agent created",
"agentCreateFailed": "Failed to create agent: {{error}}",
"agentDeleted": "Agent deleted",
"agentUpdated": "Agent updated",
"agentUpdateFailed": "Failed to update agent: {{error}}",
"channelAssigned": "{{channel}} assigned to agent",
"channelAssignFailed": "Failed to assign channel: {{error}}",
"channelRemoved": "{{channel}} removed",
"channelRemoveFailed": "Failed to remove channel: {{error}}"
}
}

View File

@@ -4,6 +4,7 @@
"newChat": "New Chat",
"cronTasks": "Cron Tasks",
"skills": "Skills",
"agents": "Agents",
"channels": "Channels",
"dashboard": "Dashboard",
"settings": "Settings",

View File

@@ -0,0 +1,51 @@
{
"title": "Agents",
"subtitle": "OpenClaw エージェントとチャンネルの所属を管理します",
"refresh": "更新",
"addAgent": "Agent を追加",
"gatewayWarning": "Gateway サービスが停止しています。Agent または Channel の変更が反映されるまで少し時間がかかる場合があります。",
"defaultBadge": "default",
"inherited": "継承",
"none": "なし",
"modelLine": "Model: {{model}}{{suffix}}",
"channelsLine": "Channels: {{channels}}",
"deleteAgent": "Agent を削除",
"settings": "設定",
"creating": "作成中...",
"createDialog": {
"title": "Agent を追加",
"description": "名前だけで新しい Agent を作成できます。ClawX はメイン Agent のワークスペース初期ファイルと認証設定をコピーします。",
"nameLabel": "Agent 名",
"namePlaceholder": "Coding Helper"
},
"deleteDialog": {
"title": "Agent を削除",
"message": "ClawX から「{{name}}」を削除しますか?既存のワークスペースとセッションファイルはディスク上に残ります。"
},
"settingsDialog": {
"title": "{{name}} Settings",
"description": "Agent 名を更新し、この Agent に属する Channel を管理します。",
"nameLabel": "Agent 名",
"agentIdLabel": "Agent ID",
"modelLabel": "Model",
"channelsTitle": "Channels",
"channelsDescription": "各 Channel 種別は ClawX で 1 つだけ設定されます。ここで既存の Channel を保存すると、この Agent に所属が移動します。",
"addChannel": "Channel を追加",
"noChannels": "この Agent にはまだ Channel が割り当てられていません。"
},
"removeChannelDialog": {
"title": "Channel を削除",
"message": "{{name}} を削除しますか?現在の Channel 設定も削除されます。"
},
"toast": {
"agentCreated": "Agent を作成しました",
"agentCreateFailed": "Agent の作成に失敗しました: {{error}}",
"agentDeleted": "Agent を削除しました",
"agentUpdated": "Agent を更新しました",
"agentUpdateFailed": "Agent の更新に失敗しました: {{error}}",
"channelAssigned": "{{channel}} を Agent に割り当てました",
"channelAssignFailed": "Channel の割り当てに失敗しました: {{error}}",
"channelRemoved": "{{channel}} を削除しました",
"channelRemoveFailed": "Channel の削除に失敗しました: {{error}}"
}
}

View File

@@ -4,6 +4,7 @@
"newChat": "新しいチャット",
"cronTasks": "定期タスク",
"skills": "スキル",
"agents": "Agents",
"channels": "チャンネル",
"dashboard": "ダッシュボード",
"settings": "設定",

View File

@@ -0,0 +1,51 @@
{
"title": "Agents",
"subtitle": "管理 OpenClaw Agent 以及它们的 Channel 归属",
"refresh": "刷新",
"addAgent": "添加 Agent",
"gatewayWarning": "Gateway 服务未运行。Agent 或 Channel 变更可能需要一点时间生效。",
"defaultBadge": "默认",
"inherited": "继承",
"none": "无",
"modelLine": "Model: {{model}}{{suffix}}",
"channelsLine": "Channels: {{channels}}",
"deleteAgent": "删除 Agent",
"settings": "设置",
"creating": "创建中...",
"createDialog": {
"title": "添加 Agent",
"description": "只需输入名称即可创建新 Agent。ClawX 会复制主 Agent 的工作区引导文件和运行时认证配置。",
"nameLabel": "Agent 名称",
"namePlaceholder": "Coding Helper"
},
"deleteDialog": {
"title": "删除 Agent",
"message": "确认从 ClawX 删除 “{{name}}”?已有的工作区和会话文件会保留在磁盘上。"
},
"settingsDialog": {
"title": "{{name}} 设置",
"description": "更新 Agent 名称,并管理哪些 Channel 归属于这个 Agent。",
"nameLabel": "Agent 名称",
"agentIdLabel": "Agent ID",
"modelLabel": "Model",
"channelsTitle": "Channels",
"channelsDescription": "每种 Channel 类型在 ClawX 中只保留一份配置。在这里保存已配置的 Channel 会将归属切换到当前 Agent。",
"addChannel": "添加 Channel",
"noChannels": "这个 Agent 还没有分配任何 Channel。"
},
"removeChannelDialog": {
"title": "移除 Channel",
"message": "确认移除 {{name}}?这会删除当前的 Channel 配置。"
},
"toast": {
"agentCreated": "Agent 已创建",
"agentCreateFailed": "创建 Agent 失败:{{error}}",
"agentDeleted": "Agent 已删除",
"agentUpdated": "Agent 已更新",
"agentUpdateFailed": "更新 Agent 失败:{{error}}",
"channelAssigned": "{{channel}} 已分配给 Agent",
"channelAssignFailed": "分配 Channel 失败:{{error}}",
"channelRemoved": "{{channel}} 已移除",
"channelRemoveFailed": "移除 Channel 失败:{{error}}"
}
}

View File

@@ -4,6 +4,7 @@
"newChat": "新对话",
"cronTasks": "定时任务",
"skills": "技能",
"agents": "Agents",
"channels": "频道",
"dashboard": "仪表盘",
"settings": "设置",