
GPUI Agentation
io.github.emmanuel-defreitas由 GitHub 账号 emmanuel-defreitas 发布v0.6.0更新于 Nov 2, 2026
Read and manage development annotations from a local GPUI app.
概览
由 GPUI 调试应用提供的本地回环 MCP 服务器,让编码代理读取和管理界面标注,含元素边界与 Rust 源码位置。
- 可以做什么
- 读取运行中的 GPUI 调试应用里记录的标注会话与备注,包括元素 ID、标签、边界和 Rust 调用位置
- 把反馈导出为 Markdown,便于粘贴到代理对话中
- 按请求逐条处理反馈,并更新备注状态(待处理、已确认、已解决、已忽略)与回复串
- 发现已连接的 MCP 工具,查看已注册的界面与更细粒度的目标
- 适用场景
- 适合在开发原生 GPUI(Rust)应用时使用:与其用文字描述界面问题或粘贴截图,不如直接指向界面元素,并让编码代理直接读取这些备注。
- 运行要求
- 需要把该 crate 加入自己的 GPUI 应用,并仅在调试构建中初始化;调试应用须保持运行,并在 Settings → MCP 中开启服务器。需要装有 Xcode 命令行工具的 macOS 以及通过 rustup 安装的 Rust。端点运行在回环地址上,只支持 stdio 的客户端需使用桥接。未声明认证或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 GPUI Agentation,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
[Contributors] [Forks] [Stargazers] [Issues] [MIT License]
gpui-agentation
🎯 Point at a running GPUI app, leave a note, and your coding agent gets the element, its bounds, and its Rust source location.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Version: 0.6.0. Debug builds only — release builds expose no annotation API. Pinned to
gpui-pre =0.3.8.
Table of Contents
About The Project
[gpui-agentation dashboard demo]
Agentation annotates web pages through the DOM. A native GPUI window has no DOM, so gpui-agentation registers screens (and optional finer targets) with an ID, label, bounds, and Rust call site, then attaches your note to that.
Use it when you would otherwise describe a UI bug to your agent in words or paste a screenshot. Notes persist to a local JSON file, carry a status (pending, acknowledged, resolved, dismissed) and a reply thread, and an agent reads them over a loopback MCP server or REST/SSE.
It is a development tool. It annotates registered targets, not arbitrary pixels (by default, the whole screen), and release builds do not include it. For production telemetry or session replay, use something else.
Built With
Getting Started
Add gpui-agentation to your own GPUI app in three steps: install the crate, initialize once at launch, then mount and wrap your screen.
Prerequisites
- macOS with Xcode command-line tools
- Rust via rustup (the repository pins the toolchain)
- Python 3 (only needed to run the bundled demo)
Ely is bundled, so there is nothing else to install.
Installation
-
Add the crate with the native feature set:
-
The crate does not exist in release builds, so every call sits behind
#[cfg(debug_assertions)]and release returns your content unchanged: -
Add
target(id, label, child)only where you want finer inspection. Ordinary controls need no wrappers. Agentation handles its Ely setup, assets, and focus internally.
The consumer example keeps all of this in one
devtools module. More: setup guide,
setup skill for agents, and
customization.
Usage
Inspect and annotate
Turn on the power switch, then choose Inspect, Box, Arrow, Pen, Comment, or Textbox. Select an element or draw on the screen. Inspect surfaces the element's ID, label, bounds, and Rust call site.
[Inspecting a registered element]
Draw an arrow (or a box or freehand pen stroke) to point your agent at exactly the right spot.
While annotation mode is on, use I / B / A / P / C / T to select a tool. Hover a tool to see its shortcut as an Ely keycap in the tooltip. Ctrl/Cmd+S saves the current draft; Ctrl/Cmd+Z and Ctrl/Cmd+Shift+Z undo and redo annotation changes. Delete/Backspace removes a selected annotation when its text field is not being edited. Text fields retain their ordinary typing and text undo behavior.
Textboxes use plain text with one style and size, preceded by a numbered pin. Click to select and show the bounding box; drag the text or pin to move both. Double-click or press Enter on the selected textbox to edit it. Saving displays the text directly on the canvas without opening a comment. Other numbered pins can be dragged independently of their drawings.
In a floating comment, type @ to choose an existing note or #12 to preview pin 12. Hovering a suggestion or using the arrow keys animates its pin; click, Enter or Tab inserts an @#12 reference. Escape dismisses the list. Right-click an annotation for Edit, Delete and Color actions, with undo support.
Include gpui_agentation::debug_menu() in your host's cx.set_menus(...) list
to expose the controls in the native Debug menu. Agentation::root routes
those menu commands to the active window. Settings → Toolbar → None hides
the embedded toolbar. Toolbar placement persists per application in its notes
file and is shared by windows mounted against that file.
Capture feedback
Write a comment and save it. Open Comments → Copy to copy your feedback as Markdown, ready to paste to your agent.
[Copying comments as Markdown]
Move the toolbar out of the way whenever it overlaps the UI you are inspecting.
Connect your agent
- Keep the debug app running.
- Open Settings → MCP and turn the server on.
- Copy the config into your MCP client.
The endpoint runs on loopback. Clients that require stdio can use the MCP bridge.
- MCP Registry name:
mcp-name: io.github.emmanuel-defreitas/gpui-agentation
For more examples, please refer to the Reference.
Agent skills
Give your coding agent a reusable workflow for installation or exploring a
running app's feedback. Both skills live under skills/:
From a clone of this repository, copy either skill directory into your host
project's .agents/skills/ directory, or into ~/.agents/skills/ for personal
use across projects. For example, to install the exploration skill in a host:
In Zed, start a new conversation after copying, then invoke
/gpui-agentation-explore or /gpui-agentation-setup. Other agents can load the
linked SKILL.md directly or use their supported skill directory. Try:
“Use gpui-agentation-explore to discover my app's MCP tools and summarize pending
feedback without changing notes.” Skills provide instructions; connect the
running debug app's MCP server separately using the steps above.
Try the Demo
Clone the repository and run the bundled demo app:
- Choose Inspect, Box, Arrow, or Pen.
- Select an element or draw, then write a comment and save.
- Open Comments → Copy to copy your feedback as Markdown.
For rebuilds on save, enable Settings → Hot reload → Server status. It rebuilds and restarts the app after a successful build; in-memory state resets, saved annotations survive. Demo details
Roadmap
- Inspect, Box, Arrow, and Pen annotation tools
- Loopback MCP server plus REST/SSE access
- Hot reload for rebuild-on-save
- Add text annotation tool
- Update Comment annotation UX
- Add gpui-devtools features from joris-gallot/gpui-devtools
- Extends AI features from hexuria/gpui-agent
- Stabilize the API toward 1.0
- Port MCP tools to a standalone macOS companion app
See the open issues for a full list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/123-amazing-feature) - Commit your Changes (
git commit -m 'feat: add amazing feature') - Push to the Branch (
git push origin feature/123-amazing-feature) - Open a Pull Request
Changes target dev, then promote through next to main. Run make ci for
checks or make help for available commands.
Before promotion, run make release-prepare to calculate the next stable version
from conventional commits and synchronize Cargo, the lockfile, Registry metadata,
documentation, skills, and site references. Settings, CLI, and MCP versions derive
from Cargo at build time. Review that diff and update CHANGELOG.md before
committing through the promotion PRs. CI and release tagging reject mismatched
versions. See the release policy.
License
Distributed under the MIT License. See LICENSE for more information.
Contact
Emmanuel De Freitas — @emmanuel-defreitas
Project Link: https://github.com/emmanuel-defreitas/gpui-agentation
Acknowledgments
- Inspired by Agentation. Independent GPUI implementation. Original MIT attribution is preserved in ORIGIN.md.
- Built on GPUI and the Model Context Protocol.
- Best-README-Template
来源:README.md,提交 b0a8442
工具
0版本历史
5- v0.6.0最新Oct 26, 2026
- v0.5.1Oct 23, 2026
- v0.4.0Oct 21, 2026
- v0.3.0Oct 21, 2026
- v0.2.0Oct 20, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分