Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Waiting to run
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Waiting to run
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Waiting to run
Birdclaw local-first Twitter/X memory for elizaOS.
Birdclaw keeps a private archive of your Twitter/X life — timeline, mentions,
DMs, likes, bookmarks — in a single SQLite database on your machine, imported
from your Twitter archive and optionally kept fresh with live syncs. This
plugin connects that archive to your Eliza agent:
Birdclaw app in the launcher — browse Timeline / Mentions / Posted /
Likes / Bookmarks / Inbox, trigger live syncs, see who still needs a reply.
One spatial component renders the shipped GUI view.
BIRDCLAW agent action — ask your agent things like "search my tweets
for that thread about sync engines", "which mentions still need a reply?",
"pull my latest bookmarks", or "what happened on Twitter today?"
(digest). Owner-only: this is your private archive.
/api/birdclaw/* routes — status, tweets, inbox, sync, digest; the view
and any other client drive these.
Setup
brew install steipete/tap/birdclaw # or build from source (Node 26)
birdclaw init # create ~/.birdclaw + seed the demo data
birdclaw import archive <path> # import your Twitter archive
That's it — the agent auto-loads the plugin when it finds the birdclaw
binary (or an existing ~/.birdclaw). No config required. Without birdclaw
installed the app shows a setup screen and the agent action stays dormant.
Optional knobs: BIRDCLAW_BIN (explicit binary path), BIRDCLAW_HOME
(alternate data root), BIRDCLAW_OPENAI_API_KEY (enables birdclaw's AI
digest/scoring), ELIZA_BIRDCLAW=1/0 (force on/off).
Live sync needs one of birdclaw's transports (xurl OAuth2 or bird browser
cookies) — see the birdclaw docs.
Everything else (browse, search, inbox, digest) works on the local archive
alone.
Development
bun run --cwd plugins/plugin-birdclaw test# offline unit suite
bun run --cwd plugins/plugin-birdclaw test:real # against the real CLI
bun run --cwd plugins/plugin-birdclaw build
See CLAUDE.md for the full surface, layout, and gotchas.