From e32011496bc99241df0adf8609746017d3d59d6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kuty=C5=82a?= Date: Wed, 17 Jun 2026 12:55:00 +0200 Subject: [PATCH] docs(chat): document chat_status and pipe orchestration tools The chat MCP module exposes 11 tools, but README and the managed CLAUDE.md template only listed the 5 core chat tools. Add the missing chat_status plus the pipe subsystem (pipe_submit, pipe_read_output, pipe_get_assignment, pipe_list_assignments, pipe_status) and explain multi-stage pipe orchestration (linear, fan-out, synthesizer). --- README.md | 12 ++++++++++-- bin/claude-md-template.js | 7 +++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d7a378a..a2992c4 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,8 @@ Product docs and guides served directly in the dashboard with navigation, module Shared chat room where the user and multiple LLM instances (Claude Code, Cursor, Codex, etc.) communicate via @mention addressing. The server assigns each participant a unique memorable name. Messages are delivered to LLMs via PTY injection into their shell panes. +On top of free-form chat, **pipes** orchestrate multi-stage work across agents: linear hand-offs, fan-out, and synthesizer aggregation. Each stage has a leased assignment; agents read their entitled input with `pipe_read_output` and return results with `pipe_submit`. Message history is persisted per-project as JSONL, and pipe messages are dual-written to per-pipe JSONL files for efficient scoped reads. + ### And More | Module | Type | What it does | @@ -280,15 +282,21 @@ Shared chat room where the user and multiple LLM instances (Claude Code, Cursor,
-Chat — 5 tools +Chat — 11 tools | Tool | Description | |------|-------------| | `chat_join` | Join the chat room; pass a live `paneId` from `DEVGLIDE_PANE_ID` with `submitKey: "cr"` (default, correct for all known clients) | | `chat_leave` | Leave the chat room | -| `chat_send` | Send a message (use @mentions to target recipients) | +| `chat_send` | Send a message (delivery resolved from `to` plus body @mentions; use `@all` to broadcast) | | `chat_read` | Read message history with limit, since, and topic filters | | `chat_members` | List active participants with pane link status | +| `chat_status` | Check your connection status and diagnostics (debug delivery issues) | +| `pipe_submit` | Submit your output for a pipe stage (use instead of `chat_send` for a `#pipe-` prompt) | +| `pipe_read_output` | Read the stage input you are entitled to (prior stage output, prompt, or aggregated fan-out) | +| `pipe_get_assignment` | Inspect assignment metadata for a pipe (role, stage, lease, deadline) | +| `pipe_list_assignments` | List your active and pending pipe assignments with lease status | +| `pipe_status` | Get detailed pipe status: slot states, leases, timing, dead-letter entries |
diff --git a/bin/claude-md-template.js b/bin/claude-md-template.js index 9e5bccd..658a831 100644 --- a/bin/claude-md-template.js +++ b/bin/claude-md-template.js @@ -102,6 +102,13 @@ Messages are delivered to LLMs via PTY injection when linked to a shell pane. - \`chat_send\` — send a message (delivery goes to recipients resolved from \`to\` plus body @mentions; use \`@all\` to broadcast; LLM messages with no recipients in either field are persisted but not PTY-delivered) - \`chat_read\` — read message history (supports \`limit\`, \`since\` filters) - \`chat_members\` — list active participants with pane link status +- \`chat_status\` — check your connection status and diagnostics (debug delivery issues, verify session health) +- \`pipe_submit\` — submit your output for a pipe stage (use instead of \`chat_send\` when responding to a \`#pipe-\` prompt) +- \`pipe_read_output\` — read the stage input you are entitled to (prior stage output, original prompt, or aggregated fan-out outputs) +- \`pipe_get_assignment\` — inspect assignment metadata for a pipe (role, stage, lease status, deadline) +- \`pipe_list_assignments\` — list your active and pending pipe assignments with lease status and deadlines +- \`pipe_status\` — detailed pipe status: slot states, active leases, timing breakdown, dead-letter entries +- **Pipes:** Pipes orchestrate multi-stage work across agents — linear hand-offs, fan-out, and synthesizer aggregation. Each stage has a leased assignment. When you receive a \`#pipe-\` prompt, read your entitled input with \`pipe_read_output\` and return your result with \`pipe_submit\` (not \`chat_send\`). \`chat_send\` rejects messages that start with or reference a running \`#pipe-\`. - **Name assignment:** The server derives your chat alias from \`name\` + pane number (e.g. "claude-1" for name "claude" on pane 1). The \`name\` param is the stable identity base — use a consistent agent label, not the backend model. Always use the \`name\` returned by \`chat_join\`. - **Targeted PTY delivery:** Delivery recipients are resolved from the \`to\` param plus any body @mentions. Use \`@all\` as an explicit broadcast token. LLM messages with no recipients in either \`to\` or body @mentions are persisted in history but not PTY-delivered to any agent terminal. - **Rules of Engagement:** On \`chat_join\`, you receive a \`rules\` field (markdown) defining when to respond vs. stay silent. **Follow these rules exactly.** Default: reply if @mentioned, or on a global user request only after your claim has been explicitly confirmed by the other active LLM participants. Do not let multiple LLMs answer the same global request uncoordinated. Rules can be customized per project.