Voraussetzungen
Session Bandit ist ein CLI-Tool, das auf dem System installiert sein muss. Prüfe, ob es verfügbar ist:
command -v session-bandit
Wenn nicht installiert, installiere es global:
npm install -g session-bandit
Wenn das Paket noch nicht auf npm ist, installiere aus dem Quellcode:
git clone https://github.com/janole/session-bandit.git
cd session-bandit
pnpm install
pnpm -r build
npm install -g packages/cli
Erfordert Node.js 22+ und pnpm 10+ (nur für die Installation aus dem Quellcode; die npm-Installation benötigt nur Node.js).
Überprüfe die Installation:
session-bandit --version
Was Session Bandit macht
Session Bandit indexiert die Sitzungstranskripte, die Coding-Agenten (Claude Code, Codex, BotBandit) als JSONL auf die Festplatte schreiben. Es funktioniert vollständig offline – keine API-Aufrufe, keine Authentifizierung, kein Netzwerk. Es durchsucht standardmäßig ~/.claude/projects/, ~/.codex/sessions/ und ~/.botbandit/sessions/.
Ausgabemodi
Bevorzuge die standardmäßige maschinenlesbare Ausgabe, wenn Session Bandit als Agent-Tool verwendet wird:
listundsearchgeben standardmäßig JSON-Zeilen aus.extract,redact-checkunddoctorgeben standardmäßig JSON aus.showgibt ein menschenlesbares Transkript aus.
Verwende --pretty nur, wenn eine menschenlesbare Terminalansicht zum Durchstöbern oder für Berichte an den Benutzer nützlich ist. Füge --pretty nicht zu Befehlen hinzu, deren Ausgabe du parsen oder als strukturierte Eingabe für eine Übergabe oder eine Gedächtnisnotiz verwenden möchtest.
Befehle
Sitzungen auflisten
# Alle Sitzungen auflisten, neueste zuerst (JSON-Zeilen)
session-bandit list
# Menschenlesbare Tabelle mit Wichtigkeitsstufe
session-bandit list --pretty
# Nach Agent oder Projekt filtern
session-bandit list --agent codex --project botbandit
# Nach Substanz/Wichtigkeit sortieren (schwere Sitzungen zuerst)
session-bandit list --sort importance
# Triviale Sitzungen auslassen
session-bandit list --min-importance moderate
# Auf einen Zeitraum begrenzen: relativ (7d, 24h, 2w, 3m) oder absolutes Datum
session-bandit list --since 7d
session-bandit list --since 2026-06-01 --until 2026-06-15
Ein Sitzungstranskript anzeigen
# Vollständige ID oder Präfix-Übereinstimmung
session-bandit show 342647fa-5bf
session-bandit show 342647fa --agent claude
Über mehrere Sitzungen suchen
session-bandit search "tool approval"
session-bandit search "apply_patch" --agent codex
session-bandit search "adapter" --since 3d --pretty
Eine Sitzungszusammenfassung extrahieren (die Schlüsselfunktion für Übergaben/Gedächtnisnotizen)
# Strukturierte Zusammenfassung (JSON) — Substanzwert, Dateien, Befehle, Fehler, wichtige Wendepunkte
session-bandit extract 342647fa-5bf
# Die Zusammenfassung in einen gebrauchsfertigen Synthese-Prompt verpacken
session-bandit extract 342647fa-5bf --prompt handoff
session-bandit extract 342647fa-5bf --prompt memory
# Das vollständige Transkript in die Zusammenfassung aufnehmen
session-bandit extract 342647fa-5bf --full --prompt handoff
Die Parse-Gesundheit überprüfen
session-bandit doctor
session-bandit doctor --agent codex
session-bandit doctor --agent botbandit
Die Redaktion vor der Veröffentlichung überprüfen
# JSON-Bericht standardmäßig
session-bandit redact-check 342647fa-5bf
# Menschenlesbarer Bericht zur Überprüfung mit dem Benutzer
session-bandit redact-check 342647fa-5bf --pretty
# Konservativere Vorschau
session-bandit redact-check 342647fa-5bf --redact strict
Markdown zur Überprüfung/Veröffentlichung exportieren
session-bandit export-md 342647fa-5bf --out ./session.md
session-bandit export-md 342647fa-5bf --out ./session.md --report-out ./redaction-report.json
session-bandit export-md 342647fa-5bf --out ./session.md --title "Apple Watch interface"
export-md verwendet standardmäßig --redact cautious. Verwende --redact none nicht für ein öffentliches Artefakt, es sei denn, der Benutzer fordert dies ausdrücklich an und akzeptiert das Risiko; die CLI erfordert --yes für diesen Modus.
Veröffentlichen einer Sitzung
Wenn du gebeten wirst, eine Coding-Sitzung zu veröffentlichen, halte Session Bandit deterministisch und offline. Verwende die CLI, um das redigierte Markdown-Artefakt und den Redaktionsbericht zu erstellen; verwende dein Agentenurteil nur für die Sitzungsauswahl, die Titel-/Slug-Wahl, optionale Textüberarbeitung und die Risikomeldung an den Benutzer.
-
Finde die Quellsitzung. Wenn der Benutzer eine Sitzungs-ID angibt, verwende sie direkt. Andernfalls durchsuche oder liste mögliche Sitzungen auf:
session-bandit list --sort importance session-bandit search "das Thema"Verwende
--agentoder--project, wenn der Benutzer das Ziel eingrenzt. -
Wähle Titel, Slug und Ausgabepfade. Für ein GitHub Pages-ähnliches Repository bevorzuge einen Ordner pro Sitzung:
sessions/<slug>/index.md sessions/<slug>/redaction-report.jsonHalte Slugs kurz, kleingeschrieben und stabil. Wenn der Titel unsicher ist, schlage ihn dem Benutzer vor dem Export vor.
-
Vorschau der Redaktion vor dem Erstellen des Artefakts:
session-bandit redact-check <sessionId> --prettyMelde die Anzahl und etwaige nennenswerte Risiken. Verwende
--redact strict, wenn die Sitzung private Kundendaten, Anmeldeinformationen, proprietäre Ausgaben oder ungewöhnlich sensible lokale Kontexte zu enthalten scheint. -
Exportiere Markdown und den Bericht:
session-bandit export-md <sessionId> \ --out sessions/<slug>/index.md \ --report-out sessions/<slug>/redaction-report.json \ --title "Menschenlesbarer Titel"Verwende
--redact nonenicht für die öffentliche Veröffentlichung, es sei denn, der Benutzer fordert dies ausdrücklich an und akzeptiert das Risiko. -
Überprüfe vor der Veröffentlichung. Untersuche das Markdown und den Redaktionsbericht. Stelle sicher, dass Zusammenfassungsabschnitte, verwandte Sitzungen, Befehle, Toolausgaben und lokale Pfade angemessen sind. Die automatische Redaktion ist eine Bemühung nach bestem Wissen und Gewissen, kein Sicherheitsnachweis.
-
Optionales Texten des Markdowns. Du kannst eine kurze Einleitung, Abschnittsüberschriften oder eine Schlussbemerkung außerhalb der CLI-Ausgabe hinzufügen oder bearbeiten. Erfinde keine Tatsachen; halte das Transkript, die Zusammenfassung, die Herkunft und den Redaktionsbericht intakt.
-
Frage, bevor du es öffentlich machst. Vor
git add,git commit,git pushoder einer Bereitstellungsaktion fasse das Redaktionsrisiko zusammen und bitte um ausdrückliche Zustimmung des Benutzers, es sei denn, der Benutzer hat diese Zustimmung bereits in der aktuellen Runde gegeben.
GitHub Pages-Vorlage
Dieser Skill enthält eine standardmäßige Veröffentlichungsvorlage unter templates/github-pages-default/ neben dieser SKILL.md. Verwende sie, wenn der Benutzer ein GitHub Pages-Repository, eine polierte statische Website oder eine standardmäßige öffentliche Präsentation für exportierte Sitzungen wünscht.
Verhalten der Vorlage:
- Es ist eine Jekyll/GitHub Pages-Website mit benutzerdefinierten Layouts und CSS.
- Sie erwartet generierte Sitzungen unter
sessions/<slug>/index.md. - Sie erwartet Redaktionsberichte neben den Sitzungen als
sessions/<slug>/redaction-report.json. - Sie verwendet
_config.yml-Standardeinstellungen, sodass exportiertes Session Bandit-Markdown automatisch das Sitzungslayout erhält. - Sie enthält eine lokale
sessions/.design/session-page.html-Testvorlage für Layoutprüfungen ohne Jekyll oder einen Pages-Bereitstellung. - Sie ist statisch und in sich geschlossen; füge keine externen Assets, Tracker, Schriftarten oder Remote-Skripte hinzu, es sei denn, der Benutzer fordert dies ausdrücklich an.
Beim Initialisieren eines leeren Veröffentlichungs-Repositorys:
cp -R <skill-verzeichnis>/templates/github-pages-default/. <ziel-repo>/
Wenn das Repository bereits existiert, überschreibe _config.yml, _layouts/, assets/session.css, index.md oder README.md nicht ohne Nachfrage. Füge nur sessions/<slug>/index.md, sessions/<slug>/redaction-report.json und ggf. einen Indexeintrag hinzu oder aktualisiere sie, wenn der Benutzer einen manuellen Index wünscht.
Bei visuellen Vorlagenänderungen überprüfe vor der Veröffentlichung bevorzugt templates/github-pages-default/.design/session-page.html lokal. Es wurde absichtlich aus einfachem HTML erstellt und benötigt daher kein Jekyll.
Schreiben einer Übergabenotiz
Wenn du gebeten wirst, eine Übergabenotiz aus einer früheren Sitzung zu schreiben:
-
Finde die Sitzung. Wenn der Benutzer eine Sitzungs-ID angibt, verwende sie direkt. Andernfalls liste die letzten Sitzungen auf und wähle die relevante aus:
session-bandit list --sort importanceOder suche nach einem Thema:
session-bandit search "das Thema"Füge
--prettynur hinzu, wenn du eine Tabelle/Auszüge für die manuelle Durchsicht benötigst. -
Generiere die Zusammenfassung mit einem Übergabe-Prompt:
session-bandit extract <sessionId> --prompt handoffDies gibt eine strukturierte Zusammenfassung (Substanzwert, geschriebene Dateien, Fehler, Zusammenfassungen/Rückblicke, Ziel, Endzustand) aus, die in einen Synthese-Prompt verpackt ist, der dir sagt, was du schreiben sollst.
-
Schreibe die Übergabe. Der Prompt fordert dich auf, Folgendes zu behandeln: das Ziel, was getan wurde, den aktuellen Zustand und was noch zu tun ist. Verwende die strukturierten Daten der Zusammenfassung (geschriebene Dateien, Fehler, wichtige Wendepunkte) als faktische Grundlage. Halte es prägnant – ein zurückkehrender Agent braucht den Zustand, nicht die vollständige Geschichte.
-
Speichere die Übergabe dort, wo der Benutzer sie haben möchte (Dokumentenspeicher, Markdown-Datei usw.).
Schreiben einer Gedächtnisnotiz
Wenn du gebeten wirst, eine Gedächtnisnotiz aus einer vergangenen Sitzung zu erstellen:
-
Finde und extrahiere die Sitzung:
session-bandit extract <sessionId> --prompt memory -
Schreibe die Gedächtnisnotiz. Der Prompt fordert 2–4 Sätze, die Folgendes abdecken: worum es in der Sitzung ging, das wichtigste Ergebnis und Dateien/Entscheidungen, die es wert sind, erinnert zu werden. Beende mit einer empfohlenen Wichtigkeitsstufe (trivial / leicht / moderat / substanziell / schwer).
-
Speichere die Gedächtnisnotiz dort, wo der Benutzer sie haben möchte.
Tipps
- Die Vorlagen
--prompt handoffund--prompt memorysind erste Entwürfe. Passe das Ausgabeformat gerne an die Bedürfnisse des Benutzers an – die Zusammenfassungsdaten sind der wertvolle Teil, nicht der Vorlagentext. - Verwende
--full, wenn du das vollständige Transkript für den Kontext benötigst (z. B. komplexe mehrstufige Arbeit). Ohne--fullist die Zusammenfassung kompakt und kann Details auslassen. - Claude-Rückblicke, Codex-Verdichtungen und BotBandit-Gedächtnis-/Verdichtungsereignisse werden als
summary-Nachrichten angezeigt und in Extraktionen einbezogen. Behandle sie als nützlichen Synthesekontext, stütze Übergaben und Gedächtnisnotizen aber dennoch auf die Dateien, Fehler, Tests und letzten Wendepunkte der Zusammenfassung. - Führe vor der Hilfe bei der Veröffentlichung oder dem Export einer Sitzung
session-bandit redact-check <sessionId> --prettyaus und melde das verbleibende Risiko. Die automatische Redaktion ist eine Bemühung nach bestem Wissen und Gewissen, kein Sicherheitsnachweis. - Für einen Markdown-Export bevorzuge
session-bandit export-md <sessionId> --out <pfad> --report-out <berichtspfad>und überprüfe dann den Bericht, bevor du Commit/Veröffentlichung vorschlägst. - Markdown ist das kanonische Veröffentlichungsartefakt. Erstelle kein einfaches HTML-Transkript, es sei denn, der Benutzer fordert ausdrücklich HTML; qualitativ hochwertiges HTML sollte aus dem überprüften Markdown oder dem redigierten Paket generiert werden.
- Bevorzuge die gebündelte Vorlage
templates/github-pages-default/für neue GitHub Pages-Veröffentlichungs-Repositorys. Sie ist die standardmäßige öffentliche Präsentation, es sei denn, der Benutzer wünscht einen anderen Stil. - Der Substanzwert misst die Aktivität (Toolaufrufe, Dateischreibvorgänge, Testläufe), nicht die Bedeutung. Eine kurze Sitzung kann eine kritische Entscheidung enthalten. Lies die wichtigen Wendepunkte, nicht nur den Wert.
- Sitzungs-IDs können als Präfixe angegeben werden (z. B.
342647faanstelle der vollständigen UUID). - Führe
session-bandit doctoraus, wenn etwas seltsam erscheint – es überprüft, ob die Parse-Annahmen mit deinen tatsächlichen Sitzungsdateien übereinstimmen, einschließlich Formatabweichungen, Injektionsmarkierungen, nicht erkannten Typen und stillen Überspringungen. Verwende--agent claude,--agent codexoder--agent botbandit, um die Prüfung einzugrenzen.