Repository navigation
feat(sidebar): KI-Sessions/KI-Konten trennen und Session-Baum nach B+ (#504, #505) - #529
Merged
Merged
Conversation
Die Kontokarten wandern aus dem Cockpit in eine eigene Toolbelt-Ansicht „KI-Konten“ (CockpitAccountsPanel). Der Session-Baum „KI-Sessions“ und die Konten haben jeweils die volle Sidebarhöhe und einen eigenen Scrollbereich; eine lange Sessionliste verdrängt die Kontenübersicht nicht mehr. - Neuer ToolPanelView/LeftPanelAction/LeftPanelDisplayedTab-Eintrag CockpitAccounts; ein gespeichertes „Cockpit“ stellt weiter den Baum her. - Ist eine andere Ansicht aktiv und wartet ein Agent, trägt der Sessions-Eintrag eine statische amberne Marke. - Die w-Sprungtaste gilt auch in der Kontenansicht. - Die 3/5-Höhenbegrenzung entfällt; PRODUCT, TECH, HTML-Spec und README beschreiben die neue Aufteilung. Refs #504
…chen Der Baum zeigt dasselbe Modell (Host → Projekt → PTY-Session → Agent) ohne leere Ebenen und doppelte Labels: - Ein Projekt mit genau einer unbenannten Session ist eine Zeile mit ihrem Agenten. - Eine PTY-Session mit einem Agenten ist eine Zeile: Titel, darunter Provider-Icon, Provider und Modell. Nur Mehr-Agenten-PTYs behalten Agentzeilen. - Ein langer gemeinsamer Präfix gleichrangiger Titel wird gekürzt und gedimmt; der unterscheidende Rest bleibt sichtbar, der volle Titel steht im Tooltip. - Feste Chevron- und Symbolspalten, gedämpfte Titel für ruhende Sessions, stabile Akzent-Hinterlegung für die Session der fokussierten Pane und Abstände statt Linien. - Baumzeilen öffnen beim Hover keine Aufgabenvorschau mehr (#spec A4); die Vorschau bleibt in der Konto-Pane. Die Regel steckt in der reinen Projektion project_tree_rows und ist ohne Rendering getestet. PRODUCT, TECH, HTML-Spec und die neue Referenz docs/ui/cockpit-sessions-tree.html beschreiben sie. Refs #505
Befunde aus spec-check und unabhängigem Review: - Ein Titel kürzt den Präfix, den er mit mindestens einem gleichrangigen Titel teilt (shared_prefix_cuts). Ein andersnamiger Nachbar wie „main“ verhindert die Kürzung einer Gruppe ähnlicher Namen nicht mehr. - PRODUCT/HTML-Spec nennen ausdrücklich, dass ein Sessiontitel, der nur den Projektnamen wiederholt, als unbenannt gilt (#505 Regel 2). - Eine zugeklappte Projekt- oder Mehr-Agenten-Zeile, die die Session der fokussierten Pane verbirgt, trägt selbst die Akzent-Hinterlegung. - Zusammengelegte Projektzeilen erhalten denselben Gruppenabstand. - Baum und Toolbelt rendern nur neu, wenn sich das fokussierte Terminal dieses Fensters bzw. der Wartezustand der Flotte tatsächlich ändert. Refs #505
7 tasks
…, keine Trennpunkte Owner-Entscheidung zu #505: - Ein Projekt mit genau einer PTY-Session ist immer eine Zeile. Der Projektname führt und behält Vorrang, der eigene Titel der Session (z. B. der Branch) folgt gedimmt mit Abstand und weicht zuerst. - Lange Titel behalten ihr kurzes letztes Segment und kürzen in der Mitte (feat/checkout-re…-step-2) statt am Ende. Ist der sichtbare Titel kürzer, steht der volle im Tooltip. - Titelteile, Provider und Modell trennen Abstand und Tonwert, keine Mittelpunkte mehr. - Der Sessions-Eintrag im Toolbelt nennt bei der Wartemarke die Anzahl wartender Agenten im Tooltip (nicht nur Farbe). - Eine Session ohne eigenen Titel in einem Projekt mit mehreren Sessions zeigt ihren Agenten einzeilig als Überschrift; PRODUCT und HTML-Spec sagen das jetzt ausdrücklich. Refs #505
…itel Befunde aus spec-check (Lauf 3): - Ein Verzeichnis als Sessiontitel ist nur noch der Verzeichnisname. Bisher entstand „projekt — verzeichnis“ und in zusammengelegten Zeilen sogar „projekt projekt — verzeichnis“. - Jeder Baumtitel trägt seinen vollen Text als Tooltip, Projektzeilen eingeschlossen; auch kurze Titel können in schmaler Sidebar abgeschnitten werden. - TECH hält fest, dass verwaltete Agents (#168) im Baum weiter die kompakte ◆-Marke tragen; Details stehen in der Konto-Pane. Refs #505
…erspringen Befunde aus spec-check (Lauf 5): - Endet ein Titel innerhalb des gemeinsamen Teils (auch bei identischen Titeln), bleibt nichts Unterscheidendes übrig; dann wird nicht gekürzt. - Als Sessiontitel zählt die erste Quelle (Name, Branch, Worktree), die nicht nur den Projektnamen wiederholt. Eine Session, die wie das Projekt heißt, zeigt so ihren Branch. Refs #505
…kürzung Befunde aus spec-check (Lauf 6): - Eine zusammengelegte Projektzeile mit mehreren Agenten übernimmt den Titel-Tonwert ihrer Session (laufend/wartend hell, ruhend gedämpft). - Bei einem gekürzten gemeinsamen Präfix bleiben vom unterscheidenden Rest immer mindestens acht Zeichen fest stehen; nur dessen Mitte schrumpft. - PRODUCT/TECH/HTML präzisieren: Die Zeile des Agenten der fokussierten Pane trägt die Hinterlegung, eine zugeklappte Zeile, die ihn verbirgt, an seiner Stelle. Refs #505
…Titel - Eine zugeklappte Hostgruppe, die den Agenten der fokussierten Pane verbirgt, trägt jetzt die Akzent-Hinterlegung (wie Projekt- und Session-Gruppen). - Der Hosttitel zeigt den vollen Namen im Tooltip, auch wenn er gekürzt wird. - Ein leeres oder nur aus Leerzeichen bestehendes Arbeitsverzeichnis ergibt keinen Sessiontitel mehr. Refs #505
This was referenced Oct 9, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Inhalt
Setzt die beiden Owner-Entscheidungen zur Sidebar um, die bisher nie als Issue erfasst waren.
#504 – KI-Sessions und KI-Konten als eigene Sidebar-Ansichten
CockpitAccountsPanel(app/src/cockpit/accounts_panel.rs). Die Kontokarten, der Flottenwert-Button, der Rescan und die Kontoauswahl sind unverändert auspanel.rsverschoben.ToolPanelView/LeftPanelAction/LeftPanelDisplayedTab::CockpitAccounts) direkt neben „KI-Sessions“, vor „Verbindungen“.d2183ba1bentfällt.Cockpitstellt weiterhin den Baum her. Diew-Sprungtaste gilt auch in der Kontenansicht.#505 – Session-Baum nach Darstellungsregel B+
project_tree_rowserzeugt die Zeilen; das DatenmodellHost → Projekt → PTY-Session → Agentbleibt.TreeLabel):feat/checkout-re…-step-2).Spezifikation
cockpit-sidebar-connections.html(#spec C3, neu#spec T5–T7) unddocs/ui/README.mdsind nachgezogen.docs/ui/cockpit-sessions-tree.htmlmit den Regeln#spec V1–V3undB1–B9und zwei Referenzansichten.premium-workspace.htmlist bewusst nicht geändert. Die README erklärt den Vorrang der neuen Referenz (Kommentar in feat(sidebar): KI-Sessions und KI-Konten als eigene Sidebar-Ansichten trennen #504).Prüfung
rustfmt --check(geänderte Dateien)workspace/view.rs:8713stammt vonmaingit diff --check,check-persistent-hover-state,check-no-new-cjkcockpit-parity-audit validate/self-testcheck-v1-release-readiness --phase-acheck-compact-row-actionsrgfehlt); die geschützten Bereiche sind unverändert, die Regex-Prüfungen wurden von Hand nachvollzogenspec-check(Codex)4adea5fe2und6ed741536(Fokus auf zugeklappter Hostzeile, Host-Tooltip, leeres Arbeitsverzeichnis)ci-batchausTests der Projektion:
single_untitled_session_merges_into_project_row,single_titled_session_merges_with_dimmed_title,single_multi_agent_session_merges_into_project_row,tree_never_repeats_parent_label_in_child_row,multiple_agents_in_one_pty_render_child_rows,single_agent_sessions_are_leaves_without_agent_rows,similar_session_names_show_distinguishing_suffix,prefix_dimming_ignores_unrelated_siblings,identical_titles_are_never_shortened,shared_prefix_keeps_at_least_eight_distinguishing_characters_fixed,long_titles_shorten_in_the_middle_and_keep_their_end,directory_title_never_repeats_the_project_name,session_name_repeating_the_project_falls_back_to_its_branch,empty_working_directory_never_becomes_a_title,merged_multi_agent_row_takes_the_session_tone,idle_session_title_uses_muted_role,focused_session_row_has_stable_highlight. Toolbelt:toolbelt_has_separate_sessions_and_accounts_views,waiting_signal_visible_on_sessions_entry_while_accounts_active,accounts_view_is_a_primary_view_without_back_target. Die Fleet-Total-Tests sind nachaccounts_panel_tests.rsumgezogen; alle von der Parity-Matrix gepinnten Tests bleiben inpanel_tests.rs.Bewusste Ausnahmen
LeftPanelDisplayedTab::CockpitAccountsnicht lesen. Nach einem Downgrade fällt nur der gespeicherte Sidebar-Zustand weg (sqlite.rs,.ok()).script/set-version. Der Daemon wird nachVERSIONgetaggt; ein Bump würde auf allen Hosts einen neuen Daemon erzwingen, solange fix(remote): Nach App-Update werden Sessions des älteren Daemons nicht wieder angehängt #510 offen ist.Refs #504, #505. Die Issues bleiben bis zur nativen Abnahme offen.