How shorin-kiwata/miyu-agent works
Miyu is a configurable, multi-interface AI assistant: a user submits a turn through the terminal, WebUI, shell integration, or a connected messaging platform; the agent prepares context, requests a configured model, dispatches tools, and returns a rendered reply. Its product also includes persistent conversation and memory features, voice interaction, knowledge and utility tools, and data transfer. The tree and README establish these capabilities; sampled excerpts confirm the executable entry, WebUI routing, voice pipeline, and selected tool and state behaviors, but not every cross-module call.
Main entry points: turn_loop/mod.rs Agent turn loop · onebot/mod.rs QQ OneBot · server.rs WebUI server · llm/mod.rs Model providers
Components 20
User interfaces
- CLI entry
src/main.rs - Config TUI
src/config_tui/mod.rs - WebUI server
crates/miyu-hosts/src/web/server.rs - Reply rendering
crates/miyu-hosts/src/render/mod.rs
Agent runtime
- Agent turn loop
crates/miyu-engine/src/agent/turn_loop/mod.rs - Context and prompts
crates/miyu-engine/src/agent/context.rs - Model providers
crates/miyu-core/src/llm/mod.rs
Assistant capabilities
- Tool registry
crates/miyu-engine/src/tools/mod.rs - Memory system
crates/miyu-core/src/memory/mod.rs - Knowledge base
crates/miyu-engine/src/tools/knowledge_base/mod.rs - Voice pipeline
crates/miyu-engine/src/voice/pipeline.rs
Persistence and setup
- Provider configuration
crates/miyu-base/src/config/provider.rs - Conversation state
crates/miyu-core/src/state/mod.rs - Import and export
crates/miyu-engine/src/transfer/mod.rs
Platform integrations
- Host adapters
crates/miyu-hosts/src/platforms/mod.rs - QQ OneBot
crates/miyu-hosts/src/platforms/onebot/mod.rs - Daemon
crates/miyu-hosts/src/daemon.rs
Other components
- User
- Model service
- Messaging platform
Connections 24
- User → CLI entry: starts
- CLI entry → Agent turn loop: runs turns
- User → WebUI server: submits turns
- WebUI server → Agent turn loop: starts turns
- User → Config TUI: edits settings
- Config TUI → Provider configuration: updates providers
- Messaging platform → QQ OneBot: sends events
- QQ OneBot → Agent turn loop: dispatches turns
- Daemon → QQ OneBot: hosts
- Daemon → Voice pipeline: starts optional process
- Agent turn loop → Context and prompts: builds context
- Agent turn loop → Model providers: requests completion
- Model providers → Model service: sends requests
- Provider configuration → Model providers: configures providers
- Agent turn loop → Tool registry: dispatches calls
- Tool registry → Knowledge base: provides search
- Context and prompts → Memory system: recalls context
- Memory system → Conversation state: reads and writes
- Agent turn loop → Conversation state: persists turns
- Agent turn loop → Reply rendering: emits reply events
- WebUI server → Reply rendering: renders responses
- Host adapters → Reply rendering: formats platform replies
- QQ OneBot → Messaging platform: sends replies
- Import and export → Conversation state: imports and exports