SuperAPI AI 工具集

embedded-agents-messages-api

智能体与模型

查看项目

更新于 10-30 06:48

技能介绍

用途

embedded-agents-messages-api 解决的是“在 Next.js 应用里加入一个智能体或智能体聊天”的问题。它把 Claude 智能体嵌入到应用自身的进程中运行:Anthropic SDK 的 beta 工具运行器(client.beta.messages.toolRunner)在应用进程内驱动推理与工具调用循环,智能体只拥有包装函数交给它的工具,没有任何内置能力。按资料说明,这是新产品的默认做法;另有一个使用 Claude Agent SDK 的同类技能,会以子进程启动 Claude Code 引擎并自带文件与 shell 工具,仅在确需该引擎能力或产品已采用时才使用。两种方式共用同一套智能体目录,切换时目录不变。

主要能力

以目录定义智能体:每个智能体是 .claude/agents/<name>/ 目录,AGENTS.md 是其全部系统提示词;目录还可包含 knowledge/(知识文件)、局部技能 .claude/skills/(含 description 前置信息的 SKILL.md)以及 .mcp.json(MCP 服务器配置,密钥以 ${VAR} 引用)。

统一包装函数:一个 askAgent 函数运行任意智能体,代码中不出现智能体名称;listAgents() 自动发现目录,GET /api/agents 返回列表,POST 流式运行一个智能体。

调用者专属工具:可在路由中按请求构建工具并传入 askAgent({ ..., tools }),工具闭包持有调用者身份,不接收邮箱、用户、客户或账号 ID 参数,模型无法索取他人记录;该约束由读取每个工具 input_schema.properties 的单元测试固定。工具抛出 ToolError 时模型收到错误结果,其他异常只返回固定句子,输入先经 zod 校验。

工具边界:文件工具解析所有路径(含符号链接),拒绝 knowledge/ 或技能目录之外的内容及 .env 文件;MCP 服务器未列入 allowedTools 的工具不会展示给模型;stdio 服务器以安全环境白名单加自身 env 启动,不接触应用密钥。maxTurns(默认 10)与 maxBudgetUsd 在响应之间检查,越界的响应其工具不会执行。

使用方式

先在代码中搜索 askAgent:已存在则跳过安装;否则复制模板(agent.ts、agent-mcp.ts、route.ts、agent.test.ts、agents.live.test.ts)并仅改导入路径,安装 npm i @anthropic-ai/sdk @modelcontextprotocol/sdk zod server-only 与 npm i -D vitest,锁定精确版本。另需配置 ANTHROPIC_API_KEY 及智能体 .mcp.json 引用的各密钥,逐环境设置、不得提交;线上产品始终使用密钥,本地开发机 SDK 也可读取 ant auth login 的配置。新增智能体用 node <skill dir>/scripts/new-agent.mjs <name> 生成目录后填写 AGENTS.md(角色、来源、输出格式、拒绝规则等)。MCP 工具先用 discover-mcp-tools.mjs 列出,再按需写入 allowedTools。聊天界面无模板,需从 GET /api/agents 填充选择器,POST { agent, prompt, history } 并解析服务端事件({ text } 块,随后 { done, agent, metadata } 或 { error, agent }),输出按纯文本或净化后的 markdown 渲染,不得输出原始 HTML。

适用场景

适合需要在 Next.js 产品中提供多智能体选择、智能体只能访问其角色允许的工具、并须对调用者身份与成本做控制的场景;也适合需要智能体基于本地知识文件作答或经 MCP 访问外部服务的场景。示例目录含两个成品智能体(仅在被要求时复制):仅依据本地产品管理知识文件作答的 knowledge-agent,以及通过 Perplexity 联网检索并附引用的 research-agent(需 PERPLEXITY_API_KEY)。

限制与注意

无子进程依赖,任何能在一次运行期间维持 Node 进程的主机均可托管,但 stdio MCP 服务器为每次运行的子进程,因此不适用于 edge 运行时,且智能体文件须在部署追踪范围内。客户端提交的 history 可被伪造(包括助手轮次),只读智能体尚可接受,一旦工具代表调用者行动,须将对话记录留在服务端。任何发布前须运行 npm run agents:live(产生费用,不纳入 npm test)验证真实模型,并在自动化文档中说明每个智能体可读内容、可调工具与应用层的约束。

暂未提供

资料未提供收费、价格、托管平台具体清单或性能数据。