- Reset master to upstream/main (16,697 commits) - Overlay 2,271 local-only files (skills, tools, workspace, configs, apps) - Restore IDENTITY.md and USER.md templates - Build verified, gateway running, Discord working Co-Authored-By: Claude Opus 4.6 <[email protected]>
102 lines
2.4 KiB
Markdown
102 lines
2.4 KiB
Markdown
# ARCHITECTURE.md — James (Local-First JARVIS System)
|
|
|
|
James is a local-first, event-driven AI operations platform with a human-in-the-loop control model.
|
|
It observes systems, reasons about events, enforces policy, and acts only with explicit authority.
|
|
|
|
**Core principle:** Local brain. Cloud voice.
|
|
|
|
---
|
|
|
|
## High-Level Topology
|
|
|
|
Nodes (GPU box, Pi server, main host) run Watcher agents that publish system and service events.
|
|
Redis acts as the central event bus.
|
|
Local AI agents analyze and classify events.
|
|
A policy engine enforces SOUL.md as executable rules.
|
|
Actions are routed to Discord, Home Assistant, or Voice output.
|
|
|
|
```
|
|
Nodes → Watchers → Redis → Analyst / Mail Agent → Policy Engine → Action Router
|
|
↓
|
|
Discord / Home Assistant / Voice
|
|
```
|
|
|
|
---
|
|
|
|
## Design Goals
|
|
|
|
- Zero vendor lock-in for core intelligence
|
|
- Minimal cloud token usage
|
|
- Full auditability
|
|
- Human approval for external actions
|
|
- Multi-node awareness
|
|
- Policy-first automation
|
|
|
|
---
|
|
|
|
## Component Summary
|
|
|
|
### Redis (System Service)
|
|
|
|
- **Role:** Event bus and state backbone
|
|
- **Channels:**
|
|
- `james.events.system`
|
|
- `james.events.mail`
|
|
- `james.decisions`
|
|
- `james.actions`
|
|
- `james.audit`
|
|
|
|
### Watcher Agents
|
|
|
|
- Run on every node
|
|
- **Collect:**
|
|
- CPU / RAM / Disk
|
|
- Docker / Podman status
|
|
- GPU metrics
|
|
- Service health
|
|
- Publish structured JSON events
|
|
|
|
### Analyst Agent (Local LLM)
|
|
|
|
- **Model:** Qwen (via Ollama)
|
|
- **Role:** Classify, prioritize, and suggest safe actions
|
|
- **Output:** Structured decisions (JSON only)
|
|
|
|
### Mail Agent (Local LLM)
|
|
|
|
- **Role:** Daily inbox scan
|
|
- Classifies emails and drafts replies
|
|
- Never sends messages directly
|
|
|
|
### Policy Engine
|
|
|
|
- Enforces SOUL.md rules as executable logic
|
|
- **Determines:**
|
|
- Auto-allowed actions
|
|
- Approval-required actions
|
|
- Forbidden actions
|
|
|
|
### Action Router
|
|
|
|
- Executes approved actions
|
|
- **Integrates with:**
|
|
- Discord
|
|
- Home Assistant
|
|
- Voice Layer (cloud model)
|
|
|
|
### Voice Layer (Cloud Model)
|
|
|
|
- **Role:** Human-facing interface
|
|
- Produces summaries, briefings, and approval requests
|
|
- No system authority
|
|
|
|
---
|
|
|
|
## Integration Points
|
|
|
|
- **Home Assistant:** Device control, sensors, notifications
|
|
- **Discord:** Approval interface, status updates
|
|
- **Ollama:** Local reasoning (Qwen2.5-coder)
|
|
- **Git:** Workspace state sync
|
|
- **Docker:** Container orchestration awareness
|