οὐθείς
EN · DE

Alan

Code-Intelligenz für Entwicklungsumgebungen.

Was alan tut

alan ist outheis' Code-Agent. Er liest lokal verfügbaren Quellcode, beantwortet Fragen zur Implementierung und schlägt Verbesserungen über einen strukturierten Review-Workflow vor.

alan ist ein reiner Entwicklungs-Agent. Er ist in Produktionsumgebungen niemals aktiv.

Der Codebase-Workflow

alan stellt alle Vorschläge in vault/Codebase/ bereit — in Anlehnung an das von catos vault/Agenda/ etablierte Muster:

vault/Codebase/
├── Exchange.md          # proposals for review
└── <staged files>       # modified files or diffs for context

Exchange.md

Jeder Vorschlag von alan ist ein Eintrag in vault/Codebase/Exchange.md:

## 2026-04-01 — Beschreibung des Vorschlags

**Type:** refactor | bugfix | improvement | answer
**Files:** src/outheis/agents/data.py
**Status:** proposed | approved | rejected | discussing

### Summary
Was wird vorgeschlagen und warum.

### Proposed Change
Verweis auf staged file oder inline diff.

### Discussion
(Deine Antworten und Rückfragen kommen hier hin)

Du antwortest unter "Discussion", genehmigst oder lehnst mit einem Schlüsselwort ab (approved, rejected), und alan nimmt die Entscheidung beim nächsten Lauf auf.

Bereitgestellte Dateien

Für nicht-triviale Änderungen schreibt alan die geänderte Datei in vault/Codebase/<dateiname> neben den Exchange.md-Eintrag. Überprüfe den Diff und antworte dann in Exchange.md.

Verantwortlichkeiten

Code-Introspektion

Fragen zur Implementierung von outheis beantworten. Beispiele:

alan liest Quelldateien, verfolgt Aufrufpfade und erklärt die Logik — ohne Änderungen vorzunehmen.

Verbesserungsvorschläge

Auf Anfragen reagieren oder proaktiv identifizieren:

Alle Vorschläge gehen durch Exchange.md. alan modifiziert src/ nie direkt.

Code-Suche

Implementierungen, Muster und Referenzen im lokalen Codebase finden:

Tools

Tool Zweck
read_file(path) Beliebige lokale Quelldatei lesen
search_code(query, path) Nach Mustern, Funktionsnamen, Bezeichnern suchen
list_files(path) Verzeichnisstruktur erkunden
write_vault(path, content) Nur in vault/Codebase/ schreiben
append_vault(path, content) An Exchange.md anhängen
load_skill(topic) alan-spezifische Skills bei Bedarf laden

alan hat Lesezugriff auf jeden lokalen Pfad. Schreibzugriff ist auf vault/Codebase/ beschränkt.

Kontext beim Start

alan erhält beim Aufruf:

Bei großen Repositories werden vollständige Dateiinhalte auf Anfrage über read_file abgerufen — der Index dient zur Orientierung.

alan ansprechen

Direkt aufrufen:

@alan wie ist der Dispatcher implementiert?
@alan schlage eine Verbesserung für die Vault-Suche vor

Oder natürlich im Chat — ou erkennt code-bezogene Fragen und delegiert automatisch an alan.

Verfügbarkeit

alan wird im Dispatcher nur registriert, wenn config.json enthält:

{
  "agents": {
    "code": {
      "name": "alan",
      "model": "capable",
      "enabled": true
    }
  }
}

Hinweis: Der Konfig-Schlüssel ist code (Funktionsname), der Anzeigename ist alan (Persona).

Produktions-Deployments lassen diesen Eintrag weg. alan wird nie standardmäßig geladen.

Konfiguration

Einstellung Standard Beschreibung
enabled false Muss explizit aktiviert werden
model capable Leistungsfähiges Modell verwenden — Code-Verständnis profitiert davon

Speicherung

vault/Codebase/
├── Exchange.md           # Open proposals and decisions
└── <staged files>        # Proposed changes awaiting review

Integration mit anderen Agenten

Relay (ou) erkennt Code-Fragen und delegiert an alan. Leitet das @alan-Präfix direkt weiter.

Data-Agent (zeno) behandelt Vault und persönliche Daten. alan behandelt Quellcode. Die Domänen überschneiden sich nicht.

Pattern-Agent (rumi) kann alans Vorschlagshistorie beobachten und Muster extrahieren — wiederkehrende Refactoring-Vorschläge können auf ein tieferes strukturelles Problem hinweisen.

Design-Anmerkungen