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-sqlite3Statement.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-destinationprovider (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-autotrackCap -以自我终止的方式跟随一个主题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(集合)提供并发出publicaddon-pages.listPages使用版本化的bundleUrls。类别:系统。- 功能:
addon-pages.
- 功能:
- 插件小部件聚合器 (
addon-widgets-aggregator):聚合的仅中心的单例addon-widgets-source(集合)提供并发出publicaddon-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
- 文档/建筑/ addon-lifecycle.md
- 文档/建筑/ secrets-keychain.md
- 文档/建筑/ storage-files.md
- 包/系统/ AGENTS.md
看到 CHANGELOG.md 每个版本的变化。