feat: AcroForm-Fill via Claude CLI, Multi-Source, Kanagawa, Docker-Deploy
Komplettes Rework der AI-Studio-Vorlage zu einem produktiven Werkzeug fuer
deutsche AcroForm-Formulare (Reha-Antraege, Arzt-Befundberichte):
- Backend: Express spawnt headless Claude CLI ('claude -p --output-format json'
via stdin-Pipe). Prompt enthaelt die Feldnamen als Ziel-Schema plus die
Arbeitsregeln (Stichwortstil, feste Zeichen-Kaestchen ohne Leerzeichen,
Vordrucke respektieren, keine geratenen Werte, nur medizinisch).
- PDF-Handling: pdfjs-dist statt pdf-lib — pdf-lib scheitert an verschluesselten
Object-Streams in DRV-Formularen. annotationStorage + saveDocument, kein
Flatten. Worker-Patch zur Laufzeit forciert Auto-Size und schwarze Schrift.
- Multi-Source-Upload: beliebig viele PDFs/Bilder + optional Freitext.
- Design: Kanagawa Design System (Preset aus ../kanagawa-design-system),
Tailwind lokal gebaut statt CDN, Dark/Light-Toggle, Progress-Indicator.
- Deployment: Multi-Stage-Dockerfile, docker-compose in matrix_default-Netz,
Claude-Credentials vom Host per Volume. PLAN.md + AGENTS.md (Alex-Schema).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d6cab4aeb5
commit
3c669fb003
28 changed files with 6756 additions and 934 deletions
64
README.md
64
README.md
|
|
@ -1,20 +1,58 @@
|
|||
<div align="center">
|
||||
<img width="1200" height="475" alt="GHBanner" src="https://github.com/user-attachments/assets/0aa67016-6eaf-458a-adb2-6e31a0763ed6" />
|
||||
</div>
|
||||
# Rentenversicherer
|
||||
|
||||
# Run and deploy your AI Studio app
|
||||
Halbautomatisches Ausfüllen von deutschen AcroForm-PDFs (Reha-Anträge,
|
||||
ärztliche Befundberichte, etc.) mit der Claude Code CLI als Subprozess.
|
||||
|
||||
This contains everything you need to run your app locally.
|
||||
- Original-PDF bleibt strukturell unverändert — Felder sind nach dem
|
||||
Ausfüllen im PDF-Reader weiter editierbar (kein Flatten).
|
||||
- Claude zieht die Werte aus beliebig vielen Quelldateien (PDF/Bild) und
|
||||
optionalem freiem Text.
|
||||
- Browser-UI im Kanagawa-Design-Schema, Review-Panel mit Live-Preview.
|
||||
|
||||
View your app in AI Studio: https://ai.studio/apps/drive/1eOJcZ5qjOqVKG1eSXvA6HRcCwqcgcuGO
|
||||
## Voraussetzungen
|
||||
|
||||
## Run Locally
|
||||
- Node.js 20+
|
||||
- Claude Code CLI im `PATH`, gültiges Claude-Login
|
||||
- Windows: Git Bash (`CLAUDE_CODE_GIT_BASH_PATH` wird auf dem
|
||||
Scoop-Standard-Pfad gesetzt — falls du Git anders installiert hast,
|
||||
in der Shell vorher setzen oder `server/claudeRunner.ts:GIT_BASH_FALLBACK`
|
||||
anpassen)
|
||||
|
||||
**Prerequisites:** Node.js
|
||||
## Start
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
1. Install dependencies:
|
||||
`npm install`
|
||||
2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key
|
||||
3. Run the app:
|
||||
`npm run dev`
|
||||
- Browser-UI: <http://localhost:5173>
|
||||
- Backend-Health: <http://127.0.0.1:3001/api/health>
|
||||
|
||||
## Workflow
|
||||
|
||||
1. **Ziel-Formular** (PDF mit AcroForm-Feldern) in die linke Spalte ziehen.
|
||||
Die App zeigt an, wie viele Felder erkannt wurden.
|
||||
2. **Quelldokumente** rechts hochladen — beliebig viele PDFs/Bilder, plus
|
||||
optional ein Freitext-Feld.
|
||||
3. **„Analysieren & Ausfüllen"** — kann 30–120 Sekunden dauern, je nach
|
||||
Umfang. Claude-CLI läuft headless im Backend.
|
||||
4. **Review-Panel** — Werte prüfen, bei Bedarf korrigieren, mit Haken
|
||||
bestätigen.
|
||||
5. **„PDF runterladen"** — das Original-PDF mit gesetzten Feldern.
|
||||
Im Acrobat/Reader können die Felder weiter bearbeitet werden.
|
||||
|
||||
## Arbeitsregeln für die Verarbeitung
|
||||
|
||||
Im Prompt an Claude fest eingebaut (siehe `server/claudeRunner.ts`):
|
||||
|
||||
- Stichwortstil, kein Gutachten
|
||||
- Feste Zeichen-Kästchen (VSNR, IBAN, BIC, IK) ohne Leerzeichen
|
||||
- Vordrucke respektieren (kein doppeltes "DE", kein "€")
|
||||
- Nur medizinisch; Sozialbereich bleibt leer
|
||||
- Keine geratenen Werte — bei Unsicherheit leer + WARNING
|
||||
- PDF nie flatten
|
||||
|
||||
## Dokumentation
|
||||
|
||||
- [`PLAN.md`](./PLAN.md) — Zweck, Scope, Architektur
|
||||
- [`AGENTS.md`](./AGENTS.md) — Commands, Code-Style, Architektur-Regeln
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue