Sammel-Issue: Plugins für den Seitenpanel-Reiter hochrüsten — Hintergrundjobs, claude-sessions, cookbook, editable-table, danach freecad-bridge, email, dirigent #287

Closed
opened 2026-10-26 15:51:04 +00:00 by alf · 6 comments
Owner

Ziel

Mehr Plugins bekommen einen Seitenpanel-Reiter (side_panel, iris/Iris#169) mit dem gemeinsamen Panel-Kit (_shared/iris-panel-kit: status, revision/onRefresh nach #281, ViewState für Suche/Filter nach #284). Maßstab: es gibt etwas Dauerhaftes, das Nutzer und Agent zusammen ansehen und bearbeiten (Liste, Auswahl, Fortschritt). Bestand: comfyui-workflows, iris-solidcraft, iris-gamebox.

Auswahl (aus den Manifesten der 35 Plugins; Aufwand mit vorhandenem Kit)

# Kandidat Warum Aufwand
1 Hintergrundjobs (neues Plugin iris-jobs, gemeinsamer Reiter für alle Plugins mit dem Reporter-Baustein: translate, marker, heartmula, strata-modelle, comfyui-bridge, qwen-tts-linux) Fortschritt sehen, Abbrechen per Klick, Ergebnis öffnen. Heute lässt sich ein laufender Job vom Chat aus nicht stoppen (Stopp beendet nur den Agenten-Lauf; Worker und Reporter laufen entkoppelt weiter). mittel
2 iris-claude-sessions Liste mit Aktionen (fortsetzen, umbenennen, Papierkorb); heute ein Canvas, das mit dem Chat wegscrollt gering
3 iris-nextcloud-cookbook Rezeptliste, Suche, Detail, Tags — wie Gamebox (ViewState, erster Treffer, durch die Treffer schalten) gering
4 iris-editable-table Tabelle für Massenänderungen und Rückfragen/Auflistungen, die beim Reden offen bleibt gering
5 freecad-bridge hat schon eine Anwenden-Oberfläche (usage); wie SolidCraft das Modell neben dem Chat gering
6 email Prüf-Warteschlange (Spam-Vorschläge, Blacklist/Whitelist): bestätigen oder ablehnen mittel
7 comfyui-dirigent Plan zur Bestätigung und Ablauf der Schritte als Liste mit Status statt im Chatverlauf mittel

Danach bei Bedarf: filmcraft (Projekte, Export-Jobs), pdfcraft (Seitenminiaturen ordnen), iris-plugin-dev (Stufen als Fortschrittsleiste), openmontage (Pipeline-Stand). Nicht lohnend (nichts Dauerhaftes zum Danebenstehen): blender-bridge, iris-gui, iris-pandoc, iris-repo-check, ios-install, iris-ghidra, iris-dosgame.

Reihenfolge (mit Nutzer festgelegt)

  1. Hintergrundjobs — Reporter-Registry + Reiter + Abbrechen (translate zuerst), danach die anderen Reporter-Plugins neu bündeln.
  2. iris-claude-sessions
  3. iris-nextcloud-cookbook
  4. iris-editable-table — für Rückfragen und Auflistungen

Je Plugin ein eigenes Gerüst nach der Checkliste in README.md Kapitel 22.7 (Reiter, status, revision, onRefresh, SKILL.md-Abschnitt „Reiter“, Tests, Veröffentlichen mit Stand-Kommentar). Dieses Issue ist die Klammer; Verlauf je Plugin als Kommentare, Beschreibung bleibt Spezifikation.

Offen

  • iris-jobs: Chat-Bindung (nur Jobs dieses Chats oder alle?) und Aufbewahrung beendeter Jobs.
  • side_panel_skill im Manifest (iris/Iris#181) — danach tragen Plugins den Skill-Hinweis nach.
  • Linux-Server: Reporter laufen dort in Docker-Containern; das Job-Register muss dort dasselbe Verzeichnis erreichen (erst Mac, dann Linux).
## Ziel Mehr Plugins bekommen einen **Seitenpanel-Reiter** (`side_panel`, iris/Iris#169) mit dem gemeinsamen Panel-Kit (`_shared/iris-panel-kit`: `status`, `revision`/`onRefresh` nach #281, `ViewState` für Suche/Filter nach #284). Maßstab: es gibt etwas Dauerhaftes, das Nutzer **und** Agent zusammen ansehen und bearbeiten (Liste, Auswahl, Fortschritt). Bestand: comfyui-workflows, iris-solidcraft, iris-gamebox. ## Auswahl (aus den Manifesten der 35 Plugins; Aufwand mit vorhandenem Kit) | # | Kandidat | Warum | Aufwand | |---|---|---|---| | 1 | **Hintergrundjobs** (neues Plugin `iris-jobs`, gemeinsamer Reiter für alle Plugins mit dem Reporter-Baustein: translate, marker, heartmula, strata-modelle, comfyui-bridge, qwen-tts-linux) | Fortschritt sehen, **Abbrechen per Klick**, Ergebnis öffnen. Heute lässt sich ein laufender Job vom Chat aus nicht stoppen (Stopp beendet nur den Agenten-Lauf; Worker und Reporter laufen entkoppelt weiter). | mittel | | 2 | **iris-claude-sessions** | Liste mit Aktionen (fortsetzen, umbenennen, Papierkorb); heute ein Canvas, das mit dem Chat wegscrollt | gering | | 3 | **iris-nextcloud-cookbook** | Rezeptliste, Suche, Detail, Tags — wie Gamebox (`ViewState`, erster Treffer, durch die Treffer schalten) | gering | | 4 | **iris-editable-table** | Tabelle für Massenänderungen **und Rückfragen/Auflistungen**, die beim Reden offen bleibt | gering | | 5 | freecad-bridge | hat schon eine Anwenden-Oberfläche (`usage`); wie SolidCraft das Modell neben dem Chat | gering | | 6 | email | Prüf-Warteschlange (Spam-Vorschläge, Blacklist/Whitelist): bestätigen oder ablehnen | mittel | | 7 | comfyui-dirigent | Plan zur Bestätigung und Ablauf der Schritte als Liste mit Status statt im Chatverlauf | mittel | Danach bei Bedarf: filmcraft (Projekte, Export-Jobs), pdfcraft (Seitenminiaturen ordnen), iris-plugin-dev (Stufen als Fortschrittsleiste), openmontage (Pipeline-Stand). **Nicht lohnend** (nichts Dauerhaftes zum Danebenstehen): blender-bridge, iris-gui, iris-pandoc, iris-repo-check, ios-install, iris-ghidra, iris-dosgame. ## Reihenfolge (mit Nutzer festgelegt) 1. **Hintergrundjobs** — Reporter-Registry + Reiter + Abbrechen (translate zuerst), danach die anderen Reporter-Plugins neu bündeln. 2. **iris-claude-sessions** 3. **iris-nextcloud-cookbook** 4. **iris-editable-table** — für Rückfragen und Auflistungen Je Plugin ein eigenes Gerüst nach der Checkliste in `README.md` Kapitel 22.7 (Reiter, `status`, `revision`, `onRefresh`, SKILL.md-Abschnitt „Reiter“, Tests, Veröffentlichen mit Stand-Kommentar). Dieses Issue ist die Klammer; Verlauf je Plugin als Kommentare, Beschreibung bleibt Spezifikation. ## Offen - `iris-jobs`: Chat-Bindung (nur Jobs dieses Chats oder alle?) und Aufbewahrung beendeter Jobs. - `side_panel_skill` im Manifest (iris/Iris#181) — danach tragen Plugins den Skill-Hinweis nach. - Linux-Server: Reporter laufen dort in Docker-Containern; das Job-Register muss dort dasselbe Verzeichnis erreichen (erst Mac, dann Linux).
Author
Owner

PR #288 gemergt: feat(iris-jobs): Reiter Hintergrundjobs mit Abbrechen; Reporter schreibt Job-Register; translate cancel (1.0.7); marker, heartmula, strata-modelle, comfyui-bridge neu gebündelt (#287)
#288

Commits:

  • feat(iris-jobs): Reiter Hintergrundjobs mit Abbrechen; Reporter schreibt Job-Register; translate cancel (1.0.7); marker, heartmula, strata-modelle, comfyui-bridge neu gebündelt (#287)

Stand: Hintergrundjobs gebaut (Schritt 1 der Reihenfolge)

Neu: Plugin iris-jobs 0.1.0 („Hintergrundjobs“) — ein Reiter im Seitenpanel, der laufende und beendete Hintergrundjobs zeigt: Status, Fortschritt (Balken, „3 von 7“), Dauer, letzte Meldung; Ansicht „Dieser Chat“ oder „Alle“; Abbrechen (zweimal klicken bestätigt), „Im Finder zeigen“ bei fertigen Jobs, „Entfernen“, „Beendete entfernen“. Dazu Skill iris-jobs (jobs.py list|cancel|clear) und Systemprompt: Auskunft aus list, Abbrechen nur auf ausdrücklichen Wunsch des Nutzers.

Reporter-Baustein (_shared/iris-async-reporter): schreibt je Lauf eine Datei ins Job-Register background-jobs/ (Plugin, Label, Name, Chat, Status, Log, Fortschritt, Ergebnis, Reporter-PID, Abbruchbefehl); neue optionale Teile des Vertrags: PROGRESS: n/m, STATUS: cancelled, --plugin, --cancel-cmd; SIGTERM meldet „abgebrochen“. Der Reporter führt den Abbruchbefehl nie selbst aus (die Abbrüche gesunder Jobs durch Modelle, wegen der es ihn gibt, bleiben ausgeschlossen) — den Abbruch löst allein der Reiter auf Nutzerwunsch aus.

translate 1.0.7: translate_document.py cancel [Statusdatei] (beendet nur den eigenen Worker nach Prüfung der Kommandozeile — PIDs werden wiederverwendet —, setzt „cancelled“, behält die übersetzten Chunks; ein neuer Aufruf mit derselben Datei setzt fort), PROGRESS-Zeile, Reporter bekommt --plugin translate und --cancel-cmd. Das Build-Skript las die Version aus einer veralteten Konstante (Datei hieß 1.0.5 bei Manifest 1.0.6) — jetzt aus plugin.json. Die committete Kopie von iris-async-reporter.py im Skill-Ordner entfällt (das Build bündelt aus _shared).

Neu gebündelt (Patch-Versionen, nur damit die Jobs im Reiter erscheinen): marker 1.19.4, heartmula 2.2.1, strata-modelle 1.0.6, comfyui-bridge 1.13.2. Sie zeigen im Reiter „Nicht abbrechbar“, bis sie einen cancel-Befehl haben. qwen-tts-linux bündelt den Reporter nicht und bleibt unverändert.

Geprüft: Reporter 9 Tests (Register, Fortschritt, done/failed/cancelled, SIGTERM, Reporter führt den Abbruchbefehl nie selbst aus, unbeschreibbares Register stört nicht); iris-jobs 20 Tests (Sortierung, kaputte Dateien, unterbrochene Jobs, wiederverwendete PID, Aufräumen, Chat-Bereich, Ergebnispfad mit Klammern, Abbrechen mit/ohne Befehl, Reiter-Vertrag, revision); translate 5 Tests (cancel beendet den Worker, behält Chunks, beendet nie fremde Prozesse, lässt beendete Jobs in Ruhe); Kit 45; heartmula, strata-modelle, marker, comfyui-bridge-Tests grün; registry-tools 62. End-to-End im Headless-Chromium (iris-jobs/tests/e2e/): echter Reporter + echtes panel_api + echte Seite — Karte mit Fortschritt, „Alle“ zeigt beide Jobs, zweimal klicken bricht über den Abbruchbefehl ab, der Job und der Reporter enden, „Entfernen“ räumt auf, keine JavaScript-Fehler. Alle Pakete gebaut, --dry-run grün, Mermaid/README ergänzt.

Nicht geprüft: in der echten Iris-App (Reiter in der Plugin-Leiste, Marker-Zeile, Refresh-Ereignis); ein echter Übersetzungslauf mit Abbruch (nur der Mechanismus mit einem nachgebauten Job); marker/heartmula/strata-modelle melden sich an, aber nicht gegen einen echten Lauf geprüft. Eine schon unterwegs befindliche Anfrage an das Sprachmodell läuft nach dem Abbruch am Server noch zu Ende (bis 300 s) — der Server-Task wird nicht abgebrochen.

Offen: cancel-Befehle für marker (Server-Auftrag), heartmula (SSH-Auftrag), strata-modelle, comfyui-bridge; Linux-Server (Reporter laufen dort in Containern, das Register liegt dort woanders); side_panel_skill (iris/Iris#181); Schritt 2 bis 4 der Reihenfolge.

PR #288 gemergt: feat(iris-jobs): Reiter Hintergrundjobs mit Abbrechen; Reporter schreibt Job-Register; translate cancel (1.0.7); marker, heartmula, strata-modelle, comfyui-bridge neu gebündelt (#287) https://forgejo.lewerken.duckdns.org/iris/iris-plugins/pulls/288 Commits: - feat(iris-jobs): Reiter Hintergrundjobs mit Abbrechen; Reporter schreibt Job-Register; translate cancel (1.0.7); marker, heartmula, strata-modelle, comfyui-bridge neu gebündelt (#287) --- ## Stand: Hintergrundjobs gebaut (Schritt 1 der Reihenfolge) **Neu:** Plugin **iris-jobs 0.1.0** („Hintergrundjobs“) — ein Reiter im Seitenpanel, der laufende und beendete Hintergrundjobs zeigt: Status, Fortschritt (Balken, „3 von 7“), Dauer, letzte Meldung; Ansicht „Dieser Chat“ oder „Alle“; **Abbrechen** (zweimal klicken bestätigt), „Im Finder zeigen“ bei fertigen Jobs, „Entfernen“, „Beendete entfernen“. Dazu Skill `iris-jobs` (`jobs.py list|cancel|clear`) und Systemprompt: Auskunft aus `list`, **Abbrechen nur auf ausdrücklichen Wunsch des Nutzers**. **Reporter-Baustein (`_shared/iris-async-reporter`):** schreibt je Lauf eine Datei ins Job-Register `background-jobs/` (Plugin, Label, Name, Chat, Status, Log, Fortschritt, Ergebnis, Reporter-PID, Abbruchbefehl); neue optionale Teile des Vertrags: `PROGRESS: n/m`, `STATUS: cancelled`, `--plugin`, `--cancel-cmd`; SIGTERM meldet „abgebrochen“. **Der Reporter führt den Abbruchbefehl nie selbst aus** (die Abbrüche gesunder Jobs durch Modelle, wegen der es ihn gibt, bleiben ausgeschlossen) — den Abbruch löst allein der Reiter auf Nutzerwunsch aus. **translate 1.0.7:** `translate_document.py cancel [Statusdatei]` (beendet nur den eigenen Worker nach Prüfung der Kommandozeile — PIDs werden wiederverwendet —, setzt „cancelled“, behält die übersetzten Chunks; ein neuer Aufruf mit derselben Datei setzt fort), `PROGRESS`-Zeile, Reporter bekommt `--plugin translate` und `--cancel-cmd`. Das Build-Skript las die Version aus einer veralteten Konstante (Datei hieß 1.0.5 bei Manifest 1.0.6) — jetzt aus `plugin.json`. Die committete Kopie von `iris-async-reporter.py` im Skill-Ordner entfällt (das Build bündelt aus `_shared`). **Neu gebündelt (Patch-Versionen, nur damit die Jobs im Reiter erscheinen):** marker 1.19.4, heartmula 2.2.1, strata-modelle 1.0.6, comfyui-bridge 1.13.2. Sie zeigen im Reiter „Nicht abbrechbar“, bis sie einen `cancel`-Befehl haben. **qwen-tts-linux** bündelt den Reporter nicht und bleibt unverändert. **Geprüft:** Reporter 9 Tests (Register, Fortschritt, done/failed/cancelled, SIGTERM, Reporter führt den Abbruchbefehl nie selbst aus, unbeschreibbares Register stört nicht); iris-jobs 20 Tests (Sortierung, kaputte Dateien, unterbrochene Jobs, wiederverwendete PID, Aufräumen, Chat-Bereich, Ergebnispfad mit Klammern, Abbrechen mit/ohne Befehl, Reiter-Vertrag, `revision`); translate 5 Tests (cancel beendet den Worker, behält Chunks, beendet nie fremde Prozesse, lässt beendete Jobs in Ruhe); Kit 45; heartmula, strata-modelle, marker, comfyui-bridge-Tests grün; registry-tools 62. **End-to-End im Headless-Chromium** (`iris-jobs/tests/e2e/`): echter Reporter + echtes `panel_api` + echte Seite — Karte mit Fortschritt, „Alle“ zeigt beide Jobs, zweimal klicken bricht über den Abbruchbefehl ab, der Job und der Reporter enden, „Entfernen“ räumt auf, keine JavaScript-Fehler. Alle Pakete gebaut, `--dry-run` grün, Mermaid/README ergänzt. **Nicht geprüft:** in der echten Iris-App (Reiter in der Plugin-Leiste, Marker-Zeile, Refresh-Ereignis); ein echter Übersetzungslauf mit Abbruch (nur der Mechanismus mit einem nachgebauten Job); marker/heartmula/strata-modelle melden sich an, aber nicht gegen einen echten Lauf geprüft. Eine schon unterwegs befindliche Anfrage an das Sprachmodell läuft nach dem Abbruch am Server noch zu Ende (bis 300 s) — der Server-Task wird nicht abgebrochen. **Offen:** `cancel`-Befehle für marker (Server-Auftrag), heartmula (SSH-Auftrag), strata-modelle, comfyui-bridge; Linux-Server (Reporter laufen dort in Containern, das Register liegt dort woanders); `side_panel_skill` (iris/Iris#181); Schritt 2 bis 4 der Reihenfolge.
Author
Owner

Stand: veröffentlicht (Schritt 1: Hintergrundjobs)

In der Registry (nach dem Pull geprüft): iris-jobs 0.1.0 (neu), translate 1.0.7, marker 1.19.4, heartmula 2.2.1, strata-modelle 1.0.6, comfyui-bridge 1.13.2. Wer aktualisiert bzw. installiert, bekommt: den Reiter „Hintergrundjobs“ im Seitenpanel mit Fortschritt und Dauer der laufenden Aufträge; bei der Übersetzung zusätzlich Abbrechen (zweimal klicken; die übersetzten Teile bleiben, derselbe Auftrag macht dort weiter). Marker, HeartMuLa, Strata-Modelle und ComfyUI-Bridge erscheinen im Reiter mit „Nicht abbrechbar“, bis sie einen eigenen cancel-Befehl haben.

Wirkt nur mit einer Iris-App mit den Reiter-Fixes (iris/Iris#178, #180; den Reiter selbst zeigt jede App mit #169). Nicht geprüft: das Zusammenspiel in der echten App und ein echter Übersetzungslauf mit Abbruch. Rückmeldung nach dem Test bitte hier. Nächster Schritt der Reihenfolge: iris-claude-sessions.

## Stand: veröffentlicht (Schritt 1: Hintergrundjobs) In der Registry (nach dem Pull geprüft): **iris-jobs 0.1.0** (neu), **translate 1.0.7**, **marker 1.19.4**, **heartmula 2.2.1**, **strata-modelle 1.0.6**, **comfyui-bridge 1.13.2**. Wer aktualisiert bzw. installiert, bekommt: den Reiter „Hintergrundjobs“ im Seitenpanel mit Fortschritt und Dauer der laufenden Aufträge; bei der **Übersetzung** zusätzlich Abbrechen (zweimal klicken; die übersetzten Teile bleiben, derselbe Auftrag macht dort weiter). Marker, HeartMuLa, Strata-Modelle und ComfyUI-Bridge erscheinen im Reiter mit „Nicht abbrechbar“, bis sie einen eigenen `cancel`-Befehl haben. **Wirkt nur mit** einer Iris-App mit den Reiter-Fixes (iris/Iris#178, #180; den Reiter selbst zeigt jede App mit #169). **Nicht geprüft:** das Zusammenspiel in der echten App und ein echter Übersetzungslauf mit Abbruch. Rückmeldung nach dem Test bitte hier. Nächster Schritt der Reihenfolge: iris-claude-sessions.
Author
Owner

PR #289 gemergt: feat(iris-claude-sessions): Reiter im Seitenpanel — Liste, Suche, Fortsetzen, Umbenennen, Papierkorb; Iris setzt Suche und schaltet durch Treffer; Kopf-Cache, Version 0.4.0 (#287)
#289

Commits:

  • feat(iris-claude-sessions): Reiter im Seitenpanel — Liste, Suche, Fortsetzen, Umbenennen, Papierkorb; Iris setzt Suche und schaltet durch Treffer; Kopf-Cache, Version 0.4.0 (#287)

Stand: iris-claude-sessions 0.4.0 — Reiter gebaut (Schritt 2)

Neu: Reiter „Claude-Code-Sessions“ im Seitenpanel: Liste mit Suche, Umschalter Sessions/Papierkorb, Fortsetzen (Terminal über die Iris-App), Umbenennen (inline), Papierkorb (zweimal klicken) und Zurückholen, Feld „Neue Session“, laufende Sessions markiert (Fortsetzen und Papierkorb gesperrt). Iris steuert den Reiter: claude_sessions.py view --suche X trägt die Suche ein und zeigt den ersten Treffer, --next/--prev/--treffer N schalten durch dieselbe Liste, --papierkorb/--sessions/--clear, select/selection für „diese Session“. Die Seite meldet ihre Eingaben zurück (view-set), der Agent sieht sie. Der Canvas-Weg bleibt, wenn der Reiter nicht offen ist (Systemprompt und SKILL.md unterscheiden über die Zeile [PLUGIN-PANEL: …]).

Umbau darunter: umbenennen, in_den_papierkorb, zurueckholen, terminal_starten sind aus den cmd_*-Funktionen herausgelöst (Reiter und CLI teilen sie, Ausgabe der CLI unverändert); neues sessions_panel.py (Ansicht, Auswahl, Treffer, revision, Zusammenfassung). Kopf-Cache (kopf-cache.json): der Dateianfang einer Session (erste Nutzernachricht, Verzeichnis) ändert sich nie und wird einmal gelesen — sonst läse jede Abfrage des Reiters bei einer laufenden Session (ihre Datei ändert sich ständig, damit auch die revision) Hunderte Dateien. Gemessen an deinen echten Daten (157 Dateien, 122 Sessions): 0,15 s beim ersten, 0,06 s bei jedem weiteren Aufruf.

Geprüft: 136 Tests des Plugins (davon 21 neu: Suche zeigt Treffer 1, vor/zurück/n-ter, Ränder, kein Treffer, Papierkorb-Ansicht, lesen/leeren, Auswahl, view-set ändert die Auswahl nicht, Reiter-Vertrag, revision folgt neuer Session, Umbenennen und Auswahl, laufende Session, Rename/Trash/Restore, Fehler als Text, Terminal-Start gegen eine Mock-App, Kopf-Cache liest einmal / räumt auf / merkt Unvollständiges nicht), 9 Node-Tests des Memory-Editors, Kit-Tests. End-to-End im Headless-Chromium (tests/e2e/): echte Seite + echtes panel_api + echtes CLI gegen ein temporäres ~/.claude und eine nachgebaute App — Agent setzt die Suche, Seite zeigt Suchfeld/Treffer 1, --next, Zurück-Knopf, Nutzer tippt selbst (Agent sieht es), Umbenennen, Papierkorb und Zurückholen, Fortsetzen und neue Session erreichen die App mit den richtigen Feldern, keine Schleife, keine JavaScript-Fehler. Paket gebaut, entpackt, status läuft aus dem Paket, --dry-run grün.

Nicht geprüft: in der echten Iris-App (Reiter, Terminal-Start über die echte App, Marker-Zeile); ob ein Chat-Agent den neuen Systemprompt-Abschnitt befolgt (neue Unterhaltung nötig). Das Memory (Editor-Block) bleibt Canvas und ist nicht im Reiter. Veröffentlicht nach der Standardregel, siehe Kommentar unten.

PR #289 gemergt: feat(iris-claude-sessions): Reiter im Seitenpanel — Liste, Suche, Fortsetzen, Umbenennen, Papierkorb; Iris setzt Suche und schaltet durch Treffer; Kopf-Cache, Version 0.4.0 (#287) https://forgejo.lewerken.duckdns.org/iris/iris-plugins/pulls/289 Commits: - feat(iris-claude-sessions): Reiter im Seitenpanel — Liste, Suche, Fortsetzen, Umbenennen, Papierkorb; Iris setzt Suche und schaltet durch Treffer; Kopf-Cache, Version 0.4.0 (#287) --- ## Stand: iris-claude-sessions 0.4.0 — Reiter gebaut (Schritt 2) **Neu:** Reiter „Claude-Code-Sessions“ im Seitenpanel: Liste mit Suche, Umschalter Sessions/Papierkorb, **Fortsetzen** (Terminal über die Iris-App), **Umbenennen** (inline), **Papierkorb** (zweimal klicken) und **Zurückholen**, Feld „Neue Session“, laufende Sessions markiert (Fortsetzen und Papierkorb gesperrt). **Iris steuert den Reiter:** `claude_sessions.py view --suche X` trägt die Suche ein und zeigt den **ersten Treffer**, `--next/--prev/--treffer N` schalten durch dieselbe Liste, `--papierkorb/--sessions/--clear`, `select`/`selection` für „diese Session“. Die Seite meldet ihre Eingaben zurück (`view-set`), der Agent sieht sie. Der Canvas-Weg bleibt, wenn der Reiter nicht offen ist (Systemprompt und SKILL.md unterscheiden über die Zeile `[PLUGIN-PANEL: …]`). **Umbau darunter:** `umbenennen`, `in_den_papierkorb`, `zurueckholen`, `terminal_starten` sind aus den `cmd_*`-Funktionen herausgelöst (Reiter und CLI teilen sie, Ausgabe der CLI unverändert); neues `sessions_panel.py` (Ansicht, Auswahl, Treffer, `revision`, Zusammenfassung). **Kopf-Cache** (`kopf-cache.json`): der Dateianfang einer Session (erste Nutzernachricht, Verzeichnis) ändert sich nie und wird einmal gelesen — sonst läse jede Abfrage des Reiters bei einer laufenden Session (ihre Datei ändert sich ständig, damit auch die `revision`) Hunderte Dateien. Gemessen an deinen echten Daten (157 Dateien, 122 Sessions): 0,15 s beim ersten, 0,06 s bei jedem weiteren Aufruf. **Geprüft:** 136 Tests des Plugins (davon 21 neu: Suche zeigt Treffer 1, vor/zurück/n-ter, Ränder, kein Treffer, Papierkorb-Ansicht, lesen/leeren, Auswahl, `view-set` ändert die Auswahl nicht, Reiter-Vertrag, `revision` folgt neuer Session, Umbenennen und Auswahl, laufende Session, Rename/Trash/Restore, Fehler als Text, Terminal-Start gegen eine Mock-App, Kopf-Cache liest einmal / räumt auf / merkt Unvollständiges nicht), 9 Node-Tests des Memory-Editors, Kit-Tests. **End-to-End im Headless-Chromium** (`tests/e2e/`): echte Seite + echtes `panel_api` + echtes CLI gegen ein temporäres `~/.claude` und eine nachgebaute App — Agent setzt die Suche, Seite zeigt Suchfeld/Treffer 1, `--next`, Zurück-Knopf, Nutzer tippt selbst (Agent sieht es), Umbenennen, Papierkorb und Zurückholen, Fortsetzen und neue Session erreichen die App mit den richtigen Feldern, keine Schleife, keine JavaScript-Fehler. Paket gebaut, entpackt, `status` läuft aus dem Paket, `--dry-run` grün. **Nicht geprüft:** in der echten Iris-App (Reiter, Terminal-Start über die echte App, Marker-Zeile); ob ein Chat-Agent den neuen Systemprompt-Abschnitt befolgt (neue Unterhaltung nötig). Das Memory (Editor-Block) bleibt Canvas und ist nicht im Reiter. Veröffentlicht nach der Standardregel, siehe Kommentar unten.
Author
Owner

Stand: veröffentlicht (Schritt 2: iris-claude-sessions)

iris-claude-sessions 0.4.0 ist in der Registry (nach dem Pull geprüft). Wer aktualisiert, bekommt: den Reiter „Claude-Code-Sessions“ im Seitenpanel (Suche, Fortsetzen im Terminal, Umbenennen, Papierkorb/Zurückholen, neue Session) — und Iris trägt „Zeig mir die Sessions zu Wing Commander“ als Suche im Reiter ein, zeigt den ersten Treffer und schaltet auf Wunsch durch die Treffer. Ist der Reiter nicht offen, zeigt Iris wie bisher ein Canvas.

Wirkt nur mit einer Iris-App mit den Reiter-Fixes (iris/Iris#178, #180) und in einer neuen Unterhaltung (neuer Systemprompt-Abschnitt). Nicht geprüft: das Zusammenspiel in der echten App und der Terminal-Start über die echte App; geprüft ist alles End-to-End im Headless-Chromium gegen eine nachgebaute App. Rückmeldung nach dem Test bitte hier. Nächster Schritt der Reihenfolge: iris-nextcloud-cookbook.

## Stand: veröffentlicht (Schritt 2: iris-claude-sessions) **iris-claude-sessions 0.4.0** ist in der Registry (nach dem Pull geprüft). Wer aktualisiert, bekommt: den Reiter „Claude-Code-Sessions“ im Seitenpanel (Suche, Fortsetzen im Terminal, Umbenennen, Papierkorb/Zurückholen, neue Session) — und Iris trägt „Zeig mir die Sessions zu Wing Commander“ als Suche im Reiter ein, zeigt den ersten Treffer und schaltet auf Wunsch durch die Treffer. Ist der Reiter nicht offen, zeigt Iris wie bisher ein Canvas. **Wirkt nur mit** einer Iris-App mit den Reiter-Fixes (iris/Iris#178, #180) und in einer **neuen Unterhaltung** (neuer Systemprompt-Abschnitt). **Nicht geprüft:** das Zusammenspiel in der echten App und der Terminal-Start über die echte App; geprüft ist alles End-to-End im Headless-Chromium gegen eine nachgebaute App. Rückmeldung nach dem Test bitte hier. Nächster Schritt der Reihenfolge: iris-nextcloud-cookbook.
Author
Owner

PR #290 gemergt: docs(iris-claude-sessions): Store-Beispiele nennen ausdrücklich Claude-Code-Sessions (#287)
#290

Commits:

  • docs(iris-claude-sessions): Store-Beispiele nennen ausdrücklich Claude-Code-Sessions (#287)

Stand: Beispielsätze der Store-Seite korrigiert (iris-claude-sessions, zu #287)

Alf wies darauf hin: „Zeig mir die Sessions zu Wing Commander“ war ein schlechtes Beispiel — das Plugin zeigt nur die Claude-Code-Sessions (die im Terminal geführten), nicht Iris-Chats. Store-Seite (Beispiel, Funktionstext, Langtext) sagen es jetzt ausdrücklich: „Zeig mir meine Claude-Code-Sessions zu Wing Commander“. Nur Store-Material, keine neue Version. Offen: dieselbe Korrektur in docs/erste-schritte.md (steckt im Paket) kommt mit der nächsten Version; der veröffentlichte Changelog-Abschnitt 0.4.0 bleibt, wie er ist.

PR #290 gemergt: docs(iris-claude-sessions): Store-Beispiele nennen ausdrücklich Claude-Code-Sessions (#287) https://forgejo.lewerken.duckdns.org/iris/iris-plugins/pulls/290 Commits: - docs(iris-claude-sessions): Store-Beispiele nennen ausdrücklich Claude-Code-Sessions (#287) --- ## Stand: Beispielsätze der Store-Seite korrigiert (iris-claude-sessions, zu #287) Alf wies darauf hin: „Zeig mir die Sessions zu Wing Commander“ war ein schlechtes Beispiel — das Plugin zeigt nur die **Claude-Code-Sessions** (die im Terminal geführten), nicht Iris-Chats. Store-Seite (Beispiel, Funktionstext, Langtext) sagen es jetzt ausdrücklich: „Zeig mir meine Claude-Code-Sessions zu Wing Commander“. Nur Store-Material, keine neue Version. **Offen:** dieselbe Korrektur in `docs/erste-schritte.md` (steckt im Paket) kommt mit der nächsten Version; der veröffentlichte Changelog-Abschnitt 0.4.0 bleibt, wie er ist.
Author
Owner

Geschlossen auf ausdrücklichen Wunsch von Alf; das Label status/zu-testen wurde dabei entfernt. Getestet hat Alf nach eigener Aussage die Gamebox auf beiden Maschinen; die übrigen betroffenen Plugins sind darin nicht eigens genannt.

Geschlossen auf ausdrücklichen Wunsch von Alf; das Label status/zu-testen wurde dabei entfernt. Getestet hat Alf nach eigener Aussage die Gamebox auf beiden Maschinen; die übrigen betroffenen Plugins sind darin nicht eigens genannt.
alf closed this issue 2026-10-27 11:09:01 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
iris/iris-plugins#287
No description provided.