内容
align="center">
<img src="./assets/hero.svg" alt="windows-computer-use-skill hero" width="100%" />
<h1>Windows 电脑使用技能</h1>
<p><strong顶级的 Windows 技能,带有独立运行环境和 MCP 服务器。</p>
<p>
<a href="https://githubimi321/windows-computer">GitHub</a>
·
<a href://clawhub.ai/wimi321-use-windows">ClawHub</a>
·
<a href="./README.zh-CN.md">简体中文</a>
·
<a href="./README.md">日本a>
</p>
</div>
## 安装来自 ClawHub
在 ClawHub 上发布为 [`computer-use-windows`](https://clawhub.ai/wimi321/computer-use-windows).
```bash
clawhub install computer-use-windows
```
## 定位
此仓库是:
- 一个顶级的 `skill`
- 一个独立的 Windows 桌面控制运行时
- 一个用于代理生态系统的电脑使用 MCP 服务器
它是按技能优先打包的,而不是按 Claude 优先打包,因此同一个运行时可以适应多个代理产品。
## 为什么存在
需求比“包装现有安装”更严格:
- 不依赖本地 Claude 应用程序
- 没有私有的 `.node` 二进制文件
- 没有提取的隐藏资产
- 安装技能,构建服务器,并使用它
该项目在 Windows 上遵循此规则。
## 您将获得
- 顶级的 Windows 电脑使用技能
- 用于截图、鼠标、键盘、应用程序启动、窗口/显示映射和剪贴板的独立 MCP 服务器
- 公共依赖链:`Node.js + Python + pyautogui + mss + Pillow + psutil + pywin32`
- 首次运行时引导:服务器创建自己的虚拟环境并自动安装依赖项
- 捆绑的技能安装,将整个项目复制到 `~/.codex/skills/computer-use-windows/project`
- 提取的 TypeScript 工具层连接到 Windows 本地 Python 后端
## 状态
在此仓库中实现:
- Windows Python 帮助程序和运行时引导
- 显示枚举和截图管道
- 鼠标、键盘、拖动、滚动和剪贴板基元
- 前台应用程序、应用程序下查找、运行应用程序、已安装应用程序和窗口显示查找路径
- Windows 优先的技能打包和捆绑项目有效载荷
- TypeScript 构建通过
在生产使用前仍推荐:
- 在真正的 Windows 主机上验证
- 演练 UAC、提升的应用程序、安全桌面、多显示器缩放和焦点边缘情况
此次会话没有附加真正的 Windows 机器,因此 Windows 上的运行时行为已实现但未在此处验证。
## 0.1.1 中修复的内容
版本 `0.1.1` 修复了共享系统密钥块列表逻辑中的 Windows 打包回归问题。迁移的文件有一个损坏的平台分支,在检查 OS 级快捷方式时可能会应用错误的不允许列表。
该逻辑现在再次使用正确的 `win32` 不允许列表,并且修复已同步到源树和捆绑的技能有效载荷中。
## 架构
```mermaid
flowchart LR
A[代理 / MCP 客户端] --> B[windows-computer-use-skill]
B --> C[提取的 TypeScript MCP 工具]
B --> D[独立 Python 桥]
D --> E[pyautogui]
D --> F[mss + Pillow]
D --> G[psutil + pywin32]
E --> H[鼠标 / 键盘]
F --> I[截图]
G --> J[应用程序 / 窗口 / 显示 / 剪贴板]
```
## 安装
### 1. 克隆并安装 Node 依赖项
```bash
git clone https://github.com/wimi321/windows-computer-use-skill.git
cd windows-computer-use-skill
npm install
npm run build
```
### 2. 启动服务器
```bash
node dist/cli.js
```
首次启动时,项目将自动:
- 创建 `.runtime/venv`
- 如果需要,引导 `pip`
- 从 `runtime/requirements.txt` 安装 Python 运行时依赖项
## MCP 配置
```json
{
"mcpServers": {
"computer-use": {
"command": "node",
"args": [
"C:/absolute/path/to/windows-computer-use-skill/dist/cli.js"
],
"env": {
"CLAUDE_COMPUTER_USE_DEBUG": "0",
"CLAUDE_COMPUTER_USE_COORDINATE_MODE": "pixels"
}
}
}
}
```
参见 [`examples/mcp-config.json`](./examples/mcp-config.json).
## 技能安装
此仓库在 [`skill/computer-use-windows`](./skill/computer-use-windows) 处提供一个顶级技能。
### 选项 A:从 ClawHub 安装
```bash
clawhub install computer-use-windows
```
### PowerShell
```powershell
powershell -ExecutionPolicy Bypass -File .\skill\computer-use-windows\scripts\install.ps1
```
### Bash
```bash
bash skill/computer-use-windows/scripts
```
安装后,捆绑项目位于:text
%USERPROFILE%\.codex\skills\computer\project
```
如果设置了 `CODEX_HOME`使用该位置。
## 验证在此会话中验证:
- `npm run check`
- `npm run build`
- `runtime/windows_helper.py` 的 Python 语法编译检查
- 捆绑的技能源完整性检查
- 捆绑的项目版本同步检查
- 用于截图、剪贴前台应用程序、应用程序枚举和窗口/显示 Windows 特定运行时
尚未在此会话中
- 真实的 Windows GUI 控制
- Windows 上的实时截图捕获
- 针对真实 Windows 应用程序的前台窗口强制执行
- UAC / 管理员窗口转换
- 混合 DPI 多显示器行为
## 运行时注意事项
### 权限
Windows 不需要与 macOS 相同的辅助功能 / 屏幕录制提示,但仍可以通过以下方式限制桌面控制:
- 提升的窗口,当代理未提升时
- UAC 安全桌面转换
- 会话 / 远程桌面边界
- 应用程序特定的反自动化保护
### 截图过滤
此独立运行时报告 `screenshotFiltering: none`.
这意味着截图过滤不是合成器本地的;网关仍在 MCP 层发生。
### 平台范围
此仓库故意仅限于 `Windows`.
涵盖的功能:
- 截图
- 鼠标控制
- 键盘输入
- 最前台应用程序检查
- 已安装 / 运行中的应用程序发现
- 窗口到显示映射
- 剪贴板访问
- 应用程序启动
## 示例命令
```bash
npm run build
node dist/cli.js
```
```bash
node --input-type=module -e "import { callPythonHelper } from './dist/computer-use/pythonBridge.js'; console.log(await callPythonHelper('list_displays', {}));"
```
## 仓库布局
```text
src/
computer-use/
executor.ts
hostAdapter.ts
pythonBridge.ts
vendor/computer-use-mcp/
runtime/
windows_helper.py
requirements.txt
skill/
computer-use-windows/
examples/
assets/
```
## 环境标志
- `CLAUDE_COMPUTER_USE_DEBUG=1`
- `CLAUDE_COMPUTER_USE_COORDINATE_MODE=pixels`
- `CLAUDE_COMPUTER_USE_CLIPBOARD_PASTE=1`
- `CLAUDE_COMPUTER_USE_MOUSE_ANIMATION=1`
- `CLAUDE_COMPUTER_USE_HIDE_BEFORE_ACTION=0`
## 路线图
- 在真正的 Windows 硬件上验证和强化
- 改进 Windows 上的应用程序身份和图标提取
- 添加自动化的 Windows 集成测试
- 发布签名的发布工件,以便于分发
## 许可证
MIT
## 鸣谢
该项目保留并改编了从 Claude Code 工作流中恢复的可重用 TypeScript 计算机使用逻辑,然后用全新的独立公共 Windows 实现替换了缺失的私有运行时。