οὐθείς
EN · DE

Web UI

Local administration interface for outheis.

Overview

The Web UI provides a browser-based interface for configuring and monitoring outheis. It runs on localhost:8080 and is explicitly not designed for remote access — all user data stays local.

┌─────────────────────────────────────────────────────────────┐
│ outheis                              [Overview] [Save]       │
├─────────────┬───────────────────────────────────────────────┤
│ System      │                                               │
│  Overview   │  ┌─────────┐ ┌─────────┐ ┌─────────┐         │
│  Config     │  │Dispatcher│ │ Agents │ │Messages │         │
│  Messages   │  │ Running  │ │  5/6   │ │   42    │         │
│  Scheduler  │  └─────────┘ └─────────┘ └─────────┘         │
│             │                                               │
│ Knowledge   │  Recent messages                              │
│  Memory     │  ┌─────────────────────────────────────────┐ │
│  Skills     │  │ 14:32  cato → relay  Daily updated      │ │
│  Rules      │  │ 14:30  scheduler     agenda_review      │ │
│  Patterns   │  │ 14:15  zeno → relay  Found 3 matches    │ │
│             │  └─────────────────────────────────────────┘ │
│ Vault       │                                               │
│  Agenda     │                                               │
│  Codebase   │                                               │
│  Migration  │                                               │
│  Tags       │                                               │
└─────────────┴───────────────────────────────────────────────┘

Starting the Server

cd outheis-minimal/webui
pip install fastapi uvicorn
python server.py

Opens at http://localhost:8080. The server watches ~/.outheis/human/ for changes.

System

View Purpose
Overview Dashboard with dispatcher status, active agents, message count, recent messages
Configuration Full config editor with tabs: General, Providers, Models, Agents, Signal
Messages Live view of messages.jsonl with WebSocket updates
Scheduler Manage scheduled tasks (agenda_review, shadow_scan, pattern_nightly)

Knowledge

View Purpose
Memory View/edit files in ~/.outheis/human/memory/
Skills View/edit files in ~/.outheis/human/skills/
Rules View/edit files in ~/.outheis/human/rules/
Patterns View files in ~/.outheis/human/cache/patterns/ (read-only)

Vault

View Purpose
Files Full vault browser — all configured vaults, directory tree, edit and delete
Agenda View/edit files in vault/Agenda/ (Daily.md, Inbox.md, Exchange.md)
Codebase View files in vault/Codebase/ (alan's proposals)
Migration Upload migration files (drop zone), view and edit files, manage Migration/ directory
Tags Scan vault for #tags, list by namespace group, rename or delete tags across all files

Files View

Full browser for all configured vault directories:

Tags View

The Tags view scans the vault for all #tags and presents them grouped by namespace prefix:

Configuration Editor

The Configuration view provides a complete editor for ~/.outheis/human/config.json:

General Tab

Providers Tab

Three provider cards (Anthropic, OpenAI, Ollama):

Models Tab

Model alias mapping:

fast      → claude-haiku-4-5
capable   → claude-sonnet-4-20250514
reasoning → claude-opus-4-5

Add/remove aliases with provider selection.

Agents Tab

Per-agent configuration:

Agent Name Model Enabled
relay ou capable
data zeno capable
agenda cato capable
action hiro capable
pattern rumi capable
code alan capable

Each agent can use a different model alias (fast/capable/reasoning).

Signal Tab

Signal transport configuration:

Scheduler

Manage scheduled tasks:

┌─ Task Type ─────────┬─ Times ──────────────┬─ Enabled ─┐
│ agenda_review       │ 06:00 12:00 18:00 +  │    ✓      │
│ shadow_scan         │ 03:30              +  │    ✓      │
│ pattern_nightly     │ 04:00              +  │    ✓      │
└─────────────────────┴──────────────────────┴───────────┘

File Browser

Memory, Skills, Rules, Patterns, Agenda, and Codebase views share a file browser:

┌─ Files ───────┬─ Content ──────────────────────────────┐
│ common.md  ✓  │  [Rendered] [Source]                   │
│ relay.md      │                                        │
│ data.md       │  # Common Skills                       │
│               │                                        │
│               │  ## Dates                              │
│               │  Always use ISO format (YYYY-MM-DD)    │
│               │                                        │
└───────────────┴────────────────────────────────────────┘

Live Updates

The Messages view uses WebSocket for real-time updates:

  1. Server watches messages.jsonl for changes
  2. New lines are parsed and pushed to connected clients
  3. Messages appear instantly in the UI

Connection status shown in the status bar:

API Endpoints

The server exposes REST endpoints:

Config

Status

Messages

Files

Tags

Vault Files

Migration

WebSocket

File Locations

outheis-minimal/
└── webui/
    ├── server.py      # FastAPI backend
    ├── index.html     # HTML structure
    ├── style.css      # Lexend Deca, light/dark mode
    ├── app.js         # View routing, WebSocket, forms
    └── assets/
        ├── logo.svg   # outheis labs logo
        └── logo.png   # Fallback

Design Decisions

Typography

Single font family (Lexend Deca) in two weights:

Color Modes

CSS variables support automatic light/dark mode via prefers-color-scheme. The logo inverts in dark mode.

No Authentication

The UI is localhost-only by design. No login, no sessions. If you can reach port 8080, you have full access.

Dependencies

Server-side:

Client-side:

No build step. No bundler. Plain files served directly.