Zee is a unified CLI agent engine for life admin, investing, and learning. Semantic memory, tool orchestration, and multi-surface support across the TUI, daemon APIs, OpenBB Workspace, and messaging channels.
- Version: see
zee --version - Prebuilt targets: Linux x64, macOS x64/arm64, and Windows x64
- Other platforms: build from source
- Bun satisfying the package
engines.bunrange - OpenBB Platform API for investing workflows (
http://127.0.0.1:6900by default orZEE_OPENBB_API_URL) - API key for your model provider (Anthropic, OpenAI, Google, etc.)
npm install -g @adolago/zee
# or nightly builds
npm install -g @adolago/zee@nightlycurl -fsSL https://github.com/adolago/zee/main/install | ZEE_NPM_PACKAGE=@adolago/zee bash# Clone the repository
git clone https://github.com/adolago/zee.git
cd zee
# Install dependencies
bun install
# Build the native local binary and link the local launcher
cd packages/zee
bun run build
bun run verify:binaryFor investing workflows and the OpenBB copilot surface, point Zee at an OpenBB Platform API instance:
export ZEE_OPENBB_API_URL=http://127.0.0.1:6900
# optional if you use a custom launcher name/path
export ZEE_OPENBB_API_CMD=openbb-apiTo create a local finance workspace with local memory and OpenBB provider setup prompts:
zee onboard --profile dcm --openbb-mode remote --acquire-keysProvider keys can also be acquired one at a time:
zee auth acquire fred
zee auth acquire polygonZee reads JSONC config from ~/.config/zee/zee.jsonc or .zee/zee.jsonc.
Environment variables are used only for secrets and explicit path overrides.
For a step-by-step guide to local .env setup, OAuth flows, and live service dependencies, see docs/integrations/README.md.
Defaults follow XDG:
- Config:
~/.config/zee - Data:
~/.local/share/zee - Cache:
~/.cache/zee - State:
~/.local/state/zee - Workspace (default worktree):
~/.local/share/zee/worktree
To co-locate everything under a single state root, set ZEE_STATE_DIR.
This makes config/data/cache/logs/workspace resolve under that directory as config/, data/, cache/, logs/,
and workspace/.
To override only the workspace location, set ZEE_WORKSPACE_DIR.
Use zee paths to print the resolved locations.
Zee installs with local SQLite memory and local embeddings enabled. Package installation, zee setup, zee onboard, and zee daemon-install all prepare the local memory runtime.
Inspect or repair local memory:
zee memory status
zee memory prepare
export ANTHROPIC_API_KEY="..."
export OPENAI_API_KEY="..." # Optional if using `zee auth login openai`
export GEMINI_API_KEY="..." # Optional if using `zee auth login google`Optional: Google Antigravity (plugin-based OAuth):
zee auth login google-antigravityMemory embeddings are local-only by default.
Interactive TUI (attaches to a running daemon):
zee
zee --no-daemon # run without the daemon (local worker only)Ensure the daemon is running first (systemd service recommended for always-on messaging).
See docs/tui-vim-mode.md for Vim keybindings.
Daemon mode (gateway embedded):
zee daemon --hostname 127.0.0.1 --port 3210Remote client/server (explicit):
# On the server
zee daemon --hostname 0.0.0.0 --port 3210
# On the client machine
zee client http://server:3210
# or:
ZEE_URL=http://server:3210 zeeOpenBB Workspace copilot:
zee daemon --hostname 127.0.0.1 --port 3210Then configure OpenBB Workspace to use Zee at:
- agent metadata:
http://127.0.0.1:3210/openbb/agents.json - query endpoint:
http://127.0.0.1:3210/openbb/query - auth:
Authorization: Bearer $ZEE_SERVER_PASSWORDorX-Zee-Token: $ZEE_SERVER_PASSWORD
Gateway control plane helpers:
zee gateway status
zee gateway urlzee/
├── packages/zee/ # Main CLI/TUI/daemon
├── src/
│ ├── agent/ # Assistant profiles and wiring
│ ├── memory/ # Local SQLite memory with vector and FTS search
│ └── domain/ # Domain tools (zee/, learning/)
└── .agents/skills/ # Skills
Zee is the only active assistant. The engine still exposes domain toolsets under namespaces:
zee:*for life adminzee:invest-*for investingzee:learn-*for learning
- Memory: Local SQLite memory with local embeddings, vector search, and FTS keyword fallback
- Single Assistant Runtime: No assistant switching or delegation required
- Embedded Gateway: Zee messaging gateway launched and supervised by the daemon
The Zee gateway is always embedded and supervised by the daemon:
zee daemon --hostname 127.0.0.1 --port 3210For always-on messaging at boot, install the systemd service:
sudo ./scripts/systemd/install.sh --polkit --systemd-only
sudo systemctl enable zee
sudo systemctl start zeeThe install script will prompt for sudo if needed. With --polkit, you can run start/stop/restart and enable/disable without sudo:
systemctl restart zee
systemctl enable zeeThe systemd unit disables ProtectHome so the daemon can read/write projects in any directory under your home.
The --systemd-only flag writes daemon.systemd_only=true to enforce a systemd-only policy.
# Typecheck
bun run typecheck
# Core tests
cd packages/zee && bun test
# Build + verify binary
cd packages/zee && bun run build && bun run verify:binaryZee emits wide event JSONL logs for per-request diagnostics:
zee logs wide --lines 50
zee logs wide --where sessionId=session_123See CREDITS.md for upstream projects and forks.
See LICENSE.
{ "memory": { "backend": "sqlite", "embedding": { "provider": "local" }, "localIndex": { "enabled": true, "backend": "sqlite-fts", "degradedRead": "keyword_only" } }, }