import {
ArrowRightOutlined,
CompassOutlined,
DeleteOutlined,
EditOutlined,
MessageOutlined,
RobotOutlined,
} from '@ant-design/icons';
import { Button, Col, Row, Empty, Popconfirm, App as AntApp, Tag, Space } from 'antd';
import { Link, useNavigate } from 'react-router-dom';
import dayjs from 'dayjs';
import type { AgentListLogicOutput } from '../AgentListLogic';
import './AgentListWeb.css';
interface Props {
logic: AgentListLogicOutput;
}
export default function AgentListWeb({ logic }: Props) {
const { message } = AntApp.useApp();
const navigate = useNavigate();
const { list, loading, stats, handleDelete, isImageUrl, getModelLabel } = logic;
return (
我的 Agent 资产
我的智能体
把你的 AI 助手沉淀成一组可管理、可协作、可持续进化的能力单元。创建入口统一在智能体广场,这里负责查看、进入和运营它们。
}
onClick={() => navigate('/agents/new')}
style={{ borderRadius: 14, height: 46, padding: '0 18px', fontWeight: 600 }}
>
创建智能体
{stats.map((item) => (
{item.label}
{item.value}
实时统计
))}
{!loading && list.length === 0 ? (
) : (
{list.map((a) => {
const modelLabel = getModelLabel(a.model);
return (
{isImageUrl(a.avatar) ? (

) : (
(a.name?.charAt(0) || '?').toUpperCase()
)}
{a.name}
最近更新于 {dayjs(a.updated_at).format('YYYY-MM-DD')}
{a.description || '还没有填写描述,可以补充这个智能体适合解决什么问题。'}
{a.visibility === 'public' && (
公开
)}
{a.visibility === 'team' && (
团队
)}
{a.visibility === 'private' && (
私有
)}
{modelLabel && (
{modelLabel}
)}
{(a.fork_count ?? 0) > 0 && (
Fork {a.fork_count}
)}
} style={{ borderRadius: 12, height: 40, fontWeight: 600 }}>
聊天
} style={{ borderRadius: 12, height: 40 }}>
管理
{
handleDelete(a.id);
message.success('已删除');
}}
okText="删除"
cancelText="取消"
>
} style={{ borderRadius: 12, width: 40, height: 40 }} />
)})}
)}
{list.length > 0 && (
想创建新的智能体入口?
统一从智能体广场进入,保证创建流程和发现体验保持一致。
} onClick={() => navigate('/marketplace')} style={{ color: 'var(--color-brand)', fontWeight: 600 }}>
去广场继续发现
)}
);
}