| name | goal-engine |
| description | Use for mission: define, prioritize, --tick, progress, scan. |
| tags | ["missions","goals","tasks","prioritization","auto-execution","autonomous"] |
| usage | Nutze `goal-engine.py` für selbstständige Missionsplanung und Task-Ausführung.
Daten liegen in `.goal-engine/missions.json` im Home-Verzeichnis.
Der Cron-Job läuft alle 30 Minuten und führt den nächsten Task aus.
|
Goal Engine — Autonomous Mission Planning
Vollständiges System für selbstständige Missions-Definition, Auto-Task-Generierung, Priorisierung und Self-Execution.
CLI-Übersicht
python scripts/goal-engine.py --define 'Mission Name' 'Beschreibung'
python scripts/goal-engine.py --list
python scripts/goal-engine.py --prioritize
python scripts/goal-engine.py --next
python scripts/goal-engine.py --tick
python scripts/goal-engine.py --progress
python scripts/goal-engine.py --complete <id>
python scripts/goal-engine.py --scan
python scripts/goal-engine.py --add-goal <mission_id> 'Beschreibung'
python scripts/goal-engine.py --add-task <goal_id> 'Beschreibung' --priority 4 --script log-analyzer.py
Datenstruktur
~/.goal-engine/
├── missions.json # Alle Missionen mit Goals, Tasks, Prioritäten
└── goal-engine.log # Aktivitätslog
missions.json Schema
{
"missions": [
{
"id": "m_abc12345",
"name": "OpenAmer #1",
"description": "OpenAmer zum besten AI Agent auf Windows machen",
"priority": 5,
"status": "active",
"created": "2026-08-22T00:00:00",
"deadline": null,
"goals": [
{
"id": "g_abc12345",
"description": "Analyse & Grundlagen",
"progress": 0,
"status": "pending",
"tasks": [
Auto-Task-Generierung
Der --define Befehl analysiert die Missionsbeschreibung auf Schlüsselwörter:
| Schlüsselwörter | Generierte Goals |
|---|
| Stabilität, Crash, Robust | Analyse, Implementierung |
| Performance, Speed | Optimierung, Überwachung |
| Integration, API | Integration, Implementierung |
| Überwachung, Monitor | Überwachung, Analyse |
| Automatisierung, Workflow | Implementierung, Integration |
Pro Goal werden 2-3 Tasks generiert (zufällig aus Template-Pools).
Priorisierungslogik (--prioritize)
Jede Mission bekommt eine Priorität (1-5) basierend auf:
- Impact: Anzahl offener Tasks (mehr = höherer Impact)
- Dringlichkeit: Alter der Mission (je älter, desto dringender)
- Deadline: Falls gesetzt → näher am Termin = höhere Priorität
- Progress-Boost: Falls ≥80% erledigt → +1 Priorität (Abschluss fördern)
Die Priorität wird als ★-Sterne in der Liste dargestellt.
Self-Execution Tick (--tick)
Der Tick führt den wichtigsten nächsten Task aus:
- Findet den Task mit der höchsten Priorität (Mission-Prio × Task-Prio)
- Markiert ihn als
running
- Sucht nach einem passenden Script (anhand
script_hint oder Keyword-Matching)
- Falls kein Script gefunden → Fallback-Analyse
- Subprocess mit 300s Timeout
- Markiert als
done oder failed
- Aktualisiert Goal-Progress
- Cron-Job führt
--tick alle 30 Minuten aus
Exit-Codes
| Code | Bedeutung |
|---|
| 0 | Erfolg / nichts zu tun |
| 1 | Keine offenen Tasks |
| 2 | Fehler / ID nicht gef. |
Cron-Job
Ein Cron-Job (addiert via jobs.json im OpenAmer-Cron-Verzeichnis) führt --tick alle 30 Minuten aus:
{
"id": "goal_engine_tick",
"name": "Goal Engine Tick",
"script": "goal-engine.py --tick",
"schedule": { "kind": "cron", "expr": "*/30 * * * *" }
}
Workflow
- Mission definieren:
--define 'Name' 'Beschreibung'
- Priorisieren:
--prioritize (automatisch nach Impact + Dringlichkeit)
- Tick starten:
--tick oder Cron macht das automatisch alle 30min
- Fortschritt checken:
--progress (mit ETA und Blockers)
- Abschließen:
--complete <id> (Mission, Goal oder Task)
- Scannen:
--scan (Scripts, Skills, Gaps analysieren)
Fehlerbehebung
- Script findet kein passendes Script: Manuell via
--add-task <goal_id> 'Task' --script <name.py> verknüpfen
- missions.json beschädigt: Wird automatisch zurückgesetzt (leere Liste)
- Cron läuft nicht:
--scan zeigt ob Goal-Engine Cron-Job fehlt
- Task timeout: Standard 300s, kann in der
subprocess.run()-Zeile angepasst werden