Skip to main content

anygarden (server)

Multi-agent chat server built with FastAPI, SQLite, and WebSocket. Published as the anygarden distribution; run it through the unified anygarden CLI.

Quick Start

# Install the server stack (the bare `anygarden` core is just the CLI
# dispatcher; the FastAPI/SQLAlchemy stack lives in the [server] extra).
pip install "anygarden[server]"

anygarden server init   # create ~/.anygarden/ and generate config
anygarden server        # start the server

# Run without installing:
uvx --from "anygarden[server]" anygarden server

The legacy anygarden-server command is deprecated — it prints a warning and forwards to anygarden server.

Other components share the same dispatcher:

pip install "anygarden[machine]" && anygarden machine run
pip install "anygarden[agent]"   && anygarden agent \
  --engine codex-cli \
  --name demo-agent \
  --server ws://localhost:8000 \
  --room demo
pip install "anygarden[agent]"   && anygarden client --server ws://localhost:8000 --user me --room room1

CLI Option Reference

anygarden --help
anygarden server --help
anygarden agent --help
anygarden client --help
anygarden machine --help

anygarden server

  • --host : 바인딩 주소 (기본 127.0.0.1)
  • --port : 바인딩 포트 (기본 8000)
  • --db : DB URL 오버라이드
  • --config : ANYGARDEN_* .env 경로 (미지정 시 존재하는 ~/.anygarden/config.env 자동 사용)
  • --log-level : DEBUG|INFO|WARNING|ERROR

anygarden machine / agent / client

anygarden machine 서브커맨드는 뒤따르는 머신 데몬 CLI(anygarden.machine.cli) 명령/인수(예: run, run --config PATH)를 그대로 전달합니다. 별도의 -- 구분자는 필요하지 않습니다.

  • anygarden agent는 에이전트 런타임(anygarden.agent.cli)의 --engine, --name, --server, --room, --token을 그대로 사용합니다. 자세한 옵션은 docs/agent/README.md를 참고하세요.
  • anygarden client는 같은 모듈의 텍스트 클라이언트로 --server, --user, --room, --token을 그대로 사용합니다.
# 서버 구동
anygarden server init   # ~/.anygarden/ 생성 및 config 생성
anygarden server

# 머신 데몬
anygarden machine run   # 머신 데몬 CLI의 run 명령 실행 (anygarden[machine] 필요)
anygarden machine run --data-dir ~/.anygarden/remote-machines/<id>   # 노드가 도는 컴퓨터에서 다른 서버의 머신을 겸할 때 (상태 폴더 분리)

# 에이전트/클라이언트
anygarden agent --engine codex-cli --name PM \
  --server ws://localhost:8000 --room sprint-01
anygarden client --server ws://localhost:8000 \
  --user engineer --room sprint-01

Development

From the repository root, make setup installs the workspace with every extra and enables the git hooks. Then run the tests from this directory:

cd packages/cluster
uv run pytest -n logical    # server, machine (tests/machine) and agent (tests/agent)

The Pi harness tests skip unless Node.js is on PATH; CI runs them.

Environment

All ANYGARDEN_* variables are optional — the cluster auto-persists runtime secrets in ~/.anygarden/ on first boot. See .env.example at the repo root for the full list. Highlights:

  • ANYGARDEN_JWT_SECRET — session token signing key. Auto-generated at ~/.anygarden/jwt_secret if unset.
  • ANYGARDEN_MCP_SECRETS_KEY — Fernet key for encrypting MCP credentials (GitHub PATs, Linear keys, etc.) at rest in the DB. Auto-generated at ~/.anygarden/mcp_secrets_key if unset so attached MCP instances survive restarts. Generate your own with:
    python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
    
    Losing this key invalidates all stored MCP credentials — they must be re-entered via the admin UI.
  • ANYGARDEN_DEV=1 enables dev-mode conveniences (ephemeral MCP key fallback when persistence fails). Production must leave this unset so misconfigurations fail loudly at boot.
  • ANYGARDEN_UPDATE_CHECK_INTERVAL_HOURS — how often the server checks PyPI for a newer anygarden release in the background (default 24; first check ~60s after startup). Set 0 to disable the outbound call entirely, e.g. for air-gapped installs.

Metadata

Release files for anygarden 0.21.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for anygarden 0.21.0
File Size Uploaded Provenance Actions
anygarden-0.21.0.tar.gz 2.8 MB With provenance Details for anygarden-0.21.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for anygarden 0.21.0
File Interpreter ABI Platform Actions
anygarden-0.21.0-py3-none-any.whl Python 3 none any Details for anygarden-0.21.0-py3-none-any.whl

Total release size: 4.6 MB

Release files / anygarden-0.21.0.tar.gz

Download URL anygarden-0.21.0.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
670995fa5ad729e8618137055c7ad2ba772d3280863fac8c6f2ae3aba771de87
BLAKE2b-256 checksum
How to use checksums
2db4ad0a4f9afd42f0fb1b114e5d5420325ff2b541cf058b9c480d4bcb4cfdb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / anygarden-0.21.0-py3-none-any.whl

Download URL anygarden-0.21.0-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3ef757085b92a10364df5387bc34d6ea3a9524cb72d588d5a13a632c69b8c5bd
BLAKE2b-256 checksum
How to use checksums
e01280024b23146d9dc56d95dbd1ecb234e182aeff0edb5b14ffbbfe65f87932
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Security for anygarden 0.21.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for anygarden-0.21.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page