Knowledge organization that mirrors how you actually think
Import conversations, papers, code — get navigable hierarchy with semantic edges and certainty scoring. No manual tagging. Structure emerges from content.
Named after mycelium, the underground fungal network that connects forests without central control.
aaaaamycelica.mp4
53,167 research papers. 170,824 semantic connections. Zero setup.
- Download latest release
- Grab
mycelica-consciousness-demo.db(800 MB) - Open Mycelica → Settings → Info → Open database
- Navigate (first launch builds similarity index ~40s, then instant)
Imported from OpenAIRE — consciousness research spanning neuroscience, philosophy of mind, clinical applications, and meditation studies.
8-level hierarchy with 170k semantic edges. No manual categorization. Structure emerged from embeddings.
Knowledge tools mimic file systems: folders, hierarchies, categories. But thinking is both hierarchical and associative — and current tools only show one or the other.
Every insight links to others. Every question branches into more questions. Every concept echoes across domains. Traditional tools bury these connections in separate folders, separate apps, separate contexts.
Mycelica shows structure you can navigate, plus connections that cross category boundaries. Reasoning becomes visible. Your knowledge becomes a living network you can explore, not a graveyard of files you'll never reopen.
- Visual Graph Navigation — Zoomable, pannable D3 canvas with dynamic hierarchy levels
- AI-Powered Analysis — Claude/Ollama generates titles, summaries, and tags for imported content
- Adaptive Hierarchy — Edge-based algorithm builds navigable tree structure from semantic similarity
- Items automatically organized into categories based on embedding similarity
- No manual categorization required - structure emerges from the data
- Instant Similarity Search — HNSW index enables O(log n) nearest neighbor lookup:
- 50-100x faster than brute-force (~10ms vs ~870ms for 50k nodes)
- Index auto-builds on first launch, saved to disk for instant subsequent loads
- Local embeddings (all-MiniLM-L6-v2) create "Related" edges:
"Rust async debugging" ←─ 0.89 ─→ "Tokio runtime errors" "Consciousness research" ←─ 0.76 ─→ "Philosophy of mind" - Code Import — Import source code with function/class extraction and call graph analysis:
- Supports Rust, Python, TypeScript, JavaScript, C, Markdown, RST documentation
Callsedges show function call relationships- Semantic search across your codebase
- Note: Export formats (BibTeX, JSON, Markdown, DOT) are CLI-only
- Browser Integration — Holerabbit Firefox extension tracks browsing sessions:
- Automatic session grouping with navigation edges
- Pause/resume/rename sessions from app or extension
- Real-time sync between browser and Mycelica
- Leaf Reader — Full-screen reader for conversations (chat bubbles) and notes (markdown)
- Privacy Filtering — Showcase/normal modes for safe database exports
- Import — Claude conversations, Markdown files, OpenAIRE papers, Google Keep, source code
- OpenAIRE Integration — Query EU Open Research Graph with country/field/year filters, optional PDF download
- CLI & TUI — 21 command categories, interactive terminal UI, BibTeX/JSON/Markdown/DOT export
- Local-First — SQLite database stays on your machine
Download from Releases:
| Format | Install |
|---|---|
.deb |
sudo dpkg -i Mycelica_*.deb |
.rpm |
sudo rpm -i Mycelica-*.rpm |
.AppImage |
chmod +x Mycelica_*.AppImage && ./Mycelica_*.AppImage |
.tar.gz (CPU) |
tar -xzf mycelica-cli-*.tar.gz — CLI only |
.tar.gz (CUDA) |
tar -xzf mycelica-cli-cuda-*.tar.gz — CLI with GPU acceleration |
| Arch Linux | yay -S mycelica-bin — prebuilt, or yay -S mycelica — build from source |
# Prerequisites: Rust toolchain, Node.js 18+, platform build tools
git clone https://github.com/Ekats/Mycelica.git
cd Mycelica
npm install
npm run tauri dev # Development
npm run tauri build # ProductionSet via Settings panel or environment variables:
| Key | Required | Purpose |
|---|---|---|
ANTHROPIC_API_KEY |
Yes* | AI analysis (titles, summaries, tags), category naming |
*Or use Ollama as a local alternative (Settings → API Keys → toggle Claude/Ollama). Embeddings, clustering, and hierarchy structure are always local — no API needed for those.
Mycelica includes a headless CLI for scripting, automation, and server use.
cd src-tauri
# Install globally with CUDA (recommended, requires nightly)
cargo +nightly install --path . --bin mycelica-cli --features cuda --force
# Copy to sidecar location (required for GUI to spawn CLI)
cp ~/.cargo/bin/mycelica-cli binaries/mycelica-cli-x86_64-unknown-linux-gnu
# CPU-only build (no nightly required)
cargo build --release --bin mycelica-cliThe sidecar copy is required for GUI buttons like "Full Setup" and "Build Hierarchy" which spawn the CLI internally.
mycelica-cli tui # Interactive terminal UI
mycelica-cli search "query" # Global search
mycelica-cli import openaire -q "neural" --max 500
mycelica-cli setup # First-time wizard (for processing imports)
mycelica-cli export bibtex -o papers.bibmycelica-cli [OPTIONS] <COMMAND>
# Global options
--db <PATH> # Use specific database
--json # Output JSON for scripting
-q, --quiet # Suppress progress output
-v, --verbose # Detailed logging**Top-level:**
| Command | Description |
|---|---|
setup |
Interactive first-time setup wizard |
tui |
Interactive TUI mode |
search <query> |
Global search across all nodes |
db |
Database operations |
import |
Import data |
export |
Export data |
node |
Node operations |
hierarchy |
Hierarchy operations |
process |
AI processing |
embeddings |
Embedding operations |
privacy |
Privacy analysis |
paper |
Paper operations |
config |
Configuration |
recent |
Recent nodes |
pinned |
Pinned nodes |
nav |
Graph navigation |
maintenance |
Database maintenance |
completions |
Shell completions |
analyze |
Code analysis (call graph) |
code |
Code operations (show source) |
**Import subcommands:**
| Command | Description |
|---|---|
import openaire -q "..." |
Import from OpenAIRE |
import claude <file> |
Import Claude JSON |
import chatgpt <file> |
Import ChatGPT JSON |
import markdown <path> |
Import Markdown |
import keep <zip> |
Import Google Keep |
import code <path> |
Import source code (Rust, Python, TS, C) |
**Export subcommands:**
| Command | Description |
|---|---|
export bibtex -o file.bib |
BibTeX format |
export markdown -o file.md |
Markdown format |
export json -o file.json |
JSON format |
export graph -o file.dot |
DOT graph |
export subgraph <id> |
Export subtree |
OpenAIRE import options
| Option | Description |
|---|---|
-q, --query |
Search query (required) |
-c, --country |
Country code (EE, US, etc.) |
--fos |
Field of science |
--from-year |
Start year |
--to-year |
End year |
-m, --max |
Max papers [default: 100] |
--download-pdfs |
Download PDFs |
--max-pdf-size |
Max PDF MB [default: 20] |
# First-time setup wizard
mycelica-cli setup
# Interactive database picker
mycelica-cli db select
# Import papers from OpenAIRE
mycelica-cli import openaire --query "machine learning" --country EE --max 500
# Import with PDF download
mycelica-cli import openaire --query "neural" --download-pdfs --max-pdf-size 10
# Global search
mycelica-cli search "interoception" --limit 20
# Export as BibTeX
mycelica-cli export bibtex -o ~/papers.bib
# JSON output for scripting
mycelica-cli --json search "neural" | jq '.[].title'
# Launch TUI
mycelica-cli tui
# Generate shell completions
mycelica-cli completions bash >> ~/.bashrcInteractive terminal UI with 3-column layout:
mycelica-cli tuiLayout: Tree (50%) | Pins + Recents (25%) | Preview (25%)
**Hierarchy Navigation:**
| Key | Action |
|---|---|
j/k |
Navigate up/down |
Enter |
Enter cluster / open item |
Backspace / - |
Go up one level |
Tab |
Cycle panes |
/ |
Search mode |
g/G |
Jump to top/bottom |
r |
Reload |
q |
Quit |
**Leaf View:**
| Key | Action |
|---|---|
Tab |
Cycle: Content → Similar → Edges |
n/N |
Next/prev similar node |
e |
Edit mode |
v |
Open PDF externally |
o |
Open URL in browser |
Backspace |
Back to hierarchy |
**Edit Mode:**
| Key | Action |
|---|---|
| Arrow keys | Move cursor |
Ctrl+S |
Save |
Esc |
Cancel |
┌─────────────────────────────────────────┐
│ React Frontend │
│ TypeScript + D3 + Tailwind + Zustand │
└──────────────┬──────────────────────────┘
│ Tauri invoke()
┌──────────────▼──────────────────────────┐
│ Rust Backend │
│ Tauri 2 + Tokio + rusqlite │
│ HTTP server on localhost:9876 │
└──────────────┬──────────────────────────┘
│
┌──────────────▼──────────────────────────┐
│ SQLite Database │
│ Nodes + Edges + Embeddings + FTS5 │
└─────────────────────────────────────────┘
▲
│ HTTP (localhost:9876)
┌───────┴─────────────────────────────────┐
│ Holerabbit Firefox Extension │
│ Tracks browsing sessions │
└─────────────────────────────────────────┘
Universe (root)
└── Categories (dynamic depth)
└── Topics
└── Items (imported content)
- Universe — Single root node, always exists
- Categories/Topics — Groupings created by adaptive tree algorithm, named by AI
- Items — Importable content, click to open in full-screen reader
- Import — Claude conversations, Markdown, OpenAIRE papers, Google Keep, or source code
- AI Analysis — Generate titles, summaries, tags (code items skip this, keep function signatures)
- Embeddings — Generate vectors locally (all-MiniLM-L6-v2)
- Semantic Edges — Create "Related" edges between similar items
- Hierarchy Build — Adaptive tree creates categories from edge weights (includes AI naming)
- Similarity Index — Build HNSW index for fast nearest-neighbor lookups
- Call Graph — Extract function call relationships (code imports only)
For exact implementation steps, run mycelica-cli setup --help or see ALGORITHMS.md.
mycelica/
├── src/ # React frontend
│ ├── components/
│ │ ├── graph/ # D3 visualization
│ │ ├── leaf/ # Content reader
│ │ ├── sidebar/ # Quick access
│ │ ├── sessions/ # Browsing sessions panel
│ │ └── settings/ # Configuration
│ ├── stores/ # Zustand state
│ └── hooks/ # Data fetching
│
├── src-tauri/ # Rust backend
│ └── src/
│ ├── commands/ # Tauri command handlers
│ ├── db/ # SQLite layer
│ ├── code/ # Source code parsers (Rust, Python, TS, C)
│ ├── ai_client.rs # Anthropic/Ollama integration
│ ├── dendrogram.rs # Adaptive tree algorithm
│ ├── hierarchy.rs # Hierarchy utilities
│ ├── local_embeddings.rs # all-MiniLM-L6-v2
│ ├── http_server.rs # Browser extension API (port 9876)
│ └── holerabbit.rs # Browsing session tracking
| Environment | Path |
|---|---|
| Development | ./data/mycelica.db |
| macOS | ~/Library/Application Support/com.mycelica.app/ |
| Linux | ~/.local/share/com.mycelica.app/ |
| Windows | %APPDATA%\Mycelica\ |
Mycelica includes AI-powered privacy scanning:
- Normal mode — Filters health, relationships, financials, personal complaints
- Showcase mode — Strict filtering for demo databases (keeps only technical/philosophical content)
Export shareable databases with private content removed via Settings → Privacy → Export. (I suggest manual checking of nodes after filtering)
AGPL-3.0 — Copyleft. Derivatives must share source.
