@agent-relay/fleet

中文文档
17.2.0发布于 2026/11/07Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 2.4万

舰队节点SDK代表中继特工.

中文使用文档
文档目录9 节
  1. 安装
  2. 快开始
  3. 仓库放置
  4. 在方案方面担任节点
  5. 特工人员
  6. 日志
  7. 概念
  8. 触发和 match
  9. 许可证

@ agent-relay/ fleet (英语)

舰队节点SDK代表中继特工 定义 a 节点 ——一个命名为主机,发布打字广告 能力 (动作和产物)和反应 通过 触发 那么... 说吧.. 给它服务 agent-relay fleet CLI(英语:CLI).

使用 @agent-relay/fleet 当您想要曝光本地能力时( 运行一个命令, 生成一个 hand, 答复请求)到接力工作空间作为长生节点. 使用 @agent-relay/sdk 用于纯代理信件和 @agent-relay/harness-driver 启动和监督本地 直接控制进程.

完整文档 : extrelay.com/docs (英语)。 。 。 .

安装

npm install @agent-relay/fleet zod

快开始

import { defineNode, action, spawn, onMessage } from '@agent-relay/fleet';
import { z } from 'zod';

export default defineNode({
  name: 'builder',
  capabilities: {
    'run:test': action({ input: z.object({ suite: z.string() }) }, async ({ input }) => {
      // ...run the suite...
      return { ok: true, suite: input.suite };
    }),
    'spawn:claude': spawn({ harness: 'claude' }),
  },
  triggers: [
    // When a message matching the pattern lands in #deploys, invoke run:test.
    onMessage({ channel: '#deploys', match: /[Ss]hip/ }, 'run:test'),
  ],
});

交给CLI:

agent-relay node up --config ./builder.node.ts
# or drop the file at the project root as agent-relay.ts and run `agent-relay node up` (auto-discovered)
agent-relay fleet nodes      # list registered nodes
agent-relay fleet status     # show node + capability health

仓库放置

一个节点可以宣布它可以用一个 owner/repo 密钥映射 :

export default defineNode({
  name: 'builder',
  repoPaths: {
    'AgentWorkforce/factory': '/srv/repos/factory',
    'AgentWorkforce/relay': '/srv/repos/relay',
  },
  capabilities: {/* … */},
});

每个值必须是该节点上的绝对路径. 登记来源于 安置安全 AgentWorkforce/factory 财务报告和审定财务报表 AgentWorkforce/relay 键; 键 绝对值从不发送到中继广播、在名册中曝光或登录.

在方案方面担任节点

@agent-relay/fleet 也传送节点运行时间, 这样您就可以在其中启动一个节点 没有 CLI 的进程 :

import { defineNode, serveNode, startServeNode } from '@agent-relay/fleet';

const definition = defineNode({
  name: 'builder',
  capabilities: {/* … */},
});
const connection = { url: 'http://127.0.0.1:8787' }; // broker HTTP API base URL (apiKey optional)

// startServeNode returns a RunningNode { stop(), done } for supervised use…
const running = startServeNode({ definition, connection });
// …await running.done to block until the node stops, or call running.stop().
await running.stop();

// serveNode runs the node to completion (resolves when it stops / aborts).
await serveNode({ definition, connection });

特工人员

服务 spawn(...) 处理者要求核实准备状态,并在完成后完成 委托经纪人报告一名随时待命的工人。 发射失败向呼叫者传播. 引擎必须支持节点所属的产卵援引状态 限为130秒。 如果确认被中断,则核对所报告的 重试前引用孩子, 因为经纪人可能仍在完成设置 . 在发布/更新机队软件包之前释放兼容引擎 服务。 仅供遗留的安置操作员使用,操作员可以明确 设定 spawn(harness, { verifyReady: false }) 或者说 ctx.spawnAgent({ agent, verifyReady: false })。 。 。 . 这样会跳过投票准备和返回 { placement, ready: false, readiness: 'unverified' }· ; 它不能用作确认的启动或授权订阅创建。 已验证 准备状态仍然是默认的,必须保留给订阅者.

内置 spawn:<harness> 能力发射原始的带子。 一个 Agent Workforce persona) 也带有其常备指示,已安装的技能, MCP服务器、机床、模型和机床设置,必须加以解决 准备作为目标节点上的单位.

使用 defineWorkforcePersonaSpawnNode 从 @agentworkforce/local-surface 改为 广告 spawn:persona 能力:

import { serveNode } from '@agent-relay/fleet';
import { defineWorkforcePersonaSpawnNode } from '@agentworkforce/local-surface';

const definition = defineWorkforcePersonaSpawnNode({
  nodeName: 'workforce-personas',
  cwd: process.cwd(),
});

await serveNode({ definition, connection });

呼叫者可以通过 persona (id或JSON路径)代替 cli 页:1 代理中继 spawn MCP工具. 人产卵由SDK支撑并报告为 只有在节点登记和拉带准备握手后才能成功.

日志

节点运行时间发布结构化事件——每个节点注册的能力和每个节点运行时间 击出动作(引出/完成/失败,持续时间)——通过 logger 注射药 形状匹配 @agent-relay/utils' createLogger,以及 每个事件都有结构化 extra 袋( 装入{ capability, action, invocationId, ms, … })所以文件和JSON汇可以在字段上按键:

import { createLogger } from '@agent-relay/utils';

await serveNode({ definition, connection, logger: createLogger('fleet') });

通过CLI, agent-relay node up 显示此代码 :

agent-relay node up --config ./builder.node.ts --log-file ./node.log
agent-relay node up --config ./builder.node.ts --log-level debug   # include per-capability lines
agent-relay node up --config ./builder.node.ts --log-json          # one JSON object per line

能力登记记录 debug; 行动引用于 info; 失败 warn没有 logger 节点是沉默的——通过 logger (或老年人) log编号 :warn 调用)以接收事件. CLI线a warn- 只在没有时沉入 --log-* 旗帜是 给,所以 agent-relay node up 保持安静,除了警告,直到你选择加入.

概念

  • 节点 ——在工作空间注册的有名主机. defineNode 验证清单 在前面返回 a FleetNodeDefinition。 。 。 .
  • 能力 ——按名键进行打字操作. 以 action(...) (处理者) 带有可选 Zod 输入方案)或 spawn(...) (一种发射绳索的能力).
  • 触发 ——一条规则,对频道消息援引能力. 创建一个 与 onMessage({ channel?, match?, mention? }, actionName)。 。 。 .

触发和 match

match 接受字符串( substring/ 准确匹配) 或 a RegExp模式序列化为 中继和匹配的经纪人侧.

尚未支持 Regex 旗帜 . defineNode 拒绝 触发器 match 是一个 标记 RegExp (例如:. /ship/i, (中文(简体) ), /ship/m而不是默默地降下国旗——a 默不作声地剥去旗帜会改变匹配的语义而不发出警告. 直到旗帜支持 土地,编码为字符类的不敏感案例:

onMessage({ match: /[Ss]hip/ }, 'run:test'); // ✅ case-insensitive via character class
onMessage({ match: /ship/i }, 'run:test'); // ❌ throws at defineNode validation

许可证

阿帕奇 - 2.0

版本与发布记录

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

版本发布日期距今
17.2.0latest2026/11/071 天前
17.1.02026/11/061 天前
17.0.02026/11/052 天前
16.0.02026/11/043 天前
15.1.12026/11/044 天前
15.1.02026/11/034 天前

其他发布通道:next → 15.0.2-next.0。

关于 @agent-relay/fleet 的常见问题

@agent-relay/fleet 是什么?

舰队节点SDK代表中继特工.

如何安装 @agent-relay/fleet?

在项目目录运行 npm install @agent-relay/fleet,或使用 pnpm add / yarn add / bun add。

@agent-relay/fleet 支持 TypeScript 吗?

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

@agent-relay/fleet 支持 ESM 还是 CommonJS?

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

@agent-relay/fleet 需要什么版本的 Node.js?

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

@agent-relay/fleet 可以商用吗?

@agent-relay/fleet 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@agent-relay/fleet 的下载量有多少?

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

@agent-relay/fleet 还在维护吗?

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