How muwinds/deluxe-agent works
This is a native desktop coding-agent application. A user submits a project-scoped prompt in the UI; the host runs an agent turn, which calls a model provider and executes requested tools, then persists the conversation for transcript display. The host also manages Wasmtime plugins, attachments, context compaction, and background jobs. Edges are limited to relationships visible in excerpts, SOURCE INDEX references, or the documented module contracts; unsampled subsystems are represented by their supported source paths.
Main entry points: agent.rs Agent loop · plugins/mod.rs Plugin lifecycle · app/mod.rs App controller and UI · session.rs Session model and store
Components 23
Desktop app
- App composition
src/main.rs - App controller and UI
src/app/mod.rs - Native renderer
src/renderer/mod.rs - IPC interface
src/ipc.rs
Agent runtime
- Agent loop
src/agent.rs - Runtime contracts
src/harness/ports.rs - Native services
src/harness/services.rs - Tool registry
src/tools/mod.rs - Background jobs
src/tools/jobs.rs - Context compaction
src/context.rs - Project runtime
src/runtime/project.rs
Plugin system
- Plugin lifecycle
src/plugins/mod.rs - Plugin capabilities
src/plugins/capabilities.rs - Wasm runtime
src/plugins/wasm_runtime.rs - Provider adapter
src/plugins/llm.rs
Provider components
- LLM provider component
plugin-src/llm-provider/src/lib.rs - MCP client component
plugin-src/mcp-client/src/lib.rs - Hooks component
plugin-src/hooks-provider/src/lib.rs
Conversation state
- Session model and store
src/session.rs - Image attachments
src/attachments.rs - Configuration
src/config.rs
Other components
- User
- Model endpoint
Connections 34
- User → App controller and UI: submits prompt
src/app/mod.rs - App composition → App controller and UI: composes
src/main.rs - App composition → Agent loop: starts runtime
src/main.rs - App composition → Runtime contracts: composes contracts
src/main.rs - App composition → Native renderer: starts renderer
src/main.rs - App controller and UI → IPC interface: routes requests
src/app/mod.rs - App controller and UI → Session model and store: uses sessions
src/app/mod.rs - App controller and UI → Configuration: uses settings
src/app/mod.rs - Native renderer → App controller and UI: renders UI
src/renderer/mod.rs - IPC interface → Agent loop: uses runtime
src/ipc.rs - IPC interface → Session model and store: uses sessions
src/ipc.rs - Agent loop → Runtime contracts: uses contracts
src/agent.rs - Agent loop → Context compaction: compacts history
src/agent.rs - Agent loop → Tool registry: dispatches calls
src/agent.rs - Agent loop → Image attachments: assembles images
src/agent.rs - Agent loop → Session model and store: updates turns
- Native services → Runtime contracts: implements ports
src/harness/mod.rs - Native services → Plugin lifecycle: manages plugins
src/harness/services.rs - Native services → Background jobs: uses registry
src/harness/services.rs - Tool registry → Background jobs: registers job tools
src/tools/mod.rs - Project runtime → Agent loop: runs agent
src/runtime/project.rs - Project runtime → Plugin lifecycle: resolves plugins
src/runtime/project.rs - Project runtime → Native services: uses services
src/runtime/project.rs - Plugin lifecycle → Plugin capabilities: loads capabilities
src/plugins/mod.rs - Plugin lifecycle → Wasm runtime: loads components
src/plugins/mod.rs - Provider adapter → Wasm runtime: uses component actor
src/plugins/llm.rs - Provider adapter → LLM provider component: shapes requests
src/plugins/llm.rs - Provider adapter → Model endpoint: sends HTTP
src/plugins/llm.rs - Plugin lifecycle → MCP client component: loads default component
- Plugin lifecycle → Hooks component: loads default component
- Session model and store → Image attachments: stores image references
src/session.rs - Context compaction → Session model and store: summarizes history
src/context.rs - Context compaction → LLM provider component: requests completion
- Configuration → Plugin lifecycle: stores plugin settings
src/config.rs