How luisdomingo-devops/ai_manager works
Alfonso is an on-premise-oriented business and fiscal assistant for Spanish self-employed users, with desktop and voice interfaces backed by a FastAPI service. The documented request path runs from user input through the API and planner to tools or specialist agents, with tenant-scoped memory and domain services supporting business operations. Fiscal work includes document parsing and tax calculation, followed by Veri*Factu compliance and signing. The README documents additional accounting, payroll, banking, and security capabilities; some wiring is not shown in the sampled source, so links to those subsystems are kept conservative.
Main entry points: planner_orchestrator.py Planner orchestrator · server Server tools · main.py FastAPI application · cliente.py Voice client
Components 26
User interfaces
- Desktop GUI
client/gui/app.py - Voice client
client/cliente.py - Audio services
client/services/audio.py
API and orchestration
- FastAPI application
app/main.py - API routes
app/api/routes.py - Business API
app/api/v1 - Planner orchestrator
app/domain/planner_orchestrator.py - Tool registry
app/infrastructure/adapters/tool_registry.py - Server tools
app/tools/server - Specialist agents
app/domain/agents
Business and fiscal
- Document import
app/domain/services/import_service/import_orchestrator.py - Tax engine
app/domain/services/tax_engine.py - VeriFactu invoicing
app/domain/services/verifactu_service.py - Document signing
app/domain/services/signature_service.py - Accounting and ledger
app/domain/services/ledger_service.py - Payroll
app/domain/services/payroll_engine.py - Banking
app/domain/services/bank_service.py
Tenant state
- Tenant SQLite
app/infrastructure/database/connection_manager.py - Memory adapters
app/adapters/memory
Integrations and security
- Event bus
app/core/events.py - LLM client
app/infrastructure/adapters/llm_client.py - Security monitoring
app/domain/agents/security/security_agent.py - Bank providers
app/infrastructure/adapters/bank_providers.py
Other components
- Autonomous user
- Gemini service
- AEAT services
Connections 27
- Autonomous user → Desktop GUI: uses
- Autonomous user → Voice client: speaks to
- Desktop GUI → FastAPI application: API requests
- Voice client → Audio services: captures speech
- Voice client → FastAPI application: sends chat
- FastAPI application → API routes: serves routes
- FastAPI application → Business API: serves routers
- API routes → Planner orchestrator: delegates requests
- Business API → Planner orchestrator: delegates chat
- Planner orchestrator → Tool registry: resolves tools
- Tool registry → Server tools: dispatches
- Planner orchestrator → Specialist agents: routes tasks
- Planner orchestrator → LLM client: requests inference
- Planner orchestrator → Memory adapters: uses context
- Server tools → Document import: invokes import
- Document import → Tax engine: parses for tax
- Server tools → VeriFactu invoicing: invokes invoicing
- VeriFactu invoicing → Document signing: signs documents
- Server tools → Accounting and ledger: invokes accounting
- Server tools → Payroll: invokes payroll
- Server tools → Banking: invokes banking
- Banking → Bank providers: connects providers
- Memory adapters → Tenant SQLite: reads and writes
- Planner orchestrator → Event bus: publishes events
- LLM client → Gemini service: sends prompts
- Security monitoring → FastAPI application: monitors service
- VeriFactu invoicing → AEAT services: reports invoices