
Anode background Windows desktop
io.github.skulitomv0.11.0更新于 Oct 2, 2026
Background Windows desktop for AI agents: native GUI automation, screenshots and app testing.
概览
为 Windows 上的计算机使用型智能体提供一个隐藏的子桌面会话,用于原生 GUI 自动化、截图以及应用和浏览器测试。
- 功能
- Anode 是一个 Windows MCP 服务器和命令行工具,会创建一个隐藏的 Windows 子会话,称为 seat,拥有自己的屏幕、指针和键盘焦点。它提供 41 个 MCP 工具,涵盖引导、截图、音频、鼠标键盘输入、辅助功能检查、UI 等待、显示设置更改、Android 模拟器、应用启动以及可取消的命令任务。智能体可以驱动原生应用和有界面浏览器、运行构建和本地服务器并截图,同时用户继续在主桌面上工作。桌面租约让多个智能体共用一个 seat 并轮流使用。
- 适用场景
- 当助手需要自动化或测试原生 Windows 应用、有界面浏览器、Android 模拟器或网页控制台,又不希望占用用户的鼠标和键盘时,适合添加。若不需要 GUI 控制,优先使用直接 API、文件工具或无头测试。
- 运行要求
- 需要 Windows 10 或 11 专业版、企业版或教育版,或带远程桌面主机的 Windows Server;x64;不支持 Windows 家庭版。安装需运行 PowerShell 脚本,anode setup 每台机器需要一次管理员授权,anode configure 会把服务器注册到 Claude Code 或 Codex。发行版自带 .NET。虚拟手柄可选装 ViGEmBus。未声明任何 API 密钥或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 Anode background Windows desktop,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
[图片] Anode — a background Windows desktop for AI agents
Computer-use agents on Windows take over your mouse and keyboard; Anode gives them their own desktop instead. Anode is a Windows MCP server and CLI for computer use, GUI automation and UI testing. Claude Code, Codex or any MCP client gets a hidden Windows session with its own screen, pointer and keyboard focus, called the seat. The agent drives native apps and headed browsers and takes screenshots while you keep working in yours.
[Release] [Windows build] [License: MIT]
Install in 3 commands
In PowerShell, run the first line, then open a new terminal for the next two:
Restart your agent session and ask it:
Use Anode to open Notepad in the background seat, type "Hello from Anode", and show me a screenshot. Keep the viewer hidden and leave my main desktop available.
See Install for custom locations and offline installs, or other ways to install for Scoop and the Claude Code plugin.
Good to know: requires Windows 10/11 Pro, Enterprise or Education (not Home), x64. The seat is a Windows child session running as your user: desktop isolation, not a security sandbox. Ctrl+Alt+Shift+K stops it. Unsigned builds may trigger SmartScreen. No telemetry.
What can you do with it?
- Develop and test apps: run builds and local servers, collect command output, inspect native controls, test browser forms and capture screenshots in the background desktop.
- Give an agent a desktop: 41 MCP tools for guidance, screenshots, audio, mouse/keyboard input, accessibility, UI waits, display changes, Android emulators, application launches and cancellable command jobs.
- Watch or stop it:
anode showopens the viewer andanode hidecloses it. Ctrl+Alt+Shift+K oranode killsigns the seat out and closes every application in it, including unsaved work. - Automate games: optional virtual Xbox 360 controller support through ViGEmBus, kept inside the seat with HidHide so you can play your own games meanwhile.
- Coordinate several agents: exclusive desktop leases and command jobs scoped to each agent. Agents share one seat and take turns; see multiple agents.
- Listen and play sound: with
--audio, agents can listen to browsers and games in the seat, and play WAV clips. This also sends seat sound to your speakers. See audio. - Test other displays: agents change the seat's resolution and Windows scaling while its apps keep running, from 1024x768 to 4K and portrait at 100-500%, then get the startup display back when they finish. See test other displays.
- Test Android apps and use web consoles: agents boot your AVDs read-only on an emulator in the seat, drive them through adb, open Android Studio there on its own profile, and work in consoles such as Google Play Console in a seat browser profile you sign in to once. See Android apps and web consoles.
The seat is a Windows child session: a second session for your own account, created by Windows' built-in loopback Remote Desktop feature. It has its own pointer and focus; adding a virtual monitor to your current session does not. The seat runs as your Windows user and shares your files, account and network. This is desktop isolation, not a security sandbox. Virtual gamepads stay in the seat only with HidHide installed. See security and isolation.
Install
Requires: Windows 10/11 Pro, Enterprise or Education, or Windows Server with a Remote Desktop host. The release targets x64; ARM64 is not validated. Windows Home is unsupported. Release builds include .NET; you do not need an SDK or runtime. ViGEmBus is optional.
Run in an ordinary PowerShell terminal:
The installer verifies the release archive's SHA-256 checksum, installs to
%LOCALAPPDATA%\Programs\Anode, adds that folder to your user PATH and adds Anode to the
Start menu, where opening it shows the viewer, and to Installed apps, where you can uninstall it.
Open a new terminal afterward. Machine setup and agent registration are separate steps below.
Prefer portable? Download the ZIP,
extract the entire folder, and use .\anode.exe in place of anode.
Builds are currently unsigned; Windows may show a SmartScreen warning.
Custom locations, offline installation, updates and removal →
Other ways to install
Both still need the one-time anode setup below; plugin users skip anode configure for
Claude Code.
- Scoop:
scoop bucket add anode https://github.com/skulitom/Anode, thenscoop install anode/anode. Runanode quitand close MCP clients using Anode beforescoop update anode. - Claude Code plugin: with
anodealready on your PATH (the installer above or Scoop), run/plugin marketplace add skulitom/Anode, then/plugin install anode@anodeinside Claude Code. It registers the MCP server and theanode-desktopskill but does not installanode.exe. Use it oranode configure claude, not both; see Claude Code.
Set up and connect
setup enables Remote Desktop and child sessions. It adds no firewall rules, but can restart
Remote Desktop Services and disconnect existing RDP sessions.
See exactly what changes.
configure backs up client settings, registers Anode by absolute path, sets a 420-second tool
timeout, and installs the discoverable anode-desktop skill. Use anode configure codex or
anode configure claude to choose one client, or add --no-skill for MCP registration alone.
Installed the Claude Code plugin? It already registers Anode and the skill there, so skip
anode configure, or run anode configure codex to add Codex only.
Restart your agent session to load the tools. Claude Desktop:
add Anode to its config.
VS Code, Cursor and other clients: Connecting agents.
Try it
Start and check the background seat:
If Windows Hello/PIN sign-in prevents automatic login, choose Sign in… from the Anode tray
icon (or the viewer's header) to request the Windows credential dialog. When starting Anode,
you can also use anode start --sign-in. See sign-in troubleshooting.
Then ask your agent:
Use Anode to open Notepad in the background seat, type "Hello from Anode", and show me a screenshot. Keep the viewer hidden and leave my main desktop available.
Or work through the CLI:
PowerShell users: piping to Out-Host (or Out-String) makes PowerShell wait for this GUI
executable and display its output. Scripts should check $LASTEXITCODE after each command.
For agents
Prefer Anode for native Windows GUI automation and headed app/browser tests that should leave
the user's main desktop available; use direct APIs, file tools and headless tests otherwise.
Call anode_guide or run anode guide --json for setup-free guidance. seat_status never starts
anything. Call seat_lease with action: "acquire" before desktop work; it starts a hidden seat
if needed and waits in line while another agent works. Each desktop action keeps the lease, so
renew only across pauses longer than 120 seconds, and release when finished. The MCP prompt
desktop_test walks through it: /mcp__anode__desktop_test in Claude Code after
anode configure, or type / and search for desktop_test with the plugin.
See the agent guide, portable skill
and llms.txt documentation index.
How it works
Documentation
Limits to know
- One connected child session per machine. Agents and CLI clients share that seat.
- Files, accounts, network ports and application singletons are shared. Steam games run in the seat using the Steam client on your desktop, which stays there, without the overlay or Steam Input; other single-instance apps may already belong to your main session. Use separate browser profiles for browser testing.
- Capture and input depend on Windows and the application. Use
anode capabilitiesto check; a connected seat alone does not prove screenshots or input work. - Protected video and exclusive fullscreen may not capture. Without HidHide, virtual gamepads also reach games on your main desktop.
Privacy Policy
Anode sends nothing to its maintainers: the runtime has no telemetry, update check or remote endpoint. Screenshots and UI text go only to the MCP client or CLI that asked for them, and that client may send them to its model provider. Read the privacy policy.
Build and contribute
Install the .NET 10 SDK, then:
The executable and docs are in dist; the downloadable bundle and checksums are in
artifacts\release. Quick checks require no seat and send no desktop input.
Contributing and release process.
Found a problem? Report a bug or suggest an improvement.
Credits and license
Built on documented Windows child sessions, the Remote Desktop ActiveX control and Task Scheduler. Optional gamepad support uses ViGEmBus, and HidHide keeps the virtual controllers inside the seat. Related projects: Cathode, LibreAutomate and BetterGI.
来源:README.md,提交 af47fdf
工具
0版本历史
1- v0.11.0最新Oct 2, 2026


