Read-only CLI for Walkie.app meeting transcripts and dictations
walkie-cli is an agent-native, read-only command-line interface for accessing meeting transcripts and dictations from the local Walkie.app (macOS) SQLite database. All data stays on your Macβno network access, no authentication, no cloud APIs.
- π Read-only: Never writes to the Walkie database
- π€ Agent-native: Auto-JSON output for AI agents, rich tables for humans
- π Multiple formats: Table, JSON, CSV output
- π Smart search: Find meetings by ID or title substring
- π― Zero dependencies: Uses only local SQLite database
- π« Privacy-first: No network calls, no cookies, no telemetry
pipx install git+https://github.com/truefrontier/walkie-cli.gitpipx install walkie-cligit clone https://github.com/truefrontier/walkie-cli.git
cd walkie-cli
pip install -e .# Check database status
walkie status
# List recent meetings
walkie meetings list
# Show a specific meeting
walkie meetings show "standup"
# Read full transcript
walkie meetings transcript mtg-1234567890
# List recent dictations
walkie dictations listAll commands support these flags:
--db PATHβ Explicit path tohistory.db(overrides auto-discovery)--account IDβ Account ID when multiple Walkie accounts exist--format table|jsonβ Output format (default: auto-detect from TTY)--compactβ Compact JSON (no indentation)--select FIELDSβ Comma-separated field list to include--csvβ CSV output-q, --quietβ Suppress all output
Show database path, account ID, and record counts.
walkie statusExample output:
Key Value
db_path /Users/you/Library/Application Support/com.pais.walkie/accounts/abc123/history.db
account_id abc123
meeting_count 42
segment_count 1337
dictation_count 89
List recent meetings with summary info.
walkie meetings list [--limit N]Options:
--limit Nβ Show only N most recent meetings
Example:
walkie meetings list --limit 5Show detailed metadata for a specific meeting. Accepts meeting ID or title substring.
walkie meetings show mtg-1234567890
walkie meetings get "standup"Output includes:
- Meeting metadata (title, source, timestamps, duration, status)
- Parsed sections (if present)
- Action items (if present)
- Participants and attendees
- Segment count
Display the full meeting transcript as chronological segments.
walkie meetings transcript mtg-1234567890
walkie meetings history "standup"
walkie meetings read "design review" --limit 10Options:
--limit Nβ Show only first N segments
Aliases: transcript, history, read
List recent dictations from transcription history.
walkie dictations list [--limit N]walkie-cli finds your Walkie database automatically:
- Explicit path:
--db /path/to/history.dbor envWALKIE_DB - Default location:
~/Library/Application Support/com.pais.walkie/accounts/<accountId>/history.db - Multiple accounts: Uses the only account, or the newest by modification time
- Specific account:
--account <accountId>to pick a specific account
walkie-cli follows agent-native conventions from printing-press, limsg, and keep:
- Auto-format: JSON for pipes/scripts, rich tables for humans
- Exit codes:
0β Success2β Usage error3β Not found (meeting/dictation)4β Database missing/inaccessible5β Runtime error
- Field selection:
--select id,title,startedto trim output - Quiet mode:
-qfor side-effect-only commands
# Get meeting as JSON
walkie meetings show "standup" --format json --compact
# Count meetings
walkie meetings list --format json | jq 'length'
# Extract action items
walkie meetings show "standup" --format json | jq '.action_items'
# Get transcript text only
walkie meetings transcript "sync" --select text --csv- β
Read-only: Opens database with
mode=roflag - β
No writes: Never runs
UPDATE,INSERT, orDELETE - β No network: Zero network calls
- β No secrets: Does not read Walkie auth/settings stores
β οΈ Privacy warning: Transcripts stay on your Macβbe mindful when pasting meeting text into cloud AI chats
Based on Walkie.app v1.13.1 schema:
- Meetings: Stored in
meetingstable with metadata (title, source, timestamps, template) - Segments: Individual speaker turns in
meeting_segments(speaker, timestamps, text) - Dictations: Standalone transcriptions in
transcription_history(kind='dictation') - Timestamps: Stored as millisecond epochs; formatted to ISO 8601 in output
- JSON fields:
sections,action_items,participants,attendeesstored as JSON strings
started_atis millisecond epoch,transcription_history.timestampis second epoch- Speaker labels:
you(user),them:N(other participants) - Audio files: Stored at
accounts/<accountId>/meetings/<meetingId>/meeting.wav - Multiple accounts: Tracked via directory structure, not in database
- macOS (Walkie.app support)
- Python β₯3.8
- Walkie.app installed with at least one account
# Clone
git clone https://github.com/truefrontier/walkie-cli.git
cd walkie-cli
# Install in editable mode
pip install -e .
# Run tests
python -m pytest tests/
# Type check
mypy walkie_cliMIT License β Copyright (c) 2026 True Frontier
See LICENSE for full text.
Issues and pull requests welcome! This is a read-only tool by designβwe will not accept PRs that add write/mutate operations.
Built for True Frontier by Kevin.
Inspired by agent-native CLIs: printing-press, limsg, keep.