Compatibility Reference¶
Scope: standalone Python Runtime. For Desktop operations, see the Desktop guide.
This page follows pyproject.toml and the current CI configuration. The project is in the 0.x Beta series; read the Changelog and back up the workspace before upgrading.
Python and platforms¶
requires-python = ">=3.11". CI tests Python 3.11 and 3.12. Newer versions meet the installation constraint but are absent from the current CI matrix and package classifiers. Package metadata does not restrict operating systems. Verify channels, external commands, browsers, and optional dependencies in the target deployment environment; an untested platform or version has no documented support guarantee.
The Gateway uses aiohttp and the CLI uses argparse. Storage uses SQLite; there is no PostgreSQL backend. The default Gateway address is 127.0.0.1:58123 with the /api/v1 API prefix. No separate Prometheus HTTP port is enabled by default.
Required dependencies¶
This list is generated from project.dependencies in pyproject.toml. The installer resolves transitive dependencies.
| Package | Version constraint |
|---|---|
pydantic |
pydantic>=2.0 |
pydantic-settings |
pydantic-settings>=2.0 |
cryptography |
cryptography>=41.0 |
regex |
regex>=2024.11.6 |
pyyaml |
pyyaml>=6.0 |
loguru |
loguru>=0.7.2,<0.8 |
aiohttp |
aiohttp>=3.9 |
aiosqlite |
aiosqlite>=0.20 |
croniter |
croniter>=1.4 |
numpy |
numpy>=1.24 |
Pillow |
Pillow>=13.0.0,<14 |
huggingface-hub |
huggingface-hub>=0.20,<2.0 |
mmh3 |
mmh3>=4.1.0,<6.0.0 |
numpy |
numpy>=1.26; python_version == '3.12' |
numpy |
numpy>=2.1.0; python_version == '3.13' |
numpy |
numpy>=2.3.0; python_version >= '3.14' |
onnxruntime |
onnxruntime>=1.17.0,!=1.20.0,!=1.24.0,!=1.24.1; python_version < '3.13' |
onnxruntime |
onnxruntime>1.21.0,!=1.24.0,!=1.24.1; python_version == '3.13' |
onnxruntime |
onnxruntime>=1.24.2; python_version >= '3.14' |
py-rust-stemmers |
py-rust-stemmers>=0.1.0,<0.2 |
requests |
requests>=2.31,<3 |
tokenizers |
tokenizers>=0.15,<1.0 |
tqdm |
tqdm>=4.66,<5 |
questionary |
questionary>=2.0 |
prompt-toolkit |
prompt-toolkit>=3.0 |
httpx |
httpx>=0.23 |
rich |
rich>=13.5 |
Optional dependency groups¶
These names come from project.optional-dependencies in pyproject.toml. Install one with, for example, pip install "echo-agent[browser]". all is an explicitly listed set of common optional packages; do not assume it includes every group added in the future.
| Group | Installation |
|---|---|
openai |
pip install "echo-agent[openai]" |
anthropic |
pip install "echo-agent[anthropic]" |
bedrock |
pip install "echo-agent[bedrock]" |
gemini |
pip install "echo-agent[gemini]" |
allproviders |
pip install "echo-agent[allproviders]" |
vector |
pip install "echo-agent[vector]" |
container |
pip install "echo-agent[container]" |
process |
pip install "echo-agent[process]" |
fal |
pip install "echo-agent[fal]" |
weixin |
pip install "echo-agent[weixin]" |
browser |
pip install "echo-agent[browser]" |
otel |
pip install "echo-agent[otel]" |
tokenizers |
pip install "echo-agent[tokenizers]" |
documents |
pip install "echo-agent[documents]" |
tui |
pip install "echo-agent[tui]" |
all |
pip install "echo-agent[all]" |
dev |
pip install "echo-agent[dev]" |
docs |
pip install "echo-agent[docs]" |
skills |
pip install "echo-agent[skills]" |
Upgrades and data¶
SQLite schema migrations run automatically during connection initialization. echo-agent migrate only handles USER memory ownership and legacy MEMORY.*.md shards; it is not a database schema migration command. checkpoint restore does not restore databases, sessions, memory, or logs. For a cross-version rollback, stop the service and restore a full backup matching the target version. See upgrade and data migration.
Server qualification as of 2026-10-21¶
Production wheels contain the Dashboard, fallback page, bundled skills, and default config. Running an installed wheel needs no Node/pnpm, Rust/Tauri, or root client directory. Dashboard source builds use Node (24 LTS recommended) and pinned pnpm 10.34.5; CI covers pnpm 10/11. Existing Node 20 build compatibility does not imply upstream maintenance.
The Gemini extra now uses google-genai>=2.32,<3, verified with the real SDK and a controlled HTTP edge. Provider names, key/env precedence, and model configuration remain compatible. Native async streams close on cancellation; signed content survives tool turns; SDK automatic function execution is disabled. Inline data URLs are supported for images; arbitrary remote image URLs are not fetched. No real Google API call was performed.
FastEmbed is the bundled 0.9.0+echo.1 compatibility copy, with source/hash/license recorded in its VENDOR.md; the existing Pillow 13 compatibility patch is preserved. PyMuPDF is temporarily <2 after reproducing the 2.0 release metadata mismatch. cryptography is a core dependency for default credential encryption; regex supplies bounded matching.
MCP supports the implemented legacy revisions 2024-11-05, 2025-03-26, and 2025-06-18; the stateless 2026-07-28 model is not implemented. A2A remains an inbound legacy tasks/send/get/cancel subset, without a claim of A2A 1.x conformance. See the server review for evidence and upgrade decisions.