@dijin/cli
v1.4.0
Published
Reference command-line reader for Dijin Memory Format (DMF) archives — inspect, verify, and search any DMF archive without the Dijin app.
Downloads
245
Readme
@dijin/cli
Reference command-line reader for the Dijin Memory Format (DMF) — a portable, signed, deterministic format for personal memory archives.
dijin-cli is the second reference implementation of the DMF spec. The first lives inside @dijin/mcp-server; this CLI is intentionally independent so the spec is exercised by two separate readers. Anyone writing a third implementation (in Rust, Python, Go, …) can use both as references.
Read-only. This tool never modifies an archive.
Install
npm install -g @dijin/cliQuick start
# Auto-discover the active Dijin archive on this machine
dijin info
# List the most recent sessions
dijin sessions
# Print one session in full (transcript + insights)
dijin show ses_<id>
# Verify every Ed25519 signature in the archive
dijin verify
# Verbatim text search across segments + translations
dijin search "trafik"Pass an explicit path to point at any DMF archive, anywhere:
dijin info /path/to/some/.dijinWhat the CLI does
| Command | What it shows | Notes |
|---------|---------------|-------|
| info | manifest version + ID + owner key + identity profile | Plus session/segment/insight counts |
| sessions | one row per session: date, duration, segment count, title | Most recent first |
| show <id> | full session: segments (timestamp · speaker · language · text) + insights | |
| verify | every signature checked with the archive's owner_public_key | Exit code 2 if tampering found |
| search <q> | substring match across content.text and translation.text | Cross-language by virtue of stored translations |
Path discovery
When you don't pass a path, the CLI walks the same candidates the MCP server uses:
$DIJIN_ARCHIVE_ROOT~/Library/Containers/company.dijin.dijin/Data/Library/Application Support/dijin-memory(Dijin macOS app sandbox)~/Library/Application Support/dijin-memory(non-sandboxed install)
If a multi-user root is detected, the active user's .dijin archive is loaded automatically (per active_user.txt).
Why this exists
The DMF spec lives or dies by whether anyone can write a reader for it. Shipping a second implementation alongside the spec is the simplest way to prove that the format is unambiguous and self-contained — no Dijin app, no proprietary library, just JSON files on disk and well-known crypto.
License
MIT (this code) · CC BY 4.0 (the DMF spec)
