Claude Merkzettel (Whiteboard)
Lokales Whiteboard als gemeinsamer Notizzettel: Der Benutzer zeichnet Ideen, Claude analysiert auf dem Rechner und antwortet und zeichnet auf das Board.
Der Code befindet sich direkt im Skill-Ordner; im Folgenden ist WB der Pfad zu dem Ordner, der diese Datei enthält.
Starten
export WB_DATA="$PWD/.whiteboard" # optional: eigenes Board für das aktuelle Projekt (Standard: WB/data)
WB/wb start [--port 8765] # erzeugt automatisch .venv (python3 -m venv --without-pip), keine externen Pakete nötig
- Geben Sie dem Benutzer die URL (
http://127.0.0.1:8765), und führen Sie dannWB/wb wait --timeout 3300im Hintergrund aus (run_in_background). - Wenn
WB_DATAgesetzt ist, muss derselbe Wert für alle nachfolgendenwb-Befehle verwendet werden (direkt im Befehl:WB_DATA=... WB/wb ...). - Wenn
WB_DATAinnerhalb eines Git-Repos verwendet wird, fügen Sie.whiteboard/zur.gitignorehinzu.
Service-Schleife
- Wenn
waitmit Code 0 endet: Ausgabe lesen. Die Ausgabe besteht aus der Frage, dem markierten Bereich, den Elementen in diesem Bereich (ausreichend Textinhalt) und ggf. dem Pfad zu einem PNG. - Öffnen Sie ein PNG-Bild nur, wenn es in der Ausgabe aufgeführt ist (nur vorhanden, wenn der Bereich Handnotizen, Rahmen, Pfeile oder Formen enthält). Nicht das gesamte Board lesen; für mehr Kontext verwenden Sie
wb look X Y W Hoderwb item ID. - Bei Bedarf auf dem Rechner arbeiten: Dateien lesen, Skripte ausführen, Berechnungen durchführen.
- Antworten mit
wb reply --file F --done, und bei Bedarf auf das Board zeichnen (siehe unten). waiterneut im Hintergrund starten. Code 2 bedeutet Timeout, keine Anfrage: einfachwaiterneut starten, den Benutzer nicht informieren.
Wenn der Benutzer anhalten möchte: WB/wb stop.
Antwortregeln
- Jede mathematische Formel muss in LaTeX geschrieben werden (
$…$inline,$$…$$display), sowohl im Chat als auch auf dem Board. Die Seite verwendet MathJax zur Darstellung, vordefiniertes Makro:\Adv. - Mehrzeiliger Text oder Text mit
$sollte in eine temporäre Datei geschrieben und über--fileübergeben werden, um Shell-Quoting-Fehler zu vermeiden. - Der Inhalt ist Markdown-lite:
**fett**,*kursiv*,`code`, Listen, Tabellen|…|. - Von Claude erstellte Elemente haben standardmäßig die Farbe Violett und werden automatisch neben dem aktuell bearbeiteten Bereich platziert; mit
--at x,ykönnen sie an eine andere Stelle gesetzt werden.
Zeichenbefehle
| Befehl | Verwendung |
|---|---|
| `wb note [TEXT | --file F] [--color C] [--at x,y] [--w W]` |
| `wb tex [TEXT | --file F] [--size N]` |
wb svg --file F --title T [--w W --h H] | Diagramme, Graphen, Illustrationen (SVG) |
wb rect X Y W H, wb arrow X Y DX DY | Rahmen, Pfeile (Board-Grundelemente) |
| `wb patch ID [--text | --file |
wb show [RID] [--pending], wb done [RID] | Anfrage anzeigen oder schließen |
Notizfarben: yellow, pink, sky, mint, violet. Linienfarben (rect, arrow): ink, red, blue, green, amber, violet.
SVG token-sparend zeichnen
- SVG-Bilder werden über
<img>dargestellt (sicher, kein Script-Ausführung), daher wird LaTeX innerhalb von SVG nicht gerendert. Bei Formeln zeichnen Sie Rahmen und Pfeile mit SVG und legen danntex-Elemente darüber. - Graphen oder Bilder mit vielen Punkten: SVG mit einem kurzen Python-Skript generieren, Koordinaten nicht von Hand schreiben. Die Kosten sind dann nur die Skriptlänge, unabhängig von der Punktanzahl.
- Verwenden Sie
<style>,<defs>und<marker>, runden Sie Koordinaten. Wenn nur ein paar Rahmen und Pfeile benötigt werden, verwenden Sierect/arrow. - Lesen ist nahezu kostenlos:
waitgibt nur eine Beschreibungszeile pro SVG-Bild aus, nicht den Quellcode.
Details zu Architektur und API: WB/docs/.