@formio/uag-engines

中文文档
2.0.0发布于 2026/11/13MITCommonJS构建来源已验证近 30 天下载 2079

Form.io Universal Agent Gateway(UAG)在他们自己的流程中,在远程引擎协议后方,主机引擎包,因此模型证书和模型流量都远离了UAG.

中文使用文档
文档目录5 节
  1. 运行它
  2. 设置
  3. 警卫
  4. 议定书
  5. 构建图像

@formio/uag-engines (英语)

表格.io UAG › 发动机 › 此页

运行Form.io UAG的引擎包在他们自己的进程,在远程引擎协议后. UAG以内置方式到达他们 remote 引擎类型。 型号API密钥和型号流量随后会停留在这个容器内,而UAG则不持有型号证书. 任何引擎包都在这里工作,没有改变.

引擎服务器没有Form.io证书. UAG从不发送一个:每个请求只携带引擎服务器密钥. 对于研究,UAG增加了一个寿命很短的可测值符,而引擎服务器使用它来称呼UAG的 /mcp。该令牌只允许任务只读工具,带有呼叫者的身份.

运行它

这个 formio/uag-engines 图像包括官方引擎 : jev, (中文(简体) ), claude, (中文(简体) ), openai, (中文(简体) ), grok 财务报告和审定财务报表 gemini。 。 。 .

services:
  formio-uag:
    image: formio/uag
    environment:
      UAG_ENGINES: jev:remote,claude:remote
      UAG_ENGINE_JEV_URL: http://uag-engines:3300
      UAG_ENGINE_JEV_KEY: ${UAG_ENGINE_SERVER_KEY}
      UAG_ENGINE_CLAUDE_URL: http://uag-engines:3300
      UAG_ENGINE_CLAUDE_KEY: ${UAG_ENGINE_SERVER_KEY}
      JWT_SECRET: ${JWT_SECRET}            # signs the scoped tokens for research
      # ... PROJECT, keys and the rest of the UAG's settings
    depends_on:
      uag-engines:
        condition: service_healthy

  uag-engines:
    image: formio/uag-engines
    environment:
      UAG_ENGINES: jev,claude
      TYPESAFE_API_KEY: ${TYPESAFE_API_KEY}
      CLAUDE_API_KEY: ${CLAUDE_API_KEY}
      UAG_ENGINE_SERVER_KEY: ${UAG_ENGINE_SERVER_KEY}
      UAG_SERVER: http://formio-uag:3200   # where research calls /mcp
    # No published port: only the UAG, on the same private network, reaches it.

在UAG上, <name>:remote 是这里托管的实例;默认情况下,它会在引擎服务器上使用同名的引擎(UAG_ENGINE_<NAME>_ENGINE 名称另一个)。 任何组合工作 : UAG_ENGINES=jev,claude:remote 保留 jev 在UAG, 和它的钥匙在那里, 移动只克劳德.

没有多克 : npm install @formio/uag-engines @formio/uag-claude运行 npx uag-engines 与相同的变量.

设置

变量含义默认
UAG_ENGINE_SERVER_KEY要求. 每个请求必须携带的密钥,至少32个字符. 无人机 remote 实例作为 UAG_ENGINE_<NAME>_KEY。 。 。 .
UAG_ENGINES要主机的引擎实例, 如 UAG : jev,fast:claude,local:openai至少一个.
UAG_ENGINE_<NAME>_<SETTING> 和每个引擎自己的变量每个实例的设置, 解决在UAG上。 见每个引擎的README,或 官方发动机。 。 。 .
UAG_SERVERUAG的URL,用于研究. 研究电话到 ${UAG_SERVER}/mcp,从不从请求中取出URL。 一定是这样 http 或者说 https没有它,研究摘要就被拒绝.
UAG_ENGINE_PATH安装了更多引擎包的绝对目录,例如挂载音量.
PORT, (中文(简体) ), HOST其所听处. 这个 formio/uag-engines 图像集 HOST=0.0.0.0。 。 。 .3300, (中文(简体) ), 127.0.0.1
SHUTDOWN_TIMEOUT在SIGTERM或SIGINT上,在起飞前让飞行中的请求完成多长时间,以毫秒为单位.10000
DEBUGformio:uag:engine-server 还记录每个引擎故障堆栈。 没有它,每个失败都是stderr上的一行:请求id,路径,以及错误的名称,状态和消息,永远不要请求.

引擎服务器拒绝启动, 打印 [uag-engines] Failed to start: 和原因,何时 UAG_ENGINE_SERVER_KEY 未设置或短于32个字符,当 UAG_ENGINES 无引擎名称, 当 UAG_SERVER 不是一个 http 或者说 https URL,或者当一个引擎无法被加载或创建时(例如缺失的软件包或需要的没有值的设置).

引擎在UAG上解决: UAG_ENGINES 被视为 @formio/uag-<type>,则 uag-engine-<type>从 node_modules 和上面的目录,然后从 <dir>/node_modules 每个目录在 UAG_ENGINE_PATH从工作目录上看, NODE_PATH 或节点的全局文件夹.

警卫

  • 每条路线,包括 /health,需求 Authorization: Bearer <UAG_ENGINE_SERVER_KEY>。在读取请求体之前,按恒定时间对密钥进行比较.
  • 将引擎服务器保留在只有UAG到达的私人网络上,而不发布其端口. 它会在启动时发出警告 当它听到一个公开的演讲.
  • 研究只使用请求所要求的工具和UAG的 /mcp 范围符号列表。 每一个电话都被记录下来,这个服务器所拨打的电话都是它回报的,不管引擎怎么说. 没有模型可以写出:令牌只允许只读工具.
  • 当UAG放弃一个请求(它的路由超时)时,引擎被中止,研究停止(还在连接时),MCP连接关闭.
  • 发动机错误只有在发动机标记它们可以安全显示时才传递(EngineError; 其它的都报告为"引擎失败(参见引擎服务器日志)". 每一个失败都用一行记录在这里,与错误的訊息:一个提供者SDK的訊息可以给一个账户或一个URL取名,所以将这些日志当作私用.

议定书

GET /health, (中文(简体) ), GET /v1/engines, (中文(简体) ), POST /v1/engines/:name/decide, (中文(简体) ), POST /v1/engines/:name/extract 财务报告和审定财务报表 POST /v1/engines/:name/generate (为生成代理引擎,在所附文档上免费提供文本),所有JSON protocol: 1 每一个身体。 见 @formio/uag-sdk/protocol 用于形状,和 引擎服务器 详细参考.

决定、提取和生成电话可能携带代理API请求 X-Request-Id。引擎服务器发送它与 每一个研究请求 /mcp 并把它放入它的日志,所以一个伐木代理可以分组一个运行的每个腿. 只有一个很短的符号(最多128个字母,数字, ., (中文(简体) ), _, (中文(简体) ), : 或者说 -)被传递;标题是任意选择的,协议版本不变.

构建图像

从寄存器根 :

docker build -f packages/engine-server/Dockerfile -t formio/uag-engines .

要添加一个引擎包, 要么生成图像( 图像运行于 node,所以切换到 USER root 页:1 RUN npm install --prefix /engines uag-engine-acme,然后回到 USER node,与 ENV UAG_ENGINE_PATH=/engines),或挂载包含 node_modules/uag-engine-acme 并列出在 UAG_ENGINE_PATH。 。 。 .

驾照:麻省理工.

版本与发布记录

@formio/uag-engines 共发布 13 个版本,首次发布于 2026/10/30;过去 12 个月发布了 13 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.0.0latest2026/11/132 天前
2.0.0-rc.11rc2026/11/105 天前
2.0.0-rc.102026/11/087 天前
2.0.0-rc.92026/11/079 天前
2.0.0-rc.82026/11/069 天前
2.0.0-rc.72026/11/0610 天前

关于 @formio/uag-engines 的常见问题

@formio/uag-engines 是什么?

Form.io Universal Agent Gateway(UAG)在他们自己的流程中,在远程引擎协议后方,主机引擎包,因此模型证书和模型流量都远离了UAG.

如何安装 @formio/uag-engines?

在项目目录运行 npm install @formio/uag-engines,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 uag-engines,可以用 npx uag-engines 直接运行。

@formio/uag-engines 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/formio__uag-engines 是否存在。

@formio/uag-engines 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@formio/uag-engines 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@formio/uag-engines 可以商用吗?

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

@formio/uag-engines 的下载量有多少?

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

@formio/uag-engines 还在维护吗?

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