Agentic Assistant. Biological as Digital.
A biologically inspired cognitive architecture for autonomous AI agents — separating fast instincts from slow reasoning, stratifying memory into temporal hierarchies, and introducing intrinsic metabolic and endocrine drives.
| Document | Description |
|---|---|
| overview-spec.md | Master conceptual specification and architectural rationale |
| Phase | Document | Focus |
|---|---|---|
| 1 | 01-environment-nervous-system.md | Event bus, eBPF interoception, FSM reflex arc, proprioception |
| 2 | 02-sensory-integration.md | Vision (Wayland/PipeWire), audio (Vosk/Whisper), TTS |
| 3 | 03-cognitive-engine-immune-system.md | Immune system (Amygdala), identity verification, LLM/SLM reasoning |
| 4 | 04-memory-hierarchies-sleep.md | STM/LTM hierarchy, sleep consolidation (SWS/REM/pruning) |
| 5 | 05-active-inference-endocrine.md | Active Inference curiosity engine, digital endocrine system |
Phase 1 (Nervous System, Interoception, Reflexes)
├── Phase 2 (Sensory Integration) ─── requires event bus
├── Phase 3 (Cognitive Engine) ────── requires event bus + reflexes
│ └── Phase 4 (Memory) ────────── requires cognitive traces
└── Phase 5 (Endocrine) ──────────── modulates all phases
Use the installer as root:
sudo ./scripts/install.sh --bootstrap --configure-wsl-systemdNotes:
--bootstrapinstalls Linux prerequisites (Ubuntu/Debian apt path) and broker deps.- Full install requires
systemd(Linux + WSL). - In WSL,
--configure-wsl-systemdwrites/etc/wsl.confand prompts for WSL restart. - If
mosquitto.servicealready exists, the installer reuses it instead of creating a second broker service. - System installs generate and persist an identity secret in
/etc/openbad/identity.yamlon first install. - Use
--skip-servicesonly for development mode.
Validate setup/config:
openbad setup --checkControl the installed stack with:
openbad start
openbad stop
openbad restart
openbad update
openbad health
openbad tui
openbad versionNotes:
openbad startstarts the managed OpenBaD services and returns immediately.openbad stopstops all managed services.openbad restartrestarts all managed services.openbad updatepulls latest code, re-runs the install script, and restarts services. Requiressudo.openbad healthreports systemd service state, MQTT reachability, and the WUI health endpoint.openbad tuiattaches a terminal UI to the running MQTT-backed stack.
Once running, the Web UI is available at http://localhost:9200.
The WUI is a SvelteKit single-page application served by the aiohttp backend. It provides panels for Providers, Senses, Toolbelt, Entity, Chat, and Health, plus a first-run setup wizard.
If you need to rebuild the SvelteKit frontend (requires Node.js):
make wuiThis increments the patch version, runs npm install && npm run build in
wui-svelte/, and copies the output to src/openbad/wui/build/ where the
aiohttp server serves it.
For local development without a full system install:
# Install in editable mode
pip install -e ".[dev]"
# Set config dir to the repo's config/ (avoids /etc/openbad permission issues)
export OPENBAD_CONFIG_DIR=./config
# Start the WUI server directly
openbad wui --host 127.0.0.1 --port 9200Or run the SvelteKit dev server with hot-reload (proxies API calls to aiohttp):
# Terminal 1: start the backend
export OPENBAD_CONFIG_DIR=./config
openbad wui
# Terminal 2: start the SvelteKit dev server
make wui-devpytest # unit tests (excludes integration)
pytest --run-all # all tests including integration
ruff check src/ tests/ # lint
ruff format src/ tests/ # auto-formatSee LICENSE.