尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Windows CLI that gives each coding agent its own visible cursor to operate apps in the background, without taking over yours. Low token cost.
翻译准备中
正在加载完整 README。
查看完整 README ↗Windows, with early macOS and Linux (X11 / Xvfb) versions; Wayland is not supported. Every coding agent gets its own cursor on your desktop, works in the background, and costs very few tokens.
Agents act through Windows accessibility, window messages and a synthetic pen, so your cursor stays yours. Each agent appears as a drawn cursor in its own colour with its name beside it. The cursor glides to a control along a curve, leaning into the move, and the control lights up with an outline in that colour when it is pressed. While an agent types, its cursor becomes a caret that follows the text. Agents work side by side while you keep working, even while you use another app full screen.
Above, and as a video: three agents draw a house, fill in and place an order, and type a note at the same time, in throwaway windows. demo/record.py records it again.
It is a single command, so any agent that can run a shell command on this computer can use it: Claude Code, Cursor, Codex, Gemini CLI, Copilot, Windsurf, OpenCode, Aider and the rest. Apps that call tools instead of a shell, such as Claude Desktop, can use it as an MCP server.
cargo install deskcrew
deskcrew setup
Then ask your agent to do something in a desktop app, such as "add 12 and 30 in Calculator". setup tells every agent app it finds to use deskcrew on its own.
| Agent | How it uses deskcrew |
|---|---|
| Claude Code | setup adds a skill and a rule, or as an MCP server: claude mcp add deskcrew -- deskcrew mcp |
| Codex | setup adds a skill and a rule, or as an MCP server: codex mcp add deskcrew -- deskcrew mcp |
| Cursor | setup adds a skill and prints a rule for Cursor's settings, or as an MCP server in ~/.cursor/mcp.json |
| Claude Desktop | as an MCP server (config) |
| Gemini CLI, Copilot, Windsurf, OpenCode, Amp, Qwen Code, Factory, Kiro, Continue, Cline | setup adds a rule, and a skill where the app takes one (details) |
| Anything else that runs shell commands | the deskcrew command; deskcrew help lists everything |
cargo build --release
target/release/deskcrew demo --seconds 12
The demo moves three pretend agents around the screen and clicks nothing.
To make it available to your agents:
target/release/deskcrew setup
That puts deskcrew on PATH and sets up every agent app and CLI it finds, so they use deskcrew on their own whenever a task needs the desktop, instead of built-in computer use or other desktop tools. Run it again after installing a new agent; it updates what it wrote instead of adding copies, and leaves the rest of each file alone. You can also ask your agent to install deskcrew for you.
| Agent (app and CLI) | What setup writes |
|---|---|
| Claude Code | skill in ~/.claude/skills, rule in ~/.claude/CLAUDE.md |
| Codex | skill in ~/.codex/skills, rule in ~/.codex/AGENTS.md |
| Gemini CLI and Antigravity | skill in ~/.gemini/skills, rule in ~/.gemini/GEMINI.md |
| GitHub Copilot CLI | skill in ~/.copilot/skills, rule in ~/.copilot/copilot-instructions.md |
| GitHub Copilot in VS Code | rule in VS Code's user prompts/deskcrew.instructions.md |
| Windsurf | skill, and rule in ~/.codeium/windsurf/memories/global_rules.md |
| OpenCode | skill, and rule in ~/.config/opencode/AGENTS.md |
| Amp, Qwen Code, Factory Droid | rule in ~/.config/amp/AGENTS.md, ~/.qwen/QWEN.md, ~/.factory/AGENTS.md |
| Kiro, Continue, Cline | rule file in ~/.kiro/steering, ~/.continue/rules, ~/Documents/Cline/Rules |
| Cursor | skill in ~/.cursor/skills. Its User Rules live in your Cursor account, so setup prints the rule to add under Customize > Rules > New |
Grok, and agents sharing ~/.agents | skill |
The rule sits between <!-- deskcrew: start --> and <!-- deskcrew: end --> lines. For any other agent, add the rule setup prints to its own rules. Agents running in the cloud, or in a sandbox without access to your desktop, cannot reach it.
deskcrew mcp serves the same commands as four MCP tools over stdio: see, do, shot (which sends the picture itself) and deskcrew for any other command. Use it for apps that cannot run a shell command, or if you prefer tools to a rule. Each client below needs deskcrew on PATH; setup puts it there.
| Client | How to add it |
|---|---|
| Claude Code | claude mcp add deskcrew -- deskcrew mcp |
| Codex | codex mcp add deskcrew -- deskcrew mcp |
| Claude Desktop | in claude_desktop_config.json (Settings > Developer > Edit Config): "mcpServers": { "deskcrew": { "command": "deskcrew", "args": ["mcp"] } } |
| Cursor | the same mcpServers entry in ~/.cursor/mcp.json |
| Gemini CLI | the same mcpServers entry in ~/.gemini/settings.json |
| VS Code (Copilot) | in .vscode/mcp.json or your user mcp.json: "servers": { "deskcrew": { "type": "stdio", "command": "deskcrew", "args": ["mcp"] } } |
Codex's own config takes it as:
[mcp_servers.deskcrew]
command = "deskcrew"
args = ["mcp"]
Each client shows up as its own cursor, named from what the client calls itself (Claude, Codex, Cursor...). Set DESKCREW_AGENT in the server's environment to choose the name.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗