Skip to content

AgentCodeBlock

支持稳定流式更新、行号、聚焦行和复制反馈的代码块。

案例

AgentCodeBlockH5 与 Wevu 使用同一公共 API
实时状态
发布检查工作流AgentCodeBlock
agent.tsTypeScript
const controller = createAgentStreamController({  text: { targetLatencyMs: 620 }}) await controller.connect(events)

安装

bash
pnpm add @varo-ui/ai
pnpm dlx @varo-ui/cli add --target h5 components/agent-ui
pnpm dlx @varo-ui/cli add --target weapp components/agent-ui

UI 组件由 Registry 安装到项目本地,因此从 @/components/agent-ui 导入;@varo-ui/ai 只提供事件协议、流控制和 Markdown 能力,不导出 Vue/Wevu UI 组件。

基础用法

vue
<script setup lang="ts">
import { AgentCodeBlock } from '@/components/agent-ui'
</script>

<template>
  <AgentCodeBlock filename="agent.ts" language="TypeScript" :code="code" :focused-lines="[2]" />
</template>

Props

PropTypeDefault说明
codestring''代码
filenamestringuntitled.ts文件名
focusedLinesnumber[][]高亮行
languagestringtext语言
lineNumbersbooleantrue显示行号
status'complete' | 'streaming'complete状态

Events

EventPayload说明
copystring复制代码

Slots

Slot说明
footer底部扩展

平台差异

TargetImport
H5Named export from @/components/agent-ui
weapp默认导出自 @/components/agent-ui/AgentCodeBlock.vue

组件 API 在两个目标保持一致;DOM/WXML、调度和原生事件由目标实现负责。