Files
aiops/backend/pkg/rdp
Logan.Li e0d652d211 feat: 完善堡垒机与 Agent 智能运维能力
- 支持 Windows Agent 构建、安装脚本和统一上报协议

- 增强 RDP 剪贴板、虚拟盘和文件传输能力

- 新增 AIOps 上下文工具、告警 RCA trace 落库和回放接口

- 重构 docs 模块文档并补充终端、堡垒机、监控、AI Agent 设计
2026-07-05 23:49:36 +08:00
..

RDP 协议栈分层

backend/pkg/rdp 是 AIOps 资产远程桌面的协议层。当前固定使用自研 RDP 引擎,第三方 grdp 兜底和 backend/third_party 已移除。根包只保留兼容入口、引擎创建与临时会话编排,协议细节逐步迁入域目录。// Logan.Li

引擎选择

环境变量 行为
RDP_ENGINE 保留兼容,不再参与引擎选择
RDP_DEBUG=1 打开协议级 trace 日志,统一输出 [RDP:TRACE]

目录职责

目录 职责
domain/ 对外契约:连接配置、浏览器输入事件、服务端帧、引擎接口、诊断结果、录屏摘要
transport/ TCP 上的 TPKT、X.224、TLS 升级与安全协议协商
credssp/ NLA/CredSSP/NTLMv2 认证,自研 ASN.1 与 NTLM 消息处理
rle/ RDP 位图 RLE 解压算法
trace/ 协议级调试日志开关,避免高频 bitmap 默认刷屏
根包 引擎选择、兼容入口、临时会话编排、MCS/GCC、Fast-Path 收发、键鼠输入、位图解码、探针入口

依赖方向

控制器只依赖根包 ezops/pkg/rdp 的 Engine、Config、ClientEvent、ServerFrame。根包向内组合 domain、transport、credssp、rle。底层域目录不能反向依赖控制器、数据库、WebSocket 或审计模型。

后续拆分目标

  1. 协议基础帧、TLS、X.224 只放 transport/。
  2. 登录认证只放 credssp/,不得调用 Gin/GORM。
  3. 浏览器与控制器共享的 DTO 先放 domain/,根包用类型别名兼容旧调用。
  4. pdu/ 承接 DemandActive、ConfirmActive、Synchronize、Control、FontList、BitmapUpdate 等状态机。
  5. graphics/ 承接 bitmap/RLE/PNG 或后续 raw frame 编码,输入只消费标准化矩形。
  6. input/ 承接鼠标、键盘、Unicode、组合键与自动执行。
  7. channels/ 承接 cliprdr、drdynvc、rdpgfx,避免虚拟通道逻辑污染会话主流程。
  8. recorder/ 承接 RDP 事件录制、回放和截图探针。
  9. 新增测试优先覆盖底层域目录,再用根包探针做资产联调。