Workspace Agent Relay
БесплатноНе проверенA local relay and dashboard that enables ChatGPT Workspace Agents to stream real-time updates—plan, progress, tool calls, and results—back to the user's machine
Описание
A local relay and dashboard that enables ChatGPT Workspace Agents to stream real-time updates—plan, progress, tool calls, and results—back to the user's machine via MCP and SSE.
README
Local relay + dashboard for ChatGPT Workspace Agents: the agent reports plan, progress, tool calls, and results back to your machine in real time.
Why: the Workspace Agent trigger API is fire-and-forget (
202with no body). This relay gives the agent an MCP callback channel and you a live dashboard.
Architecture
you (browser) your machine ChatGPT
┌──────────┐ ┌─────────────────────────┐ ┌─────────────────┐
│ dashboard│◀── │ workspace-agent-relay-mcp│ ◀─MCP── │ Workspace Agent │
│ :8799 │ │ (this repo) │ └─────────────────┘
└──────────┘ └───────────┬─────────────┘
│ tool-trace POST
▲
┌────────┴────────────┐
│ notion-local-ops-mcp │ optional: files / shell / git
└─────────────────────┘
- This repo — reporting MCP (
record_plan,record_progress,record_result, …) + dashboard + SSE. - notion-local-ops-mcp (optional) — execution tools;
bind_relay_runmirrors tool calls here. - Dashboard IA — conversations are organized by Workspace (
working_directory) or the built-in无目录space. Workspace Agent entries are execution backends selected in Settings, not the primary sidebar object.
The active code path is intentionally relay-only: MCP callback events plus local tool traces. Older cloud-side readback experiments have been removed from the working tree; use Git history if you need to study them.
Quick start
python3.11 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env # set WORKSPACE_AGENT_RELAY_AUTH_TOKEN at minimum
workspace-agent-relay-mcp
Open http://127.0.0.1:8799/, enter the relay access password (WORKSPACE_AGENT_RELAY_AUTH_TOKEN).
Tunnel (optional): ./scripts/dev-tunnel.sh
Local development (recommended)
For day-to-day UI work you do not need pnpm run build. The Python server serves a static frontend/dist bundle on :8799 — that path is production-like and requires a rebuild after every change.
Instead, run the backend and the Vite dev server separately:
# Terminal 1 — API + MCP + SSE (launchd/dev-tunnel is fine too)
.venv/bin/python -m workspace_agent_relay_mcp.server
# Terminal 2 — dashboard with HMR
./scripts/dev-dashboard.sh
Open http://127.0.0.1:5173 for the dashboard. ChatGPT MCP stays on http://127.0.0.1:8799/mcp (or your tunnel URL).
dev-dashboard.sh checks that the relay is healthy, then starts Vite. It reads WORKSPACE_AGENT_RELAY_AUTH_TOKEN from the repo .env and seeds the browser token automatically — no need to paste it again on :5173.
| URL | Purpose |
|---|---|
http://127.0.0.1:5173 |
Dashboard while editing frontend (HMR) |
http://127.0.0.1:8799 |
API, MCP, SSE; static dashboard if frontend/dist exists |
tunnel /mcp |
ChatGPT Workspace Agent connector |
Run cd frontend && pnpm run build only before CI or when you want the single-port :8799 dashboard without Vite.
ChatGPT Workspace Agent setup (required)
Without these four steps the dashboard stays empty.
1. Register an execution backend in the relay dashboard
Settings → Add backend (or use .env for a single default backend):
| Field | Where to get it |
|---|---|
| Name | Your label (e.g. Work, Personal) |
| Trigger URL | ChatGPT → Workspace Agent → https://api.chatgpt.com/v1/workspace_agents/agtch_…/trigger |
| Access token | Same settings page (at-…) — stored on the relay, never shown again in the browser |
For multiple ChatGPT accounts, add one backend row per account. Pick the Current backend in Settings; new threads use that backend automatically.
2. Configure workspaces
Use the sidebar workspace selector or Settings → Workspaces:
无目录is built in and sends no cwd.- A workspace has a name and an absolute
working_directory. - New threads inherit the current workspace.
- Every run stores a
working_directorysnapshot and injects it into the Workspace Agent trigger, so later workspace path edits do not rewrite old runs.
3. Connect MCP: relay (required)
In the Workspace Agent → MCP connectors:
| Field | Value |
|---|---|
| URL | http://127.0.0.1:8799/mcp (or your tunnel /mcp) |
| Auth | Bearer = WORKSPACE_AGENT_RELAY_AUTH_TOKEN |
Confirm tools: record_plan, record_progress, record_result, ask_user, get_run_context, server_info.
4. Connect MCP: local ops (recommended)
Add notion-local-ops-mcp as a second connector so Tool calls stream in the dashboard. See its README for URL/auth.
5. Paste Agent Instructions (easy to miss)
Open docs/agent-instructions.md:
- Replace placeholders
<YOUR_RELAY_MCP>and<YOUR_LOCAL_OPS_MCP>with your connector names (defaults:workspace-agent-relay-mcpandnotion-local-ops-mcp). - Copy the fenced 指令正文 block.
- ChatGPT → edit Workspace Agent → Instructions → paste (append or replace any old relay section).
Expected workflow:
record_plan → bind_relay_run → batch record_progress → record_result
Without this paste, the agent may work only inside ChatGPT and the operator sees nothing on the relay.
6. Smoke test
Select a workspace, then send a short task from the dashboard (e.g. inspect the current directory or create/read a file under /tmp). You should see plan → tool traces (if local-ops connected) → result, and the trigger should include working_directory for non-无目录 workspaces.
MCP tools (relay)
| Tool | Purpose |
|---|---|
record_plan |
Step plan at turn start (stable step ids) |
record_progress |
Batched step updates + optional note |
record_result |
Final Markdown + status (done / failed / blocked) |
ask_user |
Pause for a human decision |
get_run_context |
Recover run summary if context drifts |
Dashboard
Per run: your message → plan checklist → tool traces (from local-ops) → progress notes → ask_user (if any) → final result. Updates via SSE (no refresh).
Pairing with notion-local-ops-mcp
- Agent calls
record_planon this relay. - Agent calls
bind_relay_runon notion-local-ops-mcp withrequest_id(+conversation_key) from the trigger (norelay_urlneeded when configured locally). - Traced tools POST to
/internal/tool-traceon this relay (shared bearer) → dashboard.
Details: notion-local-ops-mcp → Relay Bridge.
Project layout
src/workspace_agent_relay_mcp/ server, MCP tools, API, SQLite store, trigger client
frontend/ React dashboard
docs/agent-instructions.md paste block for ChatGPT Instructions
scripts/dev-tunnel.sh cloudflared supervisor
scripts/dev-dashboard.sh Vite HMR dashboard (proxies /api → relay)
tests/
Security
- Never commit
.env, tunnels, or*.sqlite*. WORKSPACE_AGENT_RELAY_AUTH_TOKEN— dashboard +/mcpbearer, and the shared bearer for/internal/tool-trace(the notion-local-ops bridge). When unset,/internal/tool-traceis disabled.- Workspace Agent access tokens — stored in relay DB or
.env; rotate if leaked. - MCP tool writes route by
request_id+conversation_keyand are rejected once a run is terminal (done/blocked/failed/superseded). - Dashboard sends default to queue/new request: Enter creates a fresh
request_idand does not close the current active run. Explicit steer/guidance reuses the selected active run'srequest_id. - Workspace paths are plain absolute local paths. They are copied into each run as
working_directory_snapshot; old runs are not rewritten when a workspace is edited or deleted.
Status
Local-first prototype for learning the Workspace Agent callback gap — not a product.
Установка Workspace Agent Relay
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/catoncat/workspace-agent-relay-mcpFAQ
Workspace Agent Relay MCP бесплатный?
Да, Workspace Agent Relay MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Workspace Agent Relay?
Нет, Workspace Agent Relay работает без API-ключей и переменных окружения.
Workspace Agent Relay — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Workspace Agent Relay в Claude Desktop, Claude Code или Cursor?
Открой Workspace Agent Relay на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Opencode Omniroute Plugin
OpenCode plugin for the OmniRoute AI Gateway. Drives dynamic model discovery, /connect auth flow, and multi-instance OmniRoute providers via the official @openc
автор: GitHub ActionsRoblox Studio
Enables AI coding tools to control Roblox Studio for workspace exploration, instance manipulation, and script management. It provides tools for playtesting, sce
автор: paralovAntigravity Drawio
MCP server that enables AI assistants to create, parse, render, and validate Draw.io diagrams programmatically.
автор: S-SUJAN-SFetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
автор: lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
Compare Workspace Agent Relay with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
