How kesepain-ke/kemo-agent works
kemo-agent is a local-first, multi-user agent runtime and personal workspace. The main interaction runs from a user in the web UI through HTTP routes and services into the conversation runtime, which assembles context, calls a configured model provider, and executes available tools; results stream back to the UI. History, tiered memory, task plans, scheduled work, and external message entry points extend that loop. The README documents additional knowledge, sensing, extension, file, and subagent capabilities. Some of those modules were not sampled, so their links are documented or left unasserted rather than inferred from names.
Main entry points: runtime.py Conversation runtime · web/service.py Web services · app.py HTTP routes · cron/service.py Scheduled entry
Components 21
User interaction
- Web workspace
web/frontend/src/components/AppShell.tsx - HTTP routes
web/app.py - Web services
web/service.py - Message entry
message/router.py - Scheduled entry
cron/service.py - Task workspace
web/services/tasks.py
Agent runtime
- Conversation runtime
run/conversation/runtime.py - Context assembly
run/context/service.py - Provider factory
provider/factory.py - Tool execution
run/tools/__init__.py - Agent queue
run/agents/queue.py
Memory and work
- Conversation history
run/history/session_api.py - Tidal memory
run/memory/pipeline.py - Task plans
run/tasks/service.py - Cron scheduling
cron/schedule.py
External capabilities
- Knowledge graph
global_expand/kemo_graph/client.py - Expansion modules
global_expand/kemo_app/app.py - Environment sensing
global_sense/register.py - User files
web/services/files.py
Other components
- User
- Model service
Connections 24
- User → Web workspace: uses
- Web workspace → HTTP routes: sends requests
- HTTP routes → Web services: routes requests
web/app.py - Web services → Conversation runtime: streams requests
web/service.py - Conversation runtime → Context assembly: assembles context
run/context/service.py - Conversation runtime → Conversation history: uses history
- Conversation runtime → Provider factory: requests completion
- Provider factory → Model service: calls provider
provider/factory.py - Conversation runtime → Tool execution: executes tools
- Conversation runtime → Tidal memory: updates memory
- Web services → Conversation history: manages sessions
web/service.py - Web services → Task plans: delegates plans
- Task workspace → Cron scheduling: computes run times
web/services/tasks.py - Scheduled entry → Cron scheduling: uses schedule
cron/service.py - Message entry → Conversation runtime: runs conversations
message/router.py - Scheduled entry → Conversation runtime: runs scheduled work
- Agent queue → Provider factory: uses provider
- HTTP routes → User files: routes file access
web/app.py - User → Message entry: messages agent
- User → Scheduled entry: schedules work
- Conversation runtime → Knowledge graph: uses knowledge
- Conversation runtime → Expansion modules: loads extensions
- Conversation runtime → Environment sensing: uses sensing
- User → User files: shares files