Sammel-Issue: Plugins für den Seitenpanel-Reiter hochrüsten — Hintergrundjobs, claude-sessions, cookbook, editable-table, danach freecad-bridge, email, dirigent #287
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/iris-plugins#287
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ziel
Mehr Plugins bekommen einen Seitenpanel-Reiter (
side_panel, iris/Iris#169) mit dem gemeinsamen Panel-Kit (_shared/iris-panel-kit:status,revision/onRefreshnach #281,ViewStatefü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)
iris-jobs, gemeinsamer Reiter für alle Plugins mit dem Reporter-Baustein: translate, marker, heartmula, strata-modelle, comfyui-bridge, qwen-tts-linux)ViewState, erster Treffer, durch die Treffer schalten)usage); wie SolidCraft das Modell neben dem ChatDanach 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)
Je Plugin ein eigenes Gerüst nach der Checkliste in
README.mdKapitel 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_skillim Manifest (iris/Iris#181) — danach tragen Plugins den Skill-Hinweis nach.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:
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 auslist, Abbrechen nur auf ausdrücklichen Wunsch des Nutzers.Reporter-Baustein (
_shared/iris-async-reporter): schreibt je Lauf eine Datei ins Job-Registerbackground-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 translateund--cancel-cmd. Das Build-Skript las die Version aus einer veralteten Konstante (Datei hieß 1.0.5 bei Manifest 1.0.6) — jetzt ausplugin.json. Die committete Kopie voniris-async-reporter.pyim 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 + echtespanel_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-rungrü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.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.
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:
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 Xträgt die Suche ein und zeigt den ersten Treffer,--next/--prev/--treffer Nschalten durch dieselbe Liste,--papierkorb/--sessions/--clear,select/selectionfü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_startensind aus dencmd_*-Funktionen herausgelöst (Reiter und CLI teilen sie, Ausgabe der CLI unverändert); neuessessions_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 dierevision) 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,revisionfolgt 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 + echtespanel_api+ echtes CLI gegen ein temporäres~/.claudeund 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,statusläuft aus dem Paket,--dry-rungrü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.
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.
PR #290 gemergt: docs(iris-claude-sessions): Store-Beispiele nennen ausdrücklich Claude-Code-Sessions (#287)
#290
Commits:
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.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.