v1.3.9

MCP 服务端集成(AI 远程管理)& 远程控制与文件传输闭环 & 主控增强

历时约 28 天,跨 39 次提交。本版本核心是引入 MCP(Model Context Protocol)服务端——在本地 127.0.0.1:6544 暴露 JSON-RPC 2.0 接口,通过 Bearer Token 鉴权,把主控的远程管理能力封装成 23 个工具喂给本地大模型(Claude Desktop、Cursor 等),用自然语言完成「查主机 → 看进程 / 截屏 → 读日志 → 执行命令 → 操控桌面 → 传文件」的全链路操作。其余改动围绕主控增强(客户端活动历史 / 日志右键菜单三连 / 列表排序记忆)与多项稳定性修复。

MCP 服务端集成(AI 远程管理框架)

  • 本地 MCP 服务端:新增 McpServer,基于 httplib 实现 JSON-RPC 2.0(initialize / ping / tools/list / tools/call),默认关闭
  • MCP 设置对话框:「扩展 > MCP 设置」可配置启用开关、端口、绑定地址与 Token;改动需重启主控生效
  • 分级开关McpReadonly(只读,默认开)、McpCmdWhitelist(命令白名单)、McpTerminal(持久终端)、McpRemoteControl(远程控制)、McpFileTransfer(文件传输)逐项门控,全程审计

安全边界:MCP 服务端默认关闭且仅本地回环监听,建议启用 Token 鉴权;执行 / 操控 / 传输类工具均为可选开关、默认关闭。

观测 → 执行 → 控制 → 传输,全链路闭环

只读观测(12 个工具默认可用)

  • 主机搜索search_hosts / get_host_detail / list_online_hosts
  • 系统观测list_processes / list_windows / list_files / list_services / list_registry
  • 取证与日志get_screenshot(可选 max_width)、get_activity_historyget_client_logget_audit_log

远程终端

  • exec_command:一次性执行,返回 stdout 与退出码,受命令白名单约束
  • 持久终端terminal_open / terminal_exec / terminal_close,cwd 与环境变量跨命令保留

远程控制(AI 操控桌面)

  • remote_open / remote_close 会话 + remote_keyboard(键名 / type)、remote_mouse(move / click / drag / scroll)、remote_clipboard(GBK 剪贴板写入)
  • 单设备单会话、闲置 300s 回收、与人工 Web 观看双向互斥

文件双向传输(V2 协议)

  • download_file:远程文件 / 目录拉回主控,逐文件 SHA-256 校验,.. 穿越防护
  • upload_file:主控本地文件 / 目录推送到远程主机,覆盖预检与跳过

主控功能增强

  • 客户端活动历史:记录活跃窗口驻留历史(上限 500 条),主机右键「活动历史」查看
  • 日志右键菜单三连:消息日志右键新增「在线通知」「拉黑 IP」「解封 IP」,IPv4 提取即时生效
  • 列表排序记忆:主机列表、进程 / 窗口列表排序偏好持久化,下次启动默认沿用

改进

  • 重复连接 standby 处理:重复登录暂存 standby,待旧连接超时 / 断线后晋升,避免循环重连与误报离线
  • 主机备注显示:远程桌面 / 虚拟屏幕标题显示主机备注而非 IP
  • 三态排序:列头循环「升序 → 降序 → 恢复默认」

Bug 修复

  • 客户端屏幕控制批解析错误:记录数是 7 的倍数时误判 MSG32 致注入错乱(%48==0 优先)
  • 心跳延迟更新 use-after-free:跨 PostMessage 持有 IoRefCount + memcpy 显式截断,修复 0xC0000409 崩溃
  • ONLINELIST_PRIVILEGE 枚举错位:损坏历史主机库,权限列移至 16 恢复原始枚举值
  • 远程桌面光标跨对话框污染:改 OnSetCursor 逐窗口路由
  • 客户端日志对话框停止刷新SetLimitText(0) 解除 EDIT 控件上限
  • 窗口标题乱码(FRP / NAT 下)、进程架构列排序无效窗口管理器视图检查陈旧状态

升级提示

  • MCP 默认关闭:需在「扩展 > MCP 设置」手动开启并重启主控;开启后可被本地 MCP 客户端调用,请妥善保管 Token
  • 文件传输需 V2 协议客户端:download_file / upload_file 需客户端支持 V2 文件传输协议,建议升级至 v1.3.9
  • 远程控制仅支持单显示器:多显示器主机阶段一拒绝,且与人工 Web 查看互斥
  • 拉黑 / 解封即时生效:「拉黑 IP」写入黑名单后新连接即被拒绝;「解封 IP」恢复为待授权状态