You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
✨ feat(console): replace Streamlit chat with React console, align API and core contracts
Introduce `apps/meeseeks_console/`, a React + Vite web frontend for
task orchestration that connects through the REST API. Remove the
obsolete Streamlit-based `apps/meeseeks_chat/` and all associated
Docker, CI, and documentation references.
Core orchestration changes:
- Wire MCP tool scoping end-to-end: `context.mcp_tools[]` from the
frontend now filters the tool schema via a new `filter_specs()`
function in `tool_registry.py`, threaded through SessionRuntime →
Orchestrator → ToolUseLoop.
- Wire uploaded attachment content into the LLM system prompt via
`ContextBuilder` (text files read from disk, capped per file/total).
- Fix user steering: switch `AgentContext` from `asyncio.Queue`/`Event`
to stdlib `queue.Queue`/`threading.Event` for cross-thread safety;
wire `RunHandle` steering objects through the full call chain so
`enqueue_message()` and `interrupt_step()` work.
- Fix `summarize_session()` status mapping: `done_reason` values
`canceled`, `error`, `max_steps_reached` now set the `status` field
correctly instead of falling through to `completed`.
- Extract reusable `filter_specs()` from `spawn_agent._filter_tool_specs`
into `tool_registry` (DRY).
API changes:
- Pass `allowed_tools` from `context.mcp_tools` to `start_async()` and
`run_sync()` for both async and legacy sync endpoints.
- Add `POST /sessions/<id>/message` (user steering mid-session).
- Add `POST /sessions/<id>/interrupt` (step interruption).
- Add `GET /sessions/<id>/agents` (sub-agent tree from transcript).
- Add CORS `after_request` hook for cross-origin frontend access.
- Fix `Dockerfile.api` exposed port from 5123 to 5124.
Console frontend:
- Add `sub_agent` event rendering in logs (depth-indented start/stop).
- Fix `StatusBadge` for `max_steps_reached` done reason.
- Add `sendMessage` and `interruptStep` API client functions.
- Enable text input while session is running (steering messages).
- Add sub-agent count indicator in conversation timeline.
Infrastructure:
- Per-project Makefiles for console (npm), API (uv), and CLI (uv).
- `docker/Dockerfile.console` (multi-stage node + nginx build).
- `docker/nginx-console.conf` (reverse-proxy /api/ to backend).
- `apps/meeseeks_api/docker-compose.yml` (full API + Console stack).
- `apps/meeseeks_console/docker-compose.yml` (standalone console).
- Docker CI updated to build `meeseeks-console` image instead of chat.
- Dependabot entry added for console npm dependencies.
Documentation:
- All references to Streamlit, meeseeks_chat, Magic Patterns, and
Codex Console branding removed across README, CLAUDE.md, docs/,
pyproject.toml, mkdocs.yml, codecov.yml, conftest, build-install.sh,
and AGENTS.md shim files.
- Console introduced as a current feature in README (replacing the
"What's Next" teaser) and docs/clients-web-api.md.
- Rename `ChatConfig` fields from `streamlit_port`/`streamlit_address`
to `port`/`address` for backward-compatible config parsing.
Copy file name to clipboardExpand all lines: CLAUDE.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# Agents Guide - Personal Assistant (Meeseeks)
2
2
3
3
## What this codebase is
4
-
Meeseeks is a multi-agent LLM personal assistant with an async sub-agent hypervisor. The core engine uses a single async `ToolUseLoop` that the LLM drives via native `bind_tools` / `tool_use`. Sub-agents are spawned via a `spawn_agent` tool, tracked by an `AgentHypervisor`, and cleaned up via structured concurrency. It ships multiple interfaces (CLI, chat UI, REST API, Home Assistant) that share the same core engine.
4
+
Meeseeks is a multi-agent LLM personal assistant with an async sub-agent hypervisor. The core engine uses a single async `ToolUseLoop` that the LLM drives via native `bind_tools` / `tool_use`. Sub-agents are spawned via a `spawn_agent` tool, tracked by an `AgentHypervisor`, and cleaned up via structured concurrency. It ships multiple interfaces (CLI, web console, REST API, Home Assistant) that share the same core engine.
<td align="center"><img src="docs/screenshot_chat_app_1.png" alt="Screenshot of Meeseks WebUI" height="512px"></td>
45
42
</tr>
46
43
</table>
47
44
48
-
## What's next (Meeseeks Console)
45
+
## Meeseeks Console
49
46
50
-
We are upgrading the API backend to better support a task-orchestration frontend. Next up: finalize the API shape, then polish the frontend and ship the full console experience.
47
+
The web console provides a taskorchestration frontend backed by the REST API. It supports session management, real-time event polling, tool selection, and execution trace viewing.
@@ -83,7 +80,7 @@ We are upgrading the API backend to better support a task-orchestration frontend
83
80
- (✅) **Local file + shell tools:** Built-in Aider adapters for edit blocks, read files, list dirs, and shell commands (approval-gated). Edit blocks require strict SEARCH/REPLACE format; the tool returns format guidance on mismatches.
84
81
- (✅) **Home Assistant:** Ships a Conversation integration for voice control and entity actions.
85
82
- (✅) **REST API:** Exposes the assistant over HTTP for third-party integration.
86
-
- (✅) **Web chat UI:**Streamlit interface with plans, tool input types, and responses.
83
+
- (✅) **Web console:**Task orchestration frontend backed by the REST API (React + Vite).
87
84
- (✅) **Terminal CLI:** Fast interactive shell with plan visibility and tool result cards.
88
85
89
86
## Safety and observability
@@ -100,7 +97,7 @@ Optional features that can be installed when needed.
100
97
-**CLI layout adapts to terminal width.** Headers and tool result cards adjust to small and wide shells.
101
98
-**Interactive CLI controls.** Use a model picker, MCP browser, session summary, and token budget commands.
102
99
-**Inline approvals.** Rich-based approval prompts render with padded, dotted borders and clear after input.
103
-
-**Unified experience.**Web, API, Home Assistant, and CLI interfaces share the same core engine to reduce duplicated maintenance.
100
+
-**Unified experience.**Console, API, Home Assistant, and CLI interfaces share the same core engine to reduce duplicated maintenance.
104
101
-**Shared session runtime.** The API exposes polling endpoints; the CLI runs the same runtime in-process for sync execution, cancellation, and summaries.
105
102
-**Event payloads.**`action_plan` steps are `{title, description}`; `tool_result`/`permission` use `tool_id`, `operation`, and `tool_input`.
106
103
@@ -109,7 +106,7 @@ Optional features that can be installed when needed.
0 commit comments