netstar-ai-chat

AI Chat Panel component for Vue 3 — 可复用的人工智能对话面板组件
3,624
Install
npm install netstar-ai-chat
Latest Version:1.2.6
Older releases:3
License:MIT
Last Updated:Aug 7, 2026
Links: npm
Maintainer: suxueweibo

@netstar/ai-chat

Vue 3 AI 对话面板组件 — 可复用的智能对话 UI,支持多 Agent 切换、思考过程可视、工具调用渲染、子智能体调用、人工审批流程。

安装

npm install @netstar/ai-chat
# peer dependencies
npm install vue ant-design-vue ant-design-x-vue @ant-design/icons-vue

快速开始

<template>
  <ChatPanel
    :agents="agents"
    :roles="roles"
    v-model="inputText"
    v-model:agent-key="currentAgent"
    @submit="handleSubmit"
  />
</template>

<script setup lang="ts">
  import { ChatPanel, Langchain_py_AIMessage_V3, type AgentOption } from '@netstar/ai-chat';
  import '@netstar/ai-chat/style.css';

  const agent = new Langchain_py_AIMessage_V3({
    endpoint: 'http://localhost:8000/langgraph/stream',
    historyEndpoint: 'http://localhost:8000/history',
  });

  const agents: AgentOption[] = [
    { key: 'assistant', label: '通用助手', agent },
  ];

  const roles = {
    user: { placement: 'end' },
    ai: { placement: 'start' },
  };
</script>

核心概念

AgentRuntime 接口

ChatPanel 通过 AgentRuntime 接口与 AI 后端解耦,支持多种后端实现:

实现 说明
Langchain_py_AIMessage_V3 推荐 — LangGraph Python V3 SSE 流式接口,支持思考过程、子智能体
Langchain_py_AIMessage LangGraph Python V1/V2 SSE 流式接口
AI_SDK_AIMessage Vercel AI SDK 前端 Agent
AI_SDK_Save_AIMessage Vercel AI SDK + 服务端历史持久化
Dify_SDK_AIMessage Dify 平台 API

消息渲染(V3 blocks)

V3 Agent 通过 MessageBlock[] 描述消息的完整生命周期,ChatPanel 自动按阶段渲染:

💡 思考:需要调用子智能体计算...
     ┌─ general-purpose ─ 子代理 ──┐
     │ 💡 思考:解析表达式...         │
     │ ┌─ calculator ──────────────┐│
     │ │ input: 10+10  output: 20  ││
     │ └───────────────────────────┘│
     │ 结果为 20                      │
     └───────────────────────────────┘
     子智能体返回结果 20
10 + 10 = **20**
  • ReasoningBlock — 思考/推理内容,折叠在思考容器内
  • TextBlock — 回复文本
  • ToolCallBlock — 工具调用节点,渲染为 ToolCallNode
  • subAgentBlocks — 子智能体的完整消息流,渲染为 SubAgentNode

工具调用可视化

通过 toolRenderers 为特定工具名提供自定义渲染组件,未匹配的工具回退到 ToolCallNode。

子智能体

当 V3 Agent 调用 task 工具时,ChatPanel 渲染 SubAgentNode 组件展示子智能体的完整推理过程,包括其思考内容、工具调用和输出。

人工审批 (Human-in-the-Loop)

实现了 ExtendedAgentRuntime 的 Agent 支持中断/审批流程,支持批准、拒绝、修改后批准三种决策。

Props

属性 类型 默认值 说明
title string '对话助手' 面板标题
agents AgentOption[] 必填 Agent 列表
agentKey string — 当前 Agent (v-model)
modelValue string — 输入框内容 (v-model)
roles Record<string, any> 必填 BubbleList 角色配置
sessionKey string — 会话 key,变化时重置
initialMessages ChatMessage[] [] 初始历史消息
defaultToolRenderers ToolRendererMap — 全局工具渲染映射
customHtmlTags string[] — Markdown 自定义 HTML 标签
customComponents MarkdownCustomComponentMap — Markdown 自定义组件

导出

组件

  • ChatPanel — 主对话面板
  • AgentChat — 多 Agent 对话容器
  • AgentPicker — Agent 选择器
  • ToolCallNode — 工具调用时间线节点
  • SubAgentNode — 子智能体渲染节点
  • StreamMarkdown — 流式 Markdown 渲染
  • ThinkNode — 思考内容渲染节点
  • WriteTodosTopPanel — 待办面板
  • SaveModuleDocsRenderer — 文档保存渲染器

Agent 运行时

  • Langchain_py_AIMessage_V3 — LangGraph V3 SSE(推荐)
  • Langchain_py_AIMessage — LangGraph V1/V2 SSE
  • AI_SDK_AIMessage — Vercel AI SDK
  • AI_SDK_Save_AIMessage — Vercel AI SDK + 历史持久化
  • Dify_SDK_AIMessage — Dify 平台

工具函数

  • convertHistoryRecord / convertConversationDetail — 历史记录转换
  • extractTextContent / parseOpenAIAssistantToolCalls — 消息解析

类型

所有类型通过 @netstar/ai-chat 统一导出,包括 ChatMessage、MessageBlock、AgentRuntime、ExtendedAgentRuntime、ToolCallEvent、ToolTimelineItem 等。

License

MIT

Related Packages

@wil-works/evoke-chat

Evoke Chat — AI 对话与 Agent UI(对话窗口、消息体、卡片、工具调用、沙箱预览),...

1,409 0
@xiaofeiqwq/vue

MeowFlow 前端适配:Vue3 headless composable 与默认样式组件

304 0
@bztribe/agent-ui

general-agent(AGI 基座)Vue3 + TypeScript 前端组件库:API client / SSE 流式执行...

0
@useago/sdk

Create In-APP AI agents that answers question and performs actions. Works with R...

10,336 5
gimc-ai-agent

GIMC 智能客服(Vue3版)

4,456

Version History

Version Released Vue License
1.2.6 catalog: MIT
1.2.5 catalog: MIT
1.2.4 catalog: MIT
1.2.3 catalog: MIT
1.2.2 catalog: MIT