Docs›Install and run

Configuration

Settings, where the app keeps its data, and resetting the password. Back to the README.

Everything is optional. Set these in the environment (or in .env for Docker Compose, or in ~/.config/hydor.env for the service and the desktop apps; on Windows %USERPROFILE%\.config\hydor.env):

VariableDefaultWhat it does
HOST127.0.0.1 (0.0.0.0 in Docker)Address to listen on
PORT8790Port to listen on
DATA_DIR~/.hydor (~/.web-agent where an older install made it)The app's own data (see below)
DEFAULT_CWDyour home folder (/workspace in Docker)Folder new sessions start in
ALLOWED_ORIGINSnoneExtra addresses the app is opened at, comma-separated, when a proxy changes the Host header
IDLE_STOP_HOURS3Stop an agent process after this long without activity (0: never). History is kept, and it resumes on the next message
UPLOAD_KEEP_DAYS14Delete the app's copies of attachments after this many days
UPLOAD_MAX_MB2048And keep at most this much of them, oldest deleted first
CLAUDE_BIN~/.local/bin/claude, else claudeThe Claude Code executable. One named here is used as it is: the app does not update it
CODEX_BINthe Codex installed with the appThe Codex executable. One named here is used as it is: the app does not update it
DISABLE_AUTOUPDATERunset (1 in Docker)Claude Code's own: 1 turns its updates off, and the app's daily update then leaves your Claude Code alone too (Update now in Settings → Accounts → Agent programs still updates it)
CLAUDE_CONFIG_DIR~/.claudeWhere Claude Code keeps its data
CODEX_HOME~/.codexWhere Codex keeps its data
HYDOR_EMBED_DEVICEthe GPU with the most free memory, else cpuWhere memory's search by meaning runs (cpu, cuda:1…); Settings → Memory can also keep it on the CPU
HYDOR_EMBED_THREADShalf the CPU's cores, at most 4Threads it uses on the CPU
HYDOR_EMBED_PYTHONa private environment the app sets upA Python with PyTorch and Transformers 5.6+ to run it with instead
HYDOR_FFMPEG, HYDOR_FFPROBEffmpeg, ffprobe on the PATHThe ffmpeg programs the Library takes videos' frames and stills and sounds' lengths and shapes with, and voice samples are read with
HYDOR_UPDATE_FEEDthe newest GitHub release's hydor-mac.json, hydor-windows.json or hydor-linux.jsonWhere a desktop app looks for new versions

What it stores#

In DATA_DIR: the password hash (auth.json), the session index and search database (hydor.db; naget-agent.db or web-agent.db in older installs), the agents' programs the app installed (clients/), logs of running agents (runs/), attachments waiting to be sent (uploads/), files deleted in the file browser (trash/), the Library's images, videos and sounds with their stills and frames (media/), notebook kernels and the terminal server, and, once search by meaning is turned on in Settings → Memory, its private Python environment (memory/venv). Its model goes to Hugging Face's cache (~/.cache/huggingface, or memory/hf in Docker). Conversations themselves stay where the agents write them (~/.claude/projects, ~/.codex/sessions); the app only reads them.

Password#

Change it in Settings → Password. If you forget it:

bash
node dist/server/cli.js set-password                                        # without Docker
docker compose exec -it hydor node dist/server/cli.js set-password  # with Docker

Either way, every browser is signed out, and addresses paused after ten wrong passwords can sign in again.

Change this page on GitHub · the app's Help shows the same text