mirror of
https://github.com/hanzoai/agent.git
synced 2026-09-11 21:08:51 +00:00
Consolidate all Hanzo agent infrastructure into one repo: - control-plane/: Go control plane server (was agents-new) - sdk/: Go, Python, TypeScript SDKs - deployments/: Docker, Kubernetes, Helm configs - Dockerfile.sdk: Python SDK image (ghcr.io/hanzoai/agent:latest) - CI builds both SDK + control-plane images No more agentfield — everything is hanzoai/agent.
Helm (Kubernetes)
This chart installs the Hanzo Agents control plane and optional demo agents.
Quick start (recommended)
Install with PostgreSQL and the demo Python agent (no custom image required):
helm upgrade --install hanzo-agents deployments/helm/hanzo-agents \
-n hanzo-agents --create-namespace \
--set postgres.enabled=true \
--set controlPlane.storage.mode=postgres \
--set demoPythonAgent.enabled=true
Port-forward the UI/API:
kubectl -n hanzo-agents port-forward svc/hanzo-agents-control-plane 8080:8080
Wait for the demo agent to become ready (first run installs Python deps):
kubectl -n hanzo-agents wait --for=condition=Ready pod -l app.kubernetes.io/component=demo-python-agent --timeout=600s
Open:
http://localhost:8080/ui/
Execute via the control plane:
curl -X POST http://localhost:8080/api/v1/execute/demo-python-agent.hello \
-H "Content-Type: application/json" \
-d '{"input":{"name":"World"}}'
Check VCs:
resp=$(curl -s -X POST http://localhost:8080/api/v1/execute/demo-python-agent.hello \
-H "Content-Type: application/json" \
-d '{"input":{"name":"VC"}}')
run_id=$(echo "$resp" | python3 -c 'import sys,json; print(json.load(sys.stdin)["run_id"])')
curl -s http://localhost:8080/api/v1/did/workflow/$run_id/vc-chain | head -c 1200
Options
Local storage (SQLite/BoltDB)
helm upgrade --install hanzo-agents deployments/helm/hanzo-agents \
-n hanzo-agents --create-namespace \
--set controlPlane.storage.mode=local
Go demo agent (requires a custom image)
The Go demo agent is useful, but you must build/push/load an image that your cluster can pull.
For Minikube, build and load the default image used by the chart:
docker build -t hanzo-agents-demo-go-agent:local -f deployments/docker/Dockerfile.demo-go-agent .
minikube image load hanzo-agents-demo-go-agent:local
helm upgrade --install hanzo-agents deployments/helm/hanzo-agents \
-n hanzo-agents --create-namespace \
--set demoAgent.enabled=true
Authentication (optional)
helm upgrade --install hanzo-agents deployments/helm/hanzo-agents \
-n hanzo-agents --create-namespace \
--set apiAuth.enabled=true \
--set apiAuth.apiKey='change-me'
When auth is enabled, API calls must include the key (UI remains accessible):
curl -H "X-API-Key: change-me" http://localhost:8080/api/v1/nodes
Notes
- The chart defaults
HANZO_AGENTS_CONFIG_FILE=/dev/nullso the control plane uses built-in defaults + environment variables. - Admin gRPC listens on
(HANZO_AGENTS_PORT + 100)and is exposed via the Service port namedgrpc.