diff --git a/alembic/versions/2026_06_04_0002-0005_system_node_display_name.py b/alembic/versions/2026_06_04_0002-0005_system_node_display_name.py new file mode 100644 index 0000000..ecdb5a3 --- /dev/null +++ b/alembic/versions/2026_06_04_0002-0005_system_node_display_name.py @@ -0,0 +1,28 @@ +"""system_node_display_name + +Revision ID: 0005_system_node_display_name +Revises: 0004_system_node_custom_prompt +Create Date: 2026-06-04 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + +revision: str = "0005_system_node_display_name" +down_revision: Union[str, None] = "0004_system_node_custom_prompt" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.add_column( + "system_node_config", + sa.Column("display_name", sa.String(100), nullable=True), + ) + + +def downgrade() -> None: + op.drop_column("system_node_config", "display_name") diff --git a/frontend/src/components/Agent/AgentLayout.tsx b/frontend/src/components/Agent/AgentLayout.tsx index 04aac09..b22156e 100644 --- a/frontend/src/components/Agent/AgentLayout.tsx +++ b/frontend/src/components/Agent/AgentLayout.tsx @@ -4,6 +4,7 @@ import { ProvidersSettings } from './ProvidersSettings'; import { WorkerIndividualSettings } from './WorkerIndividualSettings'; import { WorkflowConfigSettings } from './WorkflowConfigSettings'; import { SystemLogsView } from './SystemLogsView'; +import { PersonaTemplateSettings } from './PersonaTemplateSettings'; export function AgentLayout() { const { t } = useTranslation(); @@ -11,6 +12,7 @@ export function AgentLayout() { const tabs = [ { key: 'worker', label: t('agent.individual') }, + { key: 'persona', label: t('agent.personaManagement') }, { key: 'providers', label: t('agent.providerManagement') }, { key: 'config', label: t('agent.config') }, { key: 'logs', label: t('agent.systemLogs') }, @@ -35,6 +37,7 @@ export function AgentLayout() {
{t('agent.personaManagementDesc')}
+| {t('agent.templateName')} | +{t('agent.type')} | +{t('agent.tags')} | +{t('common.actions')} | +
|---|---|---|---|
|
+
+
+
+
+
+ {tpl.name}
+ {tpl.is_builtin && {t('agent.builtin')}}
+
+ |
+ {getTypeBadge(tpl.agent_type)} | +
+
+ {(tpl.tags || []).map(tag => (
+ {tag}
+ ))}
+
+ |
+ + + {!tpl.is_builtin && } + {!tpl.is_builtin && } + | +