feat(systemprompts): Suche, eigene Bereiche und strukturierte Liste in der Systemprompt-Verwaltung #199
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#199
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?
Problem
Die Systemprompt-Verwaltung zeigt alle Prompts als eine lange, ungeordnete Flat-Liste (inzwischen > 30 Einträge, viele aus Plugins). Es gibt weder Suche noch Struktur.
Ziel
JobCategory); anlegen, umbenennen, umfärben, löschen.InstalledPlugin.systemPromptID, nicht gespeichert, Plugin-Name als Untertitel). Sie dürfen zusätzlich in eigene Bereiche.Entscheidungen (grill-me, 2026-10-27)
job_categories.json: Mac-Server und Linux-Server speichern die Bereiche, Mac-Iris, IrisClient und iOS sehen dasselbe. Wire-Protokoll-Änderung → beide Server und alle Clients im selben Zug (Vertrag).Betroffen
SystemPromptManagerPanel.swift,SystemPromptStore.swift,IrisRemoteServer.swift(/system-prompts),RemoteServerClient.swift,linux-server/.../system_prompts_{store,routes}.py, iOSSystemPromptManagementView.swift/SystemPrompt.swift,Entwicklerdokumentation/02-Wire-Protokoll.md, Backup/Restore (Bereiche mitsichern).Offen
Exakte Routen und Feldnamen (
category_idsam Prompt,/prompt-categories), Verhalten beim Löschen eines Bereichs (Prompts bleiben, verlieren nur das Tag).PR #200 angelegt, noch nicht gemergt: feat(systemprompts): Suche, eigene Bereiche und gruppierte Liste in der Systemprompt-Verwaltung (#199)
#200
Commits:
Stand: Mac-App/IrisClient (PR hier)
Geändert:
SystemPromptManagerPanel.swift(Suche über Titel/Verwendung/Inhalt, Bereichs-Pillen mit Anlegen/Umbenennen/Umfärben/Löschen, einklappbare Gruppen: eigene Bereiche → „Ohne Bereich“ → „Plugins“, Zuordnung im Editor und per Kontextmenü),SystemPromptStore.swift(SystemPromptCategory,categoryIDs, abgeleiteterpluginName),IrisRemoteServer.swift(/prompt-categories,/prompt-category/{id},category_ids/plugin_*an/system-prompts),RemoteServerClient.swift,IrisApp.swift(Plugin-Namen ausPluginManager).Geprüft: Alle geänderten Swift-Dateien parsen (
swiftc -parse).Nicht geprüft: Kompilieren/Typprüfung (kein
xcodebuildaus dem Terminal, TCC) und jede Bedienung von Hand — Lokal- und Remote-Modus, Pillen, Einklappen, Zuordnung per Kontextmenü, Backup/Restore der Bereiche.Grenzen / offen: Einklapp-Zustand ist je Gerät (AppStorage). Mac→Linux-Backup-Konvertierung nimmt
categoryIDsnoch nicht mit. Gegenstücke: iris-linux-server und iOS mit eigenem PR, gleiche Branch-Namen199-systemprompt-bereiche.PR #104 angelegt, noch nicht gemergt: feat(systemprompts): Bereiche für Systemprompts, abgeleitete Plugin-Felder (iris/Iris#199)
iris/iris-linux-server#104
Commits:
Stand: Linux-Server (PR in iris-linux-server)
Geändert:
system_prompts_store.py(eigene Dateisystem_prompt_categories.json,category_idsam Prompt, Löschen entfernt das Tag),system_prompts_routes.py(GET/POST /prompt-categories,PATCH/DELETE /prompt-category/{id},plugin_id/plugin_nameabgeleitet aus den installierten Plugins), Tests intest_system_prompts.py,ROUTES.md.Geprüft:
py_compile.Nicht geprüft: pytest (läuft gegen den echten Dev-Host, dort nicht deployt) und echter Aufruf der neuen Routen.
Nächster Schritt: rsync-Deploy auf
alf@iris-server, dannpytest tests/test_system_prompts.py.PR #46 angelegt, noch nicht gemergt: feat(systemprompts): Suche, Bereiche und gruppierte Liste in der Systemprompt-Verwaltung (iris/Iris#199)
iris/2ndbrain-ios#46
Commits:
Stand: IrisRemote (PR in 2ndbrain-ios)
Geändert:
SystemPrompt.swift(categoryIDs,pluginName, Bereichs-CRUD gegen/prompt-categories),SystemPromptManagementView.swift(Suche, Pillen-Filter, einklappbare Gruppen, Bereichsauswahl im Editor, Sheet „Bereiche verwalten“),Localizable.xcstrings(neue Strings, Deutsch).Geprüft: Swift-Dateien parsen,
Localizable.xcstringsbleibt gültiges JSON.Nicht geprüft: Kompilieren und Bedienung auf Gerät/Simulator.
PR #121 angelegt, noch nicht gemergt: docs(wire): Systemprompt-Bereiche — Routen und Felder (iris/Iris#199)
alf/2ndbrain#121
Commits:
Stand: Wurzel (PR in 2ndbrain)
Geändert:
Entwicklerdokumentation/02-Wire-Protokoll.md— Abschnitt „Systemprompt-Bereiche“ (Routen,category_ids, abgeleiteteplugin_*-Felder).PR #200 angelegt, noch nicht gemergt: feat(systemprompts): Bereichs-Punkte neben dem Namen, Menü „Zu Bereich hinzufügen“ (#199)
#200
Commits:
Nachtrag zu PR #200
Prompt-Zeilen zeigen die Zugehörigkeit wie die Chat-Liste als farbige Punkte neben dem Namen (Tooltip = Bereichsname) statt als Textpillen darunter; das Kontextmenü heißt wie bei Chats „Zu Bereich hinzufügen“ (Haken je Bereich, Mehrfachzuordnung). Dazu die vom Xcode-Build ergänzten
Localizable.xcstrings-Einträge.Geprüft:
swiftc -parse. Nicht geprüft: Darstellung und Mehrfachzuordnung in der laufenden App.PR #200 angelegt, noch nicht gemergt: fix(systemprompts): Prompt in mehreren Bereichen erscheint in jeder Gruppe sichtbar (#199)
#200
Commits:
Nachtrag zu PR #200: leere Zeile in der zweiten Gruppe
Befund (Screenshot): Ein Prompt in zwei Bereichen (Iris-Dev in „Entwicklung“ und „Iris“) erschien in der zweiten Gruppe als leere Zeile, der Zähler stand auf 1. Ursache vermutet: gleiche Prompt-ID in zwei Gruppen derselben
LazyVStack. Änderung: je Gruppe ein Container mit.id(group.id), Zeilen mit.id(gruppe/prompt).Geprüft:
swiftc -parse. Nicht geprüft: Verhalten in der laufenden App; die Ursache ist eine Annahme, bis das nachgebaut ist. iOS nutztListmit eigenen Sections und ist unverändert.PR #200 angelegt, noch nicht gemergt: feat(systemprompts): aufklappbare Gruppenkarten mit Suche in allen Prompt-Pickern (#199)
#200
Commits:
Nachtrag zu PR #200: gruppierte Picker mit Suche und aufklappbaren Karten
Änderung: Neue gemeinsame Datei
SystemPromptGroupedPicker.swift(GruppierungSystemPromptGrouping, FarbpunkteSystemPromptCategoryDots, Picker mit Suchfeld und einklappbaren Karten je Gruppe, Auswahlzähler im Kartenkopf, Plugins startet eingeklappt, bei Suche alles offen). Eingebaut in alle vier Prompt-Listen der Chaterstellung/Follow-ups: Overlay (DictationInputOverlay), lokales Follow-up (AgentJobChatPanel), Remote neuer Chat und Remote-Follow-up (RemoteJobChatView, holt dafür auch die Bereiche vom Server). Die Verwaltung nutzt dieselbe Gruppierung. Auto/Kein/Verwalten bleiben unverändert.Geprüft:
swiftc -parsealler geänderten Dateien. Nicht geprüft: Bau und Bedienung — Karten auf-/zuklappen, Suche, Auswahl über mehrere Karten, Remote-Modus; Popover-Breite jetzt 300–320 pt, Höhe der Liste auf 280 pt begrenzt (nicht von Hand gesehen).PR #46 angelegt, noch nicht gemergt: feat(systemprompts): gruppierter Prompt-Picker mit Suche (iris/Iris#199)
iris/2ndbrain-ios#46
Commits:
Nachtrag zu PR #46 (iOS): gruppierter Picker
SystemPromptPickerSheet(Follow-up) zeigt jetzt aufklappbare Gruppen (DisclosureGroup) mit Suche, Farbpunkten und Auswahlzähler; Plugins startet eingeklappt. Beim neuen Chat ersetzt ein Chip „Prompts wählen…“ die flache Chip-Reihe pro Prompt und öffnet dasselbe Sheet (Auto/Kein bleiben Chips). GruppierungSystemPromptGroupinginSystemPrompt.swift, neue Strings inLocalizable.xcstrings.Geprüft: Dateien parsen. Nicht geprüft: Bau, Bedienung auf Gerät/Simulator.
PR #200 angelegt, noch nicht gemergt: chore(i18n): Localizable.xcstrings nach Systemprompt-Bereichen (#199)
#200
Commits:
Nachtrag
Vom Xcode-Build ergänzte
Localizable.xcstrings-Einträge. App vom Nutzer getestet: funktioniert.PR #200 gemergt: feat(systemprompts): Suche, eigene Bereiche und gruppierte Liste in der Systemprompt-Verwaltung (#199)
#200
Commits:
PR #104 gemergt: feat(systemprompts): Bereiche für Systemprompts, abgeleitete Plugin-Felder (iris/Iris#199)
iris/iris-linux-server#104
Commits:
PR #46 gemergt: feat(systemprompts): Suche, Bereiche und gruppierte Liste in der Systemprompt-Verwaltung (iris/Iris#199)
iris/2ndbrain-ios#46
Commits:
PR #121 gemergt: docs(wire): Systemprompt-Bereiche — Routen und Felder (iris/Iris#199)
alf/2ndbrain#121
Commits: