Compare commits
2 changed files with 0 additions and 39 deletions
12
README.md
12
README.md
|
|
@ -145,18 +145,6 @@ the container as environment variables. Common options:
|
||||||
replace the whole dist. Paths with leading `/` or `..` segments are
|
replace the whole dist. Paths with leading `/` or `..` segments are
|
||||||
rejected at eval time.
|
rejected at eval time.
|
||||||
|
|
||||||
- **`hyperhive.matrix.enable`** — Boolean (default `true`). When true,
|
|
||||||
each agent container runs `hive-matrix-daemon` (a long-running
|
|
||||||
matrix-sdk process that holds the per-agent client + sync) and
|
|
||||||
auto-injects `hive-matrix-mcp` as a stdio MCP server so claude can
|
|
||||||
call the matrix tools (`mcp__matrix__send_message`, `send_dm`,
|
|
||||||
`send_reaction`, `send_reply`, `mark_read`, `list_rooms`,
|
|
||||||
`list_room_members`, `read_room`; `room` args accept both
|
|
||||||
`!id:server` and `#alias:server` forms). Silently no-ops when
|
|
||||||
`<state>/matrix-token` is absent (i.e., the host-level
|
|
||||||
`hyperhive.matrix` tuwunel container hasn't provisioned the account
|
|
||||||
yet). Set to `false` to opt a specific agent out of matrix.
|
|
||||||
|
|
||||||
See `nix/templates/harness-base.nix` for the full list of options and
|
See `nix/templates/harness-base.nix` for the full list of options and
|
||||||
their descriptions.
|
their descriptions.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -284,33 +284,6 @@ Identity = socket: anything that can connect to
|
||||||
which is fine because the bind-mount is the agent's own
|
which is fine because the bind-mount is the agent's own
|
||||||
container only.
|
container only.
|
||||||
|
|
||||||
### Built-in matrix MCP (`mcp__matrix__*`)
|
|
||||||
|
|
||||||
When `hyperhive.matrix.enable = true` (default) and the host-level
|
|
||||||
matrix tuwunel is configured, the harness auto-injects `hive-matrix-mcp`
|
|
||||||
as a second stdio MCP server. Tools land as `mcp__matrix__<name>`:
|
|
||||||
|
|
||||||
- `send_message(room, body)` — send a markdown message; `room` accepts
|
|
||||||
`!id:server` or `#alias:server`, daemon resolves either
|
|
||||||
- `send_dm(user_id, body)` — send a direct message to a matrix user
|
|
||||||
- `send_reaction(room, event_id, key)` — react to a message
|
|
||||||
- `send_reply(room, event_id, body)` — threaded reply
|
|
||||||
- `mark_read(room, event_id)` — advance the read receipt
|
|
||||||
- `list_rooms()` — enumerate joined rooms
|
|
||||||
(`{ id, canonical_alias, name, member_count }` per room)
|
|
||||||
- `list_room_members(room)` — members of a room
|
|
||||||
- `read_room(room, limit?)` — recent timeline events
|
|
||||||
|
|
||||||
The daemon (`hive-matrix-daemon`) holds the long-running matrix-sdk
|
|
||||||
`Client` + sync loop; the stdio bridge (`hive-matrix-mcp`) is spawned
|
|
||||||
per turn and forwards tool calls over `/run/hive-matrix.sock`. Both
|
|
||||||
silently exit when `<state>/matrix-token` is absent (account not yet
|
|
||||||
provisioned). Incoming room events wake the agent via `AgentRequest::Wake`
|
|
||||||
with `from: "matrix"` and a teaser body
|
|
||||||
(`[matrix] <sender> in <room>: <first-100c>…` where `<sender>` is
|
|
||||||
the matrix user id and `<room>` is the alias or id as reported by
|
|
||||||
the SDK).
|
|
||||||
|
|
||||||
### Extra MCP servers (per-agent)
|
### Extra MCP servers (per-agent)
|
||||||
|
|
||||||
Each agent's NixOS config can declare additional MCP servers via
|
Each agent's NixOS config can declare additional MCP servers via
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue