diff --git a/Readme.md b/Readme.md index fe7ac8b2..dee91d07 100644 --- a/Readme.md +++ b/Readme.md @@ -6,7 +6,7 @@ A high-density GUI orchestrator for local LLM-driven coding sessions. Manual Slo **Design Philosophy**: Full manual control over vendor API metrics, agent capabilities, and context memory usage. High information density, tactile interactions, and explicit confirmation for destructive actions. -**Tech Stack**: Python 3.11+, Dear PyGui / ImGui Bundle, FastAPI, Uvicorn, tree-sitter +**Tech Stack**: Python 3.11+, ImGui Bundle (Dear ImGui + imgui-node-editor + imgui_markdown + ImGuiColorTextEdit), FastAPI, Uvicorn, tree-sitter (Python, C, C++), chromadb (RAG), pywin32 (Windows window frame), psutil (telemetry), pydantic, dolt (Beads) **Providers**: Gemini API, Anthropic API, DeepSeek, Gemini CLI (headless), MiniMax **Platform**: Windows (PowerShell) — single developer, local use @@ -35,13 +35,18 @@ Hierarchical task decomposition with specialized models and strict token firewal - **Three Dialog Types**: ConfirmDialog (scripts), MMAApprovalDialog (steps), MMASpawnApprovalDialog (workers) - **Editable Payloads**: Review, modify, or reject any AI-generated content before execution -### 26 MCP Tools with Sandboxing +### 45 MCP Tools with Sandboxing Three-layer security model: Allowlist Construction → Path Validation → Resolution Gate - **File I/O**: read, list, search, slice, edit, tree -- **AST-Based (Python)**: skeleton, outline, definition, signature, class summary, docstring -- **Analysis**: summary, git diff, find usages, imports, syntax check, hierarchy -- **Network**: web search, URL fetch +- **AST-Based (Python)**: skeleton, outline, definition, signature, class summary, docstring, var declaration, hierarchy, imports, syntax check, find usages +- **AST-Based (C/C++)**: tree-sitter powered skeleton, outline, definition, signature, and surgical update tools for C and C++ +- **File Editing**: surgical string match (`edit_file`) preserving indentation and line endings +- **Analysis**: summary, git diff, find usages, imports, syntax check, hierarchy, derive code path +- **Network**: web search, URL fetch (dependency-free, stdlib only) - **Runtime**: UI performance metrics +- **Beads**: bd_create, bd_list, bd_ready, bd_update for Dolt-backed issue tracking + +See [docs/guide_tools.md](./docs/guide_tools.md) for the full inventory. ### Parallel Tool Execution Multiple independent tool calls within a single AI turn execute concurrently via `asyncio.gather`, significantly reducing latency. @@ -69,11 +74,46 @@ The **MMA (Multi-Model Agent)** system decomposes epics into tracks, tracks into | Guide | Scope | |---|---| | [Readme](./docs/Readme.md) | Documentation index, GUI panel reference, configuration files, environment variables | -| [Architecture](./docs/guide_architecture.md) | Threading model, event system, AI client multi-provider architecture, HITL mechanism, comms logging | -| [Tools & IPC](./docs/guide_tools.md) | MCP Bridge 3-layer security, 26 tool inventory, Hook API endpoints, ApiHookClient reference, shell runner | -| [MMA Orchestration](./docs/guide_mma.md) | 4-tier hierarchy, Ticket/Track data structures, DAG engine, ConductorEngine, worker lifecycle, abort propagation | -| [Simulations](./docs/guide_simulations.md) | `live_gui` fixture, Puppeteer pattern, mock provider, visual verification, ASTParser / summarizer | -| [Meta-Boundary](./docs/guide_meta_boundary.md) | Application vs Meta-Tooling domains, inter-domain bridges, safety model separation | +| [Architecture](./docs/guide_architecture.md) | Threading model, event system, AI client multi-provider architecture (Gemini, Anthropic, DeepSeek, Gemini CLI, MiniMax), HITL mechanism, comms logging, RAG integration, Tier 4 patch flow | +| [Tools & IPC](./docs/guide_tools.md) | MCP Bridge 3-layer security, 45-tool inventory, Hook API endpoints, ApiHookClient reference, shell runner, Beads tools | +| [MMA Orchestration](./docs/guide_mma.md) | 4-tier hierarchy, Ticket/Track/WorkerContext data structures, DAG engine, ConductorEngine, worker lifecycle, persona application, abort propagation | +| [Simulations](./docs/guide_simulations.md) | `live_gui` fixture, Puppeteer pattern, mock provider, visual verification, test areas by subsystem, headless service | +| [Context Curation](./docs/guide_context_curation.md) | AST masking, fuzzy anchor slices, structural file editor, view presets, history snapshotting | +| [Shaders & Window](./docs/guide_shaders_and_window.md) | Hybrid shader injection, custom window frame, NERV theme effects | +| [Meta-Boundary](./docs/guide_meta_boundary.md) | Application vs Meta-Tooling domains, inter-domain bridges, cross-tool abstractions | + +--- + +## Subsystem Index + +| Subsystem | Guide | Primary Module(s) | +|---|---|---| +| Multi-provider LLM client | [Architecture](./docs/guide_architecture.md#ai-client-multi-provider-architecture) | `src/ai_client.py` | +| 4-Tier MMA orchestration | [MMA](./docs/guide_mma.md) | `src/multi_agent_conductor.py`, `src/dag_engine.py` | +| DAG engine & ticket lifecycle | [MMA](./docs/guide_mma.md#dag-engine-dag_enginepy) | `src/dag_engine.py` | +| MCP tools & Hook API | [Tools & IPC](./docs/guide_tools.md) | `src/mcp_client.py`, `src/api_hooks.py` | +| Execution Clutch (HITL) | [Architecture](./docs/guide_architecture.md#the-execution-clutch-human-in-the-loop) | `src/app_controller.py` | +| Context composition & aggregation | [Context Curation](./docs/guide_context_curation.md) | `src/aggregate.py`, `src/file_cache.py` | +| AST inspection & slicing | [Context Curation](./docs/guide_context_curation.md#granular-ast-control) | `src/file_cache.py`, `src/fuzzy_anchor.py` | +| Personas (unified profiles) | *See [guide_mma.md](./docs/guide_mma.md#persona-application); dedicated guide pending* | `src/personas.py` | +| Tool bias engine | *See [guide_tools.md](./docs/guide_tools.md); dedicated guide pending* | `src/tool_bias.py` | +| RAG (Retrieval-Augmented Generation) | *See [guide_architecture.md](./docs/guide_architecture.md#rag-integration); dedicated guide pending* | `src/rag_engine.py` | +| Beads mode (Dolt issue tracking) | *See [guide_tools.md](./docs/guide_tools.md#beads-tools); dedicated guide pending* | `src/beads_client.py` | +| Hot reload (state-preserving) | *Dedicated guide pending* | `src/hot_reloader.py` | +| Discussion metrics & compression | [Architecture](./docs/guide_architecture.md#discussion-compression) | `src/ai_client.py` | +| Test infrastructure & simulations | [Simulations](./docs/guide_simulations.md) | `tests/conftest.py`, `simulation/` | +| Headless service (FastAPI) | [Simulations](./docs/guide_simulations.md#headless-service-tests) | `src/api_hooks.py` | +| NERV theme & visual effects | [Shaders & Window](./docs/guide_shaders_and_window.md#4-nerv-theme-effects) | `src/theme_nerv.py`, `src/theme_nerv_fx.py` | +| Custom window frame | [Shaders & Window](./docs/guide_shaders_and_window.md#2-custom-window-frame-strategy) | `src/gui_2.py` | +| Workspace profiles (docking layouts) | *Dedicated guide pending* | `src/workspace_manager.py` | +| History (undo/redo) | [Context Curation](./docs/guide_context_curation.md#context-snapshotting-per-take) | `src/history.py` | +| External MCP integration | [Tools & IPC](./docs/guide_tools.md#external-mcp-integration) | `src/mcp_client.py` | +| Telemetry & performance monitoring | [Architecture](./docs/guide_architecture.md#telemetry--auditing) | `src/performance_monitor.py` | +| Session logging | [Tools & IPC](./docs/guide_tools.md#session-logging) | `src/session_logger.py` | +| MMA dashboard & node editor | [MMA](./docs/guide_mma.md) | `src/gui_2.py:_render_mma_dashboard` | +| Cross-tool abstractions (conductor) | [Meta-Boundary](./docs/guide_meta_boundary.md#the-cross-tool-abstractions) | `conductor/` | + +Subsystems marked "dedicated guide pending" are slated for dedicated `docs/guide_*.md` files in upcoming docs work. For now, their details live inline in the guides listed under [Documentation](#documentation) above. --- @@ -105,8 +145,13 @@ api_key = "YOUR_KEY" [deepseek] api_key = "YOUR_KEY" + +[minimax] +api_key = "YOUR_KEY" ``` +Each provider's key is loaded by the corresponding `_ensure__client()` in `src/ai_client.py`. The `credentials.toml` is **blacklisted** by the MCP allowlist — AI tools cannot read it under any circumstance. + ### Running ```powershell