pocket-transcripts
Read transcripts and summaries from Pocket AI (heypocket.com) recording devices.
Installation
npx clawhub@latest install heypocket-readerView the full skill documentation and source below.
Documentation
Pocket Transcripts
Read transcripts and summaries from Pocket AI devices via reverse-engineered API.
Quick Reference
| Function | Description |
get_recordings(days, limit) | List recent recordings |
get_recording_full(id) | Get transcript + summary + action items |
get_transcript(id) | Get raw transcript text |
get_summarization(id) | Get markdown summary |
search_recordings(query) | Search by text |
Setup (One-Time)
1. Start Chrome with User Profile
~/.factory/skills/browser/start.js --profile
# or
~/.claude/skills/browser/start.js --profile
2. Log into Pocket
Navigate to and log in:
~/.factory/skills/browser/nav.js
3. Extract Token
python3 scripts/reader.py extract
Token is saved to ~/.pocket_token.json and expires in 1 hour.
Usage
List Recordings
from pathlib import Path
import sys
sys.path.insert(0, str(Path.home() / '.claude/skills/pocket-transcripts/scripts'))
from reader import get_recordings, get_recording_full
recordings = get_recordings(days=30, limit=20)
for r in recordings:
print(f"{r.recorded_at:%Y-%m-%d} | {r.duration_str} | {r.title}")
Get Full Transcript and Summary
full = get_recording_full(recording_id)
print(f"Transcript ({len(full['transcript'])} chars):")
print(full['transcript'][:500])
print(f"\nSummary (markdown):")
print(full['summary'])
print(f"\nAction Items: {len(full['action_items'])}")
for item in full['action_items']:
print(f" - {item}")
Search Recordings
results = search_recordings("meeting", days=90)
for r in results:
print(f"{r.title} - {r.description[:100]}")
API Details
Base URL:
**Auth**: Firebase Bearer token from browser IndexedDB
**Key Endpoints**:
- GET /recordings - List with pagination, filters
- GET /recordings/{id}?include=all - Full data with transcript/summary
**Data Structure**:
- Transcript: data.transcription.transcription.text
- Summary: data.summarizations[id].v2.summary.markdown
- Action Items: data.summarizations[id].v2.actionItems.items
## Token Refresh
Firebase tokens expire in 1 hour. When expired:
1. Ensure Chrome is running with --profile
2. Confirm logged into app.heypocket.com
3. Re-run: python3 scripts/reader.py extract
## Data Model
### PocketRecording
- id, title, description
- duration (seconds), duration_str (human readable)
- recorded_at, created_at
- has_transcription, has_summarization
- num_speakers
- latitude, longitude (if location enabled)
- tags (list of strings)
### PocketSummarization
- summary (markdown formatted)
- action_items (list)
- transcript` (raw text)