@crvouga/mockingbird-service-livekit

中文文档
3.11.0发布于 2026/11/11MITTypeScriptES Module构建来源已验证近 30 天下载 1.5万

与Twirp室APIs、JWT赠款、参与者、数据、SIP/Egress控制以及签名的Webhoks的状态LiveKit模拟器.

中文使用文档
文档目录5 节
  1. 安装
  2. 使用量
  3. 控件
  4. API 密码
  5. 故意不模拟

@crvouga/mockingbird-service-livekit (英语)

本地模拟器。 真正的API合同. 部分 嘲笑鸟。 。 。 .

状态 LiveKit 模拟器 livekit-server-sdk它为Twirp JSON室和代理发送API服务,验证了真正的HS256 LiveKit赠款,模型参与者/跟踪/数据状态,暴露了决定性的SIP和Egress控制,并正确发布了已签名的生命周期网络呼号.

安装

npm install -D @crvouga/mockingbird-service-livekit

仅限无害环境管理。 节点22+或Bun 1.2+.

使用量

import { RoomServiceClient } from "livekit-server-sdk"
import { createServer } from "@crvouga/mockingbird-service-livekit/server"

// Test setup: the emulator, with the API key and secret the application signs with.
const emulator = await createServer({
  keys: { fixture: "fixture-secret-that-is-at-least-32-chars" },
})

// The application's client. Only the host changes.
const rooms = new RoomServiceClient(emulator.url, "fixture", "fixture-secret-that-is-at-least-32-chars")
const room = await rooms.createRoom({ name: "consult", emptyTimeout: 60, maxParticipants: 4 })
const listed = await rooms.listRooms() // [room]

await emulator.close()

点 RoomServiceClient 时间 emulator.url。支持的房间服务电话包括 Create Room, ListRooms, Delete Room, Update RoomMetata, ListParticipants, GetParticipant, RemoveParticipant, UpdateParticipant, MutePublishedTrack, 和 SendData 。 房间的创建按名字是独有的,参与者身份在一个房间内是独一无二的.

AgentDispatchClient 使用相同的 URL 和 真 roomAdmin JWT 用于 createDispatch, (中文(简体) ), listDispatch, (中文(简体) ), getDispatch,以及 deleteDispatch。蛇大小写和骆驼小写请求字段工作。 发送会创建一个缺失的房间,开始没有指定工作,并保留其代理名和不透明的元数据. 列表读取了共享房间调度状态,并带有可选的调度标识过滤器;删除调度会删除其会员身份. 删除或过期将取消其调度。 调度/工作时间戳是仿真-时钟 Unix秒被编码为protobuf JSON字符串(SDK会暴露出比金特值). 测试对HTTP进行现有的2.19.1 SDK和记者准确的2.19.0.

控件

  • POST /__admin/rooms/:room/participants 加入一个合成参与者.
  • DELETE /__admin/rooms/:room/participants/:identity 断开它.
  • POST /__admin/rooms/:room/participants/:identity/tracks 发布一个音轨.
  • GET /__admin/rooms/:room/participants/:identity/inbox 检查目标数据.
  • GET /__admin/resources 财务报告和审定财务报表 POST /__admin/resources/:id/transition 检查和推进SIP/入侵状态.
  • POST /__admin/dispatches/:id/jobs 脚本 : {status?: "JS_PENDING"|"JS_RUNNING"|"JS_SUCCESS"|"JS_FAILED", workerId?, agentId?, participantIdentity?, error?}第一次任务创造了稳定的工作身份;后来调用更新并盖上其开始/结束/更新时间。 默认状态正在运行 .
  • 调度和工作与房间状态一起参与命名空间、重置、快照、时间线和故障恢复.
  • 故障预设包括速率限制,网络损失,和webhook重复/重排/投放交付.

Webhooks覆盖房间,参与者,轨迹, Egress, 和SIP过渡. 每个生体都有一个短命的LiveKit访问符签上 sha256 官方接受了索赔要求 WebhookReceiver。 。 。 .

API 密码

  • LiveKitAPI, (中文(简体) ), LiveKitAPIOptions, (中文(简体) ), LiveKitEvent: 处理者和事件合同.
  • LiveKitRoom, (中文(简体) ), LiveKitParticipant, (中文(简体) ), LiveKitTrack, (中文(简体) ), DataMessage, (中文(简体) ), AsyncResource, (中文(简体) ), AgentDispatch, (中文(简体) ), AgentJob, (中文(简体) ), JobStatus: 持久状态.
  • createRuntime, (中文(简体) ), LiveKitRuntime, (中文(简体) ), LiveKitRuntimeOptions:全程运行和webhook中枢.
  • LIVEKIT_NAMESPACE, (中文(简体) ), LIVEKIT_PRESETS:常数和故障控制.
  • document, (中文(简体) ), operationIds, (中文(简体) ), supportedOperationIds: 生成了 OpenAPI 元数据.
  • createServer, (中文(简体) ), LiveKitServerOptions, (中文(简体) ), DEFAULT_PORT, (中文(简体) ), serveTarget 从 ./server:节点适配器和CLI集成.

故意不模拟

真正的代理工人登记、工作执行、出版商发送、重新启动/部署政策、WebRTC媒体运输、信号套接字、转码、PSTN电话、生产规模、计费和仪表板没有模拟。 定型服务器API和生命周期合同是最初的忠诚界限.

官方预言: LiveKit 房间服务 API 财务报告和审定财务报表 代理发送服务 API。 。 。 .

版本与发布记录

@crvouga/mockingbird-service-livekit 共发布 41 个版本,首次发布于 2026/09/23;过去 12 个月发布了 41 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.11.0latest2026/11/11今天
3.10.92026/11/038 天前
3.10.82026/11/038 天前
3.10.72026/11/038 天前
3.10.62026/11/038 天前
3.10.52026/11/038 天前

关于 @crvouga/mockingbird-service-livekit 的常见问题

@crvouga/mockingbird-service-livekit 是什么?

与Twirp室APIs、JWT赠款、参与者、数据、SIP/Egress控制以及签名的Webhoks的状态LiveKit模拟器.

如何安装 @crvouga/mockingbird-service-livekit?

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

@crvouga/mockingbird-service-livekit 支持 TypeScript 吗?

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

@crvouga/mockingbird-service-livekit 支持 ESM 还是 CommonJS?

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

@crvouga/mockingbird-service-livekit 可以商用吗?

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

@crvouga/mockingbird-service-livekit 的下载量有多少?

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

@crvouga/mockingbird-service-livekit 还在维护吗?

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