@sh-renjian/ai-agent-client
v0.1.65
Published
UI-free JavaScript client for ai-agent-mcp HTTP APIs.
Readme
@sh-renjian/ai-agent-client
无 UI 的 ai-agent-mcp 正式会话客户端。它只负责 POST /api/chat/turn 和 SSE 事件,不创建 DOM、不依赖 React,也不包含 ULOC/SR 业务语义。
import { createAiAgentClient } from "@sh-renjian/ai-agent-client"
const client = createAiAgentClient({
baseUrl: "/api/ai-agent-mcp",
credentials: "include"
})
const result = await client.turn({
clientTurnId: crypto.randomUUID(),
message: { type: "text", text: "当前有多少设备?" }
}, {
onEvent(event) {
if (event.type === "capability_started") {
console.log(event.label)
}
}
})
if (result.type === "completed") {
console.log(result.answer)
}当返回 input_required 时,界面可以渲染 interaction.fields,再用同一 conversationId 提交结构化回复:
const resumed = await client.turn({
conversationId: result.conversationId,
clientTurnId: crypto.randomUUID(),
interactionResponse: {
interactionId: result.interaction.interactionId,
values: { scope: "示例范围" }
}
})边界
- 前端工程可把
baseUrl指向业务系统同源代理,例如/api/ai-agent-mcp。 - 浏览器端不应持有独立 Agent 服务密码或敏感 Token。
turn()始终使用正式 Chat Turn 合同,并持续读取 SSE,直到input_required、completed或failed。onEvent可用于展示accepted、Capability 进度和心跳等中间状态。- 旧
ask()、askStream()、interactionResume、uiContext和confirmedArgs不再提供。
