关于 Anode background Windows desktop
Anode 是面向 Windows 开发者的 MCP 服务和命令行工具,可让 Agent 在独立后台会话中自动操作原生应用、浏览器并执行界面测试,不接管用户正在使用的桌面。
主要功能
- 01隔离的后台 Windows 桌面
- 02原生应用与浏览器自动化
- 03截图和辅助功能检查
- 04可取消的命令任务
- 05用于协调 Agent 的租约
- 06可选音频和虚拟游戏手柄
适用场景
- 01在继续其他工作时测试桌面应用
- 02自动填写浏览器表单并截屏
- 03在后台运行 Android 模拟器测试
- 04让多个 Agent 轮流使用同一桌面
MCP 相关
Anode 通过 stdio 向客户端提供 41 个 MCP 工具,涵盖截图、输入、辅助功能、界面等待和命令任务等桌面会话操作。它还提供租约机制,协调 Agent 使用共享后台桌面。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Anode — 面向 AI Agent 的后台 Windows 桌面
操控 Windows 桌面的计算机使用 Agent 会接管你的鼠标和键盘;Anode 则为它们提供独立桌面。 Anode 是用于计算机操作、GUI 自动化和 UI 测试的 Windows MCP 服务和 CLI。Claude Code、 Codex 或其他本地(stdio)MCP 客户端会获得一个隐藏的 Windows 会话,拥有自己的屏幕、指针和键盘焦点, 称为 seat。Agent 可以操作原生应用和有头浏览器并截取屏幕截图,而你仍可在自己的桌面上继续工作。

使用 Anode 0.11.0,在 seat 内录制,内容来自真实的 MCP 工具调用。调用之间的空闲时间已剪掉;耗时 0.4 秒的九次点击以慢四倍的速度显示。
- **适用人群:**使用 Windows 并让 AI Agent 测试桌面应用、浏览器页面或 Android 应用,或在真实 Windows 程序中执行其他工作,同时继续使用同一台电脑的开发者;以及让多个 Agent 轮流使用同一个共享后台桌面的用户。
- **适合在以下情况使用:**Agent 必须在原生应用或有头浏览器中点击、输入、读取控件并截取屏幕截图,而且不能接管你的鼠标、键盘或屏幕。
- **不适合在以下情况使用:**你使用 Windows Home 或 macOS;需要安全沙箱(seat 以你的用户身份运行,可访问你的文件和网络);或者任务完全不需要桌面操作:使用 API、Shell 或无头浏览器测试会更简单。如何选择对比了各种替代方案。
- **与以下工具对比:**BgDesk、Windows-MCP、Desktop Touch MCP、windows-computer-use-mcp 和 Terminator,比较 Agent 是否会移动你的真实指针,并给出 Anode 的实测结果:面向 AI Agent 的 Windows 桌面自动化对比 (核验日期:2026 年 10 月 24 日)。
- **正在使用 Windows-MCP?**从 0.8.8 开始,其控制门会在你使用自己的鼠标或键盘时暂停 Agent。请在 seat 内运行,这样你的输入就会保留在自己的会话中:在后台运行 Windows-MCP (2026 年 10 月 22 日在电脑旁无人时测试:13 次工具调用,没有暂停,电脑的指针从未移动;有人操作时尚未测量)。
3 条命令完成安装
开始之前: Anode 需要在 x64 架构的 Windows 10/11 Pro、Enterprise 或 Education 版(不支持 Home 版)上运行,并且在执行 anode setup 时需要一次管理员权限。在受管理的工作电脑上,如果策略禁止运行未签名程序或关闭了远程桌面,Anode 将无法运行;查看 setup 会具体修改哪些内容。
在 PowerShell 中运行第一行,然后打开一个新终端再运行后两行:
iwr -UseBasicParsing https://github.com/skulitom/Anode/releases/latest/download/install.ps1 -OutFile install.ps1; powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1
anode setup | Out-Host # in a NEW terminal: one administrator prompt, once per machine
anode configure | Out-Host # registers Anode with the Claude Code and/or Codex CLIs on your PATH
anode setup 可能会重启远程桌面服务,从而断开连接到这台电脑的所有远程桌面会话,因此请在电脑本机运行。如果你只使用 PIN 或 Windows Hello 登录 Windows,座席需要你的 Windows 密码才能登录;创建另一个座席时,Windows 可能会再次要求输入密码:请参阅登录。
重启 Agent 会话,然后向它提出请求:
使用 Anode 在后台座席中打开记事本,输入“Hello from Anode”,并给我看一张截图。 隐藏查看器,并让我的主桌面保持可用。
请参阅安装,了解自定义安装位置和离线安装;或参阅其他安装方式,了解 Scoop 和 Claude Code 插件。
须知:座席是以你的用户身份运行的 Windows 子会话:它提供的是桌面隔离,而非安全沙箱。
Ctrl+Alt+Shift+K 可停止座席(如果其他程序占用了此快捷键,请在查看器中使用停止座席,或运行 anode kill)。未签名的构建版本可能会触发 SmartScreen。不会收集遥测数据。
可以用它做什么?
- **开发和测试应用:**运行构建和本地服务器、收集命令输出、检查原生控件、测试浏览器表单,并在后台桌面中截取屏幕截图。
- **为 Agent 提供桌面:**41 个 MCP 工具,支持引导、屏幕截图、音频、鼠标/键盘输入、辅助功能、等待 UI、显示设置、Android 模拟器、启动应用以及可取消的命令作业。
- 查看或停止它:
anode show会打开查看器,anode hide会关闭查看器。按 Ctrl+Alt+Shift+K 或运行anode kill,即可注销该会话并关闭其中的所有应用,包括尚未保存工作的应用。 - **自动化游戏:**可选支持通过 ViGEmBus 使用虚拟 Xbox 360 控制器,并通过 HidHide 将其限制在该会话中,这样你仍可同时玩自己的游戏。
- **协调多个 Agent:**提供专属于各 Agent 的独占桌面租约和命令作业。多个 Agent 共用一个会话并轮流使用;请参阅多个 Agent。
- **聆听和播放声音:**通过
--audio在 Anode 启动时启用音频后,Agent 可以录制会话中播放的声音,例如来自浏览器或游戏的声音,并播放较短的 16 位 PCM WAV 音频片段。会话声音也会输出到扬声器。请参阅音频。 - **测试其他显示设置:**Agent 可以更改会话的分辨率和 Windows 缩放设置,同时让其中的应用继续运行。分辨率范围为 640x480 至 8192x8192,也包括竖屏;Windows 缩放级别为 100% 至 500%,按 Windows 的缩放步进设置。Agent 完成后,Anode 会还原启动时的显示设置,并报告 Windows 实际应用的设置。请参阅测试其他显示设置。
- **测试 Android 应用并使用 Web 控制台:**Agent 可以在会话中的模拟器上以只读方式启动你的 AVD,通过 adb 操作它们,在独立配置文件中打开 Android Studio,并在你登录的会话浏览器配置文件中打开 Google Play Console 等 Web 控制台(网站可能会要求你重新登录)。请参阅Android 应用和 Web 控制台。
实际应用:haltere 是作者的研究项目:果蝇连接组在竞速模拟器中操控 FPV 无人机。游戏、画面采集和虚拟游戏手柄都运行在 Anode 会话中。安装 HidHide 后,Anode 会将游戏手柄限制在该会话中(haltere 会检查 anode gamepad state),因此用户在主桌面上玩游戏时,无人机仍可继续飞行。请参阅haltere 的游戏设置。
该会话是 Windows 的子会话:通过 Windows 内置的环回远程桌面功能,为你自己的账户创建的第二个会话。它拥有独立的指针和焦点;在当前会话中添加虚拟显示器并不能实现这一点。该会话以你的 Windows 用户身份运行,并共享你的文件、账户和网络。**这是桌面隔离,不是安全沙箱。**只有安装 HidHide 后,虚拟游戏手柄才会仅限于该会话。请参阅安全性和隔离。
安装
**要求:**Windows 10/11 Pro、Enterprise 或 Education,或带有远程桌面主机的 Windows Server。此发行版面向 x64;尚未验证 ARM64。**不支持 Windows Home。**发行版构建已包含 .NET;无需安装 SDK 或运行时。ViGEmBus 为可选项。
在普通 PowerShell 终端中运行:
Invoke-WebRequest -UseBasicParsing https://github.com/skulitom/Anode/releases/latest/download/install.ps1 -OutFile install.ps1
# You can inspect install.ps1 before running it.
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1
安装程序会验证发行版压缩包的 SHA-256 校验和,将其安装到 %LOCALAPPDATA%\Programs\Anode,将该文件夹添加到用户 PATH,并将 Anode 添加到“开始”菜单和“已安装的应用”中。在“开始”菜单中打开它会显示查看器;在“已安装的应用”中可以卸载它。之后请打开新的终端。机器设置和 Agent 注册是下面的独立步骤。
更偏好便携版?下载 ZIP,解压整个文件夹,并使用 .\anode.exe 代替 anode。
当前构建尚未签名;Windows 可能会显示 SmartScreen 警告。
自定义位置、离线安装、更新和卸载 →
其他安装方式
这两种方式仍需在下方执行一次性设置 anode setup;使用插件的用户可跳过
Claude Code 的 anode configure。
- **Scoop:**运行
scoop bucket add anode https://github.com/skulitom/Anode,然后运行scoop install anode/anode。运行scoop update anode前,请先运行anode quit,并关闭正在使用 Anode 的 MCP 客户端。 - **Claude Code 插件:**确保
anode已在 PATH 中(通过上述安装程序或 Scoop 安装),然后在 Claude Code 中运行/plugin marketplace add skulitom/Anode,再运行/plugin install anode@anode。 它会注册 MCP 服务和anode-desktop技能,但不会安装anode.exe。 请使用插件或运行anode configure claude,不要同时使用两者;请参阅 Claude Code。
设置并连接
anode doctor | Out-Host # reports prerequisites; no changes
anode setup | Out-Host # one administrator prompt, once per machine
anode configure | Out-Host # detects installed Codex / Claude Code CLIs
setup 会启用远程桌面和子会话。它不会添加防火墙规则,但可能会重启远程桌面服务并断开现有 RDP 会话。
查看具体更改。
configure 会备份客户端设置,通过绝对路径注册 Anode,设置 420 秒的工具超时,并安装可发现的 anode-desktop 技能。运行 anode configure codex 或
anode configure claude 可选择一个客户端,也可添加 --no-skill,仅注册 MCP。
已安装 Claude Code 插件?它已在 Claude Code 中注册 Anode 和该技能,因此请跳过
anode configure,或运行 anode configure codex 仅添加 Codex。
重启 Agent 会话以加载工具。Claude Desktop:
将 Anode 添加到其配置中。
VS Code、Cursor 和其他客户端:连接 Agent。
试用
启动并检查后台会话:
anode start --hidden | Out-Host
anode capabilities | Out-Host
如果 Windows Hello/PIN 登录阻止自动登录,请从 Anode 托盘图标(或查看器标题栏)中选择 登录…,以调出 Windows 凭据对话框。启动 Anode 时,也可以使用 anode start --sign-in。请参阅登录问题排查。
然后向 Agent 提出请求:
使用 Anode 在后台会话中打开记事本,输入“Hello from Anode”,并给我看一张屏幕截图。保持查看器隐藏,并让我的主桌面保持可用。
也可以通过 CLI 操作:
$env:ANODE_AGENT_ID = 'my-cli-task'
$lease = anode lease acquire | Out-String | ConvertFrom-Json
if ($LASTEXITCODE -ne 0) { throw 'Desktop acquisition failed.' }
$env:ANODE_LEASE_TOKEN = $lease.leaseToken
anode exec --cwd C:\project --wait 1000 -- dotnet build | Out-Host
anode windows | Out-Host
anode shot seat.png | Out-Host
anode lease release | Out-Host
PowerShell 用户:管道传递给 Out-Host(或 Out-String)会使 PowerShell 等待此 GUI 可执行文件运行完毕,并显示其输出。脚本应在每条命令后检查 $LASTEXITCODE。
面向 Agent
对于原生 Windows GUI 自动化,以及需要保留用户主桌面可用状态的有界面应用/浏览器测试,优先使用 Anode;其他情况则使用直接 API、文件工具和无头测试。
调用 anode_guide 或运行 anode guide --json,即可获取无需设置的指导。seat_status 不会启动任何内容。进行桌面操作前,调用 seat_lease 并设置 action: "acquire";如果需要,它会启动隐藏会话,并在其他 Agent 工作时排队等待。每次桌面操作都会保留租约,因此只有暂停超过 120 秒时才需要续租,完成后则应释放租约。MCP 提示词
desktop_test 会引导完成整个流程:在运行 anode configure 后,于 Claude Code 中使用 /mcp__anode__desktop_test;或者使用插件时输入 / 并搜索 desktop_test。
请参阅 Agent 指南、可移植技能
和 llms.txt 文档索引。
工作原理
flowchart LR
subgraph yours["Your session: your mouse, keyboard and apps"]
agent["Claude Code / Codex / any MCP client"] -- "MCP (stdio)" --> mcp["anode mcp"]
mcp -- "named pipe" --> daemon["Anode daemon<br/>viewer + Stop button"]
end
subgraph seat["The seat: a background Windows child session"]
host["seat host<br/>screenshots, input, UI Automation, command jobs"] --> apps["apps, browsers, builds, games"]
end
daemon -- "named pipe" --> host
文档
| 我想…… | 从这里开始 |
|---|---|
| 安装、更新或卸载 | 安装指南 |
| 连接 Codex、Claude Code、Claude Desktop、VS Code 或 Cursor | 连接 Agent |
| 让多个 Agent 共用桌面 | 多个 Agent 与租用 |
| 帮助 Agent 发现并选择 Anode | Agent 指南 |
| 判断 Anode 是否适合,或是否该选其他工具 | 如何选择:Windows-MCP、Cua Driver、Desktop Commander、Windows 365 for Agents |
| 在 Windows-MCP 点击时继续使用电脑 | 在座席中运行 Windows-MCP:Agent 的点击和输入会留在座席中,闸门应保持安静(在电脑前无人时测量) |
| 查看完整示例 | 使用 Claude Code 测试桌面应用、填写网页表单、检查 Android 应用 |
| 运行应用、控制查看器或使用游戏手柄 | 使用指南 |
| 查找 CLI 命令或选项 | 命令参考 |
| 测试原生应用和浏览器 | 开发与测试 |
| 在其他分辨率和缩放设置下测试应用 | 测试其他显示器 |
| 测试 Android 应用,或以你的身份使用 Web 控制台 | Android 应用和 Web 控制台 |
| 查看完整示例 | Claude Code + Steam、开发测试使用的有头 Playwright 测试装置 |
| 检查窗口和可访问控件 | 桌面工具 |
| 了解权限和隔离 | 安全 |
| 了解 Anode 处理哪些数据 | 隐私 |
| 排查启动、登录或捕获问题 | 故障排除 |
| 集成客户端 | MCP 和命名管道协议 |
| 了解实现方式 | 架构 |
| 以所有者身份发布目录列表 | 发布指南 |
需要了解的限制
- 每个 Windows 会话只有一个座席:Agent 和 CLI 客户端共用该座席并轮流使用。
- 不适用于 Windows Home 或 macOS,也不适用于需要安全沙箱的场景: 如何选择说明了可替代的方案。
- 文件、账户、网络端口和应用程序单实例均为共享状态。Steam 游戏会在座席中运行,使用桌面上的 Steam 客户端;该客户端会留在桌面上,且不使用覆盖层或 Steam Input。其他单实例应用可能已归主会话所有。测试浏览器时请使用独立的浏览器配置文件。
- 捕获和输入取决于 Windows 和具体应用。使用
anode capabilities进行检查;仅仅连接了座席,并不能证明截图或输入功能可用。 - 受保护视频和独占全屏内容可能无法捕获。如果没有安装 HidHide,虚拟游戏手柄输入也会传递到主桌面上的游戏。
隐私政策
Anode 不会向维护者发送任何数据:运行时没有遥测、更新检查或远程端点。截图和 UI 文本只会发送给请求它们的 MCP 客户端或 CLI,而该客户端可能会将其发送给模型提供商。请阅读隐私政策。
构建与贡献
安装 .NET 10 SDK,然后:
git clone https://github.com/skulitom/Anode.git
cd Anode
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\build.ps1 -QuickTest -Package
可执行文件和文档位于 dist;可下载的程序包和校验和位于
artifacts\release。快速检查无需座席,也不会向桌面发送输入。
贡献和发布流程。
许可
Anode 是基于 MIT license 发布的免费软件,并将始终如此。本仓库中的每个版本和所有代码,任何人都可以免费使用、修改和分发,包括在公司内部使用。
在工作中使用 Anode? 可选的 Anode Business licence 费用为每位开发者每年 £50 (在 Gumroad 上购买)。它不会解锁任何功能,也不会改变 MIT 条款:使用 Anode 永远不需要它。它为你提供:
- 一份许可记录(许可条款、注明席位数量的收据)和发票,供采购和合规使用;
- 优先分类处理:许可确认后,标题以
[business]开头的问题会优先处理。你可以通过电子邮件私下确认许可(尽力而为,不提供服务级别保证;具体方式见条款)。
如果你愿意,可以先阅读 Business licence terms。欢迎通过问题咨询许可相关事宜:请在标题中注明“licensing”。问题是公开的,因此切勿在其中发布许可证密钥或任何私人信息。
相关工具
Anode 是同一作者为 Agent 开发的五款免费、基于 MIT 许可的工具之一。每款工具都可在本地作为 MCP 服务运行:
- Pixelbolt:根据可编辑的 JSON 配方制作像素艺术和精灵动画,并导出为精灵表、图集、动画 PNG 和 GIF。
- Cutbolt:视频编辑引擎,支持精确时间线、字幕和渲染。
- Inkbolt:用于编辑图表和插画的矢量与光栅图像,支持导入 SVG,并导出 SVG 和 PDF。
- Nestbolt:将零件二维排版到板材上,用于激光、CNC、等离子和水刀切割,也可在浏览器中使用。
致谢与许可
基于已记录的 Windows 子会话、远程桌面 ActiveX 控件和任务计划程序构建。可选的游戏手柄支持使用 ViGEmBus,而 HidHide 可将虚拟控制器限制在会话内。 相关项目:Cathode、LibreAutomate 和 BetterGI。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。