Render Codex, Claude Code, OpenClaw, or Pi session JSONL transcripts as a searchable, shareable single-file HTML viewer.
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "session-viewer" 技能: 1. 下载 https://raw.githubusercontent.com/openclaw/agent-skills/main/skills/session-viewer/SKILL.md 2. 保存为 ~/.claude/skills/session-viewer/SKILL.md 3. 装好后重载技能,告诉我可以用了
Use when asked to view, export, inspect, or share a Codex, Claude Code, OpenClaw, or Pi session transcript in a browser.
When the session path is not known and the agent-transcript skill is available, use it first to find the likely JSONL session:
.agents/skills/agent-transcript/scripts/agent-transcript find \
--query "$USER_GOAL_OR_TITLE $BRANCH_OR_URL" \
--cwd "$PWD" \
--since-days 14
Pick the highest-confidence file result, then render it with session-viewer.
From a repo that has this skill:
node skills/session-viewer/scripts/session-viewer.ts <session.jsonl> --out /tmp/session.html --open
Useful modes:
node skills/session-viewer/scripts/session-viewer.ts <session.jsonl> --out session.html
node skills/session-viewer/scripts/session-viewer.ts <session.jsonl> --raw --out session.html
node skills/session-viewer/scripts/session-viewer.ts --blank --out viewer.html --open
In a downstream repo that syncs shared skills under .agents/skills, replace
skills/session-viewer with .agents/skills/session-viewer.
Defaults:
codex, claude, or pi-openclaw--raw embeds the original JSONL and lets the browser parse it--blank creates a reusable file-picker viewerCodex:
find "${CODEX_HOME:-$HOME/.codex}/sessions" -name 'rollout-*.jsonl' -type f | sort
ls -t "${CODEX_HOME:-$HOME/.codex}"/sessions/*/*/*/rollout-*.jsonl | head
OpenClaw/Pi:
AGENT_ID="<agentId>"
SESSION_DIR="${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/agents/$AGENT_ID/sessions"
ls -t "$SESSION_DIR"/*.jsonl | head
find "${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/agents" -path '*/sessions/*.jsonl' -type f | sort
Use sessions.json in the same directory to map session keys to session ids.
Claude Code:
find "$HOME/.claude/projects" -name '*.jsonl' -type f | sort
ls -t "$HOME/.claude/projects"/**/*.jsonl | head
Some Claude installs also keep exported JSON/JSONL under project-specific cache folders; prefer the newest JSONL with the target repo path in its parent folder.
Scripts are native Node TypeScript. Keep them erasable:
satisfiesImporter ownership:
scripts/importers/codex.ts: Codex rollout JSONLscripts/importers/claude.ts: Claude Code JSONLscripts/importers/pi-openclaw.ts: Pi/OpenClaw session JSONLValidate:
pnpm exec tsgo -p skills/session-viewer/tsconfig.json
node --test skills/session-viewer/scripts/session-viewer.test.ts
scripts/validate-skills
Run a structured code review (Codex default, Claude optional) as a closeout check on a local or PR branch before commit or ship.
Run OpenClaw remote validation on Linux, macOS, Windows, or WSL2 via the Crabbox or Testbox wrapper, including delegated Blacksmith proof. Report the actual provider and lease id.
Write a path-free, clipboard-ready handoff prompt that lets another agent investigate, discuss, or pick up a specific task.
Add a redacted agent session transcript to a GitHub PR or issue body as local-only provenance for OpenClaw workflows.
Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.
Edit PDFs with natural-language instructions using the nano-pdf CLI.