深入了解 DitOps 的三大核心模块:桌面端 Agent 自动采集全企业 IT 资产、IT 管理端可视化运维管理、超管端多租户全局管控。全方位覆盖从资产发现到远程协助、从实时监控到变更审计的企业 IT 运维全生命周期。
深入了解 DitOps 的三大核心模块
DitOps 桌面端 Agent 是系统的核心数据采集端,以系统托盘方式运行在每一台员工 PC 和 Mac 上,开机自动启动。内部运行三个独立的采集循环:配置采集循环(默认 300s)采集硬件、软件和网络全量快照;运行状态采集循环以动态频率采集 CPU/内存/磁盘/网络/进程快照;网络发现 + SNMP 探测循环每 30 分钟扫描 LAN 内邻居设备。Agent 采用 SHA-256 差异引擎架构——每次采集后生成 canonicalString 哈希与上次已上传哈希对比,无变化仅发 ~200 bytes 心跳包,有变化才上传全量快照。离线时数据缓存到 Hive 本地存储,网络恢复后自动补齐。支持 WebSocket 实时指令通道,接收管理员下发的 refresh_now、config_update、reboot、shutdown、update_agent 等指令。
IT 管理员日常使用的统一管理平台,同时支持 Web 浏览器、Windows 桌面客户端和 macOS 桌面客户端三种形态。以 NavigationRail 5 项导航组织:仪表盘(Dashboard)、设备列表(Devices)、告警中心(Alerts)、拓扑画布(Topology)、设置管理(Settings)。仪表盘通过 4 张统计卡片展示设备总数、在线/离线比、操作系统分布和最新变更动态,每 30 秒自动刷新。设备列表支持按主机名/显示名搜索、按在线状态和类型筛选,每行展示在线状态指示灯、主机名、IP 地址和设备类型,支持批量 CSV/Excel/PDF 导出。设备详情页按 device_type_id 自动匹配 10 大标签页,全面覆盖各类 IT 设备的运维管理需求。
面向超级管理员的总管理后台,统一管理所有租户组织和全局系统配置,支持 Web、Windows、macOS 三种形态。以 NavigationRail 6 项导航组织:全局仪表盘(Dashboard)、组织管理(Organizations)、用户管理(Users)、审计日志(Audit Logs)、版本管理(Releases)、系统设置(Settings)。全局仪表盘跨组织聚合统计数据,让超管一目了然掌握整个平台的运行状况。组织管理支持创建/编辑/配置下发,每个组织拥有独立的 JSONB 配置字段(max_devices、retention_days、rustdesk_relay_host、collection_interval_seconds 等)。版本管理完整实现了应用发布生命周期——在 app_releases 表创建版本 → 设置更新策略(支持按组织/全局、金丝雀灰度百分比、定时窗口、强制/可选模式、指定设备)→ 通过 trigger-update-check 触发客户端升级。
DitOps 全面覆盖主流平台。桌面端 Agent 以系统托盘方式运行在 Windows 10/11 和 macOS(Intel & Apple Silicon)上,开机自动启动,通过 WMI / system_profiler / sysctl / ifconfig 等原生接口采集数据,对用户日常工作零干扰。IT 管理端和超管端同时支持 Web 浏览器(Flutter Web 渲染)、Windows 桌面客户端和 macOS 桌面客户端三种形态,IT 管理员无论在公司、在外出还是在路上,随时随地打开浏览器或客户端即可掌握企业 IT 资产全貌。移动端适配也在计划中。
关于 DitOps 的常见疑问
桌面端 Agent 支持 Windows 10/11 和 macOS(Intel + Apple Silicon),通过 Flutter 跨平台框架构建。Windows 端使用 WMI(Windows Management Instrumentation)和 Win32 API 采集硬件、软件和网络信息,通过注册表实现开机自启。macOS 端使用 system_profiler、sysctl、ifconfig 和 networksetup 等原生工具采集,通过 LaunchAgent plist 实现自动启动。Agent 以系统托盘方式运行,对用户日常工作无影响。
数据安全是我们的首要关注。所有通信均走 HTTPS/WSS 加密传输,设备身份通过 device_token 在 device_computer_attrs 中验证。敏感凭据(Web 登录、SSH、RDP、RustDesk)使用 AES-256-GCM 加密存储。数据采集严格遵循最小化原则:只采集运维所需的硬件配置、软件清单和网络配置字段,绝不采集用户文件、键盘记录、浏览记录、剪贴板内容或屏幕截图。同时,系统托盘常驻图标明示 Agent 正在运行,远程协助每次必须经桌面端用户点击"接受"。支持全栈私有化部署,数据不出企业内网。
后端基于 Supabase 开源架构,通过 Docker Compose 一键部署 PostgreSQL 数据库 + GoTrue 认证 + Realtime 服务 + Edge Functions Serverless 计算平台。如需远程协助功能,额外通过 Docker Compose 部署 RustDesk 中继服务器(hbbs 信号服务器 + hbbr 中继服务器)。桌面端 Agent 可通过 Windows 域策略(GPO)或 MDM(如 Intune)批量下发 MSI 安装包静默安装;macOS 端可通过 MDM 分发 DMG。中小企业场景下,10 分钟内可完成首批设备接入。支持三级配置继承:system_config 全局默认值 → organizations.config 组织级覆盖 → 设备级可选覆盖。
完全可以。采集频率全部通过 organizations.config JSONB 配置,IT Admin 在设置页面即可在线修改,修改后通过 WebSocket 实时下发到 Agent。配置采集默认间隔 300 秒(5 分钟),运行状态采集默认间隔与配置采集一致。特别设计动态频率切换机制:Agent 本地实时检测 CPU 使用率、磁盘使用率、内存可用量,当检测到指标异常(CPU > 80%、磁盘 > 90%、内存 < 10%)时自动切换高频模式(默认 60 秒),异常冷却后自动降回正常频率。网络发现 + SNMP 探测默认每 30 分钟运行一次。
DitOps 集成自建 RustDesk 远程桌面解决方案。IT 管理员在管理端 AppBar 点击"远程协助"按钮,请求通过 request-remote Edge Function 发送。Agent 端 CommandService 保持 WebSocket 长连接,收到请求后在系统托盘弹出通知。用户点击"接受"后,双方获得 session_code,同时启动本地 RustDesk 客户端连接到自建中继服务器(hbbs + hbbr),通过 session_code 建立加密 P2P 或中继连接。关键安全设计:每次协助必须经桌面端用户点击"接受",IT 管理员无法强制远程控制;RustDesk 中继服务器自建自管,远程协助流量不经过任何第三方服务器;所有通信端到端加密。
DitOps 基于 Supabase 开源架构设计,完全支持私有化部署。通过 Docker Compose 一键部署完整后端:PostgreSQL 15+ 数据库(含 pgcrypto 扩展)、GoTrue 认证服务、Realtime WebSocket 服务、16 个 Edge Functions Serverless 函数。所有服务运行在企业自有服务器上,数据完全由企业掌控。RustDesk 远程桌面中继服务器 hbbs + hbbr 同样以 Docker Compose 方式部署。配置采用三级继承模型:system_config → organizations.config → 设备级覆盖,灵活满足不同规模企业的管理需求。