169 lines
2.9 KiB
Markdown
169 lines
2.9 KiB
Markdown
|
|
# MiniLlama — CLI Test-Szenario
|
||
|
|
|
||
|
|
> Dieses Szenario testet die Kernfunktionen des CrowdCode CLI:
|
||
|
|
> Datei-Operationen (FILE:, DIR:, EDIT:), Shell-Zugriff (```bash),
|
||
|
|
> @mentions, und Chat.
|
||
|
|
|
||
|
|
## Vorbereitung
|
||
|
|
|
||
|
|
Sicherstellen, dass der Server läuft oder über den CLI automatisch gestartet wird:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /home/xray/code/MiniLlama
|
||
|
|
./start.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
Oder für API-Zugriff:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /home/xray/code/MiniLlama
|
||
|
|
./start-server.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
## Test 1: Einfacher Chat
|
||
|
|
|
||
|
|
**Eingabe:**
|
||
|
|
```
|
||
|
|
Sag kurz: Hallo Welt
|
||
|
|
```
|
||
|
|
|
||
|
|
**Erwartet:** Antwort "Hallo Welt!" (oder ähnlich)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Test 2: Verzeichnis + Datei anlegen
|
||
|
|
|
||
|
|
**Eingabe:**
|
||
|
|
```
|
||
|
|
Lege ein Verzeichnis test_reihe an, erstelle darin Test.txt mit dem Text "ich bin ein test"
|
||
|
|
```
|
||
|
|
|
||
|
|
**Erwartet:**
|
||
|
|
- CLI zeigt `DIR: test_reihe` → Verzeichnis wird erstellt
|
||
|
|
- CLI zeigt `FILE: test_reihe/Test.txt` → Datei wird geschrieben
|
||
|
|
- Inhalt: `ich bin ein test`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Test 3: Datei kopieren
|
||
|
|
|
||
|
|
**Eingabe:**
|
||
|
|
```
|
||
|
|
kopiere Test.txt als Test2.txt ins gleiche Verzeichnis
|
||
|
|
```
|
||
|
|
|
||
|
|
**Erwartet:**
|
||
|
|
- CLI zeigt `` ```bash cp test_reihe/Test.txt test_reihe/Test2.txt````
|
||
|
|
- CLI fragt: "Ausführen? (j/N)" → **j** eingeben
|
||
|
|
- `Test2.txt` existiert mit gleichem Inhalt
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Test 4: Shell-Befehl (direkt)
|
||
|
|
|
||
|
|
**Eingabe:**
|
||
|
|
```
|
||
|
|
ls -la test_reihe/
|
||
|
|
```
|
||
|
|
|
||
|
|
**Erwartet:**
|
||
|
|
- Wird direkt als Shell-Befehl erkannt (kein LLM)
|
||
|
|
- Zeigt `Test.txt` und `Test2.txt`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Test 5: Shell-Befehl mit Prompt-Präfix
|
||
|
|
|
||
|
|
**Eingabe:**
|
||
|
|
```
|
||
|
|
$ pwd
|
||
|
|
```
|
||
|
|
|
||
|
|
**Erwartet:**
|
||
|
|
- `$ ` wird ignoriert, `pwd` wird erkannt
|
||
|
|
- Zeigt aktuellen Pfad
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Test 6: Datei lesen (@mention)
|
||
|
|
|
||
|
|
**Eingabe:**
|
||
|
|
```
|
||
|
|
@test_reihe/Test.txt
|
||
|
|
```
|
||
|
|
|
||
|
|
**Erwartet:**
|
||
|
|
- Inhalt `ich bin ein test` wird eingelesen und ans LLM übergeben
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Test 7: Verzeichnis auflisten (@mention)
|
||
|
|
|
||
|
|
**Eingabe:**
|
||
|
|
```
|
||
|
|
@test_reihe/
|
||
|
|
```
|
||
|
|
|
||
|
|
**Erwartet:**
|
||
|
|
- Listet `Test.txt` und `Test2.txt`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Test 8: Natürlichsprachliche Dateiabfrage
|
||
|
|
|
||
|
|
**Eingabe:**
|
||
|
|
```
|
||
|
|
liste die dateien in test_reihe auf
|
||
|
|
```
|
||
|
|
|
||
|
|
**Erwartet:**
|
||
|
|
- LLM gibt `` ```bash ls -la test_reihe/```` zurück
|
||
|
|
- CLI fragt "Ausführen? (j/N)" → **j** eingeben
|
||
|
|
- Zeigt Dateiliste
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Test 9: Mehrere Dateien auf einmal (Wiki-Stil)
|
||
|
|
|
||
|
|
**Eingabe:**
|
||
|
|
```
|
||
|
|
Erstelle folgende Dateien:
|
||
|
|
- DIR: projekt/src
|
||
|
|
- FILE: projekt/src/hello.py mit einem print("Hallo Welt")
|
||
|
|
- FILE: projekt/README.md mit einer kurzen Beschreibung
|
||
|
|
```
|
||
|
|
|
||
|
|
**Erwartet:**
|
||
|
|
- Alle DIR:- und FILE:-Patterns werden automatisch ausgeführt
|
||
|
|
- Keine Bestätigungsabfragen nötig
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Test 10: Aufräumen
|
||
|
|
|
||
|
|
**Eingabe:**
|
||
|
|
```
|
||
|
|
Lösche das test_reihe und projekt Verzeichnis
|
||
|
|
```
|
||
|
|
|
||
|
|
**Erwartet:**
|
||
|
|
- CLI zeigt `` ```bash rm -rf test_reihe projekt````
|
||
|
|
- CLI fragt "Ausführen? (j/N)" → **j** für Bestätigung
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Erfolgskriterien
|
||
|
|
|
||
|
|
| Test | Feature | Status |
|
||
|
|
|---|---|---|
|
||
|
|
| 1 | Chat | ⬜ |
|
||
|
|
| 2 | DIR: + FILE: | ⬜ |
|
||
|
|
| 3 | ```bash (cp) mit Bestätigung | ⬜ |
|
||
|
|
| 4 | Shell direkt | ⬜ |
|
||
|
|
| 5 | Prompt-Präfix $ | ⬜ |
|
||
|
|
| 6 | @mention (lesen) | ⬜ |
|
||
|
|
| 7 | @mention (dir) | ⬜ |
|
||
|
|
| 8 | NL-Dateiabfrage via LLM | ⬜ |
|
||
|
|
| 9 | Multi-File Wiki-Stil | ⬜ |
|
||
|
|
| 10 | Aufräumen | ⬜ |
|