Skip to content

AiThoughtChain 思维链

用于展示 AI 模型在推理过程中的多个步骤或复杂的思维路径。支持 单节点展示多节点时间轴展示,并内置拖拽排序、节点进度、Markdown 渲染等「第一阶段」全部能力。

基础用法

单节点模式,类似于 AiThinking,但带侧边线条,更适合放在长文本中。

正在分析代码
思考完成
基础用法

多节点时间轴与进度 (Smooth Animation)

当传入 items 列表时,组件会切换为时间轴模式,并按顺序展示每个思考步骤。你可以为每个节点传入 statusprogress,自动计算整体进度。

TIP

丝滑交互:组件内置了基于 CSS Grid 的平滑展开/收起动画。当点击节点切换展开状态时,内容区域会以自然的方式滑动显隐,拒绝生硬跳变。

分析需求25%
搜索上下文50%
生成方案75%
验证方案90%
多节点时间轴

可拖拽与可编辑节点

通过 draggableeditable 属性,你可以让时间轴中的每个节点支持 拖拽排序删除节点插入新节点。节点内容默认支持 Markdown 渲染,便于展示更复杂的说明文本。

分析需求25%
搜索上下文50%
生成方案75%
验证方案90%
添加节点
可编辑思维链

事件与交互

在启用编辑、拖拽等能力后,你可以通过事件回调感知用户操作,并更新外部状态:

分析需求25%
搜索上下文50%
生成方案75%
验证方案90%
添加节点
交互事件

API

Props

属性名说明类型默认值
title标题(单节点模式)string
content内容(单节点模式)string
status当前总状态(兼容单节点模式与多节点整体状态)'thinking' | 'loading' | 'success' | 'complete' | 'error' | 'none''none'
items思考步骤列表,提供后将启用多节点时间轴模式AiThoughtItem[][]
autoCollapse当整体状态变为完成时是否自动收起单节点模式内容booleantrue
dot-size节点圆点大小'small' | 'default' | 'large''default'
line-gradient引导线是否显示渐变booleanfalse
show-progress是否在顶部展示整体进度条booleanfalse
draggable是否启用拖拽排序booleanfalse
editable是否启用节点操作(添加 / 删除),通常与 draggable 搭配使用booleanfalse
markdown是否使用 Markdown 渲染节点内容(content / description 字段)booleantrue
theme-overrides实例级主题覆盖,复用全局 @yh-ui/themeComponentThemeVars 定义ComponentThemeVars

AiThoughtItem 结构

属性名说明类型
title步骤标题string
content / description步骤详细内容string
status步骤状态AiThoughtStatus
expanded详情是否默认展开boolean
icon覆盖默认状态图标名称string
id节点唯一标识,用于拖拽排序等string
extra额外业务数据Record<string, unknown>
progress当前步骤进度百分比 0-100number
clickable该节点内容是否可点击触发事件boolean

事件(Emits)

事件名说明回调参数
update:items节点列表发生变化时触发(items: AiThoughtItem[])
node-click用户点击某个节点内容时触发(item: AiThoughtItem, index: number)
node-delete点击删除按钮时触发(item: AiThoughtItem, index: number)
node-add点击新增按钮时触发(index: number)
reorder拖拽完成并重新排序节点后触发(items: AiThoughtItem[])

Slots

插槽名说明
default单节点模式下的内容区域自定义

在 Nuxt 中使用

该组件完美支持 Nuxt 3/4。在 Nuxt 项目中,组件会被自动按需导入。

有关详细配置,请阅读 Nuxt 集成文档

主题变量

思维链组件 YhAiThoughtChain 深度集成了全球化设计体系。

变量名说明默认值
--yh-ai-thought-chain-line-color引导线颜色var(--yh-border-color-lighter)
--yh-ai-thought-chain-active-color活跃状态时的颜色var(--yh-color-primary)
--yh-ai-thought-chain-content-bg内容区域背景色var(--yh-fill-color-light)
--yh-ai-thought-chain-content-radius内容区域圆角8px

Released under the MIT License.