feat(agent): add event orchestration surface

This commit is contained in:
Junyan Qin
2026-06-23 23:23:09 +08:00
committed by huanghuoguoguo
parent 3dd49a8a6e
commit 59e0edb3d5
34 changed files with 2980 additions and 139 deletions
+65
View File
@@ -359,6 +359,27 @@ const enUS = {
routingConnection: 'Routing & Connection',
routingConnectionDescription:
'Bind the pipeline that processes messages for this bot',
eventOrchestration: 'Event Orchestration',
eventOrchestrationDescription:
'Bind different handling logic to different bot events. Pipelines only support message events.',
eventBindings: 'Event Bindings',
addEventBinding: 'Add Event Binding',
eventPattern: 'Event',
eventPatternPlaceholder: 'Select event',
targetType: 'Target Type',
target: 'Handling Logic',
targetAgent: 'Agent Orchestration',
targetPipeline: 'Pipeline',
targetDiscard: 'Discard',
selectTarget: 'Select handling logic',
priority: 'Priority',
enabled: 'Enabled',
eventBindingDescriptionPlaceholder: 'Rule description',
noEventBindings: 'No event bindings',
unsupportedPipelineEvent: 'Pipelines can only be used for message.* events',
eventCustom: 'Custom event',
eventWildcard: 'All events',
eventNamespaceWildcard: '{{namespace}}.*',
routingRules: 'Conditional Routing Rules',
routingRulesDescription:
'Rules are evaluated in order; first match routes to its pipeline. Fallback to the default pipeline above if none match.',
@@ -465,6 +486,50 @@ const enUS = {
removeAdminTitle: 'Remove admin',
},
},
agents: {
title: 'Agent',
description:
'Manage Agent orchestrations and Pipelines, then bind them to bot events',
create: 'Create Agent',
editAgent: 'Edit Agent Orchestration',
selectFromSidebar: 'Select an Agent or Pipeline from the sidebar',
agentOrchestration: 'Agent Orchestration',
agentOrchestrationDescription:
'Event-first handling logic for messages, group members, friends, feedback, and other EBA events.',
pipelineType: 'Pipeline',
pipelineTypeDescription:
'Keep the existing no-code message pipeline for backward compatibility. It only handles message events.',
allEvents: 'Supports all EBA events',
messageEventsOnly: 'Message events only',
basicInfo: 'Basic Information',
basicInfoDescription: 'Set the name, icon, description and enabled state',
runnerSettings: 'Runner',
eventCapability: 'Event Capability',
eventCapabilityDescription:
'Declare which events this Agent orchestration can be bound to. Use one event pattern per line; * and namespace.* are supported.',
supportedEvents: 'Supported Events',
supportedEventsDescription:
'Examples: *, message.received, group.*. Pipelines are fixed to message.*.',
enabled: 'Enable Agent',
enabledDescription:
'When disabled, this Agent should not be selected by event routing.',
nameRequired: 'Name cannot be empty',
createSuccess: 'Created successfully',
createError: 'Creation failed: ',
loadError: 'Load failed: ',
saveSuccess: 'Saved successfully',
saveError: 'Save failed: ',
deleteSuccess: 'Deleted successfully',
deleteError: 'Delete failed: ',
deleteConfirmation:
'Are you sure you want to delete this Agent orchestration?',
dangerZone: 'Danger Zone',
dangerZoneDescription: 'Irreversible and destructive actions',
deleteAgentAction: 'Delete this Agent orchestration',
deleteAgentHint:
'Once deleted, events bound to it can no longer be executed.',
noRunnerMetadata: 'No AgentRunner metadata is currently available.',
},
plugins: {
title: 'Extensions',
description:
+64
View File
@@ -365,6 +365,28 @@ const jaJP = {
routingConnection: 'ルーティングと接続',
routingConnectionDescription:
'このボットのメッセージを処理するパイプラインを紐付け',
eventOrchestration: 'イベント編成',
eventOrchestrationDescription:
'このボットのイベントごとに異なる処理ロジックを紐付けます。Pipeline はメッセージイベントのみ対応します。',
eventBindings: 'イベントバインディング',
addEventBinding: 'イベントバインディングを追加',
eventPattern: 'イベント',
eventPatternPlaceholder: 'イベントを選択',
targetType: 'ターゲットタイプ',
target: '処理ロジック',
targetAgent: 'Agent 編成',
targetPipeline: 'Pipeline',
targetDiscard: '破棄',
selectTarget: '処理ロジックを選択',
priority: '優先度',
enabled: '有効',
eventBindingDescriptionPlaceholder: 'ルール説明',
noEventBindings: 'イベントバインディングはありません',
unsupportedPipelineEvent:
'Pipeline は message.* イベントにのみ使用できます',
eventCustom: 'カスタムイベント',
eventWildcard: 'すべてのイベント',
eventNamespaceWildcard: '{{namespace}}.*',
routingRules: '条件付きルーティングルール',
routingRulesDescription:
'ルールは順番に評価され、最初に一致したルールのパイプラインにルーティングされます。一致しない場合はデフォルトパイプラインが使用されます。',
@@ -471,6 +493,48 @@ const jaJP = {
configureAdmins: 'Manage Admins',
},
},
agents: {
title: 'Agent',
description: 'Agent 編成と Pipeline を管理し、ボットのイベントに紐付けます',
create: 'Agent を作成',
editAgent: 'Agent 編成を編集',
selectFromSidebar:
'サイドバーから Agent または Pipeline を選択してください',
agentOrchestration: 'Agent 編成',
agentOrchestrationDescription:
'メッセージ、グループメンバー、友だち、フィードバックなどの EBA イベント向けの処理ロジックです。',
pipelineType: 'Pipeline',
pipelineTypeDescription:
'既存のノーコードメッセージ Pipeline を互換性のため保持します。メッセージイベントのみ処理できます。',
allEvents: 'すべての EBA イベントに対応',
messageEventsOnly: 'メッセージイベントのみ',
basicInfo: '基本情報',
basicInfoDescription: '名前、アイコン、説明、有効状態を設定します',
runnerSettings: 'Runner',
eventCapability: 'イベント能力',
eventCapabilityDescription:
'この Agent 編成をどのイベントに紐付けられるかを宣言します。1 行に 1 つのイベントパターンを指定し、* と namespace.* を利用できます。',
supportedEvents: '対応イベント',
supportedEventsDescription:
'例: *、message.received、group.*。Pipeline は message.* 固定です。',
enabled: 'Agent を有効化',
enabledDescription:
'無効化すると、この Agent はイベントルーティングで選択されません。',
nameRequired: '名前は必須です',
createSuccess: '作成に成功しました',
createError: '作成に失敗しました:',
loadError: '読み込みに失敗しました:',
saveSuccess: '保存に成功しました',
saveError: '保存に失敗しました:',
deleteSuccess: '削除に成功しました',
deleteError: '削除に失敗しました:',
deleteConfirmation: 'この Agent 編成を削除してもよろしいですか?',
dangerZone: '危険ゾーン',
dangerZoneDescription: '元に戻せない操作',
deleteAgentAction: 'この Agent 編成を削除',
deleteAgentHint: '削除すると、紐付けられたイベントは実行できなくなります。',
noRunnerMetadata: '現在利用可能な AgentRunner メタデータはありません。',
},
plugins: {
title: '拡張機能',
description:
+61
View File
@@ -343,6 +343,27 @@ const zhHans = {
basicInfoDescription: '设置机器人名称和描述',
routingConnection: '路由与连接',
routingConnectionDescription: '绑定处理此机器人消息的流水线',
eventOrchestration: '事件编排',
eventOrchestrationDescription:
'为此机器人不同事件绑定不同处理逻辑。Pipeline 仅支持消息事件。',
eventBindings: '事件绑定',
addEventBinding: '添加事件绑定',
eventPattern: '事件',
eventPatternPlaceholder: '选择事件',
targetType: '目标类型',
target: '处理逻辑',
targetAgent: 'Agent 编排',
targetPipeline: 'Pipeline',
targetDiscard: '丢弃',
selectTarget: '选择处理逻辑',
priority: '优先级',
enabled: '启用',
eventBindingDescriptionPlaceholder: '规则说明',
noEventBindings: '暂无事件绑定',
unsupportedPipelineEvent: 'Pipeline 仅可用于 message.* 事件',
eventCustom: '自定义事件',
eventWildcard: '全部事件',
eventNamespaceWildcard: '{{namespace}}.*',
routingRules: '条件路由规则',
routingRulesDescription:
'按顺序匹配,命中第一条规则后路由到对应流水线;都不匹配时使用上方默认流水线',
@@ -446,6 +467,46 @@ const zhHans = {
removeAdminTitle: '移除管理员权限',
},
},
agents: {
title: 'Agent',
description: '管理 Agent 编排与 Pipeline,并将它们绑定到机器人事件',
create: '创建 Agent',
editAgent: '编辑 Agent 编排',
selectFromSidebar: '从侧边栏选择一个 Agent 或 Pipeline',
agentOrchestration: 'Agent 编排',
agentOrchestrationDescription:
'面向 EBA 事件的处理逻辑,可用于消息、群成员、好友、反馈等事件。',
pipelineType: 'Pipeline',
pipelineTypeDescription:
'保留现有无代码消息流水线,兼容旧配置,只能处理消息事件。',
allEvents: '支持全部 EBA 事件',
messageEventsOnly: '仅支持消息事件',
basicInfo: '基础信息',
basicInfoDescription: '设置名称、图标、描述和启用状态',
runnerSettings: '运行器',
eventCapability: '事件能力',
eventCapabilityDescription:
'声明此 Agent 编排可被绑定到哪些事件。每行一个事件模式,支持 * 与 namespace.*。',
supportedEvents: '支持的事件',
supportedEventsDescription:
'例如 *、message.received、group.*。Pipeline 固定仅支持 message.*。',
enabled: '启用 Agent',
enabledDescription: '禁用后,此 Agent 不应被事件路由选中。',
nameRequired: '名称不能为空',
createSuccess: '创建成功',
createError: '创建失败:',
loadError: '加载失败:',
saveSuccess: '保存成功',
saveError: '保存失败:',
deleteSuccess: '删除成功',
deleteError: '删除失败:',
deleteConfirmation: '你确定要删除这个 Agent 编排吗?',
dangerZone: '危险区域',
dangerZoneDescription: '不可逆的操作',
deleteAgentAction: '删除此 Agent 编排',
deleteAgentHint: '删除后,绑定到它的事件将无法继续执行。',
noRunnerMetadata: '当前没有可用的 AgentRunner 元数据。',
},
plugins: {
title: '插件扩展',
description: '安装和配置用于扩展功能的插件,请在流水线配置中选用',