diff --git a/web/src/app/home/agents/components/AgentCreateContent.tsx b/web/src/app/home/agents/components/AgentCreateContent.tsx
index aa2c8cd88..8e6371e49 100644
--- a/web/src/app/home/agents/components/AgentCreateContent.tsx
+++ b/web/src/app/home/agents/components/AgentCreateContent.tsx
@@ -113,84 +113,153 @@ export default function AgentCreateContent({
-
-
-
-
-
- {t('agents.chooseType')}
-
-
- {t('agents.chooseTypeDescription')}
-
-
+
+
+
+
+
+
+ {t('agents.chooseType')}
+
+
+ {t('agents.chooseTypeDescription')}
+
+
-
- {typeOptions.map((option) => {
- const Icon = option.icon;
- const selected = kind === option.kind;
- return (
-
-
-
-
-
- );
- })}
-
-
+
+
+
+ {option.title}
+
+ {selected && (
+
+ )}
+
+
+ {option.badge}
+
+
+ {option.description}
+
+
+
+
+
+ );
+ })}
+
+
-
+
+
+ {t('agents.basicInfo')}
+
+ {t('agents.basicInfoDescription')}
+
+
+
+
+
+
+
+
+
+
@@ -210,7 +279,7 @@ export default function AgentCreateContent({
-
+
@@ -220,73 +289,6 @@ export default function AgentCreateContent({
-
-
-
- {t('agents.basicInfo')}
-
- {t('agents.basicInfoDescription')}
-
-
-
-
-
-
-
diff --git a/web/src/app/home/agents/components/ProcessorTypeDiagram.tsx b/web/src/app/home/agents/components/ProcessorTypeDiagram.tsx
index 7441dd8d1..9830a93f4 100644
--- a/web/src/app/home/agents/components/ProcessorTypeDiagram.tsx
+++ b/web/src/app/home/agents/components/ProcessorTypeDiagram.tsx
@@ -2,29 +2,81 @@ import { useId } from 'react';
import { useTranslation } from 'react-i18next';
import type { AgentKind } from '@/app/infra/entities/api';
-function DiagramArrow({ id }: { id: string }) {
+type DiagramIds = {
+ accent: string;
+ arrow: string;
+ glow: string;
+ grid: string;
+ surface: string;
+};
+
+function useDiagramIds(prefix: string): DiagramIds {
+ const id = useId().replace(/:/g, '');
+ return {
+ accent: `${prefix}-accent-${id}`,
+ arrow: `${prefix}-arrow-${id}`,
+ glow: `${prefix}-glow-${id}`,
+ grid: `${prefix}-grid-${id}`,
+ surface: `${prefix}-surface-${id}`,
+ };
+}
+
+function DiagramDefinitions({ ids }: { ids: DiagramIds }) {
return (
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
);
}
function AgentDiagram() {
const { t } = useTranslation();
- const arrowId = `agent-arrow-${useId().replace(/:/g, '')}`;
+ const ids = useDiagramIds('agent');
+ const events = [
+ { label: t('agents.diagramMessages'), y: 154 },
+ { label: t('agents.diagramMembers'), y: 270 },
+ { label: t('agents.diagramFeedback'), y: 386 },
+ ];
+ const capabilities = [
+ { label: t('agents.diagramModel'), y: 154 },
+ { label: t('agents.diagramTools'), y: 270 },
+ { label: t('agents.diagramActions'), y: 386 },
+ ];
return (
);
}
function PipelineDiagram() {
const { t } = useTranslation();
- const arrowId = `pipeline-arrow-${useId().replace(/:/g, '')}`;
- const stages = [
- t('agents.diagramPreprocess'),
- t('agents.diagramAI'),
- t('agents.diagramPostprocess'),
- t('agents.diagramOutput'),
+ const ids = useDiagramIds('pipeline');
+ const stations = [
+ { x: 198, y: 312, label: t('agents.diagramPreprocess') },
+ { x: 338, y: 242, label: t('agents.diagramAI') },
+ { x: 478, y: 312, label: t('agents.diagramPostprocess') },
+ { x: 618, y: 242, label: t('agents.diagramOutput') },
];
return (
);
}