Install
openclaw skills install link-brainLocal knowledge base for links. Save URLs with summaries and tags, search later using natural language, build collections, and review your backlog with space...
openclaw skills install link-brainYour personal bookmark graveyard, except things actually come back.
python3 scripts/brain.py quickstart # auto-imports browser bookmarks + opens GUI
python3 scripts/brain.py save "https://example.com" --auto
python3 scripts/brain.py search "that article about sqlite"
On first run, use quickstart instead of setup. It:
setup also detects browsers and reports what it finds, but doesn't auto-import. Use quickstart when the user wants the fastest path to a working knowledge base.
Data lives in ~/.link-brain/. Override with LINK_BRAIN_DIR=/your/path.
You know the title. You know what it's about. Just tell it.
python3 scripts/brain.py save "https://docs.python.org" \
--title "Python docs" \
--summary "Standard library reference." \
--tags "python, docs"
Point it at a URL. It fetches the page, extracts readable text, generates a summary, and suggests tags based on your existing collection. No LLM needed.
python3 scripts/brain.py auto-save "https://example.com"
Or equivalently:
python3 scripts/brain.py save "https://example.com" --auto
This is the only command that makes a network request. Everything else is local.
SQLite FTS5 under the hood, but you can write queries like a person.
python3 scripts/brain.py search "last week unread from github"
python3 scripts/brain.py search "best rated rust"
python3 scripts/brain.py search "unrated videos from youtube"
python3 scripts/brain.py search "oldest unread" --limit 10
python3 scripts/brain.py tags # list all tags
python3 scripts/brain.py tags python # links tagged "python"
Find links that share tags with a specific one.
python3 scripts/brain.py related 42
Get tag ideas for a URL based on your patterns.
python3 scripts/brain.py suggest-tags "https://example.com"
When you don't know what to read next.
digest pulls a batch of links for reviewrecommend surfaces links based on your most-used tagsgems shows your highest-rated links and hidden findsrandom grabs something from the backlogpython3 scripts/brain.py digest
python3 scripts/brain.py recommend
python3 scripts/brain.py gems
python3 scripts/brain.py random
python3 scripts/brain.py read 42 # mark as read
python3 scripts/brain.py unread # show unread links
python3 scripts/brain.py rate 42 5 # rate 1-5
python3 scripts/brain.py streak # current streak and activity
python3 scripts/brain.py insights # reading personality, analytics
python3 scripts/brain.py weekly # weekly summary, WhatsApp-ready
streak tracks consecutive days you've read something. insights tells you things like your most active hours and top domains. weekly is a formatted digest you can send straight to a chat.
Reading lists that reference your saved links.
python3 scripts/brain.py collection create "Rust" --description "Systems stuff"
python3 scripts/brain.py collection add "Rust" 42
python3 scripts/brain.py collection show "Rust"
python3 scripts/brain.py collection list
python3 scripts/brain.py collection remove "Rust" 42
python3 scripts/brain.py collection export "Rust" # markdown
python3 scripts/brain.py collection export "Rust" --html # standalone HTML
Spaced repetition for your bookmarks. Every saved link enters the queue. Intervals grow as you review: 1 day, 3 days, 7 days, and so on.
python3 scripts/brain.py review # next due item
python3 scripts/brain.py review done 42 # reviewed, advance interval
python3 scripts/brain.py review skip 42 # not now
python3 scripts/brain.py review reset 42 # back to 1-day interval
python3 scripts/brain.py review stats # queue overview
The --auto flag on save (or the auto-save shortcut) handles fetching, summarizing, and tagging in one shot. It uses urllib to grab the page, extracts the readable content, and picks tags that match your existing vocabulary. No external services involved.
python3 scripts/brain.py graph --open
Generates a standalone HTML file at ~/.link-brain/graph.html with an interactive canvas. Links are nodes. Shared tags are edges. No external JS libraries. Just open it in a browser.
python3 scripts/brain.py gui
Opens ~/.link-brain/console.html in your browser. Single self-contained HTML file, nothing external. Includes search, tag cloud, knowledge graph, collections, review queue, reading timeline, and dark/light mode.
Add --no-open to generate without launching.
Pull bookmarks directly:
python3 scripts/brain.py scan chrome
python3 scripts/brain.py scan safari
python3 scripts/brain.py scan firefox
Reads from the browser's local bookmark storage. No export step needed.
Import from exported files:
python3 scripts/brain.py import pocket_export.html
python3 scripts/brain.py import youtube_history.json
python3 scripts/brain.py import reddit_saved.csv
How to get your exports:
Check for bookmarks that have been removed from a browser source:
python3 scripts/brain.py sync chrome
python3 scripts/brain.py sources # see connected sources and sync status
python3 scripts/brain.py feedback "your message"
python3 scripts/brain.py feedback --bug "something broke"
python3 scripts/brain.py feedback --idea "wouldn't it be cool if..."
python3 scripts/brain.py debug # system info for bug reports
All data is stored in ~/.link-brain/:
brain.db (SQLite database)graph.html (knowledge graph output)console.html (GUI console)collection-*.md and collection-*.html (exported collections)Override the directory:
LINK_BRAIN_DIR=/tmp/test-brain python3 scripts/brain.py setup
search understands time filters like "last week" and reading states like "unread" or "best rated"--auto on every save unless you have a specific summary in mind. It's fast and surprisingly good.review stats tells you how many links are overdue. Check it weekly.gems is great for rediscovering old links you forgot you lovedrandom is the "I'm bored" buttonscan with sync to keep browser bookmarks in check