You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ship mycelium as a native standalone application that a non-tech user can install with a single double-click and update like any other modern app. Cross-platform: macOS, Windows, Linux.
End-state: one installer file per platform (.pkg / .msi / .AppImage), no Docker dependency, no separate Ollama install, auto-update built in. Feels like a real application — Tray icon, Auto-start, Settings UI, lifecycle managed.
Installer format decision (2026-05-04): macOS ships as .pkg (signed + notarized), not.dmg. Reed wants to skip the drag-to-Applications ritual; .pkg is Apple's native installer-wizard format and plays cleaner with Sparkle auto-update + first-launch bootstrap. A Python-based installer was considered and rejected — macOS Sequoia removed system Python and Windows has none, so any Python installer would need a bundled runtime, which just shifts the bootstrap problem one layer deeper. Python stays inside the app as the first-launch setup wizard (init Postgres data-dir, pull llama.cpp models, run migrations) — that's a separate concern from the installer artifact.
Why
Docker Desktop is the single biggest install-time barrier today (~1.5 GB download, Apple-ID prompt, reboot, "Allow Privileged Helper"). Reed's pitch is "your AI — local, sovereign, no cloud", but every prospective user from outside the dev community bounces during the Docker step. The 300k-member FB group is interested; the install flow is the bottleneck.
Architecture (Path A)
Component
Today (Docker)
Native target
Postgres + pgvector
Docker container
Subprocess via @embedded-postgres-binaries/* (npm) — pattern: Postgres.app
Embedding (nomic-embed-text)
Ollama HTTP @ 11434
llama.cpp direct call (node-llama-cpp), model bundled
Sub-tasks (each ships as its own PR; ordered by dependency)
Spike 1: native Postgres subprocess — start/stop/upgrade lifecycle, run all existing migrations, all 920 tests still green. macOS first to validate the approach.
Spike 2: node-llama-cpp bridge — replace Ollama HTTP calls with direct llama.cpp embedding + chat. Same API surface (services/embeddings.ts).
Spike 1 + 2 (validation): 2–4 days of focused tick work. Answers "is Path A even feasible at the runtime level?"
Tauri shell + macOS first: 1 week after spikes confirm.
Cross-platform: another 1–2 weeks (CI matrix, signing, per-platform issues).
Auto-update infra: separate week (release pipeline + first staged rollout).
So: ~3–4 weeks end to end at tick pace, NOT a single evening (this overrides Reed's "heute Abend fertig" — that estimate is off by an order of magnitude). What CAN realistically ship tonight is Spike 1 fully validated if the tick focuses on it.
Pillar check
Pillar 1 (no cloud dependency): strengthened — moves from "needs Docker daemon" to "fully embedded".
Pillar 6 (security): data dir moves to OS-native, can be encrypted via OS keystore in v2.
No pillar weakened.
Out of scope
iOS/Android — separate roadmap.
Cloud-hosted variant (Path C) — explicitly rejected per the swarm sovereignty thesis.
Replacing Postgres entirely with SQLite — possible later optimization; for now keep schema/migrations identical so we can dual-build during transition.
Goal
Ship mycelium as a native standalone application that a non-tech user can install with a single double-click and update like any other modern app. Cross-platform: macOS, Windows, Linux.
End-state: one installer file per platform (
.pkg/.msi/.AppImage), no Docker dependency, no separate Ollama install, auto-update built in. Feels like a real application — Tray icon, Auto-start, Settings UI, lifecycle managed.Why
Docker Desktop is the single biggest install-time barrier today (~1.5 GB download, Apple-ID prompt, reboot, "Allow Privileged Helper"). Reed's pitch is "your AI — local, sovereign, no cloud", but every prospective user from outside the dev community bounces during the Docker step. The 300k-member FB group is interested; the install flow is the bottleneck.
Architecture (Path A)
@embedded-postgres-binaries/*(npm) — pattern: Postgres.appnomic-embed-text)llama.cppdirect call (node-llama-cpp), model bundledqwen3:8b, REM)llama.cppdirect call, GGUF bundledpkg)bash scripts/update.sh~/vectormemory-openclaw/docker/volumes/~/Library/Application Support/mycelium/,%APPDATA%\mycelium\,~/.local/share/mycelium/Sub-tasks (each ships as its own PR; ordered by dependency)
node-llama-cppbridge — replace Ollama HTTP calls with direct llama.cpp embedding + chat. Same API surface (services/embeddings.ts)..pkg), MSIX update (Win), AppImage zsync (Linux). Single GitHub release publishes all three artifacts.~/vectormemory-openclawdata,pg_dump→ restore into embedded PG..pkg/.msi/.AppImage), sign + notarize macOS, sign Windows.Realistic timeline
So: ~3–4 weeks end to end at tick pace, NOT a single evening (this overrides Reed's "heute Abend fertig" — that estimate is off by an order of magnitude). What CAN realistically ship tonight is Spike 1 fully validated if the tick focuses on it.
Pillar check
Out of scope
🤖 Generated with Claude Code