# @crvouga/mockingbird-service-bedrock 中文文档

规范地址：https://npmcn.com/package/%40crvouga/mockingbird-service-bedrock/

版本：3\.11\.0
npm 元数据更新时间：2026-11-11T02:02:09.903Z
中文译文更新时间：2026-11-11T02:13:13.598Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40crvouga/mockingbird-service-bedrock
原文对照：https://npmcn.com/package/%40crvouga/mockingbird-service-bedrock/?lang=original
项目主页：https://github.com/crvouga/mockingbird/tree/main/packages/service/bedrock#readme
源码仓库：https://github.com/crvouga/mockingbird

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

- 包体积（解压后）：4.7 MB，18 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2026-09-22T23:52:49.588Z
- 最新版本发布：2026-11-11T02:02:09.519Z
- 近 30 天下载量：16575（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：42（近 12 个月 42 个）

## 中文简介

AWS Bedrock Runtime(Converse, ConverseStream, InvokeModel incl.)的状态可脚本仿真器. 土卫一嵌入,Nova Sonic双向流过h2c)和Agent Core Invoke Harness,精确地设定出事件流.

## 安装

```sh
npm install @crvouga/mockingbird-service-bedrock
```

也可以使用：`pnpm add @crvouga/mockingbird-service-bedrock`、`yarn add @crvouga/mockingbird-service-bedrock`、`bun add @crvouga/mockingbird-service-bedrock`

## README

# @crvouga/mockingbird-service-bedrock (英语)

> 本地模拟器。 真正的API合同. 部分 [嘲笑鸟](https://github.com/crvouga/mockingbird)。 。 。 .

状态、可脚本仿真器 **亚马逊 Bedrock 运行时间** 测试套房: `Converse`, (中文(简体) ), `ConverseStream` (字节精确) `application/vnd.amazon.eventstream` 框架, , , `InvokeModel` (Anthropic Messages bodies and Titan text interestings), (Athropic Messages bodies and Titan text princepting s. ), (原始内容存档于2018年1月1日). 克克林特·克林特(英语:C, `InvokeModelWithBidirectionalStream` (诺瓦·索尼克战胜了HTTP/2 二重奏)和特工科雷 `InvokeHarness` 事件流.

模拟器从不生成语言. 它会重播 **脚本**:一个测试说"当聊天模式 看见了 _头晕_ 与 `report_rx_symptom` 可用, 发送此选项 `toolUse`; 工具结果之后 回来,说这个。" 聊天转弯、批准卡、护栏板块、结构化产出和 节流阀变得具有决定力,并取出毫秒.

-   行动范围: [支助](https://github.com/crvouga/mockingbird/blob/main/packages/service/bedrock/SUPPORT.md)
-   与官方客户 证明我们的消费者针: `@aws-sdk/client-bedrock-runtime@3.1132.0`, (中文(简体) ), `@aws-sdk/client-bedrock-agentcore@3.1074.0`, (中文(简体) ), `@ai-sdk/amazon-bedrock@4.0.176` + 键 `ai@6.0.283`。 。 。 .

## 安装

```bash
npm install -D @crvouga/mockingbird-service-bedrock
```

仅限无害环境管理。 节点 22或 Bun 1.2. 无土生属地. 给它服务 `npx mockingbird-bedrock serve` (h2c + 一个端口的HTTP/1.1), `createServer` 从 `./server`, (中文(简体) ), 或者说 `createRuntime` 与任何获取服务器(仅HTTP/1.1——见下文).

## 使用量

对准应用程序 没有代码更改:每个客户端都会遵守端点变量.

```bash
npx mockingbird-bedrock serve --port 8796
export AWS_ENDPOINT_URL_BEDROCK_RUNTIME=http://127.0.0.1:8796    # SDK v3, AI SDK, botocore
export AWS_ENDPOINT_URL_BEDROCK_AGENTCORE=http://127.0.0.1:8796  # AgentCore InvokeHarness
```

```ts
import { BedrockRuntimeClient, ConverseCommand } from "@aws-sdk/client-bedrock-runtime"
import { createServer } from "@crvouga/mockingbird-service-bedrock/server"

// Test setup: start the emulator and script the model's turns.
const emulator = await createServer()
await fetch(`${emulator.url}/__admin/scripts`, {
  method: "PUT",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({
    scripts: [
      {
        id: "rx-symptom-approval",
        match: { modelId: "*sonnet*", lastUserText: { contains: "dizzy" }, toolsInclude: ["report_rx_symptom"] },
        turns: [
          {
            toolUse: { name: "report_rx_symptom", input: { symptoms: [{ symptomDefinitionId: 7, severity: 3 }] } },
            stopReason: "tool_use",
          },
          {
            expectToolResult: { name: "report_rx_symptom" },
            text: "I've flagged that for your care team.",
            chunkSize: 12,
            usage: { inputTokens: 1200, outputTokens: 40, cacheReadInputTokens: 900 },
          },
        ],
      },
    ],
  }),
})

// The AWS SDK client your application uses; only the endpoint changes.
const bedrock = new BedrockRuntimeClient({
  endpoint: emulator.url,
  region: "us-east-1",
  credentials: { accessKeyId: "fixture", secretAccessKey: "fixture" },
})

// Application code: the chat turn now asks for the tool, which the app shows as an approval card.
const turn = await bedrock.send(
  new ConverseCommand({
    modelId: "global.anthropic.claude-sonnet-4-6",
    messages: [{ role: "user", content: [{ text: "I feel dizzy" }] }],
    toolConfig: {
      tools: [{ toolSpec: { name: "report_rx_symptom", inputSchema: { json: { type: "object" } } } }],
    },
  }),
)
// turn.stopReason === "tool_use"
// turn.output?.message?.content?.[0]?.toolUse?.name === "report_rx_symptom"
// Sending the tool result back resumes the turn: "I've flagged that for your care team."

await emulator.close() // after the test
```

### 议定书

Bedrock 运行时默认的 AWS SDK v3 客户端 `NodeHttp2Handler`: 反对 `http://` 他们说话的终点 **(单位:千美元)** (有事先知识的文本HTTP/2),和Nova Sonic 需要 HTTP/2 二进制 。 AI SDK和Agent Core使用HTTP/1.1. `mockingbird-bedrock serve` 财务报告和审定财务报表 `createServer` 嗅出每个连接的第一个字节,并服务在一个端口上. ()`serve --config` 从另一个服务的CLI,和 `createRuntime` 在普通获取服务器后, 说 HTTP/1.1只——对AI SDK罚款,对SDK v3 Bedrock客户端不罚款. )

### 路线

| 路线 | 行为 |
| --- | --- |
| `POST /model/{modelId}/converse` | 电话JSON: `output.message.content[]` (单位:千美元)`text`, (中文(简体) ), `toolUse`, (中文(简体) ), `reasoningContent`, (中文(简体) ), `stopReason`, (中文(简体) ), `usage` (与 `cacheRead/WriteInputTokens` 当 a `cachePoint` 现为正本), `metrics`, (中文(简体) ), `trace.guardrail` (与 `guardrailConfig.trace: "enabled"`, (中文(简体) ), `x-amzn-RequestId`。 。 。 . |
| `POST /model/{modelId}/converse-stream` | 与事件框架相同的答案 : `messageStart`, (中文(简体) ), `contentBlockStart` (工具的使用), `contentBlockDelta` (单位:千美元)`text`, (中文(简体) ), `toolUse.input` 部分的JSON,(JSON), `reasoningContent`, (中文(简体) ), `contentBlockStop`, (中文(简体) ), `messageStop`, (中文(简体) ), `metadata`; 例外框中游. |
| `POST /model/{modelId}/invoke` | `amazon.titan-embed-text-*`数字 : `{embedding, inputTextTokenCount}` - SHA-256的确定单位矢量(`inputText`(默认为1024-d; `dimensions` 第256/512/1024号决议,或 `embeddingMode: "lexical"` (见设置). 克洛德模型:一个Anthropic Messages body in,一个Messages响应出. |
| `POST /model/{modelId}/invoke-with-bidirectional-stream` | 诺瓦·索尼克(Nova Sonic)`*sonic*`), HTTP/2 二进制:读取 `chunk` 当事件到达时( SigV4 信封未被包装), 回答每个用户的转动 `textOutput` + 24 kHz PCM 语气 `audioOutput` + 键 `toolUse`,则 `usageEvent`· ; `completionEnd` 之后 `sessionEnd`。 。 。 . |
| `POST /harnesses/invoke?harnessArn=` | 代理Core牵引流 : `messageStart`, (中文(简体) ), `contentBlockDelta` (单位:千美元)`text` 或者说 `toolResult[]`, (中文(简体) ), `contentBlockStop`, (中文(简体) ), `messageStop`, (中文(简体) ), `metadata`· ; `validationException` 编号 : `internalServerException` 编号 : `runtimeClientError` 边框. |

`modelId` 是任何型号 id, 推想- profile id (`global.` 编号 : `us.`)或URL编码为ARN. 西格维4是 未经核实而接受。 请求检查贝德洛克制造和我们的代码分支 执行:角色交替,第一个/最后一个消息是用户(助手) **预补** 被拒绝 用于Claude 4.5+),工具使用/工具结果配对, `toolConfig` 需要有工具块,a 文档需要一个兄弟姐妹的文本块, `temperature` + 键 `top_p` claude 4.5+上,加上 在"最佳猜想"下列出的最佳猜想检查,而非甲骨文验证. 错误是 `x-amzn-ErrorType: <Name>:http://internal.amazon.com/coral/com.amazon.bedrock/` + 键 `{"message"}`。 。 。 . 产出超过 `maxTokens` (%% 4个字符/ token) 切入 `stopReason: "max_tokens"`。 。 。 .

### 脚本( S)`PUT /__admin/scripts`(中文(简体) )

脚本是 `{id, match?, turns, times?}`。第一个脚本(按插入顺序) `match` 接受电话 **财务报告和审定财务报表** 在谈话中,有这个转折的答案; `times` 盖子 有多少人称它为答案.

-   **匹配密钥 :** `modelId` (英语:glob), `operation` (单位:千美元)`Converse`, (中文(简体) ), `ConverseStream`, (中文(简体) ), `InvokeModel`, (中文(简体) ), `InvokeModelWithBidirectionalStream`, (中文(简体) ), `InvokeHarness`, (中文(简体) ), `lastUserText` (字符串=包含,或 `{contains, regex, flags}`, (中文(简体) ), `systemHash` (系统文本块的SHA-256六分块与 `\n`, (中文(简体) ), `systemText` (同一系统合并文本, `cachePoint` 已跳过; 字符串 = 不敏感大小写包含,或 `{contains, regex, flags}`; 一个没有系统的电话 永远不要 匹配;用于 `InvokeModel` 克劳德 `system` 字符串或文本块,从未存储), `jsonSchemaName` (单位:千美元)`outputConfig.textFormat.structure.jsonSchema.name`; 字符串= 案件不敏感平等,或 `{contains, regex, flags}`; 无名称的呼叫 `outputConfig` 计谋永远不匹配, `toolsInclude`, (中文(简体) ), `toolChoice` (单位:千美元)`auto` 编号 : `any` / 一个工具名称, `hasDocument`, (中文(简体) ), `hasImage`, (中文(简体) ), `callIndex` (以0为基础的命名空间中调用索引). `match` 是关闭的集合:未知 或拼错的密钥 (`lastUserTxt`)或一个错误的标准使 `PUT`编号 :`POST /__admin/scripts` 答 400 (中文(简体) )`scripts[0].match.lastUserTxt: unknown match field (one of ...)`改为 默地匹配每通呼叫;文本匹配中的未知密钥也是如此.
-   **转动选择** 读取对话,而不是服务器状态: 转 _无_ 接电话 接下来 _无_ 助理留言,因为成员上次说了些什么。 所以,转0是 第一次调用用户回合,第1回合是工具结果后恢复调用,每个新调用 谈话重新开始. `expectToolResult: {name}` 只在最后一个时进行回转 用户信息带有该工具的结果。 Nova Sonic在会话中计算答案.
-   **转一圈** 系指: `text` (流入 `chunkSize`\- 典型的三角洲, `delayMsPerChunk` 模范者, `reasoning`, (中文(简体) ), `toolUse` (单位:千美元)`{name, input, toolUseId?}` 或名单, `json` (结构化产出,以所要求的形式提供——见下文), `guardrail` (单位:千美元)`true` 或者说 `{text, trace}`数字 : `guardrail_intervened` 与贝德罗克的拒绝文本和追踪, `toolResult` (痛苦), `userTranscript` (诺瓦索尼克), `stopReason`, (中文(简体) ), `usage`, (中文(简体) ), `fault`。 。 。 .
-   **结构化产出** (单位:千美元)`json`作为 JSON 的文本出炉 `outputConfig.textFormat.structure.jsonSchema` (Python Boto3客户端)和 `additionalModelRequestFields.output_config.format` (AI SDK 原生)和作为 `toolUse` 会 议 日 程 和 议 程 强制工具 `toolChoice: {tool}` 或者说 `{any}` (AI SDK的合成器) `json` 工具、见解 报告" `record_chat_*`) (中文(简体) ).
-   **未描述的默认**,每个计算为 `unscripted` (单位:千美元)`GET /__admin/scripts` → `stats`: 聊天 —— `"OK."` (单位:千美元)`PUT /__admin/settings {"defaultText"}`);结构输出 − 最小 对象对请求的图谋有效; 我们的意图分类器(它的系统提示请求) `{"category","confidence"}`页:1 `{"category":"general","confidence":0.9}`; 带有一个 Claude body (EMR 语录) → a 4-section SOAP JSON; Titan → sHA-256向量; Invoke Harness - 一个 `eligible_for_clinician_review` 预屏幕摘要; Nova Sonic → `"OK."` 说.

### 错误

转弯 `fault` (或预设, `POST /__admin/faults {"preset": "<name>", "count"?: n}`,哪个 适用于调用名称空间中的每个模型和调用:

| 预设/ 过失 | 效果 |
| --- | --- |
| `throttling` | 429个 `ThrottlingException` 在第一个块之前 |
| `mid_stream_exception` (单位:千美元)`afterChunks`, (中文(简体) ), `exceptionType`(中文(简体) ) | 内容块,然后是 a `modelStreamErrorException` 帧( 频率 : `internalServerException`(中文(简体) ) |
| `mid_stream_throttling` | 同样的a `throttlingException` 边框 |
| `validation_exception` 编号 : `validation` | 400个 `ValidationException` |
| `max_tokens` | 输出切成一半, `stopReason: "max_tokens"` |
| `latency` (单位:千美元)`latencyMs`(中文(简体) ) | 在模拟器时钟上的 2 s 后开始响应 |
| `truncated_frame` | 溪流通过一个框架半途而废(两个解码器都抛出) |
| `model_timeout`, (中文(简体) ), `service_unavailable`, (中文(简体) ), `access_denied`, (中文(简体) ), `internal_server` | 408 / 503 / 403 / 500 配对 `x-amzn-ErrorType` |
| `resource_not_found` | 404 (韩语) `ResourceNotFoundException` ("没有找到指定的资源ARN. 请检查archive-date=中的日期值 (帮助) Converse Stream and InvokeModel上的 Converse, ConverseStream 和 InvokeModel 任何帧之前,请检查ARN并再试一次 |

时空相接 **模拟时钟**: 冻结它( name`POST /__admin/clock {"freeze": true}`),并推进以释放出每个块,所以时间到第一的测试是准确的.

### 管理员(超过标准合同)

| 路线 | 效果 |
| --- | --- |
| `PUT /__admin/scripts` | 替换命名空间的脚本( N)`{"scripts": [...]}`; 验证. |
| `POST /__admin/scripts` | 添加脚本( 相同的 ids 覆盖) . |
| `GET /__admin/scripts` | 脚本加 `stats` (单位:千美元)`calls`, (中文(简体) ), `scripted`, (中文(简体) ), `unscripted`, (中文(简体) ), `byScript`, (中文(简体) ), `byFallback`, (中文(简体) ), `byOperation`) (中文(简体) ). |
| `DELETE /__admin/scripts[?id=]` | 删除一个或全部. |
| `GET /__admin/model-metrics` | 只是数据. |
| `GET/PUT /__admin/settings` | `defaultText`, (中文(简体) ), `chunkSize` (16个), `delayMsPerChunk` (0个), `audioTurnChunks` (0: Nova Sonic 语音转会结束于音频) `contentEnd`; n: 在n音频帧后, `embeddingMode` (单位:千美元)`sha256` 默认,或 `lexical`, (中文(简体) ), `validatePromptCaching` (单位:千美元)`true` 默认; `false` 禁用模式检查 `cachePoint`) (中文(简体) ). |

`embeddingMode: "lexical"` (opt- in; #522中的测试控制请求,而非贝德洛克行为) 保持土卫一矢量的确定性和单位长度,但使其具有相似性保留: 单词(小写、重音和发音下降)增加了SHA-256选择的签名维度,所以 文本仅在下列情况下不同:平分或相距相近; 相近相近; 共享最多的文本 单词得分高,文本没有共同分数的单词接近0. 这是口袋话,不是 语言模型:同义词("晚上"/"夜晚")保持相去不远. 脚本的文字向量不是 已执行. `normalize: false` 在两种模式中被忽略(向量总是单位长度).

请求日记`GET /__admin/requests`(仅每个电话的记录) `modelId`, (中文(简体) ), `script` (或 `unscripted:<default>`),工具名称,旗帜(`cachePoint`, (中文(简体) ), `guardrail`, (中文(简体) ), `document`, (中文(简体) ), `image`, (中文(简体) ), `structured:<form>`, (中文(简体) ), `stopReason` 和符号计数——永远不要及时发送或发送信件.

### 最佳猜测,不是甲骨文验证

这些要求的检查来自AWS的文档 以及消费者对现场报道的内容 贝德洛克,不是从观察服务; 标有"我们"的准确信息文本是 模拟器选择 。 全部回复 `400 ValidationException`。 。 。 .

-   **结构化产出计划** (单位:千美元)`outputConfig.textFormat.structure.jsonSchema.schema`旋转 和交锋, [文档](https://docs.aws.amazon.com/bedrock/latest/userguide/structured-output.html): `schema` 这不是JSON对象; `oneOf` (单位:千美元)`Schema type 'oneOf' is not supported`(三); `additionalProperties` 设置为除 `false` 在任何节点上, `true` 或子图 (单位:千美元)`For 'object' type, 'additionalProperties: <X>' is not supported. Please set 'additionalProperties' to false`; 仅限字符串 `enum` 结合工会 `type` 例如 `["string","null"]` (我们); `minimum`, (中文(简体) ), `maximum`, (中文(简体) ), `multipleOf`, (中文(简体) ), `minLength`, (中文(简体) ), `maxLength`, (中文(简体) ), `minItems` 1以上,一个外部 `$ref`递归 `$ref` (我们) 省略一个 `additionalProperties` 财务报告和审定财务报表 `anyOf` 编号 : `allOf` 内部 `$ref` 编号 : `$defs` 通过。 只有 `outputConfig` 选中窗体, 不 `additionalModelRequestFields.output_config` 也没有 `InvokeModel` 尸体
-   **文件名称** (单位:千美元)`document.name`, (中文(简体) ), [API 参考](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_DocumentBlock.html): ASCII 字母的 1到 200 个字符、 数字、 空白、 连字符、 括号和正方形 括号,不包含两个空白字符。 留言是消费者录的 从活贝德洛克.
-   **`cachePoint`** (单位:千美元)[文档](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html): (单位:千美元) `cachePoint` 内容块直接位于 `document` 块(消费者报告;我们的信息); 在交锋/交锋上 `cachePoint` 内 `system`, (中文(简体) ), `messages` 或者说 `toolConfig.tools` (克洛德·3.5·海库、3.5·索内 v2、3.7·索内、克洛德) 4,后为Opus / Sonnet / Haiku, 有线和神话; Nova Micro / Lite / Pro / 2 Lite),相配 在平原上, `us.` 编号 : `global.` 和ARN表单。 列表增长: 转换模型 检查关闭 `PUT /__admin/settings {"validatePromptCaching": false}`编辑 `ttl` 字段为 未检查.
-   **未知的型号标识** 仍按正常情况回答(`modelId` 是任何编号。 A 类 `knownModels` 设置 使未知的 id 失败在 # 523 中被请求, 但未构建: 是否活的 Bedrock 答案 `ResourceNotFoundException` 或者说 `ValidationException` 因为它没有被观察到.

### 命名空间

`x-mockingbird-namespace`页:1 `/__admin/ns/<name>` 前缀在端点 URL上,或者通过证书: SDKs 无法添加信头, 因此绘制每个工人的访问密钥 id : `PUT /__admin/credentials {"credentials": {"<AWS_ACCESS_KEY_ID>": "<namespace>"}}`。 。 。 .

### 故意不模拟

-   语言:输出只来自脚本或固定的默认.
-   真实语音:Nova Sonic音频出自440 Hz PCM语气,其长度跟随文本;音频 在其中被计数,从未被转录(口语转折匹配 `lastUserText: ""`) (中文(简体) ).
-   `InvokeModelWithResponseStream` (没有消费者称它) 护栏评估本身 (单位:千美元)`ApplyGuardrail`; 脚本决定护栏何时介入, 快速缓存算术 (cache sorders计数为0,除非脚本被写入),模型特定输出符号限制.
-   SigV4 签名未被验证;访问密钥 id 只选择一个命名空间 .

## API 密码

| 导出 | 仁爱 | 说明 |
| --- | --- | --- |
| `BedrockAPI` | 类 | 进程模拟器 : `fetch`, (中文(简体) ), `reset`, (中文(简体) ), `scripts()`, (中文(简体) ), `putScripts(scripts, replace?)`, (中文(简体) ), `removeScripts(id?)`, (中文(简体) ), `stats()`选项: `sqlite`, (中文(简体) ), `now`, (中文(简体) ), `namespace`, (中文(简体) ), `settings`, (中文(简体) ), `scripts`, (中文(简体) ), `sleep`。 。 。 . |
| `createRuntime` | 函数 | 具有完整服务合同的仿真器(健康,管理员,命名空间,SigV4证书,预设,脚本). 选项 : `settings`, (中文(简体) ), `scripts`, (中文(简体) ), `clock`, (中文(简体) ), `seed`, (中文(简体) ), `adminKey`, (中文(简体) ), `onLog`, (中文(简体) ), `sqlite`。 。 。 . |
| `BEDROCK_PRESETS` | 对象 | 每个命名的断层预设. |
| `BEDROCK_NAMESPACE` | 字符串 | 服务名称, `"bedrock"`。 。 。 . |
| `bedrockError` | 函数 | 贝德罗克错误反应( A)`status`, (中文(简体) ), `x-amzn-ErrorType`, (中文(简体) ), `{message}`) (中文(简体) ). |
| `accessKeyCredential` | 函数 | SigV4 访问请求的密钥 ID( 如何将证书映射到命名空间) . |
| `clockSleep` | 函数 | 等待(可能冷冻)仿真时钟的睡眠. |
| `titanEmbedding` | 函数 | 确定性单元矢量土卫一回答. |
| `lexicalEmbedding`, (中文(简体) ), `EMBEDDING_MODES` | 函数,数组 | 选择式相似性保留嵌入和 `embeddingMode` 数值. |
| `sampleSchema` | 函数 | JSON Schema的最小实例(无标注的结构输出). |
| `parseScript` | 函数 | 验证一个脚本( 什么 `PUT /__admin/scripts` 运行). |
| `MODEL_OPERATIONS`, (中文(简体) ), `STOP_REASONS`, (中文(简体) ), `TURN_FAULTS` | 数组 | 价值 `operation`, (中文(简体) ), `stopReason` 财务报告和审定财务报表 `fault` 接受 . |
| `DEFAULT_SETTINGS`, (中文(简体) ), `DEFAULT_CHAT_TEXT`, (中文(简体) ), `DEFAULT_CLASSIFIER`, (中文(简体) ), `DEFAULT_SOAP_NOTE`, (中文(简体) ), `GUARDRAIL_BLOCKED_TEXT` | 数值 | 诸相缺失. |
| `encodeMessage`, (中文(简体) ), `decodeMessage`, (中文(简体) ), `FrameReader`, (中文(简体) ), `readFrames`, (中文(简体) ), `eventFrame`, (中文(简体) ), `exceptionFrame`, (中文(简体) ), `unwrapSigned`, (中文(简体) ), `crc32`, (中文(简体) ), `EventStreamError` | 代码c | 事件流编码器(精确的前奏,头和CRC32),双向. |
| `document`, (中文(简体) ), `operationIds`, (中文(简体) ), `supportedOperationIds` | 数值 | 销售商为OpenAPI合同及其业务代号. |
| `createServer`, (中文(简体) ), `serveTarget`, (中文(简体) ), `DEFAULT_PORT`, (中文(简体) ), `listenH2c` (单位:千美元)`./server`(中文(简体) ) | 节点 | 在一个端口上服务 h2c + HTTP/1.1 `serve` CLI 目标; 第8796端口; 任何获取处理器的双协议收听器. |

部分 [嘲笑鸟](https://github.com/crvouga/mockingbird)。 。 。 .

## 常见问题

### @crvouga/mockingbird-service-bedrock 是什么？

AWS Bedrock Runtime\(Converse, ConverseStream, InvokeModel incl\.\)的状态可脚本仿真器\. 土卫一嵌入,Nova Sonic双向流过h2c\)和Agent Core Invoke Harness,精确地设定出事件流\.

### 如何安装 @crvouga/mockingbird-service-bedrock？

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

### @crvouga/mockingbird-service-bedrock 支持 TypeScript 吗？

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

### @crvouga/mockingbird-service-bedrock 支持 ESM 还是 CommonJS？

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

### @crvouga/mockingbird-service-bedrock 可以商用吗？

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

### @crvouga/mockingbird-service-bedrock 的下载量有多少？

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

### @crvouga/mockingbird-service-bedrock 还在维护吗？

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

