# @camstack/system 中文文档

规范地址：https://npmcn.com/package/%40camstack/system/

版本：1\.2\.533
npm 元数据更新时间：2026-10-31T16:27:37.220Z
中文译文更新时间：2026-10-31T18:29:16.713Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40camstack/system
原文对照：https://npmcn.com/package/%40camstack/system/?lang=original
项目主页：https://camstack-docs.zentik.app/
源码仓库：https://github.com/camstack/server

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

- 包体积（解压后）：27.2 MB，855 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：20 个
- peer 依赖：@camstack/types \*
- 首次发布：2026-06-22T10:47:09.622Z
- 最新版本发布：2026-10-31T16:27:36.982Z
- 已发布版本数：604（近 12 个月 604 个）

## 中文简介

核心插件CamStack -内置，管道，进程管理，认证，日志，事件

## 安装

```sh
npm install @camstack/system
```

也可以使用：`pnpm add @camstack/system`、`yarn add @camstack/system`、`bun add @camstack/system`

## README

# CamStack系统

核心插件CamStack -内置，管道，进程管理，认证，日志，事件。

包 `@camstack/system` npm。

## 它提供了什么

-   **文件系统存储** （`filesystem-storage`)：类别：系统。
    -   功能: `storage-provider`， `filesystem-browse`.
-   **SQLite设置** （`sqlite-settings`)：数据门后面的关系引擎（SQLite WAL）。寄存器 `data-store-provider`，内部收集帽；公众 `settings-store` 门是由 `storage-orchestrator`，它在这里发送。调用者永远不会直接到达这个插件-这就是使引擎可替换的原因。它也会注册 `vector-store` （sqlite-vec）从同一个数据库文件和相同的打开句柄， `storage-admin` （列出表，删除一个没有拥有的）和 `database-snapshot`：经过验证的数据库副本，夜间备份存档，以取代活动文件，由运行程序通过自己的连接在线程上写入。在自己的进程中运行(`execution.isolate`) - - - `better-sqlite3` `Statement.run` 不属于为API服务的事件循环。类别:系统。
    -   功能: `data-store-provider`， `vector-store`， `database-snapshot`， `storage-admin`， `records`.
-   **温斯顿日志** （`winston-logging`)：类别：系统。
    -   功能: `log-destination`.
-   **控制台日志记录** （`console-logging`)：类别：系统。
    -   功能: `log-destination`.
-   **洛基日志** （`loki-logging`)：选择日志目的地-批量处理该节点的日志条目，并通过/ Loki /api/v1/push将它们推送到Grafana Loki实例。始终注册，直到使用URL启用才会激活。类别:系统。
    -   功能: `log-destination`.
-   **Hub日志转发器** （`hub-forwarder`)：仅代理的日志目的地-通过集群代理将每个日志条目转发到集线器。永远不会在集线器本身上运行（集线器已经拥有日志接收器，在那里注册集线器转发器将创建一个写→摄取→写反馈循环）。类别:系统。
    -   功能: `log-destination`.
-   **备份协调器** （`backup-orchestrator`)：拥有调度的系统单例，只构建一次归档，然后将归档分发给所有启用的系统 `backup-destination` provider （local, S3, rsync，…）。集线器根上的进程内聚合器在集群集合上，没有本地深度。类别:系统。
    -   功能: `backup`.
-   **存储协调器** （`storage-orchestrator`)：单数据门。拥有面向消费者的产品 `storage` 字节数上限 `locationId → StorageLocation` 地图, `StorageLocationRef` 决议，调度到匹配 `storage-provider` 注册人(`filesystem-storage` 今天;SFTP / S3 / WebDAV插件旁边)-和 `settings-store` 帽为行，调度到 `data-store-provider` 引擎(`sqlite-settings` 今天;一个矢量引擎插入旁边)。只有通过这个插件才能到达引擎。类别:系统。
    -   功能: `storage`， `storage-migration`， `settings-store`.
-   **钥匙链** （`keychain`)：仅存储每个秘密值的中心。设置blobs包含一个标记；值在这里，AES-256-GCM在一个数据键下，由一个位置为configuration （config.yaml）的主键封装 `keychain.keyFile`（桌面操作系统的钥匙链，否则是默认的data-dir）。寄存器 `keychain` （内部的，根据传输盖章的调用方进行所有者检查）和 `keychain-admin` （System→Secrets）。在基础设施通道，就在设置门后面。类别:系统。
    -   功能: `keychain`， `keychain-admin`.
-   **记录条目** （`record-entries`)：为每个用户创建的条目列表（通知目标，代理，LLM配置文件）提供一个管理界面：任何插件声明一个带有的条目类型 `defineEntryKind` 条目UI列出，添加，编辑和删除它，密码字段派生自模式(`.meta({ secret: true })`）. 不保存自己的数据：它代表记录门和钥匙链上的每个条目的所有者，在集线器上进行处理。类别:系统。
    -   功能: `record-entries`.
-   **本地度量** （`metrics-native`)：类别：系统。
    -   功能: `metrics-provider`.
-   **设备历史** （`device-history`)：记录设备值的数字历史（能力历史块和生产商声明的系列），具有5m/1h/1d的汇总和保留。类别:系统。
    -   功能: `device-removal-hook`， `device-history`.
-   **快照** （`snapshot`)：拥有每个相机的最新帧：捕获阶梯（供应商原生→ffmpeg关键帧从流代理restream中抓取），急剧调整大小，无法回答的相机的礼貌帧，以及客户端实际获取字节的两个HTTP平面。在自己的进程中运行(`execution.isolate`捕获、转码和字节缓存不属于服务于API的事件循环。类别:系统。
    -   功能: `snapshot`.
-   **PTZ自动跟踪（仿真）** （`autotrack`)：包裹在 `ptz-autotrack` Cap -以自我终止的方式跟随一个主题 `ptz.move` 相机上的脉冲固件没有自动跟踪，由检测管道的跟踪框驱动。操作员将它绑定到每个相机，然后使用本机相机具有的相同的自动跟踪开关：绑定选择实现，而不是第二次切换。如果没有可读，它拒绝移动 `moveImpulseMs`同时，同一摄像头的固件自动跟踪报告携带武器。运行在进程中：它不产生任何东西，不携带任何帧，最多每隔几秒发出一个命令。类别:系统。
    -   功能: `ptz-autotrack`.
-   **预警中心** （`alert-center`)：类别：系统。
    -   功能: `alerts`.
-   **活性监测** （`liveness-monitor`)：断言该节点实际上正在工作-它有设备，它的相机在线，并且正在录制的相机没有无声地停止。为每个错误引发一个持久警报，并在恢复时解除它。之所以存在，是因为该中心曾经运行了四个小时，没有设备也没有录音，所有地面都很安静。类别:系统。
-   **系统配置** （`system-config`)：通过三级设置API公开集群范围内的支持xml的配置部分（服务器、授权）。Hub-only。类别:系统。
-   **日历** （`calendars`)：聚合的仅中心的单例 `calendar-source` 提供者（家庭助理和未来的插件源），并公开listcalendar / listEvents / importFromHomeAssistant。类别:系统。
    -   功能: `calendars`.
-   **插件页面聚合器** （`addon-pages-aggregator`)：聚合的仅中心的单例 `addon-pages-source` （集合）提供并发出public `addon-pages.listPages` 使用版本化的bundleUrls。类别:系统。
    -   功能: `addon-pages`.
-   **插件小部件聚合器** （`addon-widgets-aggregator`)：聚合的仅中心的单例 `addon-widgets-source` （集合）提供并发出public `addon-widgets.listWidgets` 使用版本化的bundleUrls。类别:系统。
    -   功能: `addon-widgets`.
-   **设备管理器** （`device-manager`)：统一设备持久性和管理的中心端单例。使用ctx。设置存储-没有直接的SQLite访问。替换设备持久性上限（一旦所有消费者迁移完毕，阶段2将删除设备持久性）。类别:系统。
    -   功能: `device-manager`， `device-state`， `device-extension`.
-   **本地身份验证** （`local-auth`)：内置本地用户名/密码认证。将auth-provider功能实现为默认登录路径。OIDC和其他提供商可以通过相同的功能一起注册。类别:系统。
    -   功能: `auth-provider`， `user-management`， `device-credentials`.
-   **平台探测（本地）** （`platform-probe`)：探测本地节点上的硬件和推理运行时。注册 `platform-probe` 此节点上的每个推理插件所消耗的能力。类别:系统。
    -   功能: `platform-probe`.
-   **本地网络** （`local-network`)：枚举集线器的网络接口，对它们进行分类（LAN / Wi-Fi / Docker / VPN / loopback），并对SDK客户端的连接端点进行排名。仅中心代理不能直接寻址。类别:系统。
    -   功能: `local-network`.
-   **远程访问编排器** （`remote-access-orchestrator`)：网络访问集合（Cloudflare Tunnel, ngrok，…）上的仅中心的单例facade。将统一的提供商列表显示到管理UI的远程访问页面。类别:系统。
    -   功能: `remote-access`.
-   **核心模块** （`core-blocks`)：存储和类型检查用户编写的TypeScript，它拥有带有插件自己的ctx的设备。只有管理员：一个块是一个插件，没有审查步骤，所以它是进程隔离的，当它运行。这个切片储存和服务；执行力是跑步者。类别:系统。
    -   功能: `core-blocks`.
-   **作曲家** （`composer`)：运行每个DECLARATIVE组合(一个核心块，其源是 `composition`)：在共享块集成下声明组合设备，本机注册其上限，并从其他设备的状态中派生每个字段 `from` / expression -事件驱动，不轮询。Hub-only。运行在它自己的运行器(`execution.isolate` + `group: composer`)：无帧和低崩溃，分组没有设备提供程序或数据平面。类别:系统。
    -   功能: `composer`.
-   **相机网格** （`camera-grid`合成相机：几个相机组合成一张固定的照片，像普通相机一样发射——像其他相机一样记录、回放和装订。这个组合只有在有东西消耗它的时候才会运行；在一个新的网格上，物体检测被关闭，因为组成它的相机已经被分析过了。在自己的进程中运行(`execution.isolate`)：它为每个活动组合生成一个ffmpeg并中继其字节，并且都不属于服务于API的事件循环。类别:系统。
    -   功能: `camera-grid-layout`， `motion`.

## 要求

-   文件系统存储：默认位置。
-   SQLite设置：默认位置。
-   温斯顿日志：默认位置。
-   控制台日志记录：默认位置。
-   Loki Logging：默认位置。
-   Hub Log Forwarder：仅代理。
-   Backup Orchestrator：默认位置。
-   存储编排器：默认位置。
-   钥匙扣：默认位置。
-   Record Entries: hub-only。
-   原生参数：默认位置。
-   设备历史记录：hub-only。
-   快照：默认位置。
-   PTZ自动跟踪（仿真）：默认位置。
-   警报中心：默认位置。
-   动态监视器：默认位置。
-   系统配置：默认位置。
-   日历：默认位置。
-   插件页面聚合器：默认位置。
-   插件小部件聚合器：默认位置。
-   设备管理器：默认位置。
-   Local Auth：默认位置。
-   平台探测（原生）：任意节点。
-   本地网络：默认位置。
-   远程访问编排器：默认位置。
-   核心块：默认位置。
-   作曲家：仅中心（运行器组） `composer`）。
-   相机网格：默认位置。
-   CamStack集线器。代理仅在上述位置允许的情况下使用。

## 文档

-   [文档/建筑/ transport.md](https://github.com/camstack/server/blob/main/docs/architecture/transport.md)
-   [文档/建筑/ addon-lifecycle.md](https://github.com/camstack/server/blob/main/docs/architecture/addon-lifecycle.md)
-   [文档/建筑/ secrets-keychain.md](https://github.com/camstack/server/blob/main/docs/architecture/secrets-keychain.md)
-   [文档/建筑/ storage-files.md](https://github.com/camstack/server/blob/main/docs/architecture/storage-files.md)
-   [包/系统/ AGENTS.md](https://github.com/camstack/server/blob/main/packages/system/AGENTS.md)

看到 [CHANGELOG.md](https://npmcn.com/package/%40camstack/system/CHANGELOG.md) 每个版本的变化。

## 常见问题

### @camstack/system 是什么？

核心插件CamStack -内置，管道，进程管理，认证，日志，事件

### 如何安装 @camstack/system？

在项目目录运行 npm install @camstack/system，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@camstack/types（\*）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @camstack/system 支持 TypeScript 吗？

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

### @camstack/system 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @camstack/system 可以商用吗？

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

### @camstack/system 还在维护吗？

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

