Files
buchwerk/README.md
T
team3andClaude Fable 5.1 be19abc065 Archiv: Quellen und Arbeitsdateien fertiger Versionen auf ARCHIV_DIR auslagern (z. B. Storage Box)
Nach jedem fertigen Lauf und beim Start nachholend; QUELLEN.md bleibt. Löschen und Zurücksetzen räumen das Archiv mit.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-14 15:31:35 +02:00

35 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# buchwerk
Aus einem Thema (plus optionaler Spezialisierung, die es eingrenzt, und optionalen Hinweisen) entsteht ein deutschsprachiges Sachbuch. Ein Python-Backend
steuert Agenten des Claude Agent SDK (Opus 5.5): Recherche und Deutung, Stoffauswahl (was kommt rein, wie tief), Gliederung, Kapitel parallel
schreiben, jedes Kapitel durch einen unabhängigen Agenten prüfen, Querverweise abgleichen, Vorwort,
Montage (Markdown, README, PDF). Das Buch wird im Browser als Leseansicht gezeigt.
```bash
make install # venv + npm
make build # Frontend bauen
make run # http://localhost:8020
```
Auth lokal: der Agent SDK nutzt den Claude-Code-Login des Rechners (oder ANTHROPIC_API_KEY, falls gesetzt).
Produktion (Docker, Traefik-Netz `web`, https://buchwerk.marha.de):
```bash
cp .env.example .env # CLAUDE_CODE_OAUTH_TOKEN eintragen (claude setup-token) oder ANTHROPIC_API_KEY
make prod # docker compose up -d --build
make logs / make stop
```
`storage/` und `.claude-data/` (Sitzungen der CLI) werden als Volumes eingebunden; die Claude-Code-CLI
liegt als Binary im SDK, Node wird im Container nicht gebraucht.
Archiv: ist `ARCHIV_DIR` in `.env` gesetzt (auf dem Server die Storage Box, Mount mit `uid=1000`, da der Container als
`app` schreibt), verschiebt `backend/archiv.py` nach jedem fertigen Lauf `quellen/` (außer QUELLEN.md) und `arbeit/`
der Version dorthin – das sind die Gigabytes an Klonen. Beim Start holt er nach, was fehlt. Ohne Variable bleibt alles in `storage/`.
Ablauf (backend/pipeline.py): Stufen seriell, innerhalb einer Stufe bis zu `PARALLEL` Agenten gleichzeitig.
Jeder Agent arbeitet im Themenverzeichnis `storage/<Thema>/`; sein Abschlussbericht landet unter `berichte/`
und dient als Marker: existiert der Bericht, gilt die Aufgabe als erledigt. Pause bricht laufende Agenten
ab, „Fortsetzen“ wiederholt nur, was noch fehlt. Prompts liegen in `prompts/`, Schnittstelle in `API.md`.