10xScale Agentflow CLI turns an Agentflow CompiledGraph into a production-grade FastAPI service, plus a Typer-based command line to scaffold, run, build, test, and evaluate it. You write a graph, point agentflow.json at it, and agentflow api serves it over REST + WebSocket with authentication, rate limiting, media handling, checkpointer/thread management, and a memory store API.
This package (
10xscale-agentflow-cli) is the API server + CLI layer of the larger 10xScale Agentflow framework. The core orchestration engine βStateGraph,Agent,ToolNode, state, persistence, memory, and tools β lives in the separate10xscale-agentflowpackage. This CLI builds on top of it to expose your agent graphs as a deployable service.
- Core framework:
10xscale-agentflowΒ· source- This package (API + CLI):
10xscale-agentflow-cli- TypeScript client:
@10xscale/agentflow-client- Docs: agentflow.10xscale.ai
- π₯οΈ Professional CLI - Scaffold, run, build, test, and evaluate agents from one command line
- β‘ FastAPI Backend - Your compiled graph auto-served over REST + WebSocket, high-performance and async
- π Config-Driven - One
agentflow.jsonwires agent, auth, checkpointer, store, Redis, and rate limits - π Authentication - Built-in JWT auth, custom
BaseAuthbackends, and RBAC authorization - π¦ Rate Limiting - Sliding-window limits with memory, Redis, or custom backends
- π Distributed IDs - Snowflake ID generation for multi-node deployments
- π§΅ Thread Management - Conversation thread naming, listing, state, and message APIs
- πΌοΈ Multimodal & Media - File upload/download endpoints and media handling for multimodal agents
- ποΈ Realtime Audio Bridge - WebSocket endpoint for live audio-to-audio agents (Gemini Live)
- π³ Docker & Kubernetes Ready - Generate production Dockerfiles and compose files with one command
- π‘οΈ Production Hardening - Error/log sanitization, request size limits, security headers, startup validation
- π Dependency Injection - InjectQ for clean, testable dependency wiring
Basic installation:
pip install 10xscale-agentflow-cliOptional extras β install only what you configure:
pip install "10xscale-agentflow-cli[redis]" # Redis rate-limit / cache backend
pip install "10xscale-agentflow-cli[jwt]" # JWT authentication
pip install "10xscale-agentflow-cli[media]" # Document text extraction (multimodal)
pip install "10xscale-agentflow-cli[otel]" # OpenTelemetry tracing
pip install "10xscale-agentflow-cli[snowflakekit]" # Snowflake ID generationRequires Python β₯ 3.12. Depends on the core 10xscale-agentflow framework.
# 1. Scaffold a project (interactive: dev vs production, auth, rate limiting)
agentflow init
# 2. Start the dev API server (127.0.0.1:8000)
agentflow api
# 3. Or start the server and open the hosted playground
agentflow play
# 4. Generate production Docker files
agentflow build --docker-composeFor detailed command documentation, see the CLI Guide.
Initialize a new project with configuration and a sample graph.
agentflow init # interactive (chooses dev vs production setup)
agentflow init --path ./my-app # custom directory
agentflow init --force # overwrite existing filesStart the development API server.
agentflow api # defaults (127.0.0.1:8000)
agentflow api --host 127.0.0.1 --port 9000 # custom host/port
agentflow api --config production.json # custom config file
agentflow api --no-reload # disable auto-reload
agentflow api --verbose # verbose loggingStart the dev server and open the hosted playground with your local backend URL preconfigured.
agentflow play
agentflow play --host 127.0.0.1 --port 9000
agentflow play --config production.jsonGenerate production Docker files.
agentflow build # Dockerfile
agentflow build --docker-compose # Dockerfile + docker-compose.yml
agentflow build --python-version 3.12 --port 9000
agentflow build --forceRun agent evaluations (discovers *_eval.py / eval_*.py, writes HTML + JSON to eval_reports/) and project tests (pytest).
agentflow eval --parallel --threshold 0.8
agentflow test --coverageInstall bundled coding-agent skills (Codex, Claude, GitHub Copilot) into your project so your AI assistant knows how to build with Agentflow.
agentflow skills --all # install for every supported agent
agentflow skills --agent claude # install for one
agentflow skills --list # show supported agentsDisplay CLI and package version information.
agentflow versionThe configuration file (agentflow.json) defines your agent, authentication, and infrastructure settings:
{
"agent": "graph.react:app",
"env": ".env",
"auth": null,
"checkpointer": null,
"injectq": null,
"store": null,
"redis": null,
"thread_name_generator": null,
"rate_limit": {}
}| Field | Type | Description |
|---|---|---|
agent |
string | Path to your compiled agent graph, "module:attribute" (required) |
env |
string | Path to environment variables file |
auth |
null | "jwt" | object | Authentication configuration |
authorization |
string | null | Path to an AuthorizationBackend (RBAC / per-tool access) |
checkpointer |
string | null | Path to a custom checkpointer |
injectq |
string | null | Path to an InjectQ container |
store |
string | null | Path to a data store |
redis |
string | null | Redis connection URL |
rate_limit |
object | null | Sliding-window rate limiting configuration |
thread_name_generator |
string | null | Path to a custom thread name generator |
See the Configuration Guide for complete details.
Agentflow supports multiple authentication strategies. See the Authentication Guide for details.
agentflow.json:
{ "auth": "jwt" }.env:
JWT_SECRET_KEY=your-super-secret-key
JWT_ALGORITHM=HS256agentflow.json:
{ "auth": { "method": "custom", "path": "auth.custom:MyAuthBackend" } }auth/custom.py:
from agentflow_cli import BaseAuth
from fastapi import Response, HTTPException
from fastapi.security import HTTPAuthorizationCredentials
class MyAuthBackend(BaseAuth):
def authenticate(
self,
res: Response,
credential: HTTPAuthorizationCredentials,
) -> dict[str, any] | None:
token = credential.credentials
user = verify_token(token)
if not user:
raise HTTPException(401, "Invalid token")
return {"user_id": user.id, "username": user.username, "email": user.email}Agentflow includes Snowflake ID generation for distributed, time-sortable unique IDs.
pip install "10xscale-agentflow-cli[snowflakekit]"from agentflow_cli import SnowFlakeIdGenerator
generator = SnowFlakeIdGenerator(
snowflake_epoch=1704067200000, # Jan 1, 2024
snowflake_node_id=1,
snowflake_worker_id=1,
)
new_id = await generator.generate()Environment configuration:
SNOWFLAKE_EPOCH=1704067200000
SNOWFLAKE_NODE_ID=1
SNOWFLAKE_WORKER_ID=1
SNOWFLAKE_TIME_BITS=39
SNOWFLAKE_NODE_BITS=5
SNOWFLAKE_WORKER_BITS=8See the ID Generation Guide for more details.
Generate human-friendly names for conversation threads.
from agentflow_cli.src.app.utils.thread_name_generator import AIThreadNameGenerator
generator = AIThreadNameGenerator()
name = generator.generate_name()
# "thoughtful-dialogue", "exploring-ideas", ...See the Thread Name Generator Guide for custom implementations.
Agentflow CLI provides production-grade security features.
- β Authentication - JWT and custom authentication backends
- β Authorization - Resource-based access control with extensible backends
- β Request Limits - DoS protection with configurable size limits (default 10MB)
- β Error Sanitization - Production-safe error messages preventing information disclosure
- β Log Sanitization - Automatic redaction of sensitive data (tokens, passwords, secrets)
- β Security Warnings - Startup validation for insecure configurations
- β HTTPS Ready - SSL/TLS support with secure headers
MODE=production # production mode
JWT_SECRET_KEY=<32+ chars> # strong secret (secrets.token_urlsafe(32))
IS_DEBUG=false # disable debug
ORIGINS=https://yourdomain.com # specific CORS origins (never *)
ALLOWED_HOST=yourdomain.com # specific allowed hosts (never *)
DOCS_PATH= # recommended: disable API docs
REDOCS_PATH=
MAX_REQUEST_SIZE=10485760 # request size limit (10MB default)For deployment hardening and authentication patterns, see the Deployment Guide and Authentication Guide.
See the Deployment Guide for full instructions.
# Generate Docker files
agentflow build --docker-compose
# Build and run
docker compose up --build -d
# Check logs
docker compose logs -fCloud targets covered in the guide: AWS ECS, Google Cloud Run, Azure Container Instances, Kubernetes, and Heroku.
agentflow-cli/
βββ agentflow_cli/ # Main package
β βββ __init__.py # Package exports (BaseAuth, SnowFlakeIdGenerator, ThreadNameGenerator)
β βββ cli/ # Typer CLI: main.py + commands/ + templates/
β βββ src/app/ # FastAPI application (main.py, loader.py, core/, routers/, utils/)
βββ docs/ # Documentation
βββ tests/ # Test suite
βββ agentflow.json # Configuration
βββ pyproject.toml # Project metadata
βββ README.md # This file
# Clone and set up
git clone https://github.com/10xHub/agentflow-cli.git
cd agentflow-cli
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pre-commit install
# Quality gate
pytest # tests (coverage gate: 80%)
pytest --cov=agentflow_cli --cov-report=html
ruff check . && ruff format . # lint + format
pre-commit run --all-files # full gate (ruff + bandit, pinned versions)make build # build sdist + wheel
make test # run tests
make test-cov # run tests with coverage
make publish # upload to PyPI (maintainers)
make clean # remove build artifactsReleases are cut by pushing a version tag that matches pyproject.toml. The
release.yml workflow then verifies the tag, builds the
sdist + wheel, checks the distribution metadata, and creates a GitHub Release with auto-generated
notes and the artifacts attached. PyPI publishing is manual (make publish).
git tag v0.3.2.9 && git push origin v0.3.2.9MIT License - see LICENSE for details.
- Documentation - Full framework docs
- Core framework (
10xscale-agentflow) - The orchestration engine this CLI serves - This repository - Source code and issues
- PyPI Project - Package releases
- Local docs - CLI, configuration, deployment, auth, rate limiting, IDs, thread names
Contributions are welcome! Fork the repo, create a feature branch, run tests and linting, and open a Pull Request. See the repository for issue reporting and guidelines.
- Documentation: agentflow.10xscale.ai and local docs
- Issues: GitHub Issues
- Repository: GitHub
Developed by 10xScale and maintained by the community.
Made with β€οΈ for the AI agent development community