Source: https://docs.any.org/quickstart/install.html # Install `any` is a single binary. It runs the server (`any run`) and is the CLI client for everything else. The checks on this page and the quickstarts after it use `curl` and `jq`. ## From a release tarball [Releases](https://github.com/anyproto/any/releases) ship one tarball per platform: | Artifact | Platform | | --- | --- | | `any--darwin-arm64.tar.gz` | macOS Apple Silicon | | `any--darwin-x86_64.tar.gz` | macOS Intel | | `any--linux-x86_64.tar.gz` | Linux | | `any--windows-x86_64.tar.gz` | Windows | | `any--darwin-{arm64,x86_64}-sandbox.tar.gz` | macOS, for App-Sandboxed host apps ([Builds and CI](https://docs.any.org/operations/builds-and-ci.md.txt)) | Each tarball contains: ``` any[.exe] # the server + CLI (built with the local embedder) llamacpp/ # prebuilt llama.cpp shared libs for the local embedder manifest.json # { version, os, arch, llamacpp_version, sha256: {path: hash} } ``` Extract it somewhere on your `PATH`, keeping `llamacpp/` next to the binary — the local embedder looks for it at `/llamacpp` by default. The embedding model itself (~600 MB) is not bundled; it downloads on first boot into `/models/` without blocking the server. ```bash mkdir -p "$HOME/.local/opt/any" "$HOME/.local/bin" tar -xzf any-*-linux-x86_64.tar.gz -C "$HOME/.local/opt/any" ln -s "$HOME/.local/opt/any/any" "$HOME/.local/bin/any" export PATH="$HOME/.local/bin:$PATH" # put this in your shell profile too any version ``` On macOS substitute your tarball's name; on Windows add the extracted directory to `PATH`. ## From source Requires Git, Go 1.26.2 or newer, and `make`. ```bash git clone https://github.com/anyproto/any cd any make build # → bin/any (also fetches bin/llamacpp) export PATH="$PWD/bin:$PATH" any version ``` Run the `PATH` line in every terminal you use below, or put the repo's `bin` on `PATH` in your shell profile: the `any` commands then run the binary you just built, with `bin/llamacpp` next to it where the local embedder looks. Otherwise a bare `any` fails or runs an older install. If the llama.cpp download fails, `make llamacpp` retries it. On NixOS (or any system without `libffi.so.8` on the loader path) run both the build and the binary through the repo's dev shell: `nix develop -c make build`, `nix develop -c any run`. ## With go install ```bash go install github.com/anyproto/any/cmd/any@latest ``` This binary has full-text search and can do vector search, but it has no local embedder: `index.embedder: local` fails at boot, and the default `auto` embeds only once `index.openai.baseUrl` / `apiKey` name an OpenAI-compatible provider — indexed text and search queries then go to that API. Until then the index is full-text only. For the local embedder, install with its build tag: ```bash go install -tags llamacpp github.com/anyproto/any/cmd/any@latest ``` That binary needs a loadable `libffi.so.8` on Linux at startup, and the llama.cpp shared libraries of the release pinned in `internal/indexer/llamacpp_release.go`, either in `llamacpp/` next to the binary or at `index.local.libDir`. A release tarball or `make build` ships both ready to use ([Builds and CI](https://docs.any.org/operations/builds-and-ci.md.txt)). ## Choose the data root and the network Everything below runs in a dedicated data root with the local embedder, so an experiment never touches `~/.any/` and never sends text to an online embedding provider: ```bash export ANY_DATA_DIR="$HOME/.any-demo" export ANY_INDEX_EMBEDDER=local ``` Environment variables override the config file and flags override both ([Configuration](https://docs.any.org/operations/configuration.md.txt)). `local` runs llama.cpp on this device; the ~600 MB model downloads into `$ANY_DATA_DIR/models/` on first boot and the object API serves while it does. `none` keeps full-text search and skips the model. An agent's LLM provider is a separate setting on the `anyrt` side ([Embedders](https://docs.any.org/search/embedders.md.txt)). > **Note.** With nothing configured the server syncs against the **production** any-sync network under the account you are about to create. For a throwaway environment set `ANY_NETWORK_NODECONF_PATH` before `any init`, and keep one data root per network — see [Networks](https://docs.any.org/quickstart/networks.md.txt). ## Create an account Same terminal, same exports: ```bash any init ``` The recovery phrase prints to stderr, once, between two rules; stdout carries the result: ```json { "accountId": "A8tR…", "created": true } ``` The wallet lands at `$ANY_DATA_DIR//wallet.key` — plain JSON unless `ANY_WALLET_PASSKEY` is set ([Security model](https://docs.any.org/operations/security-model.md.txt)). A second `any init` on the same data dir changes nothing and lists the accounts it holds (`--new` adds another). The mnemonic is the only way to restore the account on another device; there is no server-side recovery ([Encryption](https://docs.any.org/understanding/encryption.md.txt)). To add a second device later: ```bash any init --mnemonic-stdin < phrase.txt # same account id, fresh device key ``` ## Start the server ```bash any run ``` ``` LISTENING 127.0.0.1:7001 ``` Leave it in the foreground; it stops on Ctrl-C, or on `any stop --data-dir "$HOME/.any-demo"` from a terminal without the exports. In a second terminal: ```bash any status curl -fsS http://127.0.0.1:7001/v1/auth | jq -e '.authorized == true' ``` ```json { "status": "ok", "version": "any v0.1.2 (commit 1a2b3c4, built 2026-09-09T10:00:00Z)", "startedAt": "2026-09-10T08:00:00Z", "networkId": "N83gJpVd9MuNRZAuJLZ7LiMntTThhPc6DtzWWVjb1M3PouVU", "account": "A8tR…", "bootstrapping": false, "crdtVersion": { "supported": 2, "stored": 2, "newer": false } } ``` The server serves as soon as it prints `LISTENING`; `bootstrapping` flips to `false` once the background space-loading pass finishes. The auth check prints `true`; `false` means `init` and `run` saw different data roots — a fresh root boots unauthorized until an account is created or selected ([Accounts](https://docs.any.org/auth/accounts.md.txt)). ## Where things live | Path | What | | --- | --- | | `~/.any/` | Default data root (`--data-dir` / `ANY_DATA_DIR`); this page uses `~/.any-demo/`. | | `//` | This account's wallet, instance lock, databases, files, search index. | | `/models/` | Downloaded embedding models. | | `~/.config/any/config.yaml` | Optional config; also `/config.yaml` ([Configuration](https://docs.any.org/operations/configuration.md.txt)). | | `http://127.0.0.1:7001` | The API (`--addr` / `ANY_LISTEN_ADDR`; loopback only). | | `http://127.0.0.1:7001/ui` | Built-in debug web UI. | Next: [curl](https://docs.any.org/quickstart/curl.md.txt) or [CLI](https://docs.any.org/quickstart/cli.md.txt).