@anvia/client

中文文档
1.8.0发布于 2026/11/06MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 2931

框架中立客户端协议,传输,以及安维亚的UI消息状态.

中文使用文档
文档目录7 节
  1. 安装
  2. 快速启动
  3. 能力
  4. 学多点
  5. 持久 HTTP 客户端
  6. 聊天UI 传输
  7. 重新开始的世代

@anvia/客户端

用框架中性流线协议连接任何前端到安维亚. 此软件包提供 HTTP和直接传输,运行时间验证,以及用于文本,工具和交互的UI消息状态.

安装

pnpm add @anvia/client @anvia/core

快速启动

设定一个返回 Anvia 客户端流的聊天端点, 如创建的 @anvia/server数字 :

import {
  applyClientStreamEvent,
  createHttpClientTransport,
  messagesToUIMessages,
  type UIMessage,
} from "@anvia/client";
import type { Message } from "@anvia/core/completion";

const transport = createHttpClientTransport({ endpoint: "/api/chat" });
const messages: Message[] = [{ role: "user", content: "Hello!" }];
let uiMessages: readonly UIMessage[] = messagesToUIMessages(messages);

for await (const frame of transport.send({ request: { type: "messages", messages } })) {
  if (frame.type === "stream_event") {
    uiMessages = applyClientStreamEvent(uiMessages, frame.event);
    console.log(uiMessages);
  }
}

传输验证了框架、事件顺序和流特性。 发送核心 Message[] 页:1 服务器; 保存 UIMessage[] 作为应用程序中的演示文稿状态.

能力

  • 用于JSONL或SSE的HTTP运输,外加用于过程内集成的直接运输.
  • 服务器边界上的本地补全和代理事件的适应器 .
  • 经验证的请求,事件,帧,以及坚持UI消息.
  • 消息转换和减少,包括流化工具参数和生成用法.
  • 已键入自定义流数据, Agent 交互,和 HTTP 恢复光标 .

对于反应, @anvia/react 通过 useChat 财务报告和审定财务报表 useCompletion通用JSONL/SSE 阅读器也可从下列网站获取: @anvia/client/transport 其他活动合同。 错误 框被跳过并报告到 onParseError (或与 strict: true),以及 readSseFrames 曝光 SSE 事件名称, 最后事件 ID, 并重试提示 .

学多点

持久 HTTP 客户端

可选 @anvia/client/durable 进口 DurableClient 财务报告和审定财务报表 DurableHttpError。安装 @anvia/durable 用来使用它。 它支持提交、列表、快照、, SSE观察,排队引导,批准响应,再试,取消,以及工具调节. 使用 client.steer(runId, { prompt: "Focus on recovery" }, { requestId: "correction-123" }) (d) 继续收到收据。 重新使用可选请求ID来复制交付; 观察 steering_applied 以确认输入的对话。 指导要求 匹配持久发布(在支持的对等区域内为0.8或更新).

用绝对的构造它 endpoint选项 fetch, (中文(简体) ), credentials静态或 按请求数 headers从中恢复 UI 状态 snapshot(runId),然后观察 stream(runId, { after: snapshot.cursor })输入记录和事件命令 验证。 重新连接是明确的;中止观察不会取消执行. 这些承诺的进展活动与sid-delta聊天流是分开的.

见 耐用 HTTP 指南。 。 。 .

聊天UI 传输

可选 @anvia/client/durable-chat 进口 createDurableChatTransport,哪个 将持久终点调整到 ClientTransport 使用的合同 useChat 从 @anvia/react 编辑 @anvia/react-ui 原始的 原始的 原始的 每个聊天会话创建一个传送;代理、会话和 请求身份是住在那里,而不是在单个信息请求中.

const transport = createDurableChatTransport({ client, agentId, sessionId });
const chat = useChat({ transport });

适配器以 enqueue: true 默认情况下, 绘制持久日记 事件改为 anvia.client.v3 框架、路径对生成它们的运行的交互响应,以及 使用可持久运行的 id 和 顺序 { streamId, after } 简历。 中止订阅 仅解析; 使用 transport.controller.cancel(), (中文(简体) ), retry(), (中文(简体) ), resolveTool() 或者说 reattach(runId, after) 明确运行控制。 繁忙的会议被报告为 DurableBusyError {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}然后重新行动起来 {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}然后重新行动 客户端历史被丢弃,有利于 耐用记录,所以 regenerate() 财务报告和审定财务报表 reset() 粗略; 不包含线程列表.

DurableClient 还揭露 submitGraph, (中文(简体) ), listGraphs, (中文(简体) ), graphSnapshot, (中文(简体) ), streamGraph,以及 cancelGraph. 图示载有可变节点/网格和明确的等待理由. 使用每个节点 runId 使用现有的反应/重试/和解方法。 图表流 携带 graphId 财务报告和审定财务报表 taskId; 刷新快照以获取最新的全图状态 .

重新开始的世代

重复 generation_start 对于未完成的转弯 message_reset 在此之前 新内容。 简化器可以清除信件的部件、元数据和生成状态 在维护身份和作用的同时 已完成的转会和其他代理范围不受影响. 更新服务器和前端副本 @anvia/client 一起来,所以前端 校验器确认此事件 .

版本与发布记录

@anvia/client 共发布 39 个版本,首次发布于 2026/08/16;过去 12 个月发布了 39 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.8.0latest2026/11/061 天前
1.7.02026/11/043 天前
1.6.02026/10/1919 天前
1.5.02026/10/1622 天前
1.4.42026/10/1325 天前
1.4.32026/10/1325 天前

其他发布通道:rc → 1.0.0-rc.11。

关于 @anvia/client 的常见问题

@anvia/client 是什么?

框架中立客户端协议,传输,以及安维亚的UI消息状态.

如何安装 @anvia/client?

在项目目录运行 npm install @anvia/client,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@anvia/core(^1.18.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@anvia/client 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@anvia/client 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@anvia/client 可以商用吗?

@anvia/client 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@anvia/client 的下载量有多少?

根据 npm 官方下载统计,@anvia/client 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,931 次,日均约 98 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@anvia/client 还在维护吗?

最新版本 1.8.0 发布于 2026/11/06(1 天前);至今共发布 39 个版本,其中过去 12 个月发布了 39 个;首次发布于 2026/08/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。