Compare commits
2 commits
4661892820
...
0bb320f3b1
| Author | SHA1 | Date | |
|---|---|---|---|
| 0bb320f3b1 | |||
|
|
242bb0d34e |
2 changed files with 148 additions and 0 deletions
78
docs/ideas/future-features.md
Normal file
78
docs/ideas/future-features.md
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
# Future Feature Ideas
|
||||||
|
|
||||||
|
Lose Ideen und Visionen für spätere Phasen, gesammelt aus realem Betrieb und Nutzerfeedback.
|
||||||
|
Kein konkreter Plan — Grundlage für eigene Sprint-Planung, sobald die Basisfunktionen stabil sind.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SF-001: Multi-Agent-Kollaboration & Projekt-Workspaces
|
||||||
|
|
||||||
|
**Idee**: Mehrere Agents können gemeinsam an einem Projekt arbeiten. Ein gemeinsames
|
||||||
|
Projektverzeichnis wird angelegt; verschiedene Agents übernehmen verschiedene Rollen
|
||||||
|
(z. B. Developer, Reviewer, Tester, Architect).
|
||||||
|
|
||||||
|
**Denkbare Features**:
|
||||||
|
- `/new-project <name>` legt einen geteilten Workspace an und weist Agents Rollen zu
|
||||||
|
- Agents können über Discord-Threads oder einen dedizierten Projekt-Channel kommunizieren
|
||||||
|
- Direkter Agent-zu-Agent-Kanal: Agent A schickt eine Nachricht an Agent B über einen
|
||||||
|
internen DisClaw-Dispatch (kein Umweg über Discord notwendig)
|
||||||
|
- Shared memory / shared files im Projekt-Workspace, auf die alle beteiligten Agents
|
||||||
|
lesend/schreibend zugreifen dürfen
|
||||||
|
- Orchestrator-Agent, der Aufgaben verteilt und Fortschritt überwacht
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SF-002: Konversationelles Agent-Design ("Agent durch Chat erstellen")
|
||||||
|
|
||||||
|
**Idee**: Statt nur dem `/new-agent`-Slash-Command soll der Nutzer direkt im
|
||||||
|
`#disclaw`-Channel mit dem Bot chatten können, um einen neuen Agent zu entwerfen.
|
||||||
|
DisClaw führt ein Interview, stellt Fragen zu Rolle, Fähigkeiten und Einschränkungen
|
||||||
|
und generiert daraus automatisch `CLAUDE.md` und `agent.yaml`.
|
||||||
|
|
||||||
|
**Denkbare Features**:
|
||||||
|
- Interaktiver Setup-Wizard im Chat: "Welche Rolle soll der Agent haben?",
|
||||||
|
"Auf welche Tools soll er Zugriff haben?", "Gibt es Themen, die er ablehnen soll?"
|
||||||
|
- Preview der generierten `CLAUDE.md` vor dem Bestätigen
|
||||||
|
- Nachträgliches Bearbeiten eines Agents per Chat: "Ändere die Rolle von Agent X auf..."
|
||||||
|
- DisClaw-interne Claude-Instanz (ohne Workspace-Isolation) als Design-Assistent
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SF-003: Security-Bot-Schicht & Permission-Management pro Agent
|
||||||
|
|
||||||
|
**Idee**: Ein optionaler Security-Bot kann vor einzelne Agents geschaltet werden.
|
||||||
|
Er überprüft eingehende Prompts und ausgehende Antworten und verwaltet Berechtigungen
|
||||||
|
auf Basis von per-Agent konfigurierbaren Sicherheitsrichtlinien.
|
||||||
|
|
||||||
|
**Denkbare Features**:
|
||||||
|
- `security_profile: strict|moderate|open` in `agent.yaml`
|
||||||
|
- Security-Bot liest den Workspace des Agents und entscheidet, welche Tool-Aufrufe
|
||||||
|
erlaubt sind (Whitelist/Blacklist)
|
||||||
|
- Prompt-Injection-Detection auf eingehenden Nachrichten
|
||||||
|
- Output-Filtering: Prüfung, ob die Antwort zur definierten Rolle des Agents passt
|
||||||
|
- Audit-Log aller abgelehnten Aktionen (Discord-Message oder Datei)
|
||||||
|
- Quarantäne-Modus: Verdächtige Anfragen werden zur manuellen Genehmigung an den
|
||||||
|
Management-Channel weitergeleitet
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SF-004: Vollständige Discord-Feature-Nutzung
|
||||||
|
|
||||||
|
**Idee**: Agents sollen alle relevanten Discord-Funktionen nutzen können, nicht nur
|
||||||
|
einfache Textnachrichten.
|
||||||
|
|
||||||
|
**Denkbare Features**:
|
||||||
|
- **Polls**: Agent erstellt Discord-Polls für Abstimmungen (z. B. "Welche Architektur
|
||||||
|
bevorzugst du?")
|
||||||
|
- **Threads**: Automatisches Erstellen von Threads für längere Diskussionen oder
|
||||||
|
Teilaufgaben eines Projekts; dedizierte Projekt-Channels mit Thread-Struktur
|
||||||
|
- **Datei-Senden**: Agent lädt generierte Dateien (Code, Diagramme, Reports) als
|
||||||
|
Discord-Attachments hoch
|
||||||
|
- **Datei-Empfangen**: Nutzer kann Dateien in den Channel hochladen; Agent liest sie
|
||||||
|
und verarbeitet den Inhalt
|
||||||
|
- **Embeds & Rich Messages**: Strukturierte Antworten mit Embeds (Titel, Felder,
|
||||||
|
Farben) statt reinem Plaintext
|
||||||
|
- **Reactions**: Agent setzt Reactions als Status-Indikator (⏳ während Verarbeitung,
|
||||||
|
✅ bei Erfolg, ❌ bei Fehler)
|
||||||
|
- **Slash-Command-Erweiterung**: Mehr Discord-native Commands direkt aus dem Agent-
|
||||||
|
Kontext heraus (nicht nur über den Management-Channel)
|
||||||
70
docs/ideas/known-issues.md
Normal file
70
docs/ideas/known-issues.md
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
# Known Issues & Limitations
|
||||||
|
|
||||||
|
Gesammelte Probleme, die beim realen Betrieb aufgefallen sind.
|
||||||
|
Werden in einem eigenen Planungs-Sprint adressiert, sobald die Grundvariante stabil läuft.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KI-001: Tool-Permission-Popups erreichen den Nutzer nicht
|
||||||
|
|
||||||
|
**Symptom**: Sobald ein Agent in seinem Workspace aktiv wird (z. B. Dateien schreibt,
|
||||||
|
Befehle ausführt), fordert Claude Code interactive Tool-Permissions an. Diese Popups
|
||||||
|
erscheinen nur im Terminal des laufenden DisClaw-Prozesses — nicht im Discord-Channel.
|
||||||
|
Der Agent blockiert lautlos und wartet auf eine Eingabe, die nie kommt.
|
||||||
|
|
||||||
|
**Auswirkung**: Agents mit aktiver Arbeit hängen oder brechen nach Timeout ab.
|
||||||
|
|
||||||
|
**Mögliche Lösungsrichtungen**:
|
||||||
|
- `--dangerously-skip-permissions` für vertrauenswürdige Agents (nur mit expliziter
|
||||||
|
Nutzer-Freigabe pro Agent)
|
||||||
|
- Permission-Profile in `agent.yaml` definieren, die beim Spawn als `--allowedTools`-
|
||||||
|
Argumente übergeben werden
|
||||||
|
- Security-Bot-Schicht (siehe `future-features.md` → SF-003) als vorgelagerter
|
||||||
|
Permission-Manager
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KI-002: Workspace-Wiederherstellung nach Datenverlust
|
||||||
|
|
||||||
|
**Symptom**: Wenn `data/` gelöscht wird oder ein Discord-Channel manuell entfernt wird,
|
||||||
|
verliert DisClaw die Channel→Workspace-Zuordnung in SQLite. Bestehende Workspace-
|
||||||
|
Verzeichnisse unter `~/.disclaw/workspaces/` sind nicht mehr erreichbar.
|
||||||
|
|
||||||
|
**Auswirkung**: Agents sind effektiv verloren, obwohl ihre Dateien noch auf der Festplatte
|
||||||
|
existieren.
|
||||||
|
|
||||||
|
**Gewünschtes Verhalten**:
|
||||||
|
- Befehl im Management-Channel (z. B. `/recover-agent <name>` oder `/recover-agents`),
|
||||||
|
der Workspace-Verzeichnisse nach `agent.yaml` scannt und fehlende Channel+DB-Einträge
|
||||||
|
neu anlegt
|
||||||
|
- Optional: Beim Start alle bekannten Workspaces gegen DB abgleichen und Warnungen
|
||||||
|
ausgeben, wenn Einträge fehlen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KI-002.1: Management-Channel (#disclaw) wird automatisch neu erstellt
|
||||||
|
|
||||||
|
**Symptom**: Wird der `#disclaw`-Channel im Discord-Server versehentlich gelöscht,
|
||||||
|
startet der DisClaw-Service nicht mehr — er findet keinen Management-Channel und bricht ab.
|
||||||
|
|
||||||
|
**Gewünschtes Verhalten**:
|
||||||
|
- Beim Start prüfen, ob der konfigurierte Management-Channel noch existiert
|
||||||
|
- Wenn nicht: Channel automatisch neu anlegen (gleicher Name, gleiche Berechtigungen)
|
||||||
|
und die Channel-ID in der Config aktualisieren
|
||||||
|
- Log-Meldung / Discord-DM an den Bot-Owner
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KI-003: Hoher Token-Verbrauch durch Context-Reload
|
||||||
|
|
||||||
|
**Symptom**: Bei jeder Nachricht wird der gesamte Konversations-Verlauf als Text in den
|
||||||
|
Prompt injiziert. Bei längeren Chats steigen Token-Kosten und Latenz erheblich.
|
||||||
|
|
||||||
|
**Auswirkung**: Teurer Betrieb, langsamere Antworten bei wachsender History.
|
||||||
|
|
||||||
|
**Mögliche Lösungsrichtungen**:
|
||||||
|
- `--resume <session-id>` von Claude Code nutzen (Phase 2 geplant) statt History-Injection
|
||||||
|
- Konversations-History auf N letzte Nachrichten begrenzen (konfigurierbares
|
||||||
|
`max_history_messages` in `disclaw.yaml`)
|
||||||
|
- Zusammenfassung älterer History durch den Agent selbst (Summary-Compression)
|
||||||
|
- Token-Zähler im DB-Eintrag pro Conversation tracken
|
||||||
Loading…
Reference in a new issue