Files
stack/docs/tess/USER-GUIDE.md
Hermes Agent 365c2130de
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
feat(#756): add official Discord channel adapter
2026-07-14 15:16:44 -05:00

1.6 KiB

Tess User Guide

Discord conversations

In a configured Tess/interaction channel, an authorized untagged message is sent to the bound logical agent and its response appears in the channel. Mention the bot when starting a separate topic: Mosaic reuses a thread already attached to that same Discord message, or creates a new thread for the message, and responds there. Continue in that thread without tagging the bot again. Messages from unconfigured channels or users without an authorized pairing are ignored without creating a thread.

/approve and /stop <approval> operate on the current channel/thread session and do not open a new thread. The Discord connection is bound to the logical agent conversation, not Claude, Codex, Pi, OpenCode, or another harness; a runtime handoff behind Mosaic does not change where you continue the conversation.

CLI and HTTP interaction

All HTTP interaction calls require authenticated session credentials and X-Correlation-Id. Use GET /api/interaction/{agentName}/sessions?provider=... to list only visible runtime sessions, then enroll with POST .../sessions/{sessionId}/enroll body {providerId,runtimeSessionId}. Attach uses {mode:"read"}; send uses {content,idempotencyKey}. Stop requires {approvalRef} and fails with 403 without the exact durable approval. Recovery only requeues interrupted durable work.

Memory is user-scoped: preferences support list/get/upsert/delete; insights support list/get/create/delete; search body is {query,limit?,maxDistance?}. Mos work is handed off with POST /api/coord/mos/handoff; observe and result use the returned handoff ID.