Public View
Suggest
Download this page (.md) Download entire wiki (.zip)
Clone entire wiki

Birdclaw

Stores all your tweets nicely claw-able for agents.

Birdclaw imports your X/Twitter archive into a fast local SQLite database and gives you a web app plus a CLI over it: years of tweets, bookmarks, likes, followers, following, and DMs, all searchable offline. It's from @steipete, the same person behind OpenClaw — which is why the CLI is so agent-friendly: nearly every command takes --json.

That --json flag is the whole point for this workshop. Your OpenClaw agent can shell out to birdclaw and answer questions about your own history.

⏳ Start the archive request FIRST
X takes anywhere from a few hours to a few days to prepare your download. Request it now, then do the rest of the workshop while you wait.
x.com/settings/download_your_data


01 — Install

brew install steipete/tap/birdclaw
birdclaw --version

02 — Initialize

birdclaw init
birdclaw auth status --json
birdclaw db stats --json

db stats will show an empty database — that's expected until the import.

03 — Import your archive

When the zip from X arrives in your Downloads folder:

birdclaw archive find --json          # locates the zip for you
birdclaw import archive --json

Or point at it explicitly:

birdclaw import archive ~/Downloads/twitter-archive-2026.zip --json

Optionally fill in profile details for the accounts in your archive:

birdclaw import hydrate-profiles --json

04 — Sync live state

The archive is a snapshot. These pull in what's happened since — and bookmarks in particular, which aren't fully accessible through the API, are the reason the sync jobs exist:

birdclaw sync likes --mode auto --limit 100 --refresh --json
birdclaw sync bookmarks --mode auto --limit 100 --refresh --json
birdclaw sync timeline --limit 100 --refresh --json
birdclaw sync mention-threads --limit 30 --delay-ms 1500 --json

Run these on a schedule (cron, or an OpenClaw cron job) and your local copy stays current.

05 — Open the app

birdclaw serve

Then open http://localhost:3000. Archive browsing, search, triage, and reply flows in one place.

06 — Back it up to GitHub

birdclaw backup sync \
  --repo ~/Projects/backup-birdclaw \
  --remote https://github.com/username/backup-birdclaw.git \
  --json

Set backup.autoSync in ~/.birdclaw/config.json to make it automatic. Use a private repo — this contains your DMs.


Pointing your agent at it

This is where it stops being an archive tool and starts being memory. Because every command speaks JSON, your OpenClaw agent can just run them. Things worth asking once it's wired up:

  • "What have I said about agent memory over the years? Quote me."
  • "Which of my bookmarks from the last month have I never acted on?"
  • "Find the thread where someone explained X to me — I can't remember who."
  • "Draft a post in my voice, using my actual past posts as the style reference."

The last one only works well because the corpus is yours. A model guessing at your voice is imitation; a model reading three years of your own posts is retrieval.

Gramclaw — the Instagram sibling

Gramclaw does the same thing for Instagram: imports an Instagram export into local SQLite with media analysis, natural-language visual search, Smart Saved collections, and exportable moodboards. Same shape as Birdclaw — local-first, JSON-first CLI, agent-readable.

There are two versions. The official site and build live at gramclaw.globalbr.ai; the fork is mirrored on jacobcole.ai. Either installs without npm registry access or a GitHub clone.

Official — by Art Jing

The upstream project. Start here unless you specifically want Instagram sign-in.

npm install -g https://gramclaw.globalbr.ai/downloads/gramclaw-1.1.0.tgz

gramclaw.globalbr.ai — site, demo, and download · github.com/artjing/gramclaw

Fork — adds direct Instagram sign-in

My fork of the above. Everything the official build does, plus signing in to Instagram directly instead of going through the export flow.

npm install -g https://jacobcole.ai/downloads/gramclaw-fork-1.1.0.tgz

github.com/tmad4000/gramclaw

Both are version 1.1.0 and install the same gramclaw command, so pick one — installing the second over the first replaces it.

Either way

gramclaw init --demo      # fictional sample content, no Instagram login needed
gramclaw serve --open

For a real archive: gramclaw import archive ~/Downloads/instagram-export.zip --json

📲 One-click versions of both installs are on the Memory Workshop page.

Troubleshooting

Symptom Fix
archive find returns nothing Give the explicit path to the zip; don't unzip it first
Import looks like it hung Large archives take a while — birdclaw db stats --json in another terminal shows progress
Port 3000 already in use Something else is on it. Stop that, or check birdclaw serve --help for a port flag
Sync commands rate-limited Raise --delay-ms, lower --limit, and run less often

birdclaw.sh · Quickstart · github.com/steipete/birdclaw


Next: Group chats (beta) → · Back: Workshop index

Memory Workshop: jacobcole.ai/memory-workshop — every command here as a copy button.

Page updated