Long Echo Comes Alive: From Philosophy to Orchestration
A year ago, I wrote about Long Echo as a philosophy for preserving AI conversations across decades. The key insight was graceful degradation: design archives that work progressively even as technology disappears.
That philosophy has now become a tool.
From Philosophy to Tool
The original Long Echo was intentionally not code. It was a set of principles documented in CTK’s repository. The hard problems of conversation parsing, storage, and search were already solved by toolkits like CTK, BTK, and EBK.
What was missing was the unification layer. Each toolkit exports its own ECHO-compliant archive, but combining them into a single browsable experience required manual work. That’s what longecho now provides.
What longecho Does Now
longecho is a CLI tool with five capabilities:
longecho check ~/my-data/ # Validate ECHO compliance
longecho discover ~/ # Find ECHO sources
longecho search ~/ "query" # Search README descriptions
longecho build ~/my-archive/ # Generate static site
longecho serve ~/my-archive/ # Preview locally via HTTP
The check, discover, and search commands existed in the original specification. What’s new is build and serve—the orchestration layer.
Building a Unified Site
The build command takes a hierarchical archive and generates a static site:
longecho build ~/my-archive/
This produces a site/ directory with:
- An index page linking to all sub-archives
- Navigation between sources
- Automatic linking to existing sub-site builds
If a sub-archive already has its own site/ directory (like CTK’s exports), longecho links to it. Use --bundle to copy everything into a portable, self-contained site.
Live Preview
The serve command provides local HTTP preview:
longecho serve ~/my-archive/ --port 8000
It builds the site if needed, then serves it for browser viewing.
The Manifest
ECHO compliance requires only a README. But for machine-readable metadata, longecho supports an optional manifest:
version: "1.0"
name: "Alex's Data Archive"
description: "Personal data archive"
sources:
- path: "conversations/"
order: 1
- path: "bookmarks/"
order: 2
- path: "ebooks/"
order: 3
The manifest enables:
- Explicit ordering of sources in generated sites
- Selective inclusion via the
browsableflag - Override names for cleaner presentation
- Icon hints for UI presentation
Without a manifest, longecho auto-discovers sub-archives by looking for directories with README files. The manifest provides explicit control when needed.
...Read more →