How sda1-hacker/humbert-agent works
Humbert Agent is a local-first desktop assistant. The primary workflow is a user chat turn: the Vue interface calls Wails services, which coordinate the Go runtime, context construction, configured model, tools, and session transcript before returning streamed activity and a result. Separate product branches manage workspaces, Skills/MCP extensions, approvals, scheduled and proactive tasks, search, and backup. Wiring is based on the README’s architecture and capability descriptions; sampled source confirms selected permission, context, task, MCP, and service behaviors, but not every runtime call site.
Main entry points: services Wails services · runtime Eino runtime · tools Agent tools · searchindex Search indexes
Components 22
Desktop interface
- Vue desktop UI
frontend/src - Wails services
internal/services
Turn execution
- Core assembly
internal/app - Agent profiles
internal/agents - Sessions
internal/sessions - Turn history
internal/transcript - Eino runtime
internal/runtime - Context engine
internal/contextengine - Model routing
internal/models
Agent capabilities
- Agent tools
internal/tools - Workspace access
internal/workspace - Skills
internal/skills - MCP connectors
internal/mcp
Tasks and data
- Scheduled tasks
internal/tasks - Proactive manager
internal/proactive - Search indexes
internal/searchindex - Encrypted backup
internal/databackup
Safety controls
- Approvals
internal/approval - Permission policy
internal/permission - Execution sandbox
internal/sandbox
Other components
- User
- Model provider
Connections 29
- User → Vue desktop UI: sends requests
- Vue desktop UI → Wails services: calls services
- Wails services → Core assembly: uses core
- Wails services → Eino runtime: submits turns
- Wails services → Sessions: manages sessions
- Core assembly → Agent profiles: configures
- Eino runtime → Agent profiles: uses profile
- Eino runtime → Context engine: builds context
- Context engine → Turn history: reads history
- Eino runtime → Turn history: records turn
- Eino runtime → Model routing: selects model
- Model routing → Model provider: sends prompts
- Eino runtime → Agent tools: dispatches calls
- Agent tools → Workspace access: accesses files
- Agent tools → Permission policy: checks access
- Agent tools → Execution sandbox: runs isolated
- Eino runtime → Approvals: requests approval
- Wails services → Skills: manages Skills
- Eino runtime → Skills: uses selected
- Wails services → MCP connectors: manages connectors
- Eino runtime → MCP connectors: loads tools
- Wails services → Scheduled tasks: manages schedules
- Scheduled tasks → Eino runtime: runs task
- Proactive manager → Scheduled tasks: executes automation
- Wails services → Proactive manager: configures
- Wails services → Search indexes: queries indexes
- Search indexes → Turn history: indexes messages
- Search indexes → Workspace access: indexes documents
- Wails services → Encrypted backup: requests backup