| Filename | Latest commit message | Latest commit date |
|---|---|---|
meta.rs writes each agent's flake, and it still named the pre-move `hyperhive.*` paths — so every agent rebuild would print a rename deprecation warning about a line no human wrote and no operator could fix. A warning nobody can act on trains everyone to ignore the ones that matter, which is the whole value of the alias shims. Repoints the FORWARDED_VAR_OPTIONS table and every other emitted option assignment (otel.*, docs.source, claudeCodePath, github.enable, user.name, claudeMemoryMaxBytes) to `services.hyperhive.agent.*`, with the test expectations that pin the rendered text. The flake input named `hyperhive` (`hyperhive.url`, `hyperhive.inputs.nixpkgs.follows`, `hyperhive.nixosConfigurations.*`), hive-tier `services.hyperhive.*` paths, and the `@hyperhive.local` git identity share the word and are untouched. Also repoints the same option paths where they appear in comments, rustdoc and runtime message strings across the other crates — a refusal message naming `hyperhive.allowedRecipients` sends an operator to a path that will stop existing. Prose under docs/ is deliberately not in this commit. Refs #4473 |
||
| .. | ||
| src | ||
| Cargo.toml | ||
| README.md | ||
hive-screen-mcp
A stdio MCP server that exposes screenshot, keyboard, and mouse tools to agents
running a Weston Wayland compositor (hyperhive.gui.enable = true).
When to use it
This crate is the bridge for GUI agents — agents that drive graphical
applications (browsers, desktop tools, game UIs) and need to see and interact
with a Weston Wayland display. If your agent does not have hyperhive.gui.enable = true, none of these tools will function.
Tools
| Tool | Mechanism | Requires |
|---|---|---|
screenshot |
grim → PNG on stdout |
grim in PATH, WAYLAND_DISPLAY |
type_text |
wtype (Wayland virtual-keyboard protocol) |
wtype in PATH |
key_press |
wtype -k (XKB keysym syntax) |
wtype in PATH |
mouse_move |
RFB PointerEvent to the neatvnc backend |
HIVE_GUI_VNC_PORT |
mouse_click |
RFB move → button-down → button-up sequence | HIVE_GUI_VNC_PORT |
All tools operate in userspace — no /dev/uinput or kernel bypass.
WAYLAND_DISPLAY and XDG_RUNTIME_DIR are injected by the weston-vnc NixOS
module; HIVE_GUI_VNC_PORT is set by the harness service (defaults to 5900).
Shape
One binary (hive-screen-mcp) launched over stdio. The agent runtime wires it
as an extra MCP server when hyperhive.gui.enable = true. There are no library
exports — it is a self-contained binary crate.
See the crate-root //! docs for the full per-tool implementation notes and
environment variable contract.