/session-logA /session-log az aktuális környezet által átadott prompt- és válaszszöveget helyi Markdown-átiratba írja. Pontosan öt környezetet támogat: Claude Code, Codex, Cursor, OpenCode és OMP.
Mindegyikben ugyanaz az öt parancs használható, de a riportok szándékosan nem egyformák. Az adapterek kizárólag a környezet saját életciklus- és usage-adataiból dolgoznak: a Cursor a fordulónkénti tokenszámokat a hookok adataiban adja át, az átiratokban nem; a Codex a natív rollout rekordokból ad tokenösszeget.
TOTAL-t ad. A Cursor a stop hook által rögzített tokenszámokból a Claude Code-dal azonos formában ad fordulónkénti sorokat és TOTAL-t, csak a fő ügynökre; az alügynököknél csak a Cursor helyi állapotából vett végső kontextusméret látszik, és ez sosem kerül bele a TOTAL-ba.claude, codex, cursor, opencode vagy omp azonosítót; útvonalból, folyamatból vagy környezeti változóból soha nem találgat.600 jogosultságúak, és a csomag semmit nem tölt fel.A /session-log-ot ezek egyikével futtatod. Argumentum nélkül a status az alapértelmezett.
| Parancs | Mit csinál | Jellemző kimenet |
|---|---|---|
on |
Telepíti az aktuális környezet adapterét, majd bekapcsolja a naplózást. | <címke>: on vagy on — restart required; Codexnél on — trust review/restart required |
off |
Kikapcsolja a naplózást az aktuális környezetben. | <címke>: off |
status alapértelmezett |
Szükség esetén helyreállítja a bekapcsolt adaptert, majd kiírja az állapotot. | on / off / on — adapter missing / on — restart required; Codexnél on — trust review/restart required |
usage |
Az aktuális környezet natív usage-riportját futtatja. | <címke>: usage és natív riport |
repair |
Eltávolítja az aktuális környezet ismétlődő és elavult session-log hookregisztrációit, egy hiányos készletből pedig visszaállítja a hiányzókat: a Claude Code settings.json hookjait, a Codex és a Cursor hooks.json bejegyzéseit, valamint az OpenCode és az OMP azon halott adapterlinkjeit, amelyek a claude-goodies plugin-cache-be mutatnak. Ahol egyetlen regisztráció sincs, ott nem regisztrál hookot; az on elsőként ugyanezt a javítást futtatja. |
<címke>: removed … duplicate or stale hook registration(s) from <útvonal>, <címke>: restored … missing hook registration(s) in <útvonal>, <címke>: removed dangling adapter link <útvonal>, <címke>: repair skipped: <ok> vagy <címke>: repair found no duplicate or stale registrations |
A pontos címkék: Claude Code, Codex, Cursor, OpenCode és OMP. Cél megadása nélkül a usage azt a sessiont összesíti, amelyben éppen dolgozol: az aktuális projekt felső szintű sessionjei közül azt választja, amelyikben a legfrissebb felhasználói prompt van, így egy párhuzamosan még író session sosem kerül kiválasztásra; az OMP /session-log parancsa közvetlenül a saját sessionjét adja át. Más session riportjához adj meg sessionazonosítót, illetve ahol az adapter elfogadja, átirat-útvonalat. Az OpenCode csak azonosítót vagy --latest-et fogad el. A --check kizárólag Claude Code alatt használható, és a telepített ccusage eredményével vet össze.
bash install-universal-session-log.sh. A parancs minden alapértelmezett skill-gyökérben létrehozza vagy frissíti a teljes stabil csomagot, és az OpenCode parancs-belépési pontját is telepíti.bash skills/session-log/install.sh --harness cursor --arguments "status" előbb létrehozza vagy frissíti a Cursor csomagját, majd lefuttatja a status parancsot. A --install --harness <azonosító> csak telepít, parancsot nem futtat.on, az off, a status és a repair csak a megadott azonosítót érinti. Az on — restart required után indítsd újra a környezetet. Codexnél nézd át és engedélyezd a ~/.codex/hooks.json-hoz adott parancsokat, majd indítsd újra.~/.claude/settings.json enabledPlugins beállítása true értékre állítja a claude-goodies@<marketplace> kulcsot (alapértelmezésként ezt írja a claude plugin install). Ilyenkor a pluginból futtatva az on, az off, a repair és (bekapcsolt naplózásnál) a status minden session-log hookot töröl a ~/.claude/settings.json-ból, és egy új session csendben ugyanígy tesz. Egy session csak akkor ismétli meg ezt a tisztítást, ha az adott session-log példány legutóbbi sikeres tisztítása óta megváltozott a settings.json, a session-log csomag (a helye vagy a VERSION fájlja), az a pluginverzió, amely utoljára sessiont indított, vagy az, hogy létezik-e egy settings.json által regisztrált hookszkript. Session-log hooknak számít minden parancs, amely SESSION_LOG_OWNER=universal-session-log előtaggal kezdődik, a plugin saját hooks/hooks.json parancsának másolata, és bármely bash …/skills/session-log/adapters/claude/claude_hook.sh <esemény> parancs; a natív Windows C:\ útvonalat is felismeri, de a törléséhez WSL kell. Ez eltakarítja azokat a halott útvonalakat, amelyeket a korábbi kiadások a verziózott plugin-cache-be írtak. Miután a plugin hookjai elindítottak egy sessiont, a ~/.claude/skills alatti önálló példány rájuk hagyatkozik, és nem regisztrál saját settings.json hookot, kivéve, ha a Claude Code frissítés vagy eltávolítás után árvának jelölte azt a pluginverziót. Ha a plugin csak projekt-, helyi vagy felügyelt (managed) szinten engedélyezett, a plugin csak a halott session-log regisztrációkat törli (amelyek szkriptje már nem létezik, vagy a verziózott plugin-cache-ben van), az önálló példány pedig megtartja a saját settings.json hookjait, így abban a projektben kétszeres naplózás fordulhat elő. Ha a plugin felhasználói szinten engedélyezett, de projekt- vagy helyi szinten le van tiltva, az a projekt nem naplóz, mert az önálló példány továbbra is a pluginra hagyatkozik. A plugin eltávolítása vagy letiltása után futtasd egyszer a /session-log on parancsot, hogy az önálló példány újra regisztrálja a hookjait. A többi hook érintetlen marad.status és a usage a hiányzó vagy elavult natív adaptert is újratelepíti.stop hook bekapcsolt naplózás mellett, az aktuális adapterrel rögzített — csak a fő ügynökre, mert a subagentStop nem ad tokenadatot —, az alügynököknél csak a Cursor helyi állapotából vett végső kontextusméretet írja ki (ez nem kerül bele a TOTAL-ba), és egyértelmű hibával leáll, ha egy sessionhöz nincs rekord.bash, Python 3 és shasum vagy sha256sum kell; a futásállapot ellenőrzéséhez és a Claude Code-hoz jq szükséges. Az OpenCode usage ezenfelül sqlite3-at, az OMP riportja pedig Bunt igényel. A ccusage csak a Claude Code --check opcionális függősége. Natív Windowson csak a Claude Code plugin hookjai futnak (Git Bash alatt, kikapcsolt naplózásnál jq nélkül); az on, az off, a repair és a sessionindításkori tisztítás WSL-t igényel. Amíg a settings.json session-log hookokat tartalmaz, natív Windowson minden sessionindítás megkísérli ezt a tisztítást, amely csendben meghiúsul, és a következő sessionindításkor újra lefut (kis indítási késleltetéssel), mert csak a sikeres tisztítás kerül rögzítésre.~/.claude, ~/.codex, ~/.cursor, ~/.config/opencode (a natív adatok helye ~/.local/share/opencode) és ~/.omp/agent. Az áthelyezett gyökerek egyértelmű hibával leállnak.Helyzet: egy teljes forduló — elküldesz egy promptot, egy háttér-al-ügynök befejeződik, az asszisztens válaszol, és az előző forduló óta modellt és effortot váltottál. Ez kerül a session-fájlba (Claude Code, ~/.claude/prompt-logs/<projekt>/session_….md):
## 14:02:11
Implement the next uncompleted task in plans/FEAT-001.md
---
14:03:05 sub-agent finished: general-purpose (agent-9f3c2a1b), jsonl: /Users/…/<sid>/subagents/agent-9f3c2a1b.jsonl
### 14:05:53 response
<az asszisztens végleges üzenete, szó szerint>
working time: 00:03:42
est. used token: input: 2000, output: 1000, cache_create: 150000, cache_read: 0, total_tokens: 153000, price: $2.32, model: claude-opus-5, effort: max
switched: model claude-sonnet-5 → claude-opus-5, effort high → max
---
Fentről lefelé olvasva: a prompt, majd a lefutott al-ügynök, majd a válasz, majd a mérések. A total_tokens = input + output + cache-írás + cache-olvasás. Az itteni switched: sor magyarázza a nagy cache_create-et: a modellváltás teljes cache-írást kényszerített ebben a fordulóban.
usage riportjaParancs: /session-log usage Claude Code alatt (az aktuális sessiont összesíti — a projekt azon sessionjét, amelyben a legfrissebb felhasználói prompt van). A többi környezet megtartja a fent leírt saját riportformáját.
Claude Code: usage
1. 14:02:11 Implement the next uncompleted task… est. used token: … price: $2.32
2. 14:12:40 Fix the failing test in auth_test… est. used token: … price: $0.41
sub-agent general-purpose (agent-9f3c2a1b) est. used token: … price: $0.77
TOTAL (2 requests, 1 sub-agent) input: … output: … total_tokens: … price: $3.50
Fordulónként egy számozott sor, al-ügynökönként egy sor a sessionben talált átiratokból, majd egy összevont TOTAL. Minden átirat egyszer számít, bármilyen mélyen ágyazódnak az al-ügynökök.