GUI 自动化AI 应用桌面应用AI 技能【免费下载链接】agent-desktopAgent Desktop gives any agent reliable computer use on the desktop. Built with Rust, it sees any apps real UI structure through OS accessibility trees and operates it — refs stay stable and actions stay safe to retry, instead of guessing from pixels.项目地址https://gitcode.com/gh_mirrors/ag/agent-desktop点击查看免费下载在构建多Agent系统时多个AI助理往往需要操作同一个桌面一个负责观察、一个负责执行、一个负责校验。agent-desktop 是一个用 Rust 编写的桌面 computer-use 工具它让 Agent 通过操作系统原生的无障碍树Accessibility Tree真实地看见并操作任意应用的 UI而不是靠像素猜测。它的两大杀手级特性——**共享会话Shared Session**与Cursor Overlay 光标覆盖层——正是为多Agent协作而生的。本文将带你从零理解并上手这两个能力。 为什么需要多Agent共享桌面单个 Agent 操作桌面时流程很简单snapshot → 决策 → act → 再 snapshot。但当你让3 个 Agent 同时操作一台 Mac比如研究员看资料、写手改文档、评审查结果会遇到两个核心难题状态割裂每个 Agent 各自记录 UI 状态彼此不知道对方点了什么、改了哪块容易造成 ref 过期、重复点击。看不见谁在干啥默认操作是无头headless的——不移动真实光标、不抢占焦点。多 Agent 并行时人类观察者完全不知道哪个光标正在操作哪块界面。agent-desktop 的架构图清晰地展示了这条链路Agent 发起命令 → 中间的 CLI C 库做原生访问 → 桌面应用通过 OS 无障碍 API 返回 UI 树与结果。共享会话解决了状态割裂Cursor Overlay解决了看得见谁在操作。二者配合就是多Agent共享桌面的完整方案。 共享会话Shared Session工作原理一次session start会创建一个带manifest的会话默认开启 trace 记录trace: on并把会话 ID 返回给你。之后所有命令通过全局--session id或环境变量AGENT_DESKTOP_SESSIONid接入这个会话就能自动获得两个关键收益见 SKILL.md自动 JSONL 轨迹命令执行细节自动落到~/.agent-desktop/sessions/id/trace/无需每条命令都加--trace。共享最新快照命名空间会话内共享最新快照的 ref 命名空间多个 Agent 在同一坐标系里工作。会话的核心结构定义在 manifest.rs 中其中trace、artifacts、cursor_overlay都是会话级别的开关——这正是多Agent协作的配置中心。创建并接入共享会话# 1. 每个 Agent 运行周期只启动一次会话 agent-desktop session start --name release-fix # 记下 data.session_id export AGENT_DESKTOP_SESSIONsession_id # 2. 各 Agent 用同一会话 ID 工作 agent-desktop snapshot --app Xcode -i --compact agent-desktop wait --element s8f3k2p9:e9 --predicate actionable --timeout 5000 agent-desktop click s8f3k2p9:e9 # 3. 收尾 agent-desktop session end $AGENT_DESKTOP_SESSION agent-desktop session gc⚠️ 关键区别裸的--session id没有先执行session start生成 manifest只会限定快照命名空间不写 trace 文件只有通过session start创建的有 manifest的会话才会记录轨迹。多 Agent 如何接入同一个会话针对不同协作模式接入方式略有差异场景做法独立并行的多个 Agent每个进程各设AGENT_DESKTOP_SESSION各自 id互不干扰多个 Agent 共享同一会话 ID各 Agent 都操作自己snapshot返回的 qualified ref不要假设最新快照没变快照跨会话查找永远不会发生——快照 ID 只在所选会话命名空间内解析不会跨会话搜索这种命名空间隔离 ref 重新识别机制保证了即便 UI 变化STALE_REF/AMBIGUOUS_TARGET也会明确报错而不是随意猜一个目标。️ Cursor Overlay 光标覆盖层实战Cursor OverlayAgent 光标是一个纯展示层的虚拟光标——它显示 Agent 接下来要做什么但绝不移动或拦截真实的 OS 指针。默认关闭仅在 macOS 原生渲染Windows/Linux 继承适配层的 no-op。它的行为很有人味光标以 90–320ms 走一段人类化的弧线不旋转、不变形点击时播放涟漪ripple 元素高亮描边 0.9s拖拽跟随光标的曲线运动按住时留下强调色轨迹松开后淡出空闲 6 秒自动淡出下一条命令又会把它带回来每次操作额外开销约 150–300ms全部是可见的移动时间。单 Agent 启用光标# 启动会话时直接带 --cursor默认外观 session_id$(agent-desktop session start --cursor | jq -r .data.session_id) export AGENT_DESKTOP_SESSION$session_id agent-desktop snapshot --app Finder -i agent-desktop click qualified-ref-from-snapshot # 光标的弧线 涟漪可见 agent-desktop cursor-overlay disable # 随时关掉无需结束会话对已存在的会话用cursor-overlay enable打开样式命令只是为下次展示保存配置本身不创建光标。多 Agent 独立光标这是 Cursor Overlay 最炫的地方每个不同的 Agent ID 拥有自己独立的光标。三个 ID 就产生三个光标且没有额外的协调者光标也无需注册步骤。# 1. 启动共享会话并开启多Agent模式 session_id$(agent-desktop session start --cursor --multi-agent | jq -r .data.session_id) export AGENT_DESKTOP_SESSION$session_id # 2. 给每个子Agent一个稳定 ID或用全局 --agent-id优先级更高 export AGENT_DESKTOP_AGENT_IDresearcher agent-desktop cursor-overlay enable --label Checking details --accent #FF3B7B # 其他子Agent分别用 writer / reviewer 不同配色 agent-desktop --agent-id writer cursor-overlay enable --label Updating draft --fill #FFE080 agent-desktop --agent-id reviewer cursor-overlay enable --label Reviewing result --accent #49C98A # 3. 各自快照 操作用各自 snapshot 的 qualified ref agent-desktop snapshot --app Finder -i agent-desktop click qualified-ref-from-snapshotAgent ID 规则1–64 位的字母、数字、-或_。在多Agent模式下桌面 UI 操作必须带 ID而观察observation、剪贴板操作、会话管理则不需要。 再次强调多个光标不等于并发操作同一应用就是安全的。光标的独立只是看得见真正的并发协调尤其是物理输入仍要靠上层的 harness 来安排依赖顺序——内部通过interaction lease交互租约串行化对共享 OS 指针的访问。光标样式参数一览参数含义默认值--label TEXT光标旁的意图文字无--max-words N标签字数上限1–126--fill HEX光标主体颜色#FFFFFF--rim HEX光标描边颜色#111318--accent HEX涟漪与元素高亮色#4299FF--size N尺寸倍数0.5–4.01.0--no-ripple点击时不播放涟漪默认有--no-highlight点击时不描边元素默认有配置校验逻辑如标签最长 512 字节、字数 1–12见 config.rs光标控制指令Enable / Present / Hide / Show / Disable定义在 control.rs。关闭所有光标cursor-overlay disable立即移除该会话下所有光标即使带了某个 agent ID 也一样session end结束会话时同样会清掉所有光标。 多 Agent 协作最佳实践一个运行周期只session start一次把返回的 ID 通过AGENT_DESKTOP_SESSION传下去不要隐式激活后续进程。各 Agent 操作自己snapshot的 qualified ref——共享会话里最新快照不是跨 Agent 的保证用snapshot_id:eN显式钉住。UI 会变的场景动作后重新 drill 该区域靠作用域失效scoped invalidation保住其他区域的 ref。物理输入靠 harness 协调Cursor Overlay 只负责可视化不要把它当作并发安全机制。敏感字段自动脱敏trace 中的text、password、token、url等字段会被替换为{ redacted: true }可放心导出。 相关源码与文档会话清单与开关定义manifest.rs光标配置校验config.rs光标控制指令control.rs系统命令参考session / cursor-overlaycommands-system.md完整 Agent 指南SKILL.md项目主文档README.md❓ 常见问题Q多 Agent 共享会话时ref 会不会互相干扰不会。ref 是按快照作用域的每个 Agent 应使用自己snapshot返回的 qualified ref。快照查找只发生在所选会话命名空间内不会跨会话搜索。QCursor Overlay 会不会抢走我的真实鼠标不会。它是纯展示层never moves or intercepts the OS pointer从不移动或拦截 OS 指针。真实指针的并发访问由 interaction lease 串行化。QWindows / Linux 支持 Cursor Overlay 吗当前 macOS 原生渲染Windows 与 Linux 继承适配层的 no-op占位核心契约相同后续可各自接入渲染器。✅ 总结agent-desktop 用两个精巧的设计把多 Agent 共享桌面这件事变得可靠且直观共享会话一次session start多 Agent 接入同一 trace 快照命名空间状态不再割裂ref 稳定可重试Cursor Overlay每个 Agent 一个带弧线的可视化光标让你和人类观察者都能看清谁在操作哪里而绝不干扰真实指针。配合 Rust 带来的高性能与原生无障碍访问这两个能力让多Agent系统从各自为战升级为协同办公。动手试试吧赞分享GUI 自动化AI 应用桌面应用AI 技能【免费下载链接】agent-desktopAgent Desktop gives any agent reliable computer use on the desktop. Built with Rust, it sees any apps real UI structure through OS accessibility trees and operates it — refs stay stable and actions stay safe to retry, instead of guessing from pixels.项目地址https://gitcode.com/gh_mirrors/ag/agent-desktop点击查看免费下载相关推荐CrewAI 多 Agent Crew 共享 Hindsight 记忆共享 Bank 与按 Agent 隔离的作用域设计实战指南CrewAI 多 Agent Crew 共享 Hindsight 记忆共享 Bank 与按 Agent 隔离的作用域设计实战指南 本篇技术指南聚焦于一个具体的人工智能AI AgentAgent 记忆MCP 服务Agno 团队状态管理实战多 Agent 共享、会话持久化与嵌套团队协作Agno 团队状态管理实战多 Agent 共享、会话持久化与嵌套团队协作 本指南基于 cookbook/03_teams/21_state https://l人工智能大模型AI AgentAgent 框架多智能体工具调用RAGAgent 工作流Agent 记忆Paperclip 多 Agent 共享记忆实战指南用 Hindsight 让整个 Agent 舰队共享同一套长期记忆Paperclip 多 Agent 共享记忆实战指南用 Hindsight 让整个 Agent 舰队共享同一套长期记忆 本指南围绕 vectorize io人工智能AI AgentAgent 记忆MCP 服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考