Was macht ce-pickup?
Extrahiert ce-handoff/v1-Dokumente aus vergangenen Hermes-Sessions mit einem lokalen Modell. Null Frontier-Token-Kosten. Die Ausgabe ist standardmäßiges ce-handoff/v1-Markdown, daher funktioniert /ce-handoff resume <pfad> sofort.
Verwende dies anstelle von /ce-handoff in einer kalten Session, die sonst Abonnement-Kontingent verbrauchen würde, nur um aufzuholen.
Wann verwenden
- Der Benutzer möchte eine unvollendete Session fortsetzen, ohne Frontier-Token für das erneute Lesen auszugeben
- Du benötigst eine Übergabe von einer oder mehreren vergangenen Sessions, aber der Kontextfenster ist bereits voll
- Der Benutzer fragt nach einem "Pickup" oder "Aufholen" einer alten Session
- Die Ausführung von
/ce-handoffin einer großen kalten Session wäre teuer
Schnellstart
bash ~/.hermes/scripts/ce-pickup.sh SITZUNGS_ID[,SITZUNGS_ID,...]
Standardmäßig Ausgabe in /tmp/compound-engineering-$(id -u)/ce-pickup/.
Dann von jeder Ausgabedatei fortsetzen:
/ce-handoff resume /tmp/compound-engineering-<uid>/ce-pickup/<slug>.md
Argumente
- Arg 1 (erforderlich): Komma-getrennte Sitzungs-IDs (von
session_searchoder Hermes-Durchsuchen) - Arg 2 (optional): Ollama-Modellname – Standard
hf.co/ornith-ai/Ornith-1.5-35B-A3B-GGUF:Q5_K_M - Arg 3 (optional): Ausgabeverzeichnis-Überschreibung
Umgebungsüberschreibungen (für Tests und alternative Hosts): CE_PICKUP_DB (Standard
~/.hermes/state.db), CE_PICKUP_OLLAMA_URL (Standard
http://localhost:11434/api/chat), CE_PICKUP_MAX_CHARS (Standard 24000).
Modell-Routing
Standard: Ornith-1.5-35B-A3B-GGUF:Q5_K_M – bestätigt gute Extraktionsqualität, läuft lokal.
Wenn Ornith nicht geladen ist, funktioniert jedes leistungsfähige lokale Ollama-Modell. Verwende KEIN Frontier-Modell (das würde den Zweck verfehlen).
Prüfe, was verfügbar ist: ollama list
Funktionsweise
- Liest
~/.hermes/state.dbübersqlite3– kein Python, keine TCC-Abfragen - Extrahiert
user+assistant-Nachrichten, sortiert nach Zeitstempel - Kürzt das Transkript auf 24.000 Zeichen (~6k Token) – ausreichend für sinnvolle Extraktion
- Ruft Ollama
/api/chatübercurlmit einem strukturierten Extraktions-Prompt auf - Schreibt
ce-handoff/v1-Frontmatter + Modellkörper in das Ausgabeverzeichnis - Dateiname ist ein Slug des Session-Titels; bei Kollision wird ein numerischer Suffix angehängt
Ausgabeformat
Jede Ausgabedatei ist gültiges ce-handoff/v1 mit:
artifact_contract: "ce-handoff/v1"-Frontmattersession_id,cwd,branch,repositorywo verfügbar- Extraktion, die Folgendes abdeckt: Ziel, abgeschlossene Arbeit, aktueller Stand, Entscheidungen/Einschränkungen, Blocker, fehlgeschlagene Ansätze, Referenzen, nächste Schritte
Context-Ceiling-Watchdog (Begleitskript)
scripts/context-ceiling-watchdog.sh ist ein deterministischer, agentenloser Monitor für
Live-Session-Kontext. Er schätzt den aktuellen Kontext jeder Live-Session
(Nachrichteninhalt active=1 ÷ 4 Zeichen/Token – verwende niemals sessions.input_tokens,
das ist das kumulative Abrechnungsvolumen inklusive Kontext-Neuladungen) und erzwingt:
>= 50kERINNERUNG – einzeiliger Hinweis, wiederholt stündlich>= 70kALARM – Checkpoint-Warnung, wiederholt alle 30 Minuten>= 80kEXTRAKT – führt ce-pickup lokal aus und meldet den ce-handoff/v1-Pfad; nach der Extraktion erfolgt ein erneuter Alarm nur, wenn die Session um weitere ~10k steigt (KRITISCH)
Er ist still (leere Standardausgabe), es sei denn, ein Schwellwert wird ausgelöst, sodass er direkt in
einen agentenlosen Cron-Job mit Änderungserkennung passt. Der Zustand liegt in
~/.cache/context-ceiling-watchdog/ (einfaches TSV – kein LLM-Speicher, keine rekursive
Kontinuität). Er schreibt nie in die Hermes-Konfiguration oder den Laufzeitzustand; state.db wird
mit sqlite3 -readonly geöffnet.
Teste ihn ohne echtes Modell: bash scripts/mock-ollama.sh 21143 & dann
bash scripts/test-watchdog.sh (Fixture-DB + skalierte Schwellwerte, 20 Prüfungen).
Fallstricke
TCC-Dialoge von Python (macOS Sequoia+): Die Ausführung von Python als Unterprozess einer App mit weitreichenden Berechtigungen kann TCC-Abfragen für iCloud Drive oder Dokumente auslösen – selbst wenn nur ~/.hermes/state.db gelesen wird. Das Shell-Skript verwendet nur sqlite3 + curl + jq + awk und löst KEINE TCC aus. Verwende niemals eine Python-basierte Implementierung dieses Arbeitsablaufs, es sei denn, der Benutzer akzeptiert explizit TCC-Abfragen.
Transkript-Kürzung: 24k Zeichen decken die meisten Sessions ab. Sehr lange Sessions (200+ Nachrichten mit großen Tool-Ausgaben) werden am Ende gekürzt. Wenn die Übergabe dünn wirkt, teile die Abfrage in schmalere Anfragen auf.
Thinking-Modelle + num_predict: Ollamas num_predict begrenzt die insgesamt generierten Token INKLUSIVE message.thinking. Ein Thinking-Modell (Ornith ist eines) kann das gesamte Budget im Thinking-Kanal verbrauchen und leeren oder abgeschnittenen message.content zurückgeben – den das Skript ausschließlich liest. Symptom: "leere Antwort von Ollama" oder eine Übergabe, die mitten im Satz endet, was wie ein Modellqualitätsproblem aussieht, aber ein Payload-Fehler ist. Das Skript sendet think:false (mit einem erneuten Versuch ohne das Flag für Modelle, die es ablehnen). Hinweis von Wesley: Dieses Flag ist NUR für diesen mechanischen Extraktionsjob korrekt – Orniths Thinking ist bei agentischem Engineering eine Stärke, und eine Extraktionsdurchführung sagt nichts über agentische Fähigkeiten aus. Verallgemeinere eine schlechte Extraktion nicht zu einem Urteil über das Modell.
Ollama muss laufen: Prüfe mit ollama list vor dem Aufruf.
Ausgabe in /tmp: Das Betriebssystem kann nach einem Neustart gelöscht werden. Kopiere in einen stabilen Pfad, wenn du über Neustarts hinweg fortsetzen möchtest.
Skript
Die kanonische Implementierung ist scripts/ce-pickup.sh in diesem Skill – rufe sie
über den Skill-Pfad auf. Eine hostseitige Kopie existierte früher unter
~/.hermes/scripts/ce-pickup.sh (dokumentiert als Symlink); auf Maschinen, wo
diese Kopie existiert, aber KEIN Symlink ist, ist sie veraltet – vertraue dem Skill-Verzeichnis.
Siehe auch: ce-handoff-Skill für den Fortsetzungs-Workflow, sobald das Übergabedokument existiert.