# @agentsmarket/pipeline-runtime 中文文档

规范地址：https://npmcn.com/package/%40agentsmarket/pipeline-runtime/

版本：0\.5\.13
npm 元数据更新时间：2026-10-31T20:44:06.768Z
中文译文更新时间：2026-11-06T06:33:19.447Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40agentsmarket/pipeline-runtime
原文对照：https://npmcn.com/package/%40agentsmarket/pipeline-runtime/?lang=original

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

- 包体积（解压后）：501 kB，133 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：7 个
- 首次发布：2026-09-20T20:36:51.438Z
- 最新版本发布：2026-10-31T20:44:06.599Z
- 近 30 天下载量：4443（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：29（近 12 个月 29 个）

## 中文简介

执行PIPELINE.md工作流程的运行时间(多技能管弦乐). 提供者-不可知论(MiniMax, Claude, OpenAI).

## 安装

```sh
npm install @agentsmarket/pipeline-runtime
```

也可以使用：`pnpm add @agentsmarket/pipeline-runtime`、`yarn add @agentsmarket/pipeline-runtime`、`bun add @agentsmarket/pipeline-runtime`

## README

# @ agentsmarket/ 管道运行时间

执行PIPELINE.md文件——多阶段AI工作流程.

> **注(第2阶段):** 生产执行者居住在 `@agentsmarket/server` (云雾工人), 运行管道服务器侧 `POST /v1/pipelines/:id/invoke` 与出处签名. 这个 `bin/webhook.mjs` 此软件包中的 HTTP 服务器是 **本地 dev 工具 + 自动托管引用**。 。 。 . 在市场外运行管道时使用(例如用于测试,自定义部署, 或发布您的管道到 `agentsmarket.world`) (中文(简体) ).

## 快开始

```typescript
import { MiniMaxProvider, runPipeline, runPipelineV2 } from '@agentsmarket/pipeline-runtime';

const provider = new MiniMaxProvider(); // reads MINIMAX_API_KEY env

const pipeline = {
  name: 'code-refactor',
  version: '1.0.0',
  stages: [
    {
      id: 'analyze',
      provider: 'minimax',        // R6: explicit provider declaration
      model: 'MiniMax-M3',
      system: 'You are a code analyzer.',
      prompt: 'Analyze this code: {{code}}. List 3 improvement opportunities.',
    },
    {
      id: 'refactor',
      provider: 'minimax',
      model: 'MiniMax-M3',
      depends_on: ['analyze'],
      system: 'You are a senior engineer.',
      prompt: 'Refactor the code based on: {{analyze}}. Original: {{code}}. Return only the refactored code.',
    },
  ],
};

const result = await runPipeline(pipeline, { code: '...' }, { provider });
console.log(result.refactor);
```

## 提供商 ≠型 (R6, v0.3)

从R6开始,每个LLM阶段必须宣布 **两者** `provider:` 财务报告和审定财务报表 `model:`。 。 。 . 按型号名称自动发送被删除. 见 [`docs/R6-PROVIDER-MODEL.md`](https://npmcn.com/package/docs/R6-PROVIDER-MODEL.md) 联 合 国 完整设计; 快速参考 :

```yaml
stages:
  - id: analyze
    provider: minimax        # required — one of openai|anthropic|minimax|openrouter|replicate
    model: MiniMax-M3        # required — must be in PROVIDER_REGISTRY[provider].supportedModels
    prompt: ...
```

使用 `validateR6Spec(spec)` 在无效对上( CLI / 服务器) 失败快取 :

```ts
import { validateR6Spec } from '@agentsmarket/pipeline-runtime';

const { errors } = validateR6Spec({
  stages: [{ id: 's0', provider: 'replicate', model: 'gpt-4o', prompt: 'x' }],
});
// errors[0]: "Stage 's0': Provider 'replicate' does not support model 'gpt-4o'.
//            Supported models for replicate: [...]"
```

用于自动迁移遗产v.02管道:

```ts
import { migrateProviderField } from '@agentsmarket/pipeline-runtime';

const migrated = migrateProviderField(legacySpec); // adds provider: minimax to LLM stages
```

## 提供者抽象

管道参考模型按名称排列. 运行时间选择一个知道这个模型的提供者:

-   `minimax` — MiniMax( 默认) 。 型号: `MiniMax-M3`, (中文(简体) ), `MiniMax-M2.7`, (中文(简体) ), `MiniMax-M1`。信封: `MINIMAX_API_KEY`。 。 。 .
-   `openai` - OpenAI(英语:OpenAI). 型号: `gpt-4o`, (中文(简体) ), `gpt-4o-mini`, (中文(简体) ), `o1-preview`, (中文(简体) ), `o1-mini`, (中文(简体) ), `gpt-3.5-turbo`。信封: `OPENAI_API_KEY`。 。 。 .
-   `anthropic` - 麻醉药 型号: `claude-3-5-sonnet-20241022`, (中文(简体) ), `claude-3-5-haiku-20241022`, (中文(简体) ), `claude-3-opus-20240229`。信封: `ANTHROPIC_API_KEY`。 。 。 .
-   `openrouter` ——多模式网关`supportedModels: ['*']`内容 : `OPENROUTER_API_KEY`。 。 。 .
-   `replicate` ——再现(影像源). 型号: `black-forest-labs/flux-pro`, (中文(简体) ), `black-forest-labs/flux-schnell`, (中文(简体) ), `stability-ai/sdxl`。信封: `REPLICATE_API_TOKEN`。 。 。 .

单一真相来源: `PROVIDER_REGISTRY` 内 [`src/provider-registry.ts`](https://npmcn.com/package/%40agentsmarket/pipeline-runtime/src/provider-registry.ts)。 。 。 .

## 状态

v0.5 — 文件输出 + 外壳相运( P5 + P4) 。 服务器表面 `call_price_usdc` + 键 `preferred_model` + 键 `capabilities` 每一个管道.

## 输出光谱助手(v0.5-P1.1)

管道宣布为顶级 `output:` 块描述它们生产的东西. 有两个关切: `format` (文本/json/zip/文件)和 `delivery` (内出或 已签名 URL). `validateOutputSpec(raw)` 返回正则的 spec 或 结构错误 :

```ts
import { validateOutputSpec } from '@agentsmarket/pipeline-runtime';

const r = validateOutputSpec({
  format: 'files',
  files: ['*.md', 'report.json'],
  delivery: 'signed_url',
  expires_in: 3600,
});
// r.ok === true, r.value = { format: 'files', files: [...], delivery: 'signed_url', expires_in: 3600 }
```

限制 : `expires_in` 60~秒~604800(7天). 使用球盖 `*` 财务报告和审定财务报表 `**` 与标准"没有斜过 `**`" 语义.

## 文件输出集(v0.5-P1.2/P5)

当一个舞台宣布 `output_format: structured_json` 并包括a `produced_files` 阵列, `extractProducedFiles(stageOutputs, spec)` 收藏 基础64编码文件,并对照 `output.files` 阴影 :

```ts
import { extractProducedFiles, globToRegex } from '@agentsmarket/pipeline-runtime';

const stageOutput = JSON.stringify({
  summary: 'done',
  produced_files: [
    { name: 'report.md', content_type: 'text/markdown', content_b64: 'IyBS...' },
  ],
});

const r = extractProducedFiles(
  { stage1: stageOutput },
  { format: 'files', files: ['*.md'], delivery: 'signed_url', expires_in: 3600 },
);
// r.files = [{ stage_id: 'stage1', name: 'report.md', size: 7, content_type: 'text/markdown', content_b64: '...' }]
// r.errors = [], r.warnings = []
```

限制:10 MB/文件,每引用50 MB总量,最多100个文件. 拒绝名称 `/`, (中文(简体) ), `\`, (中文(简体) ), `..` (平面命名空间). 不良基数64/ 超大小/ 路径- 逆变 返回中止管道的错误; 无法匹配的阴影返回警告.

服务器在 `POST /v1/pipelines/:id/invoke` (P5) 上传文件到 R2 并返回 HMAC 签名的 URL `output_files[]`。 。 。 .

## 壳牌舞台辅助器(v0.5-P4,仅CLI)

阶段可以声明 `shell: "cmd args..."` 或者说 `shell: { cmd, args?, cwd?, timeout_ms? }`。只通过 `pipeline call --local`; 服务器引用返回 `400 SHELL_UNSUPPORTED_ON_SERVER`。 。 。 .

```ts
import { NodeShellExecutor, ThrowingShellExecutor } from '@agentsmarket/pipeline-runtime';

// CLI passes a real executor
const cliDeps = { isLocal: true, shellExecutor: new NodeShellExecutor(), ... };

// Server passes a throwing stub (Workers can't spawn)
const serverDeps = { isLocal: false, shellExecutor: new ThrowingShellExecutor('server cannot spawn'), ... };
```

`NodeShellExecutor` 用途 `child_process.spawn(cmd, args, { shell: false, timeout })`数字 : 签名于 `timeout_ms` 过期( 地图为 `ShellStageTimeoutError`),非零 出 关 `ShellStageExecError`,以每分 1 MB 的速率调取.

**两种形式,两种不同的东西:**

| 表单 | 这是什么 | 如何运行 |
| --- | --- | --- |
| `shell: "npm test && npm run lint"` | (单位:千美元) **命令行** | `/bin/sh -c "npm test && npm run lint"` —— 说 `&&`, (中文(简体) ), `|`, (中文(简体) ), `>`, (中文(简体) ), `;` 并引用成文作品 |
| `shell: { cmd: "npm", args: ["test"] }` | a 一个 **精确参数v** | `spawn(cmd, args, { shell: false })` ——没有解释,没有重新引用 |

字符串形式是一个真正的外壳,因为舞台叫做 `shell:` - 一条线 自动分裂成一个正弦 `&&` 普通参数和引用 字义. 翻译一次,在 `normalizeShellStage`因此,每个 执行器( 本地节点, 远程沙盒) 运行完全相同的 argv 。 对象 窗体保持无外壳: 它是程序必须接收时使用的窗体 正是这些论点.

```yaml
stages:
  - id: lint-and-test
    shell: "npm run lint && npm test"
  - id: pytest
    shell:
      cmd: pytest
      args: ["-x", "tests/"]
      cwd: ./backend
      timeout_ms: 120000
```

限制 : `timeout_ms` 默认 30000, 最大 60000 (10 分钟) 。 输出上限 1 MB 每个溪流。 字符串窗体在 POSIX 下运行 `/bin/sh` (单位:千美元)`SHELL_BIN`) (中文(简体) ).

**一次碰撞要知道:** `${VAR}` 替换为运行时间 在YAML解析前 `${VAR}` 内置 a 外壳线由跑道的环境解决——不是由外壳解决. 这是 你想怎样 `shell: "curl -H 'Bearer ${API_KEY}' …"`,但是一个外壳 构造需要 `${...}` 本身(一个位置参数, `${1}`(中文(简体) ) 从来没有到达贝壳.

## 状态

v0.5 — 文件输出( P5) + shell stage (P4) 运出. R6(提供QQ模式) 运出于v0.3. Linear + DAG 级执行. 重试,平行分枝, 检查站.

## 常见问题

### @agentsmarket/pipeline-runtime 是什么？

执行PIPELINE\.md工作流程的运行时间\(多技能管弦乐\)\. 提供者-不可知论\(MiniMax, Claude, OpenAI\)\.

### 如何安装 @agentsmarket/pipeline-runtime？

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

### @agentsmarket/pipeline-runtime 支持 TypeScript 吗？

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

### @agentsmarket/pipeline-runtime 支持 ESM 还是 CommonJS？

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

### @agentsmarket/pipeline-runtime 需要什么版本的 Node\.js？

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

### @agentsmarket/pipeline-runtime 可以商用吗？

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

### @agentsmarket/pipeline-runtime 的下载量有多少？

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

### @agentsmarket/pipeline-runtime 还在维护吗？

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

