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
@useago/sdk
Create In-APP AI agents that answers question and performs actions. Works with R...
10,336
5
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 | |
| 1.2.1 | catalog: | MIT | |
| 1.2.0 | catalog: | MIT | |
| 1.1.4 | catalog: | MIT | |
| 1.1.3 | catalog: | MIT | |
| 1.1.2 | catalog: | MIT | |
| 1.1.1 | catalog: | MIT | |
| 1.1.0 | catalog: | MIT | |
| 1.0.8 | catalog: | MIT | |
| 1.0.7 | catalog: | MIT | |
| 1.0.6 | catalog: | MIT | |
| 1.0.5 | catalog: | MIT | |
| 1.0.4 | catalog: | MIT | |
| 1.0.3 | catalog: | MIT | |
| 1.0.2 | catalog: | MIT | |
| 1.0.1 | catalog: | MIT | |
| 1.0.0 | ^3.3.0 | MIT |