Plugins mit Seitenpanel aktualisieren ihre Ansicht nach Änderungen des Agenten (revision, onRefresh) — Kit, comfyui-workflows, iris-solidcraft, iris-gamebox #281

Closed
opened 2026-10-26 13:24:57 +00:00 by alf · 6 comments
Owner

Ziel

Jedes Plugin mit side_panel zeigt Änderungen des Agenten in seiner Ansicht, ohne dass der Nutzer neu lädt. Protokoll und Client: iris/Iris (Verweis unten). Hier: der Plugin-Teil — das geteilte Panel-Kit und die drei Bestandsplugins.

Protokoll in Kürze (Details im iris/Iris-Issue)

status liefert ein optionales Feld revision (ändert sich, wenn der sichtbare Stand sich ändert); der Client meldet der Seite eine Änderung als Ereignis iris:panel-refresh (ohne Neuladen), auch auf Knopfdruck und nach jedem fertigen Werkzeugaufruf des Agenten.

Umfang

  1. Kit (_shared/iris-panel-kit/): panel_kit.py — status_reply(…, revision=…) und ein Helfer revision_of(*pfade, extra=…) (billiger Hash aus Zeitstempeln/Größen); panel_kit.js — panel.onRefresh(fn) (Ereignis iris:panel-refresh, entprellt, nie überlappend) mit Standardverhalten Neuladen, wenn die Seite nichts registriert hat. Tests (Python + Node). README Kapitel 22: Ablauf (Sequenzdiagramm um die Aktualisierung erweitern) und Checkliste.
  2. comfyui-workflows: revision aus registry.json und selection.json; die Seite holt bei onRefresh Liste und Auswahl neu (ohne Bearbeitungsstand zu verwerfen, solange kein Konflikt).
  3. iris-gamebox: revision aus Auswahl, installed_apps-Markern, Bau-Job-Zustand und Katalogzählern; onRefresh lädt „Installiert“, die Detailansicht der gewählten Karte und den Baustatus neu — Suche, Filter und Scroll bleiben.
  4. iris-solidcraft: revision aus Design-Dateien des Chat-Workspaces (Name, Größe, mtime) und App-Zustand; onRefresh ruft refreshMac und die Designliste.
  5. publish-plugins.sh: kein Zwang (revision ist optional); Kapitel 22 sagt, dass ein Reiter ohne revision Änderungen des Agenten nicht zeigt.
  6. Je Plugin eine kleine Version, Changelog, Test des revision-Wechsels (Datei ändern → revision ändert sich; unverändert → gleich).

Vorgehen

Erst das Protokoll und der Client (iris/Iris), dann Kit und Plugins — die Plugins sind ohne Client-Seite wirkungslos, das Kit ist ohne Client abwärtskompatibel (revision wird ignoriert). Prüfen in der echten App: Agent baut/registriert/speichert etwas, die Ansicht zieht nach, Suche und Scroll bleiben.

Gegenstück: iris/Iris#178

## Ziel Jedes Plugin mit `side_panel` zeigt Änderungen des Agenten in seiner Ansicht, ohne dass der Nutzer neu lädt. Protokoll und Client: iris/Iris (Verweis unten). Hier: der Plugin-Teil — das geteilte Panel-Kit und die drei Bestandsplugins. ## Protokoll in Kürze (Details im iris/Iris-Issue) `status` liefert ein optionales Feld `revision` (ändert sich, wenn der sichtbare Stand sich ändert); der Client meldet der Seite eine Änderung als Ereignis `iris:panel-refresh` (ohne Neuladen), auch auf Knopfdruck und nach jedem fertigen Werkzeugaufruf des Agenten. ## Umfang 1. **Kit** (`_shared/iris-panel-kit/`): `panel_kit.py` — `status_reply(…, revision=…)` und ein Helfer `revision_of(*pfade, extra=…)` (billiger Hash aus Zeitstempeln/Größen); `panel_kit.js` — `panel.onRefresh(fn)` (Ereignis `iris:panel-refresh`, entprellt, nie überlappend) mit **Standardverhalten Neuladen**, wenn die Seite nichts registriert hat. Tests (Python + Node). README Kapitel 22: Ablauf (Sequenzdiagramm um die Aktualisierung erweitern) und Checkliste. 2. **comfyui-workflows**: `revision` aus `registry.json` und `selection.json`; die Seite holt bei `onRefresh` Liste und Auswahl neu (ohne Bearbeitungsstand zu verwerfen, solange kein Konflikt). 3. **iris-gamebox**: `revision` aus Auswahl, `installed_apps`-Markern, Bau-Job-Zustand und Katalogzählern; `onRefresh` lädt „Installiert“, die Detailansicht der gewählten Karte und den Baustatus neu — Suche, Filter und Scroll bleiben. 4. **iris-solidcraft**: `revision` aus Design-Dateien des Chat-Workspaces (Name, Größe, mtime) und App-Zustand; `onRefresh` ruft `refreshMac` und die Designliste. 5. `publish-plugins.sh`: kein Zwang (`revision` ist optional); Kapitel 22 sagt, dass ein Reiter ohne `revision` Änderungen des Agenten nicht zeigt. 6. Je Plugin eine kleine Version, Changelog, Test des `revision`-Wechsels (Datei ändern → `revision` ändert sich; unverändert → gleich). ## Vorgehen Erst das Protokoll und der Client (iris/Iris), dann Kit und Plugins — die Plugins sind ohne Client-Seite wirkungslos, das Kit ist ohne Client abwärtskompatibel (`revision` wird ignoriert). Prüfen in der echten App: Agent baut/registriert/speichert etwas, die Ansicht zieht nach, Suche und Scroll bleiben. Gegenstück: iris/Iris#178
Author
Owner

PR #282 gemergt: feat(plugins): Panel-Kit mit revision_of und onRefresh, comfyui-workflows/gamebox/solidcraft aktualisieren ihre Ansicht (#281)
#282

Commits:

  • feat(plugins): Panel-Kit mit revision_of und onRefresh, comfyui-workflows/gamebox/solidcraft aktualisieren ihre Ansicht (#281)

Stand (PR zu #281): Kit und drei Plugins gebaut

Geändert.

  • Kit: panel_kit.py — revision_of(*pfade, extra=) (Größe + Änderungszeit; Ordner eine Ebene tief; 12 Hex-Zeichen) und status_reply(…, revision=). panel_kit.js — panel.onRefresh(fn) (Ereignis iris:panel-refresh; nie überlappend mit einem Nachlauf für den jüngsten Anlass, werfende Handler stoppen die übrigen nicht, abmeldbar) und die Marke window.__irisPanelRefresh; ohne Handler lädt das Kit die Seite neu.
  • comfyui-workflows 3.4.2: revision aus registry.json, selection.json, capability_tags.json; die Seite holt Auswahl und Liste neu (ein offener Workflow bleibt unangetastet).
  • iris-gamebox 0.9.2: revision aus Auswahl, Quellen, Konfiguration, Recent, Katalogzählern, Job-Ordner und Ablage; die Seite zieht Status, „Installiert“-Liste (Scroll bleibt), die vom Agenten gewählte Auswahl und — nur wenn sich „gebaut“ geändert hat — das Detail nach.
  • iris-solidcraft 0.3.4: revision aus den Designs des Chats und dem App-Zustand; die Seite ruft refreshMac/refreshLinux.
  • README Kapitel 22.4 neu (Sequenzdiagramm, Verteilung der Aufgaben), Baukasten-Tabelle und Checkliste ergänzt; CLAUDE.md-Absatz; Kit-README.
  • Neu: iris-gamebox/tests/test_panel_revision.py (Fake-Heimat, nie das echte Application Support).

Geprüft. Kit 36 Python- und 16 Node-Tests; comfyui 13, solidcraft 47, gamebox 3, registry-tools 62 grün. Die drei Pakete gebaut, entpackt, panel_api.py status aus dem Paket liefert eine revision (ohne Repo-Fallback). node --check auf allen Seiten, publish-plugins.sh --dry-run grün, Mermaid (4) gültig.

Nicht geprüft. Das Zusammenspiel mit dem Client in der echten App (Ereignis ankommt, Seite zieht nach, Zustand bleibt) — der Client ist gebaut (iris/Iris#178), aber nicht installiert. Die Seiten wurden nicht in einem Browser/WebView ausgeführt; onRefresh-Handler sind nur per node --check und über die Kit-Tests geprüft. Offener Workflow in comfyui-workflows wird bei einer Änderung am selben Workflow durch den Agenten nicht neu gelesen (nur die Liste).

Offen / Hinweis. Nicht veröffentlicht. Beim Lesen aufgefallen: iris-solidcraft listet nur *.solidcraft — der Agent hat im Chat rpi4-case.sc abgelegt, das taucht im Reiter nicht auf. Eigener Punkt (Dateiendung der App prüfen), nicht Teil dieses Issues.

PR #282 gemergt: feat(plugins): Panel-Kit mit revision_of und onRefresh, comfyui-workflows/gamebox/solidcraft aktualisieren ihre Ansicht (#281) https://forgejo.lewerken.duckdns.org/iris/iris-plugins/pulls/282 Commits: - feat(plugins): Panel-Kit mit revision_of und onRefresh, comfyui-workflows/gamebox/solidcraft aktualisieren ihre Ansicht (#281) --- ## Stand (PR zu #281): Kit und drei Plugins gebaut **Geändert.** - Kit: `panel_kit.py` — `revision_of(*pfade, extra=)` (Größe + Änderungszeit; Ordner eine Ebene tief; 12 Hex-Zeichen) und `status_reply(…, revision=)`. `panel_kit.js` — `panel.onRefresh(fn)` (Ereignis `iris:panel-refresh`; nie überlappend mit einem Nachlauf für den jüngsten Anlass, werfende Handler stoppen die übrigen nicht, abmeldbar) und die Marke `window.__irisPanelRefresh`; ohne Handler lädt das Kit die Seite neu. - comfyui-workflows 3.4.2: `revision` aus `registry.json`, `selection.json`, `capability_tags.json`; die Seite holt Auswahl und Liste neu (ein offener Workflow bleibt unangetastet). - iris-gamebox 0.9.2: `revision` aus Auswahl, Quellen, Konfiguration, Recent, Katalogzählern, Job-Ordner und Ablage; die Seite zieht Status, „Installiert“-Liste (Scroll bleibt), die vom Agenten gewählte Auswahl und — nur wenn sich „gebaut“ geändert hat — das Detail nach. - iris-solidcraft 0.3.4: `revision` aus den Designs des Chats und dem App-Zustand; die Seite ruft `refreshMac`/`refreshLinux`. - README Kapitel 22.4 neu (Sequenzdiagramm, Verteilung der Aufgaben), Baukasten-Tabelle und Checkliste ergänzt; `CLAUDE.md`-Absatz; Kit-README. - Neu: `iris-gamebox/tests/test_panel_revision.py` (Fake-Heimat, nie das echte Application Support). **Geprüft.** Kit 36 Python- und 16 Node-Tests; comfyui 13, solidcraft 47, gamebox 3, registry-tools 62 grün. Die drei Pakete gebaut, entpackt, `panel_api.py status` aus dem Paket liefert eine `revision` (ohne Repo-Fallback). `node --check` auf allen Seiten, `publish-plugins.sh --dry-run` grün, Mermaid (4) gültig. **Nicht geprüft.** Das Zusammenspiel mit dem Client in der echten App (Ereignis ankommt, Seite zieht nach, Zustand bleibt) — der Client ist gebaut (iris/Iris#178), aber nicht installiert. Die Seiten wurden nicht in einem Browser/WebView ausgeführt; `onRefresh`-Handler sind nur per `node --check` und über die Kit-Tests geprüft. Offener Workflow in comfyui-workflows wird bei einer Änderung am selben Workflow durch den Agenten nicht neu gelesen (nur die Liste). **Offen / Hinweis.** Nicht veröffentlicht. Beim Lesen aufgefallen: `iris-solidcraft` listet nur `*.solidcraft` — der Agent hat im Chat `rpi4-case.sc` abgelegt, das taucht im Reiter nicht auf. Eigener Punkt (Dateiendung der App prüfen), nicht Teil dieses Issues.
Author
Owner

PR #115 gemergt: docs(wire): Stand der Aktualisierung des Plugin-Reiters — Client, Kit und drei Plugins gebaut (iris/Iris#178, iris/iris-plugins#281)
alf/2ndbrain#115

Commits:

PR #115 gemergt: docs(wire): Stand der Aktualisierung des Plugin-Reiters — Client, Kit und drei Plugins gebaut (iris/Iris#178, iris/iris-plugins#281) https://forgejo.lewerken.duckdns.org/alf/2ndbrain/pulls/115 Commits: - docs(wire): Stand der Aktualisierung des Plugin-Reiters — Client, Kit und drei Plugins gebaut (iris/Iris#178, iris/iris-plugins#281)
Author
Owner

Stand: veröffentlicht

Veröffentlicht in der Plugin-Registry (nach dem Pull des Registry-Repos geprüft): comfyui-workflows 3.4.2, iris-gamebox 0.9.2, iris-solidcraft 0.3.4. Wer sie über den Marktplatz aktualisiert, bekommt: die Ansicht im Seitenpanel zieht nach, wenn Iris etwas ändert (Spiel gewählt/gebaut, Workflow registriert/gewählt, Design oder App-Zustand), ohne Neuladen und ohne Verlust von Suche, Filter und offenem Element.

Gilt erst mit dem Client: die Aktualisierung wirkt nur in einer Iris-App mit iris/Iris#178 (Mac-App/IrisClient und iOS); ältere Apps zeigen die Plugins wie bisher.

Nicht geprüft: das Zusammenspiel in der echten App (Ereignis kommt an, Seite zieht nach, Zustand bleibt). Testen auf mehreren Maschinen steht an; Rückmeldung bitte hier.

## Stand: veröffentlicht Veröffentlicht in der Plugin-Registry (nach dem Pull des Registry-Repos geprüft): **comfyui-workflows 3.4.2**, **iris-gamebox 0.9.2**, **iris-solidcraft 0.3.4**. Wer sie über den Marktplatz aktualisiert, bekommt: die Ansicht im Seitenpanel zieht nach, wenn Iris etwas ändert (Spiel gewählt/gebaut, Workflow registriert/gewählt, Design oder App-Zustand), ohne Neuladen und ohne Verlust von Suche, Filter und offenem Element. **Gilt erst mit dem Client:** die Aktualisierung wirkt nur in einer Iris-App mit iris/Iris#178 (Mac-App/IrisClient und iOS); ältere Apps zeigen die Plugins wie bisher. **Nicht geprüft:** das Zusammenspiel in der echten App (Ereignis kommt an, Seite zieht nach, Zustand bleibt). Testen auf mehreren Maschinen steht an; Rückmeldung bitte hier.
Author
Owner

PR #283 gemergt: chore(iris-gamebox): Skill erklärt „Spiel im Seitenpanel“ — selection, info, launch statt Screenshot, Version 0.9.3 (iris/iris-plugins#281)
#283

Commits:

  • chore(iris-gamebox): Skill erklärt „Spiel im Seitenpanel“ — selection, info, launch statt Screenshot, Version 0.9.3 (iris/iris-plugins#281)

Stand (iris-gamebox 0.9.3, zu iris/Iris#175)

Aus dem Log eines echten Chats: auf „Lies das Handbuch von dem Spiel im rechten Seitenpanel“ wusste der Agent nichts mit dem Begriff anzufangen, riet („Wing Commander IV“ als zuletzt genutzte App) und suchte einen Screenshot. SKILL.md: Meint der Nutzer „das Spiel im Seitenpanel“, liefert gbox selection das Handle — auch ohne [PLUGIN-PANEL]-Zeile —, dann gbox info HANDLE und gbox launch HANDLE --art manual|video; kein Screenshot, bei leerem handle nachfragen.

Geprüft: gamebox-Tests (3) grün, publish-plugins.sh --dry-run grün. Nicht geprüft: Verhalten des Agenten mit dem neuen Skill-Text (neue Unterhaltung nötig). Veröffentlicht nach der Standardregel, siehe Kommentar unten.

PR #283 gemergt: chore(iris-gamebox): Skill erklärt „Spiel im Seitenpanel“ — selection, info, launch statt Screenshot, Version 0.9.3 (iris/iris-plugins#281) https://forgejo.lewerken.duckdns.org/iris/iris-plugins/pulls/283 Commits: - chore(iris-gamebox): Skill erklärt „Spiel im Seitenpanel“ — selection, info, launch statt Screenshot, Version 0.9.3 (iris/iris-plugins#281) --- ## Stand (iris-gamebox 0.9.3, zu iris/Iris#175) Aus dem Log eines echten Chats: auf „Lies das Handbuch von dem Spiel im rechten Seitenpanel“ wusste der Agent nichts mit dem Begriff anzufangen, riet („Wing Commander IV“ als zuletzt genutzte App) und suchte einen Screenshot. SKILL.md: Meint der Nutzer „das Spiel im Seitenpanel“, liefert `gbox selection` das Handle — auch **ohne** `[PLUGIN-PANEL]`-Zeile —, dann `gbox info HANDLE` und `gbox launch HANDLE --art manual|video`; kein Screenshot, bei leerem `handle` nachfragen. **Geprüft:** gamebox-Tests (3) grün, `publish-plugins.sh --dry-run` grün. **Nicht geprüft:** Verhalten des Agenten mit dem neuen Skill-Text (neue Unterhaltung nötig). Veröffentlicht nach der Standardregel, siehe Kommentar unten.
Author
Owner

Stand: veröffentlicht

iris-gamebox 0.9.3 ist in der Registry (nach dem Pull des Registry-Repos geprüft). Wer aktualisiert, bekommt: Iris versteht „das Spiel im (rechten) Seitenpanel“ — sie liest das gewählte Spiel aus der gemeinsamen Auswahl und öffnet Handbuch, Screenshots oder Video, statt den Bildschirm abzufotografieren. Nicht geprüft: Verhalten des Agenten mit dem neuen Skill-Text; dafür eine neue Unterhaltung. Die Begriffserklärung im Prompt kommt mit einer Mac-App mit iris/Iris#180 (Linux-Server: iris-linux-server#99, noch nicht ausgerollt).

## Stand: veröffentlicht **iris-gamebox 0.9.3** ist in der Registry (nach dem Pull des Registry-Repos geprüft). Wer aktualisiert, bekommt: Iris versteht „das Spiel im (rechten) Seitenpanel“ — sie liest das gewählte Spiel aus der gemeinsamen Auswahl und öffnet Handbuch, Screenshots oder Video, statt den Bildschirm abzufotografieren. **Nicht geprüft:** Verhalten des Agenten mit dem neuen Skill-Text; dafür eine neue Unterhaltung. Die Begriffserklärung im Prompt kommt mit einer Mac-App mit iris/Iris#180 (Linux-Server: iris-linux-server#99, noch nicht ausgerollt).
alf closed this issue 2026-10-27 10:38:23 +00:00
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.
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#281
No description provided.