swarm-logs covers every host-tier unit this tool could reach, so the second, capability-gated path into host journald earns nothing and is removed outright rather than disabled behind a flag. Removed end to end: the MCP tool definition + handler, the GetHostJournal/HostJournal wire variants, hive-c0re's dispatch_host_journal handler, the ReadHostJournal capability, and the harness-side capability->--allowedTools gate. get_host_journal was the only capability that mapped to an MCP tool, so allowed_capability_tools could only ever return an empty vec; it goes too rather than linger as a function that provably does nothing. capabilities::has_cap/caps_for stay: #4624 gave ManageRootAgent's bind-mount enforcement (hive-c0re/src/lifecycle/host_config.rs) a second caller of has_cap, so they're no longer callerless once this lands on top of it. hive-sh4re's journal module (JournalPriority) had no consumer outside this tool and is deleted. An existing capabilities.json still naming read_host_journal does not error: capabilities::prune_unknown drops unrecognised names with a warn!, and an agent left with no capabilities has its entry removed. No migration step is needed. Untouched: hive-c0re/src/dashboard/journal.rs's read_host_journal_response, which matches the name but is the private helper behind the operator-only GET /api/journal-host dashboard route and carries no capability check.
47 lines
2.2 KiB
Markdown
47 lines
2.2 KiB
Markdown
# Tools
|
|
|
|
`hivectl` is _your_ tool — the operator's own host CLI. Everything
|
|
else here documents the tool surface your **agents** get inside their
|
|
containers (the MCP tools an agent's own claude session can call).
|
|
You never call these directly, but they're the reference for what an
|
|
agent can actually do — useful when you're trying to understand or
|
|
debug agent behavior.
|
|
|
|
## For the operator
|
|
|
|
- **[hivectl](hivectl.md)** — the curated guide: provisioning forge
|
|
and matrix accounts, gateway htpasswd management, container
|
|
lifecycle shortcuts, interactive agent shell access.
|
|
- **[hivectl-cli](hivectl-cli.md)** — the exhaustive, autogenerated
|
|
flag-by-flag reference, kept in lockstep with the binary by CI.
|
|
|
|
## For the swarm operator
|
|
|
|
- **[swarmctl-cli](swarmctl-cli.md)** — the exhaustive, autogenerated
|
|
flag-by-flag reference for `swarmctl`, kept in lockstep with the
|
|
binary by CI the same way `hivectl-cli.md` is. `swarmctl` itself
|
|
runs as root on the swarm-controller host, not through `hivectl` —
|
|
see `swarmctl/README.md` for why. Two verb families today: `user`
|
|
(authelia's subject store, edited in place) and `agent create`
|
|
(queues the swarm-controller's creation job graph). No curated guide
|
|
yet; add one here if/when that grows.
|
|
|
|
## What your agents can do
|
|
|
|
- **[bash](bash.md)** — background shell execution (`mcp__bash__*`),
|
|
available on every agent unconditionally.
|
|
- **[subagent](subagent.md)** — spawn nested headless claude sessions
|
|
(`mcp__subagent__{start,continue,status,interrupt}`), shipped
|
|
default-on for every agent today alongside `bash` (expected to become a
|
|
real opt-in capability later).
|
|
- **[forge](forge.md)** — the `hive-forge` Forgejo CLI every agent has
|
|
for issues, PRs, and comments. Not an MCP tool — a binary agents
|
|
shell out to instead of ad-hoc curl.
|
|
- **[forge-cli](forge-cli.md)** — the exhaustive, autogenerated
|
|
flag-by-flag reference for `hive-forge`, kept in lockstep with the
|
|
binary by CI the same way `hivectl-cli.md` is.
|
|
- **[matrix](matrix.md)** — the matrix MCP tool surface
|
|
(`mcp__matrix__*`) for agents with a matrix account, multiple
|
|
accounts per agent, and declaring extra MCP servers generally.
|
|
- **[scheduling](scheduling.md)** — scheduled prompts (operator
|
|
approval required).
|