Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/hive-agent
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris d516bb890c remove the forge links from the hive dashboard and the agent page
Each agent row on the hive dashboard, and the agent page's link menu, linked
to the agent's forge profile and its config repo. Both are gone, with what
only they used:

- hive-agent no longer builds the two links, the `Forge` link kind, or the
  `forge_public_url` field of its state, and no longer reads
  `HIVE_FORGE_PUBLIC_URL`. The agent page's link menu and the dashboard row's
  icon strip (which skips a forge link an agent not yet rebuilt still sends)
  drop their forge handling.
- hive-c0re's dashboard state no longer carries `forge_public_url`.
- `HIVE_FORGE_PUBLIC_URL` is no longer forwarded to agents through the meta
  flake (the forwarded-variable list, its test fixture, the controller's
  settings and the VM test), so the next meta flake render differs by that
  one line. hive-c0re still reads it for the forge URL a hive publishes, so
  `swarm.forge.publicUrl` stays, with its description corrected.
- The docs stop describing the links.
2026-11-07 13:43:44 +01:00
..
prompts system prompt: one sentence per line, and no restating of the hyperhive tool list the MCP schema already gives. Refs #6002 2026-11-03 08:32:24 +01:00
src remove the forge links from the hive dashboard and the agent page 2026-11-07 13:43:44 +01:00
Cargo.toml docs: sort the top-level directories into five sections by what the reader wants 2026-11-06 18:46:57 +01:00
README.md hive-agent: the agent has no login flow of its own, credentials come from the swarm 2026-11-07 08:32:11 +01:00

hive-agent

The in-container harness serve-loop binary — one instance per agent. Long-polls the broker inbox and drives one turn per inbox message through hive-runtime, on the agent's runtime (claude --print by default, or an ACP agent). It has one role (agent); the Surface trait + AgentSurface zero-sized type tag keep the turn loop generic and testable for future roles without a parallel copy of the loop.

When to use it

You don't call into this crate from elsewhere — it's the top-level binary systemd starts per agent container. Look here when you need to understand or change: what happens between a message landing in the inbox and the agent's reply, how the harness bootstraps login/auth, how it serves the per-agent web UI, or how turn/event stats get recorded. Architecture detail lives in docs/4-implementation/turn-loop/; this README is just the map of the module tree.

Shape

  • main.rs — the serve loop and the Surface trait; broker calls (inbox poll, ack, send) go through hive-sock-client with hive-core-agent-sock wire types.
  • turn.rs — the turn-loop policy layer: renders the system prompt + MCP config, runs the turn through hive-runtime, classifies the outcome, and feeds the event/turn-stats sinks.
  • login.rs — the Online or NeedsLogin state at boot, and the wait for credentials to arrive (the swarm login stores them).
  • mcp_config.rs — renders the per-turn --mcp-config / --allowedTools blob from the agent's permissions.
  • todos.rs / reminders.rs / todo_server.rs — the harness-local loose-ends v2 stores (sqlite-backed) and the in-agent socket server extra MCP daemons + hive-agent-mcp dial into for todo/reminder ops.
  • vacuum.rs — periodic sqlite vacuum sweep for the harness-local stores.
  • events.rs / turn_stats.rs / stats.rs — append-only event sink and per-turn telemetry recording (context usage, cost, tool favorites) under harness/.
  • prompt.rs — system-prompt renderer (persona + tool docs + environment facts).
  • web_ui/ — the per-agent dashboard (terminal pane, status, schedules) served over the built-in hive-agent web port.
  • paths.rs — canonical path resolution for state/harness dirs and the harness-local sqlite files.

Siblings: hive-agent-mcp (the MCP server this loop points the agent at every turn) and hive-runtime (the library a turn runs through). docs/4-implementation/turn-loop/::Harness binary shape covers all three together.