Standalone Installer Guide (Zero-Prerequisites / Zero-Docker)
Neural Memory provides an enterprise-ready, standalone Drag-and-Drop macOS DMG Installer designed to run on any MacBook running macOS 13 (Ventura) or later, requiring no Docker, no Python, no Homebrew, and no terminal commands.
1. Quick Installation for End Users
- Download / Obtain the Installer:
- File:
NeuralMemoryAgent-0.2.0-Installer.dmg(approx. 112 MB). - Mount the Disk Image:
- Double-click
NeuralMemoryAgent-0.2.0-Installer.dmg. - A window will appear showing
NeuralMemoryAgent.appand a shortcut to/Applications. - Install:
- Drag
NeuralMemoryAgent.appinto the Applications folder. - Launch:
- Open Applications -> NeuralMemoryAgent.
- First launch notice: If macOS Gatekeeper presents an unidentified developer warning, right-click (or Control-click)
NeuralMemoryAgent.appand choose Open, then click Open in the confirmation dialog. - Ready to Go!:
- The app icon will appear in your macOS menu bar (top-right).
- An embedded background daemon starts automatically in under 0.2 seconds.
- A private local database is initialized at:
~/Library/Application Support/NeuralMemory/memory.db.
2. Interactive Permissions Setup Wizard
On first launch, Neural Memory automatically presents the Interactive Setup Wizard to guide you through granting the necessary macOS entitlements with visual cues:
- Accessibility (Active App & Window Identification):
- Click Open System Settings > Accessibility directly from the wizard.
- Toggle the switch next to NeuralMemoryAgent to the ON position.
- The wizard detects authorization in real-time (
AXIsProcessTrusted()), displays a green checkmark, and advances.
- Screen Recording (Visual Context):
- Used strictly for local perceptual image hashing to anchor decisions to visible documents.
- You can authorize or click Skip Step if you only want text and window monitoring.
[!NOTE] All capture starts in Disabled / Paused state by default. Neural Memory never captures any screen or text without your explicit consent. You can reopen the setup wizard at any time from Settings > Permissions > Reopen Visual Setup Wizard...
3. How Standalone Mode Works Under the Hood
When you run NeuralMemoryAgent.app without Docker installed:
- Embedded Child Daemon:
The native Swift application bundles a compiled Mach-O universal binary (
neural-memory-daemon) compiled with PyInstaller.EmbeddedDaemonManager.swiftstarts this daemon automatically as a background child process listening onhttp://127.0.0.1:8765. - Embedded SQLite Property Graph Engine:
Instead of requiring a heavy Neo4j JVM cluster, the daemon automatically activates
use_embedded = True, routing all knowledge graph operations to a high-speed SQLite database in WAL (Write-Ahead Logging) mode. - Zero-Configuration Token Management:
The daemon generates a secure 256-bit token saved at
~/Library/Application Support/NeuralMemory/token.txt. The Swift client automatically detects and uses this token to authenticate all requests. - Clean Termination:
When you quit Neural Memory from the menu bar or dock,
EmbeddedDaemonManagercleanly sendsSIGTERMto the daemon, ensuring zero orphan processes remain.
4. Building the Installer from Source (make package)
If you are a developer compiling the release DMG from the source repository:
Prerequisites
- macOS 13+ with Xcode Command Line Tools (
xcode-select --install). - Python 3.11+ with PyInstaller 6.x installed in
server/.venv.
Build Command
What make package Executes
- Cleans the
dist/directory. - Compiles the native Swift UI in Release configuration (
swift build -c release). - Compiles the standalone Python daemon Mach-O binary using PyInstaller:
- Generates standard macOS multi-resolution ICNS icon (
AppIcon.icns). - Assembles
dist/NeuralMemoryAgent.appbundle and signs with ad-hoc signature (codesign -s -). - Creates the compressed disk image
dist/NeuralMemoryAgent-0.2.0-Installer.dmgwithhdiutil.
5. Simulating a Clean MacBook (make verify-clean)
To verify that the application operates properly on a virgin MacBook with no developer tools or Docker installed:
The script performs the following automated tests:
1. Shuts down Docker Compose completely (docker compose down).
2. Isolates the shell environment with a minimal system PATH (/usr/bin:/bin:/usr/sbin:/sbin), stripping any Homebrew or Conda binaries.
3. Executes the standalone daemon Mach-O binary.
4. Verifies http://127.0.0.1:8795/health responds with {"status":"ok"}.
5. Verifies /api/config reports "storage_mode": "embedded_sqlite".
6. Sends an authenticated test activity event (/api/ingest/event).
7. Queries the graph structure (/api/graph/data).
8. Verifies the physical creation of ~/Library/Application Support/NeuralMemory/memory.db.
9. Terminates the process cleanly.
6. Logs & Troubleshooting
| Purpose | File Location |
|---|---|
| Daemon Console & Error Log | ~/Library/Logs/NeuralMemoryAgent/daemon.log |
| Embedded Graph Database | ~/Library/Application Support/NeuralMemory/memory.db |
| Authentication Token | ~/Library/Application Support/NeuralMemory/token.txt |
Common Issues
- Daemon fails to bind to port 8765:
- Another service or container is using port 8765. Run
lsof -i :8765to find the process ID. - If Docker is running, Neural Memory will automatically connect to it instead of starting the embedded daemon.
- Connection status shows "Daemon unreachable":
- Check
~/Library/Logs/NeuralMemoryAgent/daemon.logfor error messages. - Open Settings -> Server tab and click Test Connection.
- Resetting Database:
- To wipe local memory and start fresh: