Skip to content

AgentCodeBlock

Code surface with stable streaming, line numbers, focused lines, and copy feedback.

Demo

AgentCodeBlockOne public API for H5 and Wevu
Live state
Release readiness workflowAgentCodeBlock
agent.tsTypeScript
const controller = createAgentStreamController({  text: { targetLatencyMs: 620 }}) await controller.connect(events)

Install

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

Registry installs the UI component into your project, so import it from @/components/agent-ui; @varo-ui/ai provides the event protocol, stream controller, and Markdown primitives—not Vue/Wevu UI components.

Basic Usage

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

PropTypeDefaultDescription
codestring''Code
filenamestringuntitled.tsFilename
focusedLinesnumber[][]Focused lines
languagestringtextLanguage
lineNumbersbooleantrueShow line numbers
status'complete' | 'streaming'completeStatus

Events

EventPayloadDescription
copystringCopy code

Slots

SlotDescription
footerFooter

Target Notes

TargetImport
H5Named export from @/components/agent-ui
weappDefault export from @/components/agent-ui/AgentCodeBlock.vue

The public API stays aligned across targets; DOM/WXML, scheduling, and native events are target-owned.