@ag-ui/客户端
连接到的客户端 SDK 代理用户互动(AG-UI)议定书 服务器.
@ag-ui/client 提供处理AG-UI通信全生命周期的代理执行:连接到服务器,处理流出事件,管理状态突变,以及提供被动用户钩.
安装
npm install @ag-ui/client zod
pnpm add @ag-ui/client zod
yarn add @ag-ui/client zod
zod(3.25.18+或4.x)是一种同级依赖. 客户的执行阶段
验证每个事件, 其方案在 @ag-ui/core/schemas,使用 zod 键
您的应用程序安装而不是捆绑的副本.
特征
- 🔗 HTTP 连接 – 说吧 –
HttpAgent用于与 SSE/ protobuf 支持的直接服务器连接 - 🏗️ 自定义代理 – 说吧 –
AbstractAgent用于构建自己的运输层的基类 - 📡 事件流 - AG-UI事件完全处理,并进行验证和转换
- 🔄 国家管理 - 自动消息/状态跟踪,并进行被动更新
- 🪝 订户系统 - 用于记录、持久性和自定义逻辑的中件式钩子
- 🎯 中间软件支持 - 转换和过滤带有函数或基于类的中间软件的事件
快速实例
import { HttpAgent } from "@ag-ui/client";
const agent = new HttpAgent({
url: "https://api.example.com/agent",
headers: { Authorization: "Bearer token" },
});
const result = await agent.runAgent({
messages: [{ role: "user", content: "Hello!" }],
});
console.log(result.newMessages);
执行限制
每个事件,一个代理收到, 每一个输入 HttpAgent 发送,剥去和
对协议计划进行验证 为了保持工作范围,客户
拒绝超过 1 000 000个容器条目的单个事件或输入(阵列)
元素、对象密钥和记录密钥;不透明字段,例如 state 没有
页:1 运行失败 AGUIEnforcementLimitError 命名路径
越过了界限.
// Raise the limit, or pass Infinity to disable it.
const agent = new HttpAgent({ url, maxEnforcedEntries: 5_000_000 });
限制范围包括剥离和验证。 之前运行的单行传
它们,如分析运输流,不计算,不透明田地
完全不受限制: state 通过执行并被克隆
以全额成本适用于下游.
使用中间软件
import { HttpAgent, FilterToolCallsMiddleware } from "@ag-ui/client";
const agent = new HttpAgent({
url: "https://api.example.com/agent",
});
// Add middleware to transform or filter events
agent.use(
// Function middleware for logging
(input, next) => {
console.log("Starting run:", input.runId);
return next.run(input);
},
// Class middleware for filtering tool calls
new FilterToolCallsMiddleware({
allowedToolCalls: ["search", "calculate"]
})
);
await agent.runAgent();
文档
- 概念和结构 :
docs/concepts - 完整 API 参考 :
docs/sdk/js/client
捐款
欢迎虫子报告和拉出请求! 请读我们的 贡献指南 先说.
许可证
《麻省理工学院2025 AG-UI议定书》
活动快照
MESSAGES_SNAPSHOT.metadata["@ag-ui/client"].authoritativeActivityTypes
控制快照所替换的活动。 拥有这些类型的阵列;
[] 没有,而且 null 拥有各种类型,即使是空快照。 无
声明,适用现行规则:包含任何活动的快照
替换所有活动,而只保存记录的快照。 一个不见了
名称空间或缺失字段使用此遗留规则。 无效的命名空间或字段
没有类型,包括包含非字符串条目的数组.
权威控制删除省略的活动消息 。 匹配消息标识 总是有更新,即使是在宣布范围以外的类型。 现有 保留信件位置,并按快照顺序附上新的ID. 该公约没有协调改变身份证或重新定位恢复的活动.
历史投影仪必须保持充分权威,扩大明确的范围
他们重建的类型. withAuthoritativeActivityTypes 执行此功能
规则; 在替换信件前, 将其调用到收到的快照上 .