跳到主内容
文档

桌面客户端

PicoAide 桌面客户端的安装、连接、权限组和 Computer MCP 工具详解

桌面客户端是 computer MCP 的执行端。它运行在用户的本地计算机上,让 AI 可以操作桌面环境——包括截屏、鼠标控制、键盘输入、OCR 识别和白名单范围内的文件操作。

桌面客户端支持 Windows、macOS 和 Linux。

安装与运行

环境要求

  • Python 3.10 或更新版本
  • pip(Python 包管理器)

安装步骤

# 克隆仓库(或从管理员处获取 picoaide-desktop 目录)
git clone https://github.com/picoaide/picoaide.git
cd picoaide/picoaide-desktop

# 安装依赖
pip install -r requirements.txt

# 运行客户端
python main.py

主要模块

文件说明
core/connection.pyWebSocket 连接 PicoAide Server
core/executor.py执行桌面工具(截图、鼠标、键盘、OCR)
core/permissions.py权限控制(权限组 + 文件白名单)
core/config.py本地配置管理
ui/main_window.py主窗口(PyQt)
ui/login_window.py登录窗口

连接流程

1. 启动桌面客户端
2. 客户端显示登录窗口
3. 输入 PicoAide 服务器地址和普通用户账号
4. 登录成功后自动获取 MCP Token
5. 客户端通过 WebSocket 连接到 PicoAide Server 的 /api/computer/ws
6. 服务端登记该用户的 computer 执行端连接
7. AI Agent 可以通过 MCP 协议调用桌面工具

如果客户端关闭或网络断开,AI 调用 computer 工具会得到"代理未连接"错误。

权限组

桌面客户端提供按组开关的权限控制。你可以只开放当前任务需要的能力,不需要的功能保持关闭。

权限组包含的工具说明
屏幕截图computer_screenshot截取屏幕,返回 base64 PNG 图片
屏幕信息computer_screen_size, computer_active_window获取屏幕尺寸和当前活跃窗口标题
OCRcomputer_screen_text识别屏幕上的文字和坐标
鼠标控制computer_mouse_click, computer_mouse_move, computer_mouse_drag, computer_mouse_scroll模拟鼠标操作
键盘控制computer_keyboard_type, computer_keyboard_press模拟键盘输入
文件操作computer_file_read, computer_file_write, computer_file_list, computer_file_search, computer_whitelist在白名单目录内的文件操作

权限推荐策略

  • 日常办公:截图 + 屏幕信息 + 键盘控制
  • 开发工作:截图 + 键盘控制 + 文件操作(限定项目目录)
  • 数据录入:截图 + OCR + 鼠标控制 + 键盘控制
  • 全功能:所有权限组开启(仅在你完全信任 AI 时使用)

文件白名单

出于安全考虑,桌面文件操作不能读取整个磁盘。AI 必须先调用 computer_whitelist 获取可访问目录列表。

配置白名单

在桌面客户端的设置中可以配置文件白名单目录:

允许 AI 访问的目录:
- /Users/yourname/Documents/work/
- /Users/yourname/Downloads/reports/
- /Users/yourname/Desktop/projects/

AI 访问文件的流程

1. AI 调用 computer_whitelist 获取可访问的目录列表
2. AI 调用 computer_file_list 浏览白名单内的目录
3. AI 调用 computer_file_read 读取需要的文件
4. AI 调用 computer_file_write 写入处理结果
5. 所有操作都被限制在白名单目录范围内

安全建议

  • 只开放当前任务需要的最小目录范围
  • 不要将整个用户目录加入白名单
  • 敏感数据目录(如 ~/.ssh/~/.aws/)不应该加入白名单

Computer MCP 工具列表

工具说明典型使用场景
computer_screenshot截取屏幕,返回 base64 PNGAI 分析屏幕内容
computer_screen_size获取屏幕尺寸AI 了解显示区域大小
computer_active_window获取当前活跃窗口标题AI 了解用户正在使用的应用
computer_mouse_click点击指定坐标AI 模拟鼠标点击按钮
computer_mouse_move移动鼠标AI 移动鼠标到目标位置
computer_mouse_drag鼠标拖拽AI 拖拽文件或选择区域
computer_mouse_scroll滚动鼠标滚轮AI 滚动页面或列表
computer_keyboard_type输入文本AI 在文本框中输入内容
computer_keyboard_press按下按键组合AI 发送快捷键(如 Ctrl+S)
computer_screen_textOCR 识别屏幕文字和坐标AI 读取屏幕上的文本
computer_file_read读取白名单内文件AI 读取配置文件
computer_file_write写入白名单内文件AI 保存处理结果
computer_file_list列出目录内容AI 浏览文件夹中的文件
computer_whitelist获取白名单目录AI 确认可访问路径
computer_file_search按文件名搜索AI 在目录中查找文件

典型使用场景

AI 填写桌面应用表单

1. AI 调用 computer_screenshot 看屏幕
2. AI 调用 computer_screen_text 识别表单字段位置
3. AI 通过坐标调用 computer_mouse_click 聚焦输入框
4. AI 调用 computer_keyboard_type 输入内容
5. AI 调用 computer_mouse_click 点击提交按钮

AI 整理文件

1. AI 调用 computer_whitelist 获取可访问目录
2. AI 调用 computer_file_list 浏览目录内容
3. AI 调用 computer_file_read 读取文件内容
4. AI 分析后调用 computer_file_write 写入整理结果
5. AI 调用 computer_file_search 确认文件已归类

安全建议

  • 最小权限原则:只开启当前任务需要的权限组
  • 文件先查白名单:AI 操作文件前调用 computer_whitelist 确认路径
  • 随时可断开:鼠标和键盘工具会操作用户真实桌面,你应能随时关闭客户端
  • OCR 辅助决策:OCR 结果为 AI 提供坐标辅助,不代表 AI 可以绕过权限判断
  • 工作结束后断开:完成 AI 任务后关闭桌面客户端,避免不必要的访问