🤖 ComputerMate
“你的AI的手和眼睛在任何机器上。”\ _(人工智能时代被禁止的MCP……)_
 ](https://www.npmjs.com/package/@one710/computermate) ](https://www.npmjs.com/package/@one710/computermate)  
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.
