# @aurigax-ai/wire 中文文档

规范地址：https://npmcn.com/package/%40aurigax-ai/wire/

版本：0\.1\.15
npm 元数据更新时间：2026-10-19T13:36:40.258Z
中文译文更新时间：2026-11-07T05:17:43.378Z
软件包许可：FSL-1\.1-MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aurigax-ai/wire
原文对照：https://npmcn.com/package/%40aurigax-ai/wire/?lang=original
项目主页：https://github.com/aurigax-ai/wire#readme
源码仓库：https://github.com/aurigax-ai/wire

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.2 MB，340 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：6 个
- 首次发布：2026-10-14T22:08:41.536Z
- 最新版本发布：2026-10-19T13:36:39.679Z
- 近 30 天下载量：3697（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 14 个）

## 中文简介

用于长期外部活动的状态图表解释器:代理、人类和命令,并附有日记和重排

## 安装

```sh
npm install @aurigax-ai/wire
```

也可以使用：`pnpm add @aurigax-ai/wire`、`yarn add @aurigax-ai/wire`、`bun add @aurigax-ai/wire`

## README

# @ aurigax-ai/ 有线

用于进程外长期活动的状态图表解释器: 编码代理, 人类的问题,命令和等待。 图形是节点、边缘和打入的 YAML 文件 状态。 每一步都写到一个日记上,所以运行在重启后存活:等待的节点 被再次取出 一个被切断的节点 重新开始或等待人类的选择.

这是Graphs特性背后的引擎 [奥斯提亚](https://github.com/aurigax-ai/ostia),以及 它作为命令或图书馆独立运行。 最高为0.1.1,公布日期为 `@aurigax-ai/graph`。 。 。 .

## 安装

```sh
pnpm add @aurigax-ai/wire
```

节点22或后.

## 命令

```sh
wire validate review.yaml
wire explain review.yaml
wire dry-run review.yaml --input task="fix the total" --mock review='{"verdict":"pass"}'
wire run review.yaml --input task="fix the total"
wire show <run> --data .wire/runs
```

`schema` 打印图表文件的 JSON Schema 并 `nodes` 列出无头主机的节点类型 运行. `run` 保持它的运行 `.wire/runs` 在当前文件夹中 (`--data <dir>` - 改变它),和 `show` 读他们与 `--data`。 。 。 . 无头主机运行 `command`, (中文(简体) ), `router`, (中文(简体) ), `wait` 财务报告和审定财务报表 `notify` 节点; 需要代理或 人类是拥有他们的宿主的.

## 图表运行时间

`wire runtime` 每个用户有一个长期运行的过程,显示为 `wire-runtime`,客户到达 超过 Unix 套接字( JSON- RPC 2. 0 与 `Content-Length` 框架;方法、权利和错误 内 [合同d](https://npmcn.com/package/%40aurigax-ai/wire/CONTRACT.md)) (中文(简体) ). 它的数据在 `$XDG_STATE_HOME/wire` (主要内容) `~/Library/Application Support/wire`及其插座在 `$XDG_RUNTIME_DIR/wire`; 每个数据运行一次 文件夹.

```sh
wire runtime start            # runs while a client is open, then exits 60 s after the last one leaves
wire runtime start --daemon   # keeps running with no client until it is stopped
wire runtime status           # whether it runs, its pid, version and mode
wire runtime stop             # lets started steps reach their next journal line, then exits
wire runtime tokens revoke <client>
```

在一个文件夹里, `wire list` 显示运行时间的图表, `wire start <name>` 启动一个 手动触发的已启用图 `agents: true`, (中文(简体) ), `wire runs` 列出文件夹的运行和 `wire show <run>` 以节点打印一个节点; 当没有运行时, 每个节点开始运行时间。 一个文件夹是 运行时间范围( e)`dir:<real path>`),以注册客户为准. CLI从来不允许 图表:该权利属于一个提供自身标志并询问其人的宿主,a 更改为外部的图表 `ui` 再次禁用它 .

Ostia 这样的主机会自己写一个符号文件 `provisionToken` 在开始或连接之前 至运行时间(套接字上无一对,因此持有 CLI 标志的代理无法提升) (d) 作为需要的节点种类的工人:代理人、批准、, 通知、连接器和命令. `serveKinds` 从 `@aurigax-ai/wire` 回答运行时间 `worker.task` 带有普通节点类型的请求。 一个步骤 他们的同类,没有工作者 `pending` 没有超时运行, 并开始 当一个工人登记的时候,一个工人离开的台阶,将在下一个台阶上重新排列.

运行时点火每个启用的图的触发器本身: 调度表,文件在文件夹中更改, 以及命令和代理活动,一旦每个客户端都连接了,它的主机就推了起来.

要保持它横跨登录, 在放出自己的两个文件后安装一个文件 在其中,它运行的节点(节点)`command -v node`)和包裹的 `dist/cli/bin.js` (单位:千美元)`node -p "require.resolve('@aurigax-ai/wire/package.json').replace('package.json', 'dist/cli/bin.js')"` 一个版本管理器的shim还不够,因为一个服务没有外壳: [文件/系统/线上运行时间](https://npmcn.com/package/%40aurigax-ai/wire/docs/systemd/wire-runtime.service) 输入 `~/.config/systemd/user/` (单位:千美元)`systemctl --user enable --now wire-runtime`),或 [docs/launchd/com.aurigax.wire-runtime.plist 页面存档备份,存于互联网档案馆](https://npmcn.com/package/%40aurigax-ai/wire/docs/launchd/com.aurigax.wire-runtime.plist) 输入 `~/Library/LaunchAgents/` (单位:千美元)`launchctl load`) (中文(简体) ). 两个都跑 `wire runtime start --daemon --foreground` 并在失败时重新启动。 运行时间所信任的 以及它不能抵御的 [警卫](https://npmcn.com/package/%40aurigax-ai/wire/SECURITY.md)。 。 。 .

## 图表

```yaml
version: 1
description: Run the tests, and ask before opening the pull request.
on: [{ manual: {} }]
start: test
state:
  exit: { type: integer, default: -1 }
nodes:
  - { id: test, kind: command, timeout: 10m, with: { run: [pnpm, test] }, out: { exit: exit } }
  - { id: ask, kind: approval, with: { question: "Tests passed. Open the pull request?" } }
  - { id: open, kind: command, with: { run: [gh, pr, create, --fill] } }
edges:
  - from: test
    when: [{ if: "state.exit == 0", to: ask }]
    else: end
  - { from: ask, to: open }
```

条件为CEL(`state.exit == 0`, (中文(简体) ), `'bug' in state.labels`, (中文(简体) ), `run.visits.fix >= 3`),对照宣布的国家进行解析和检查;它们从未被评价为 代码。 模板( E)`{{state.task}}`)从所出所出所出所出所出所出所出所出所出所出所出所出所出所出. `fixtures/` 持有三 完整实例.

## 触发器

从下面的触发器开始一个图 `on`数字 : `manual`, (中文(简体) ), `schedule` (单位:千美元)`every: 15m` 或五地间 `cron`,与 `catchUp` 当主机关闭时,运行一次, `files` (胶片) 相对于工作空间文件夹),, `command` (结束的命令,由 `exit`和 `agent` (代理人) 那个 `stopped` 或为 `waiting`) (中文(简体) ). 引擎读到: `TriggerScheduler` 将时间表保存在 主持人的时钟, `firedBy` 说明哪个事件引发起火,用什么有效载荷起火(`trigger.*` 内 (图),以及 `PathBatch` 将文件在秒内修改成一个事件。 东道主 监视文件、命令和代理; `concurrency: skip` 或者说 `queue` 决定当 a 运行仍在活动。 无头命令运行 `manual` 只有这个.

## 连接器

A 类 `connector` 节点叫外面的东西: `use: mcp:<server>/<tool>` 调用 MCP 工具 服务器主机已经设置,以及 `use: <connector>.<operation>` 呼叫本地连接器。 内容 产出为 `ok` 财务报告和审定财务报表 `data` (关于MCP, `text` 当工具返回时, `structured`; 失败 筹集 `ConnectorFailed`图表名称 a `connection` 只有名称: 主机保持连接 字段和秘密,并把它们交给连接器进行一个呼叫,所以文件永远没有秘密.

一个本土连接器是 `http`。它的连接持有基址(没有用户名或 密码 ) 和 认证 (`bearer`, (中文(简体) ), `header` 或者说 `basic`; 节点给出 `method`, (中文(简体) ), `path`, (中文(简体) ), `query` 和一个JSON `body`。路径保留在基址下: a `..` 分段,原始或百分比编码,a 被编码的斜线或后斜线被拒绝,转回到另一个源头或基地外也被拒绝 路径。 超过 1 MiB 的响应失败了节点,30 s 后呼叫停止. 田间或秘密 在发送任何信息之前拒绝控制字符, 并用固定键报告失败 消息 (`http: timeout after 30 s`, (中文(简体) ), `http: connection refused`, (中文(简体) ), `http: request failed`,... ),从来没有 网络库本身的文本,所以一个秘密无法通过错误到达运行的日志. `GET` 是一个读取和所有其他写作方法 (单位:千美元)`connectorUses` 告诉一个主办方. `connectorProblems` 检查图表 与主机的连接器和连接 `connectorCatalog` 列出它们时没有 URL 或 暗号.

## 作为图书馆

一个主机会给发动机它的节点类型,一个时钟和一个通知方式;发动机会保持运行.

```ts
import { Engine, FileJournalStore, commandNode, readGraphFile, realClock } from '@aurigax-ai/wire'

const engine = new Engine({
  host: { name: 'my-host', contract: 1, kinds: [commandNode(runner)], triggers: ['manual'],
    clock: realClock, notify: (notice) => console.log(notice.title) },
  store: new FileJournalStore('runs', () => Date.now()),
  changed: () => {},
})
```

节点类型返回 `done` 输出或 `waiting` 以它所等待的(偶像)盟誓, 财务报告和审定财务报表 `resume` 当事件到达时完成它, 也是在重启之后. `@aurigax-ai/wire/testing` 有假钟,假代理和批准种类 `contractFailures`,套房的宿主种类 一定要通过.

运行由 a 保存 `JournalStore`他们的每一个方法都带来承诺: `FileJournalStore` (一个) 每行文件夹,每行在运行前写出并同步)和 `MemoryJournalStore` (测试). 跑跑的一行是在商店里 之前它记录的步骤开始。 又一张店牌 `journalStoreFailures` 从 `@aurigax-ai/wire/testing` 当它不返回失败时; 给它 `tear` 财务报告和审定财务报表 `break` 当商店可能失去一行的尾巴或拒绝写作,所以这些也会被检查. `engine.start` 一旦运行在商店中(`journal-failed` 当它不能被创造的时候; `engine.recover` 财务报告和审定财务报表 `engine.summaries` 还原承诺.

## 许可证

[FSL-1.1-MIT 导弹](https://npmcn.com/package/%40aurigax-ai/wire/LICENSE)(原始内容存档于2018-03-21) (英语). :Source offers now, MIT 在每次发布两年后.

## 常见问题

### @aurigax-ai/wire 是什么？

用于长期外部活动的状态图表解释器:代理、人类和命令,并附有日记和重排

### 如何安装 @aurigax-ai/wire？

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

### @aurigax-ai/wire 支持 TypeScript 吗？

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

### @aurigax-ai/wire 支持 ESM 还是 CommonJS？

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

### @aurigax-ai/wire 需要什么版本的 Node\.js？

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

### @aurigax-ai/wire 可以商用吗？

@aurigax-ai/wire 使用 FSL-1\.1-MIT 许可。声明的许可为 FSL-1\.1-MIT，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @aurigax-ai/wire 的下载量有多少？

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

### @aurigax-ai/wire 还在维护吗？

最新版本 0\.1\.15 发布于 2026/10/19（19 天前）；至今共发布 14 个版本，其中过去 12 个月发布了 14 个；首次发布于 2026/10/15。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

