外观主题
阅读语言

PANOPTES —— 给 AI 一双眼睛和一双手:屏幕操作 MCP 服务器

软件 本站软件 1天前 更新于 20小时前
https://yxp.hk/p/P82G0F

📦 开源仓库:yxpil/PANOPTES

gh-card · yxpil/PANOPTES

📦 仓库名片 · Powered by gh-card


PANOPTES

面向 AI Agent 的屏幕操作 MCP 服务器:截图 + 鼠标键盘控制,9 个工具经 Streamable HTTP 上的 JSON-RPC 2.0 暴露。单个静态二进制,无 Python、无 Node、无浏览器。协议兼容性已对 BIT 的 MCP 客户端验证(initialize 握手、Mcp-Session-Id、tools/list、tools/call),支持 2024-11-05 / 2025-03-26 / 2025-06-18 三个协议版本。

9 个工具

工具 功能 需解锁控制
screenshot 截取显示器/区域为 PNG,可内嵌为 MCP image 内容 —
screen_info 显示器列表:几何、缩放、主屏标记 —
mouse_position 当前光标全局坐标 ✅
mouse_move 移动光标(绝对/相对) ✅
mouse_click 左/右/中键,1–3 连击,可先移动到 x,y ✅
mouse_drag 从起点按下、插值拖到终点、释放 ✅
mouse_scroll 滚轮(垂直/水平) ✅
key_type 向聚焦窗口输入文本 ✅
key_press 按键/组合键(cmd+c、enter、shift+tab…) ✅

控制授权(重要)

7 个控制工具会真的动你的鼠标键盘,默认锁定,须服务器运营者显式确认:

panoptes serve --yes-i-can-control-this-machine
# 或:PANOPTES_I_CAN_CONTROL=yes panoptes serve

未解锁时调用返回 isError 结果并说明解锁标志——智能体可以读懂原因并请求解锁。screenshot 与 screen_info 只读、始终可用(纯截图模式无需辅助功能权限)。

坐标系与 HiDPI

鼠标工具用全局逻辑坐标(主屏左上为原点,单位 = macOS 点 / Windows DIP / X11 像素)。每次截图都返回图像尺寸、显示器几何与缩放比,像素坐标按 logical = origin + pixel / scale 映射——Retina 2x 截图也能点得准。

安装与快速上手

从 Releases 下载(Linux x86_64 / macOS Apple Silicon / Windows x86_64),或 cargo install --git https://github.com/yxpil/PANOPTES:

panoptes tools                       # 预览将暴露的工具(不启动服务)
panoptes serve                       # 仅截图模式,默认 127.0.0.1:8757
panoptes serve --yes-i-can-control-this-machine   # 解锁控制
curl http://127.0.0.1:8757/health

BIT 集成:MCP 服务器页添加 http://127.0.0.1:8757(或让 BIT 自动发现该端口),握手后 9 个工具即可被 Agent 像原生工具一样调用,截图 PNG 可用 BIT 内置查看器直接看。

平台说明

  • macOS:屏幕录制(截图)与辅助功能(输入)权限需在 系统设置 → 隐私与安全性 授予;enigo 句柄首次输入调用才创建,纯截图无需辅助功能权限。
  • Linux:X11 会话(enigo/xcap 不支持 Wayland 输入;Wayland 截图视合成器而定)。
  • Windows:开箱即用。

许可

Apache-2.0

🛠 技术栈与开发

  • 开发语言:Rust 100%(edition 2021)——单一静态二进制,无 Python、无 Node、无浏览器
  • 屏幕与输入:xcap 截图 + enigo 鼠标键盘;全局逻辑坐标系 + logical = origin + pixel / scale 映射,Retina / HiDPI 2x 截图也点得准
  • 协议:MCP Streamable HTTP(JSON-RPC 2.0),兼容 2024-11-05 / 2025-03-26 / 2025-06-18 三版协议;/health 可查授权状态与工具数
  • 安全设计:7 个控制工具默认锁定,须 --yes-i-can-control-this-machine 显式解锁;screenshot / screen_info 只读、永久可用(纯截图模式无需辅助功能权限)

📚 文档与链接

  • 仓库:https://github.com/yxpil/PANOPTES · Releases 提供 Linux x86_64 / macOS Apple Silicon / Windows x64 三平台预编译包
  • 源码安装:cargo install --git https://github.com/yxpil/PANOPTES
  • 平台注意:macOS 需授予屏幕录制 + 辅助功能权限;Linux 需 X11 会话(Wayland 输入不支持);Windows 开箱即用