@camstack/system

中文文档
1.2.533发布于 2026/11/01MITTypeScriptESM + CJS

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

中文使用文档
文档目录3 节
  1. 它提供了什么
  2. 要求
  3. 文档

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集线器。代理仅在上述位置允许的情况下使用。

文档

看到 CHANGELOG.md 每个版本的变化。

版本与发布记录

@camstack/system 共发布 604 个版本,首次发布于 2026/06/22;过去 12 个月发布了 604 个版本。

版本发布日期距今
1.2.533latest2026/11/012 天前
1.2.5322026/10/312 天前
1.2.5312026/10/312 天前
1.2.5302026/10/313 天前
1.2.5292026/10/313 天前
1.2.5282026/10/313 天前

关于 @camstack/system 的常见问题

@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 和提交记录判断。