article
README
🚀 总控面板:电脑完全掌控
总控面板是一个基于 nut.js 的模型上下文协议(MCP)服务器,可实现对屏幕、鼠标和键盘的全面控制,让你轻松掌控电脑。
🚀 快速开始
要将此服务器集成到 Claude for Desktop 中,请按照以下步骤操作:
- 打开
C:\Users\<YourUsername>\.claude\config.js文件(如果文件不存在,则创建它)。 - 在文件末尾添加以下内容:
const pcControl = require('@jasondsmith72/total-pc-control');
pcControl.initialize();
- 保存文件并重启 Claude 应用程序。
✨ 主要特性
- 📷 屏幕捕获:捕捉整个屏幕或特定区域的截图。
- 🖱️ 鼠标控制:移动鼠标指针、点击(单击/双击)、滚动。
- ⌨️ 键盘输入:输入文本并按键盘快捷键。
- 🪟 窗口管理:查找、聚焦和操作应用程序窗口。
- 📋 剪贴板访问:复制和粘贴文本。
📦 安装指南
先决条件
- Node.js 16 或更高版本
- npm 或 yarn
- cmake-js(用于构建 native 依赖项)
安装步骤
- 克隆仓库:
git clone https://github.com/jasondsmith72/Total-PC-Control.git
cd Total-PC-Control
- 安装依赖:
npm install
- 启动开发环境:
npm run dev
💻 使用示例
基本功能(所有平台适用)
屏幕捕获
captureScreen(): 获取当前屏幕截图captureRegion(x, y, width, height): 捕捉指定区域的截图
鼠标控制
mouseMove(x, y): 移动鼠标指针到指定坐标mouseClick(button='left'): 点击鼠标(左键或右键)mouseScroll(deltaX, deltaY): 滚动鼠标滚轮
键盘输入
typeText(text): 在当前焦点窗口输入文本sendKeys(keys): 发送任意组合的按键事件
窗口管理
getWindowInfo(): 获取所有打开窗口的信息setWindowFocus(title): 将指定窗口设为活动窗口closeWindow(title): 关闭指定窗口
高级功能(Windows 系统专用)
剪贴板操作
copyToClipboard(text):复制文本到剪贴板pasteFromClipboard(): 从剪贴板粘贴内容getImageFromClipboard(): 获取剪贴板中的图像并返回 base64 数据
Windows UI 自动化工具(PowerShell 驱动)
元素信息查询
getUIElementInfo(windowTitle, options):- 返回指定窗口内控件的详细信息(名称、AutomationId、类名等)
- 支持部分窗口标题匹配
- 至少需要一个标识符(名称、AutomationId 或类名)
操作执行
invokeUIAction(windowTitle, action, options):- 对指定控件执行操作(点击、设置值或聚焦)
- 支持三种操作类型:
Click,SetValue,Focus - 需要提供值参数当操作为
SetValue
📚 详细文档
开发指南
- 使用开发模式运行服务器:
npm run dev
- 运行测试用例:
npm test
📄 许可证
本项目采用 MIT 许可证,具体条款请参阅 LICENSE 文件。
⚠️ 重要提示
此软件能够通过编程方式控制您的鼠标、键盘和其他系统功能。使用本软件即表示您承认并接受以下事实:
- 通过此工具赋予AI模型对计算机的直接控制可能导致意外后果。
- 软件可以控制您的鼠标、键盘和其他系统功能。
- 您完全自行承担使用此软件的风险。
- 本项目创建者和贡献者不对任何可能因使用此软件导致的数据丢失或其他后果承担责任。
微信扫一扫