ThoughtChain

以竖向时间线呈现智能体多步推理链:每个环节带状态节点(等待 / 进行中 / 完成 / 失败,进行中图标自动旋转)、标题、说明与可折叠正文,节点间有连接线。

最后更新

说明

面向“思维链 / 智能体执行过程”的时间线组件,纯展示、不依赖任何浏览器 API。Items 为 ThoughtChainStep 列表(Key / Title / Description / Content / Status / Icon / Collapsed),标题、说明与正文视为业务内容、直接展示不本地化。每个环节由状态节点 + 正文组成:节点图标按 Status 自动选择(pending→circle-dot、loading→loader 并旋转、success→check-circle、error→close-circle),也可用 Icon 覆盖;Line(默认 true)在节点之间绘制连接竖线,末项自动断线。Description 常显于标题下方,Content 为详细正文——Collapsible(默认 true)时可点标题折叠 / 展开(初始态由 Collapsed 决定,默认收起),为 false 时正文常显;展开 / 收起用 CSS grid 0fr→1fr 过渡实现,无 JS 互操作。ShowStatus(默认 false)在标题旁追加一个本地化状态标签(等待中 / 思考中 / 已完成 / 失败)。点任一环节标题经 OnStepClick 回传该 ThoughtChainStep(折叠时同样触发)。Title(作为翻译键)给出整体标题,空数据显示 EmptyText(默认“暂无步骤”,作为翻译键)。常与 Bubble / Think 配合,把“多步执行过程”与“单段思考 / 最终回答”分层展示;组件自身不改数据,宿主改 Items 里的 Status 即可驱动进度动画。

常见能力:

  • 竖向时间线:状态节点图标随 Status 变化,loading 自动旋转,末项自动断线
  • Line 连接线、Collapsible 正文折叠、Collapsed 控制单步初始展开态
  • ShowStatus 显示本地化状态标签(等待中 / 思考中 / 已完成 / 失败)
  • 每步 Title/Description/Content 分层,Content 为可折叠详细正文(纯 CSS 动画)
  • OnStepClick 回传命中步骤,Icon 可覆盖节点图标,宿主改 Status 即驱动进度
  • Title / EmptyText 走词条,步骤文本视为业务内容不本地化
  • 纯展示、无 JS 互操作、受控数据,明暗主题随 CSS 令牌自动适配

用法

<ThoughtChain Title="智能体推理链" Items="@_steps"
              ShowStatus="true" Collapsible="true" OnStepClick="OnStep" />

@code {
    List<ThoughtChainStep> _steps = new()
    {
        new("解析用户意图", "success") { Description = "识别实体与目标", Content = "输入→ 关键要素:客户、金额、时间。" },
        new("检索知识库", "loading") { Description = "匹配可复用模板" },
        new("生成实体草稿", "pending") { Description = "请求代码生成接口" },
    };
    void OnStep(ThoughtChainStep s) => Console.WriteLine(s.Title);
}

API 参数

参数 类型 默认值 说明
Collapsible bool true 有正文(Content)的步骤是否可折叠。默认 true;为 false 时正文常显。
EmptyText string "暂无步骤" 空态文本(作为翻译键)。
Items List<ThoughtChainStep> null 思维链步骤数据。标题 / 说明 / 正文视为业务内容、直接展示不本地化。
Line bool true 是否绘制节点之间的连接竖线。默认 true。
OnStepClick EventCallback<ThoughtChainStep> — 事件 点击某个步骤标题的回调(折叠展开时同样触发)。
ShowStatus bool false 是否在标题旁显示本地化的状态标签(等待中 / 思考中 / 已完成 / 失败)。默认 false。
Title string null 整体标题(作为翻译键)。留空则不显示。
Visible bool true 取得或设置组件是否可见,默认为false。
VisibleChanged EventCallback<bool> — 事件 取得或设置组件可见性变化时的回调事件。
Class string null 取得或设置组件的CSS类名,用于自定义样式。
Disabled bool false 取得或设置组件是否禁用,默认为false。
Style string null 取得或设置组件的内联样式,用于自定义样式。

所有组件均继承 BaseComponent,除上表参数外还支持 Class、Style、Disabled、Visible。

微信公众号二维码 扫码关注公众号
QQ 交流群二维码 扫码加入 QQ 群