AI计算机交互工具

ComputerMate 是一个强大的模型上下文协议(MCP)服务器,使AI模型能够像人类一样与您的计算机交互。

  • by one710
  • TypeScript
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 one710/computermate

使用说明

🤖 ComputerMate

“你的AI的手和眼睛在任何机器上。”
(人工智能时代被禁止的MCP……)

ComputerMate 是一个强大的模型上下文协议(MCP)服务器,它赋予AI模型像人类一样与计算机交互的能力。从截图到点击按钮和键入文本,ComputerMate将您的本地机器(或沙盒Docker容器)作为LLM的一组工具公开。


✨ 特点和亮点

  • 🖥️ 交叉平台的:统一支持 Linux, macOS,以及 视窗 通过单一 native 模式。
  • 🐳 Docker优先:在完全隔离的Linux桌面环境中运行,具有VNC访问和状态持久性。
  • 🖱️ 虚拟光标:通过设置在Playwright中启用可视化鼠标光标 VIRTUAL_CURSOR=true.
  • 🌐 Web自动化:集成 剧作家 支持高性能、仅限浏览器的计算机使用。
  • 📐 智能缩放:通过以下方式自动缩放屏幕截图和坐标以适应LLM上下文限制 MAX_SCALING_DIMENSION.

🛠️ 可用工具

ComputerMate向LLM公开以下工具:

工具 AI友好描述
screenshot 拍摄当前屏幕或浏览器视口的完整屏幕截图。
screenshot_region 通过提供两个对角点来捕获特定的矩形区域。
click 移动指针并单击(支持左、中、右)。
double_click 在给定坐标处快速单击两次。
scroll 按给定量滚动(x,y)处的窗口内容。
type 将键盘文本输入发送到活动窗口。
keypress 发送组合键(例如。 ["ctrl", "c"], ["alt", "tab"]).
move 移动鼠标指针而不单击。
drag 从起点沿坐标路径拖动鼠标。
wait 暂停执行一段设定的毫秒数。
get_dimensions 检索屏幕或视口的宽度和高度。
get_environment 返回当前平台(linux, macos, windows, browser).
goto (仅限剧作家) 导航到特定的URL
back (仅限剧作家) 回到历史。
forward (仅限剧作家) 在历史中前进。
get_current_url (仅限剧作家) 检索当前活动页面URL

🚀 快速开始

📦 使用npx(本地)

直接运行服务器,无需安装:

# For local OS interaction (macOS, Windows, Linux)
npx @one710/computermate native

# For Playwright (Browser only)
npx @one710/computermate playwright

🐳 使用Docker(安全和持久)

建议使用ComputerMate的方式是通过Docker。这提供了一个沙盒环境和VNC访问。

# Clone the repository
git clone https://github.com/one710/computermate.git
cd computermate

# Start the server with persistence
docker-compose up --build
  • MCP端点: http://localhost:3000
  • VNC视图: localhost:5900 (密码: one710)

🛠️ 先决条件和安装

🐧 Linux(Ubuntu/Debian桌面版)

sudo apt-get update
sudo apt-get install -y libxtst-dev libpng-dev xvfb xdotool

🍎 macOS

确保您已授予 无障碍 您的终端或IDE的权限(例如,游标、VS代码、iTerm2) 系统设置>隐私和安全>辅助功能.

🪟 视窗

不需要外部二进制文件!


⚙️ 配置

环境变量

变量 目的 默认值
COMPUTER_TYPE (Docker/HTTP) 设置计算机后端: native 或 playwright. native
MAX_SCALING_DIMENSION 限制屏幕截图的最大宽度或高度(例如。, 1024x768).缩放坐标。 无
VIRTUAL_CURSOR (剧作家) 在“鼠标”所在的位置显示一个视觉红点 false
HEADLESS (剧作家) 在无头模式下运行浏览器。 false

🏗️ 本地开发

要从源代码运行,请执行以下操作:

# 1. Install dependencies
npm install

# 2. Build the project
npm run build

# 3. Run the server
node dist/index.js native

⚠️ 重要警告

[!小心] 此工具赋予您对系统的重大控制权。 具有ComputerMate访问权限的LLM可以读取您的文件,访问您的浏览器,并以当前用户的身份执行命令。

  • 慎用:不要在具有敏感数据或生产访问权限的计算机上运行此程序。
  • 沙盒推荐:使用 码头工人 最大安全的环境。
  • 密切监控:始终关注AI在做什么。

🛠️ MCP配置

将此添加到您的 claude_desktop_config.json (或等效的MCP客户端配置):

{
  "mcpServers": {
    "computermate": {
      "command": "npx",
      "args": ["-y", "@one710/computermate", "native"],
      "env": {
        "MAX_SCALING_DIMENSION": "1024x768"
      }
    }
  }
}

🌉 标准到Docker桥(mcp-remote)

如果您的MCP客户端(如Cursor或旧版本的Claude Desktop)仅支持 stdio 您可以将其桥接到ComputerMate Docker容器:

{
  "mcpServers": {
    "computermate": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "http://localhost:3000/mcp",
        "--transport",
        "http-only"
      ]
    }
  }
}

此命令启动本地 stdio 将所有请求透明地转发到在以下位置运行的ComputerMate容器的服务器 http://localhost:3000.


📄 许可证

该项目根据 MIT许可证。请参阅 许可证 文件以获取详细信息。


Built with ❤️ by the One710 Softworks Team.