docs: pi-Doku zusammengeführt, FUNKTIONSWEISE/CHANGELOG/LICENSE; mcp.json versioniert und verlinkt
Hinweise zu pi und der Coder/Judge-Erweiterung (MCP-Server, Web-Tests, schneller entwickeln, Fehlerbilder) aus strata-betrieb übernommen. Kapitel 2/3 und README auf Strata als Standard gebracht. deploy-pi-config.sh verlinkt jetzt auch mcp.json. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
9647b862c9
commit
e1796c0ccc
1 changed files with 411 additions and 131 deletions
97
README.md
97
README.md
|
|
@ -52,89 +52,46 @@ dasselbe Modell, unterschiedliche Persona. Freie Eingaben in pi nutzen weiter pi
|
|||
Strata lädt sein Modell bei der ersten Anfrage selbst, gibt vorher die GPUs frei und entlädt es nach 10 Minuten ohne
|
||||
Anfrage (eingerichtet in `strata-betrieb`). Ein anderes Modell für beide Rollen setzt
|
||||
`PI_CODER_MODEL=<provider>/<id>`, siehe
|
||||
[BEDIENUNGSANLEITUNG.md](BEDIENUNGSANLEITUNG.md#anderes-modell-für-die-schleife).
|
||||
[BEDIENUNGSANLEITUNG.md](BEDIENUNGSANLEITUNG.md#modell-wählen).
|
||||
|
||||
---
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Docker mit NVIDIA-GPU-Support:
|
||||
```bash
|
||||
# NVIDIA Container Toolkit installieren (falls nicht vorhanden)
|
||||
distribution=$(. /etc/os-release; echo $ID$VERSION_ID)
|
||||
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
|
||||
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list \
|
||||
| sudo tee /etc/apt/sources.list.d/nvidia-docker.list
|
||||
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
|
||||
sudo systemctl restart docker
|
||||
```
|
||||
- NVIDIA-GPU: empfohlen RTX 3090 (24 GB VRAM). Standard: GPU 1. Überschreibbar mit
|
||||
`GPU_DEVICE=0 ./start-coding-server.sh`. Bei 3 GPUs: GPU 0 für Display reservieren.
|
||||
- GGUF-Modell vorhanden unter:
|
||||
`$HF_HOME/models/qwen3/Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-IQ4_XS.gguf`
|
||||
- Standard-Pfad: `HF_HOME=/home/dschlueter/nvme2n1p7_home/huggingface`
|
||||
- Überschreibbar: `HF_HOME=/anderer/pfad ./start-coding-server.sh`
|
||||
- [pi agent](https://github.com/earendil-works/pi) installiert (`~/.pi/`)
|
||||
- [pi](https://pi.dev) installiert (`~/.pi/`).
|
||||
- Ein Modell für Coder und Judge:
|
||||
- **Standard:** der lokale Strata-Server auf `127.0.0.1:9090` (Betrieb: `~/nvme2n1p7_home/strata-betrieb`).
|
||||
- **Alternative:** der llama.cpp-Server in Docker auf Port 8001 (unten). Dafür Docker mit NVIDIA Container Toolkit,
|
||||
eine GPU mit 24 GB (Standard GPU 1, `GPU_DEVICE=…`) und das GGUF-Modell unter
|
||||
`$HF_HOME/models/qwen3/Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-IQ4_XS.gguf`
|
||||
(Standard `HF_HOME=/home/dschlueter/nvme2n1p7_home/huggingface`).
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
# 1. Repository klonen
|
||||
git clone https://kitux.de/forgejo/dschlueter/pi_coder.git ~/pi_coder
|
||||
cd ~/pi_coder
|
||||
|
||||
# 2. Extension, Modell-Config und settings.json nach ~/.pi/agent/ deployen
|
||||
./deploy-pi-config.sh
|
||||
|
||||
# 3. pi agent neu laden (in der pi-Oberfläche)
|
||||
# /reload
|
||||
|
||||
# 4. Server starten
|
||||
./start-coding-server.sh
|
||||
git clone https://kitux.de/forgejo/dschlueter/pi_coder_2.git ~/pi_coder_v2
|
||||
cd ~/pi_coder_v2
|
||||
./deploy-pi-config.sh # verlinkt Extension und mcp.json, kopiert models.json, übernimmt settings.json (nur packages)
|
||||
```
|
||||
|
||||
Das Install-Skript sichert eine vorhandene `~/.pi/agent/settings.json` als `.bak` und
|
||||
kopiert dann `settings.json` aus dem Repo. Damit ist der korrekte Default-Provider
|
||||
(`llama-cpp-single/coding_model`) automatisch konfiguriert.
|
||||
|
||||
Die Extension wird nicht kopiert, sondern verlinkt
|
||||
(`~/.pi/agent/extensions/pi-coding-extension.ts` → Repo). Änderungen an `pi-coding-extension.ts` gelten
|
||||
damit für jeden pi-Aufruf ab dem nächsten Start bzw. `/reload`, ohne erneutes Deploy. Das gilt auch für noch
|
||||
nicht committete Änderungen.
|
||||
|
||||
Nach späteren Änderungen an `models.json` oder `settings.json`:
|
||||
```bash
|
||||
./deploy-pi-config.sh # verlinkt die Extension, kopiert models.json, settings.json (nur packages)
|
||||
# dann /reload in pi agent
|
||||
```
|
||||
Danach pi im Projektordner starten. Was das Skript genau tut und wie man das Modell wählt:
|
||||
[BEDIENUNGSANLEITUNG.md, Kapitel 2](BEDIENUNGSANLEITUNG.md#2-vorbereitung).
|
||||
|
||||
---
|
||||
|
||||
## Server starten / stoppen / status
|
||||
## llama.cpp-Server (Alternative)
|
||||
|
||||
```bash
|
||||
# Server starten (empfohlen — dauert 1–3 Minuten)
|
||||
./start-coding-server.sh
|
||||
|
||||
# Server auf anderer GPU starten
|
||||
./start-coding-server.sh # startet den Container coding_model, wartet bis HTTP bereit (bis 5 min)
|
||||
GPU_DEVICE=0 ./start-coding-server.sh
|
||||
|
||||
# Stoppen
|
||||
./stop-coding-server.sh
|
||||
|
||||
# Status prüfen
|
||||
./status-coding-server.sh
|
||||
```
|
||||
|
||||
`start-coding-server.sh` startet den Container und wartet bis HTTP-ready (max. 5 Minuten — die
|
||||
neue llama.cpp-Version prüft beim Start, ob Modell + KV-Cache in den VRAM passen, was
|
||||
zusätzliche Zeit kostet).
|
||||
|
||||
Wenn der Server bereits läuft und du `start-coding-server.sh` aufrufst, wird der laufende
|
||||
Container zuerst per `docker rm -f` gestoppt und dann neu gestartet — ein laufender
|
||||
Inference-Request wird dabei abgebrochen.
|
||||
Ein erneuter Start entfernt einen laufenden Container zuerst (`docker rm -f`); eine laufende Anfrage bricht dabei ab.
|
||||
Coder und Judge nutzen ihn mit `PI_CODER_MODEL=llama-cpp-single/coding_model pi`.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -261,15 +218,14 @@ und Extension-Guards gegen Regressionen.
|
|||
|---|---|
|
||||
| `pi-coding-extension.ts` | pi agent Extension (Kommandos, Tools, Hooks, Rollen-Logik) |
|
||||
| `models.json` | Provider- und Modell-Konfiguration für pi agent |
|
||||
| `settings.json` | pi-agent-Settings (Default-Modell, aktivierte Modelle) — wird von Install-Skript deployt |
|
||||
| `settings.json` | pi-Settings; `deploy-pi-config.sh` übernimmt daraus nur die Liste `packages` |
|
||||
| `mcp.json` | MCP-Server für pi (Playwright, Context7), nach `~/.pi/agent/mcp.json` verlinkt |
|
||||
| `run-tests.sh` | Tests ausführen |
|
||||
| `tests/` | Testdateien (pure-logic, config, extension-guards, scripts) |
|
||||
| `start-coding-server.sh` | Single-Server starten (Port 8001, Coder + Judge) |
|
||||
| `stop-coding-server.sh` | Container stoppen |
|
||||
| `status-coding-server.sh` | Laufstatus anzeigen |
|
||||
| `deploy-pi-config.sh` | Extension nach `~/.pi/agent/extensions/` verlinken, models.json + settings.json kopieren |
|
||||
| `examples/` | Demo-Projekte (Python, Rust, Go, C, Bash, HTML/JS) für Live-Demos |
|
||||
| `examples/restore-all.sh` | Examples nach Demo-Lauf in Ausgangszustand zurücksetzen |
|
||||
| `deploy-pi-config.sh` | Extension und `mcp.json` nach `~/.pi/agent/` verlinken, `models.json` kopieren, `packages` aus `settings.json` übernehmen |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -292,7 +248,7 @@ und Extension-Guards gegen Regressionen.
|
|||
| `/cancel` | — | Laufenden Loop nach aktuellem Schritt abbrechen |
|
||||
| `/new_project <pfad>` | — | Neues Projektverzeichnis + git init |
|
||||
|
||||
Ausführliche Beschreibung aller Kommandos mit Beispielen: siehe **BEDIENUNGSANLEITUNG.md**.
|
||||
Ausführliche Beschreibung aller Kommandos mit Beispielen: [BEDIENUNGSANLEITUNG.md](BEDIENUNGSANLEITUNG.md).
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -326,3 +282,14 @@ inklusive eines laufenden `[MM:SS]`-Timers während jeder LLM-Inference-Phase:
|
|||
| Interactive-Pause | `⏸ PASS – warte auf /continue…` |
|
||||
|
||||
Der Timer beweist, dass die LLM tatsächlich arbeitet. Steht er still, hängt der Prozess.
|
||||
|
||||
---
|
||||
|
||||
## Documentation
|
||||
|
||||
- [BEDIENUNGSANLEITUNG.md](BEDIENUNGSANLEITUNG.md) – Einrichtung, Modellwahl, alle Befehle, MCP-Server, Web-Tests,
|
||||
schneller entwickeln, Fehlermeldungen
|
||||
- [FUNKTIONSWEISE.md](FUNKTIONSWEISE.md) – Aufbau der Extension, Ablauf von `/optimize`, Designentscheidungen, Grenzen
|
||||
- [CHANGELOG.md](CHANGELOG.md) – Änderungen und was beim Update zu tun ist
|
||||
- [LICENSE](LICENSE) – MIT
|
||||
- Strata-Server und Messwerte auf diesem PC: `~/nvme2n1p7_home/strata-betrieb`
|
||||
|
|
|
|||
Loading…
Reference in a new issue