Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11), free to diverge. Tree copied sans upstream .git; upstream remote added for future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19. Preserves docs/ARCHITECTURE.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
143 lines
4.7 KiB
Markdown
143 lines
4.7 KiB
Markdown
---
|
|
summary: "CLI reference for `openclaw transcripts` (list, show, and locate stored transcripts)"
|
|
read_when:
|
|
- You want to read stored transcript summaries from the terminal
|
|
- You need the path to a transcripts markdown summary
|
|
- You are debugging the core transcripts storage layout
|
|
title: "Transcripts CLI"
|
|
---
|
|
|
|
# `openclaw transcripts`
|
|
|
|
Read-only inspector for transcripts written by the `transcripts` agent tool.
|
|
Capture, import, and summarization run through that tool, not this CLI.
|
|
|
|
Artifacts live under the state directory:
|
|
|
|
```text
|
|
$OPENCLAW_STATE_DIR/transcripts/YYYY-MM-DD/<session>/
|
|
metadata.json
|
|
transcript.jsonl
|
|
summary.json
|
|
summary.md
|
|
```
|
|
|
|
Default state directory is `~/.openclaw`; override with `OPENCLAW_STATE_DIR`.
|
|
The date directory comes from the session start time; the session directory is
|
|
a filesystem-safe slug derived from the session id.
|
|
|
|
## Commands
|
|
|
|
```bash
|
|
openclaw transcripts list
|
|
openclaw transcripts show <session>
|
|
openclaw transcripts show YYYY-MM-DD/<session>
|
|
openclaw transcripts path <session>
|
|
openclaw transcripts path YYYY-MM-DD/<session>
|
|
openclaw transcripts path <session> --dir
|
|
openclaw transcripts path <session> --metadata
|
|
openclaw transcripts path <session> --transcript
|
|
openclaw transcripts list --json
|
|
openclaw transcripts show <session> --json
|
|
openclaw transcripts path <session> --json
|
|
```
|
|
|
|
| Command | Description |
|
|
| ----------------------------- | ----------------------------------------------- |
|
|
| `list` | List stored sessions. |
|
|
| `show <session>` | Print the stored `summary.md`. |
|
|
| `path <session>` | Print the `summary.md` path. |
|
|
| `path <session> --dir` | Print the session directory. |
|
|
| `path <session> --metadata` | Print `metadata.json`. |
|
|
| `path <session> --transcript` | Print `transcript.jsonl`. |
|
|
| `--json` | Print machine-readable output (any subcommand). |
|
|
|
|
`<session>` accepts either a bare session id or a date-qualified selector
|
|
(`YYYY-MM-DD/<session>`). Use the qualified form when the same session id
|
|
occurs on more than one day, for example `openclaw transcripts show
|
|
2026-05-22/standup`. Default session ids include a timestamp and random
|
|
suffix; give a session a fixed id only when that id is unique within the day.
|
|
|
|
## Output
|
|
|
|
`list` prints one tab-separated line per session: selector, start time, title,
|
|
summary path.
|
|
|
|
```text
|
|
2026-05-22/standup 2026-05-22T09:00:00.000Z Weekly standup /Users/user/.openclaw/transcripts/2026-05-22/standup/summary.md
|
|
```
|
|
|
|
The selector is the safest value to pass back to `show` or `path`.
|
|
|
|
`list --json` returns objects with `sessionId`, `selector`, `date`, `title`,
|
|
`startedAt`, `stoppedAt`, `source`, `path`, `summaryPath`, `hasSummary`.
|
|
|
|
`show --json` returns the stored session metadata, selector, session
|
|
directory, summary path, and summary Markdown text.
|
|
|
|
`path --json` returns the selected path and whether that file exists.
|
|
|
|
## Many sessions per day
|
|
|
|
Sessions group by date, then by session id. Ten meetings on one day become
|
|
ten sibling folders:
|
|
|
|
```text
|
|
~/.openclaw/transcripts/2026-05-22/
|
|
transcript-2026-05-22T09-00-00-000Z-a1b2c3d4/
|
|
transcript-2026-05-22T10-30-00-000Z-b2c3d4e5/
|
|
standup/
|
|
```
|
|
|
|
Use default generated ids for automation. Use a fixed id like `standup` only
|
|
when it will not repeat on the same date.
|
|
|
|
## Missing summaries
|
|
|
|
Live sessions write `summary.md` when the session stops; imported transcripts
|
|
write it immediately after import. A session can appear in `list` without a
|
|
summary while capture is still active, if a provider failed during stop, or if
|
|
metadata was written before any utterances arrived.
|
|
|
|
Use `path <session> --transcript` to inspect the raw append-only transcript,
|
|
or run the `transcripts` tool's `summarize` action to regenerate the Markdown
|
|
summary.
|
|
|
|
## Configuration
|
|
|
|
Capture is opt-in (live sources can join and record meeting audio). Enable it
|
|
with:
|
|
|
|
```json
|
|
{
|
|
"transcripts": {
|
|
"enabled": true,
|
|
"maxUtterances": 2000
|
|
}
|
|
}
|
|
```
|
|
|
|
- `enabled` (default `false`): turn the tool on.
|
|
- `maxUtterances` (default `2000`, clamped 1-10000): utterance buffer size per
|
|
session.
|
|
|
|
Configure auto-start sources with `transcripts.autoStart`. Each entry is
|
|
enabled by being present; omit an entry to disable that source. `discord-voice`
|
|
is the bundled auto-start-capable source and requires `guildId` and
|
|
`channelId`:
|
|
|
|
```json
|
|
{
|
|
"transcripts": {
|
|
"enabled": true,
|
|
"autoStart": [
|
|
{
|
|
"providerId": "discord-voice",
|
|
"guildId": "1234567890",
|
|
"channelId": "2345678901"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
```
|