mirror of
https://github.com/akitaonrails/ai-memory.git
synced 2026-10-02 03:24:46 +08:00
Add a macOS menu bar companion that bundles and governs the server.
The accessory app ships the ai-memory binary and hooks tree, starts the existing LaunchAgent, and opens /web, status, config, and logs. Durable data stays in Application Support so replacing the .app is an update.
This commit is contained in:
+50
-2
@@ -1,13 +1,16 @@
|
||||
# Installation cookbook
|
||||
|
||||
The [README quick-start](../README.md#quick-start) covers the happy
|
||||
path (docker + Claude Code). This page covers everything else:
|
||||
paths (Docker + Claude Code, Arch AUR, macOS menu bar app). This page
|
||||
covers everything else:
|
||||
|
||||
- [Server on a different machine](#server-on-a-different-machine)
|
||||
(homelab, LAN box, remote server)
|
||||
- [Configuring the CLI URL and auth](#configuring-the-cli-url-and-auth)
|
||||
- [Arch Linux native packages (AUR)](#arch-linux-native-packages-aur)
|
||||
(systemd system service or user service)
|
||||
- [macOS menu bar app](#macos-menu-bar-app)
|
||||
(self-contained `.app` + LaunchAgent)
|
||||
- [Configuring other agent CLIs](#configuring-other-agent-clis)
|
||||
(Codex, Command Code, Devin CLI, OpenCode, OMP, Pi, Cursor, Claude Desktop, Gemini CLI, Antigravity CLI, Grok Build CLI, Zero, ZCode, Kimi Code, Kiro CLI, Pool, OpenClaw, VS Code Copilot, Zed)
|
||||
- [Installing hooks without docker](#installing-hooks-without-docker)
|
||||
@@ -714,6 +717,42 @@ AI_MEMORY_NATIVE_TEST_IMAGE=quay.io/toolbx/arch-toolbox:latest scripts/test-nati
|
||||
|
||||
---
|
||||
|
||||
## macOS menu bar app
|
||||
|
||||
On a Mac, the self-contained menu bar app is the GUI install: it bundles the
|
||||
native `ai-memory` binary and `hooks/` tree, governs the existing LaunchAgent
|
||||
(`com.github.akitaonrails.ai-memory`), and opens `/web`, `ai-memory status`,
|
||||
`config.toml`, the data directory, and logs. It does not replace those tools
|
||||
with a second dashboard.
|
||||
|
||||
Needs a Rust toolchain and Xcode / Swift 6 (the same as a source build):
|
||||
|
||||
```bash
|
||||
git clone https://github.com/akitaonrails/ai-memory
|
||||
cd ai-memory
|
||||
./companions/ai-memory-macos/build.sh
|
||||
open "companions/ai-memory-macos/dist/AI Memory.app"
|
||||
```
|
||||
|
||||
Drag **AI Memory.app** to `/Applications`, then **Install & Start Server**
|
||||
from the menu extra (no Dock icon). When the status item is green, wire an
|
||||
agent with the bundled binary so `install-hooks` finds the sibling `hooks/`
|
||||
tree:
|
||||
|
||||
```bash
|
||||
BIN="/Applications/AI Memory.app/Contents/Resources/runtime/ai-memory"
|
||||
"$BIN" install-mcp --client claude-code --apply
|
||||
"$BIN" install-hooks --agent claude-code --apply
|
||||
```
|
||||
|
||||
Durable memory stays in `~/Library/Application Support/ai-memory`. Replacing
|
||||
the `.app` is an update and does not rewrite that tree. Prebuilt tarball,
|
||||
source-build, Docker-wrapper, and hand-installed launchd paths remain in
|
||||
[`docs/macos.md`](macos.md). Companion source:
|
||||
[`companions/ai-memory-macos`](../companions/ai-memory-macos).
|
||||
|
||||
---
|
||||
|
||||
## Configuring other agent CLIs
|
||||
|
||||
> `install-mcp --server-url` accepts either the bare server origin or the full
|
||||
@@ -1543,7 +1582,9 @@ The `serve` subcommand also accepts:
|
||||
| _(config only)_ | `AI_MEMORY_HOOK_RATE_PER_SEC`, `AI_MEMORY_HOOK_RATE_BURST` | Optional per-actor/session hook ingest token bucket. Unset/`0` rate disables it; burst defaults to the rate (minimum one token when enabled). |
|
||||
|
||||
On macOS, see [`docs/macos.md`](macos.md); use the archive matching your
|
||||
architecture: `aarch64` for Apple Silicon, `x86_64` for Intel. On Windows, see
|
||||
architecture: `aarch64` for Apple Silicon, `x86_64` for Intel. The
|
||||
[menu bar app](#macos-menu-bar-app) is the self-contained GUI path (bundles
|
||||
the binary, starts the LaunchAgent, opens `/web` and status). On Windows, see
|
||||
[`docs/windows.md`](windows.md).
|
||||
The short version: run the install commands from the same environment that
|
||||
launches the agent. WSL2-launched agents need WSL paths and POSIX `.sh` hooks.
|
||||
@@ -2369,6 +2410,11 @@ unrelated Compose project just because its file occupies a conventional path;
|
||||
the wrapper instead writes the inspected standalone recreation script for
|
||||
review, preserving the existing `/data` mount and other runtime options.
|
||||
|
||||
The macOS menu bar app is not covered by `ai-memory upgrade`. Rebuild with
|
||||
`./companions/ai-memory-macos/build.sh` (or replace `/Applications/AI Memory.app`
|
||||
with a newer staged bundle). Wiki, SQLite, config, and models stay in
|
||||
`~/Library/Application Support/ai-memory`.
|
||||
|
||||
Set `AI_MEMORY_NO_VERSION_CHECK=1` to silence the daily check. To pin wrapper
|
||||
self-upgrades to a fork or tagged release, set `AI_MEMORY_WRAPPER_URL=<url>`;
|
||||
the wrapper requires `<url>.sha256` unless
|
||||
@@ -2412,6 +2458,8 @@ write to `~/.local/share/ai-memory/hooks/`.
|
||||
|
||||
## See also
|
||||
|
||||
- [`docs/macos.md`](macos.md) - macOS install paths: menu bar app, native
|
||||
release tarball, source build, Docker wrapper, and launchd
|
||||
- [`docs/deploy.md`](deploy.md) - homelab deploy walkthrough
|
||||
(`bin/deploy`, cloudflared TLS, env-file management)
|
||||
- [`docs/usage.md`](usage.md) - handoffs, proactive querying, web UI, slim
|
||||
|
||||
Reference in New Issue
Block a user