Agents 智能体列表
按可用状态分组的可选智能体列表
用法
基础
selectedId 由调用方持有,在 select 中回写。
示例加载中...
最佳实践
- 组件只负责选择;发起对话、拉取能力、运行智能体放在外层模块。
- 页面已本地化时,同时传入
enabledTitle、disabledTitle与emptyText。 id用后端或注册表里的稳定值,不要用可能被本地化或改名的展示名。badgeText只放计数、状态首字母或短标签。loading只用于首次加载;单个智能体的执行状态写进该项的描述或 badge,不要阻塞整个列表。
API 参考
TxAgentsList
属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
agents | AgentItemProps[] | 必填 | 智能体记录;可用项排在禁用项之前。 |
selectedId | string | null | null | id 与之相同的项显示为选中。 |
loading | boolean | false | 显示四行骨架,代替分组。 |
enabledTitle | string | 'Enabled' | 可用分组的标题。 |
disabledTitle | string | 'Disabled' | disabled=true 分组的标题。 |
emptyText | string | 'No agents' | agents 为空且不在加载时的空态文案。 |
事件
| 事件名 | 参数 | 说明 |
|---|---|---|
select | string | 转发可用 TxAgentItem 的选中 id。 |
TxAgentItem
属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
id | string | 必填 | 随 select 派发的稳定 id。 |
name | string | 必填 | 主标题。 |
description | string | '' | 辅助文本。 |
iconClass | string | 'i-carbon-bot' | 头像区的图标 class。 |
selected | boolean | false | 显示激活样式,并设置 aria-selected=true。 |
disabled | boolean | false | 阻止点击、Enter、Space 选择,并设置 aria-disabled=true。 |
badgeText | string | number | '' | 右侧 badge;空字符串、null、undefined 时不渲染。 |
事件
| 事件名 | 参数 | 说明 |
|---|---|---|
select | string | 可用项被点击、Enter 或 Space 激活时触发。 |
插槽
| 插槽名 | Props | 说明 |
|---|---|---|
badge | - | 有 badgeText 时替换 badge 内容。 |
概述
TxAgentsList按disabled把agents分成可用与禁用两组,组内保持原顺序,组头显示数量。loading优先于列表与空态。- 每组内容区为
role="listbox",aria-label取组标题;每项为role="option"。 - 禁用项保留
option角色,由aria-disabled与点击守卫阻止选择。
技术实现
TxAgentItem基于TxCardItem,头像形状固定为rounded。- 源码:
packages/tuffex/packages/components/src/agents/。
查看源码
packages/tuffex/packages/components/src/agents/index.ts