Getting Started
Requirements
Section titled “Requirements”- Git
- Node.js and npm
- Python 3.11+ recommended, with
pip - Optional agent CLIs:
codex,opencode,claude,hermes,athena-code - Optional Hermes Agent install for real shared memory integration
The desktop app can open without every agent CLI installed. Missing adapters appear as unavailable, and related launch commands may fail inside the terminal until the CLI is installed and available on PATH.
Quick start
Section titled “Quick start”git clone https://github.com/luckeyfaraday/Athena.gitcd Athenapython3 -m venv .venvsource .venv/bin/activatepip install -r backend/requirements.txtcd clientnpm installnpm run devOn Windows, activate the virtual environment with .venv\Scripts\activate before running pip install -r backend/requirements.txt.
npm run dev does four things:
- Builds the Electron TypeScript entry points.
- Starts Vite on
127.0.0.1. - Launches Electron.
- Electron starts the FastAPI backend on a free localhost port.
Full setup (backend + tests)
Section titled “Full setup (backend + tests)”If you cloned the repository already, install the client dependencies from client/:
cd clientnpm installcd ..Install backend dependencies from the repository root:
python3 -m venv .venvsource .venv/bin/activatepip install -r backend/requirements.txtpip install pytest # for the test suiteIf your preferred Python is not python3, point Electron at it:
export CONTEXT_WORKSPACE_PYTHON=/absolute/path/to/pythonProduction builds
Section titled “Production builds”cd clientnpm run build # production buildnpm run dist # build an AppImage on Linuxnpm start # launch a previously built Electron appRunning the backend directly
Section titled “Running the backend directly”From the repository root:
python3 -m uvicorn backend.app:app --host 127.0.0.1 --port 8000Useful endpoints:
GET /healthGET /hermes/statusGET /hermes/recall/statusPOST /hermes/recall/refreshPOST /hermes/recall/writePOST /hermes/recall/mark-usedGET /memory/hermes?q=<query>GET /memory/recent?limit=10POST /memory/storePOST /memory/deleteGET /agents/adaptersGET /agents/sessionsGET /agents/sessions/{provider}/{session_id}/transcriptPOST /agents/spawnGET /agents/runsTesting
Section titled “Testing”Run the backend test suite from the repository root, and the client build check from client/:
pytestcd client && npm run buildThe tests use fake CLI agent fixtures, so execution flow can be verified without hosted models or external agent tools.