chat - sinrimin/harness-nexus GitHub Wiki
Portal chat
Phase 8 C5 + 9 W5–W15 · designs: C5 chat · portal UI · native sessions · composer · sender controls · plan/todo · ask-user · slash commands
Chat with any agent instance — deployed or merely detected — from the
/chat page. The daemon spawns the appropriate ACP adapter (or, for pi, the
self-developed bridge) and relays a semantic stream to the browser.
Sessions
- New session — pick a directory first (through the machine's base workspace); the adapter starts in that cwd.
- The session list is the agent's own — its native sessions, grouped by working directory, with resume. The platform deliberately persists nothing session-shaped; closing a channel just disconnects, the agent's session survives.
- History replays through the same stream the live turn uses, so a page refresh restores the transcript.
The stream & composer
- A row-sequence transcript: user rows, assistant steps split by tool calls, rich tool cards (read/diff/terminal/search/todo families, with a generic fallback), system notes, turn tails (duration · tokens).
- Composer: autogrow textarea, context-usage meter, send/stop. Attach
images (downscaled client-side) and file-reference chips; trailing
@opens the workspace file picker./opens the agent's own advertised command palette. - Selectors: mode / model / reasoning-effort — driven by what the agent actually reports over ACP; an agent with no modes shows no selector.
- Permissions — tool-call approvals surface as inline cards (allow once/always, reject). Ask User questions (claude-code today) render as form cards.
- Channels — several sessions can be open at once across machines, shown as tabs with idle sweeping and a "close all / close idle" broom.