Earlier this year I wrote about Long Echo—a philosophy for preserving AI conversations in ways that remain accessible across decades. The core insight was graceful degradation: designing systems that fail progressively, not catastrophically.
Since then, I've built out a complete toolkit for preserving all personal digital content—not just conversations, but bookmarks (including videos, podcasts, articles) and books. These three tools form a coherent system for managing your intellectual life.
The Toolkit
| Tool | Domain | Install |
|---|---|---|
| CTK | AI Conversations | pip install conversation-tk |
| BTK | Bookmarks & Media | pip install bookmark-tk |
| EBK | eBooks & Documents | pip install ebk |
All three share a common architecture and philosophy, but each is deeply specialized for its domain.
Shared Architecture
SQLite-First Storage
Every tool uses local SQLite databases you own. No cloud dependency. Queryable with standard tools even if the CLI disappears:
# Works even if the tools are gone
sqlite3 conversations.db "SELECT title FROM conversations WHERE title LIKE '%python%'"
sqlite3 bookmarks.db "SELECT url, title FROM bookmarks WHERE stars = 1"
sqlite3 library.db "SELECT title, author FROM books WHERE favorite = 1"
Interactive Shells with Virtual Filesystems
Navigate your data like a Unix filesystem:
$ btk shell
btk:/$ cd tags/programming/python
btk:/tags/programming/python$ ls
3298 4095 5124 (bookmark IDs)
btk:/tags/programming/python$ cat 4095/title
Advanced Python Techniques
Reading Queues
Track what you're reading, watching, or working through:
btk queue add 42 --priority high
btk queue next
btk queue progress 42 --percent 75
btk queue estimate-times # Auto-estimate from content length
LLM Integration
All three tools integrate with LLMs for intelligent features:
btk content auto-tag --all
ctk auto-tag --model ollama/llama3
ebk enrich 42 # Enhance metadata with LLM
ctk say "summarize my conversations about Rust"
Network Analysis
Discover relationships in your data:
ctk net embeddings --all
ctk net similar 42
ctk net clusters
ctk net central # Most connected conversations
BTK: More Than Bookmarks
BTK evolved from a simple bookmark manager into a comprehensive media archive:
btk media detect # Scan bookmarks for media URLs
btk media import-playlist "https://youtube.com/playlist?list=..."
btk media import-channel "@3blue1brown"
btk media import-podcast "https://feed.example.com/rss"
btk content refresh --all --workers 50 # Cache for offline access
Smart collections provide auto-updating views: /unread, /popular, /broken, /untagged, /pdfs.
CTK: Conversation Intelligence
CTK manages AI conversations with tree structure preservation and network analysis:
ctk import chatgpt_export.json --format openai
ctk import claude_export.json --format anthropic
ctk tree 42 # Visualize branching conversation
ctk net clusters # Discover topic clusters
EBK: Library Management
EBK handles ebooks with semantic search, virtual libraries, and annotations:
ebk import ~/Calibre\ Library/
ebk similar 42 # Find books like this one
ebk vlib add "Machine Learning" 42 43 44
ebk note add 42 "Chapter 3 insight: ..."
Multi-Format Export
The key to long-term preservation—export in formats that will always be readable:
ctk export conversations.jsonl --format jsonl
btk export bookmarks.html html --hierarchical
ebk export catalog.html --format html
Each level provides graceful degradation: Full tool → SQLite → JSON → HTML → Plain text.
Why This Matters
Your intellectual life is worth preserving:
- The debugging session that saved a project
- The research trail that led to a breakthrough
- The books that shaped your thinking
These deserve better than "hope the cloud doesn't disappear."
Full post with more details: https://metafunctor.com/post/2025-12-16-long-echo-toolkit/
Links:
Top comments (0)