The Problem
Modern AI agents need the same production guarantees as traditional services—routing, observability, auditability, and identity—yet most teams are left wiring ad‑hoc scripts together. The lack of a reusable control plane forces engineers to re‑implement orchestration, security, and scaling for each new agent.
What This Does
agentfield supplies a self‑contained control plane written in Go that turns any Python, Go, or TypeScript agent into a first‑class API. The core server lives in control-plane/cmd/agentfield-server/main.go; the CLI wrapper (control-plane/cmd/af/main.go) provides dev‑time commands such as install, run, and doctor. Configuration is driven by YAML files (control-plane/agentfield.yaml, control-plane/config/agentfield.yaml) and environment variables loaded from .env.example (copied to .env.dev for local work).
Docker support is baked in (control-plane/docker-compose.dev.yml and the docker.yml GitHub Action) so the entire stack—control plane, optional databases, and side‑car services—can be launched with a single compose command. The repository also ships a React UI (under assets/ and compiled into the binary via control-plane/internal/embedded/ui.go) for visual inspection of agents, policies, and execution logs.
How To Use It
Clone & install dependencies git clone https://github.com/Agent-Field/agentfield.git cd agentfield/control-plane # Go modules are used; ensure Go 1.22+ is installed go mod download Configure cp .env.example .env.dev # edit .env.dev with your secrets (e.g., DBURL, JWTSIGNINGKEY)
The control plane reads control-plane/agentfield.yaml for runtime defaults; adjust it if you need custom ports or storage back‑ends. Run locally (Docker) docker compose -f docker-compose.dev.yml up -d
This starts the control plane server, a PostgreSQL instance, and the UI.
Or run the server directly: go run ./cmd/agentfield-server Interact Use the CLI: go run ./cmd/af install <agent-dir> to register a new agent. Call the generated REST endpoint (e.g., POST http://localhost:8080/v1/agents/<nodeid>/run). The OpenAPI spec is auto‑generated at /swagger.json. Test make test # invokes go test ./... (64 test files present)
All commands above are derived from the existing Makefile, Docker compose file, and Go entry points; no undocumented flags are introduced.
Real‑World Use
A fintech platform could expose a fraud‑detection agent as a microservice:
docker-compose.yml (production) services: fraud-agent: image: myorg/fraud-agent:latest environment: AGENTFIELDURL=http://control-plane:8080 AGENTID=fraud-detector
The platform’s transaction service calls POST http://control-plane:8080/v1/agents/fraud-detector/run with the transaction payload. The control plane logs the request, signs the decision with the agent’s DID, and stores the audit trail in PostgreSQL, making the outcome provable for regulators.
Code Health & Issues
High – Secrets in repo – .env.dev contains example credentials; if real values are committed they pose a security risk. (control-plane/.env.dev) Medium – Environment‑specific code – Windows‑only service (devservicewindows.go) may cause build failures on non‑Windows CI unless conditioned properly. Medium – Limited SDK docs – The README links to external SDK docs but the repository itself lacks inline usage examples for the Go, Python, or TypeScript SDKs. Low – Test coverage – 64 test files indicate good coverage, but no coverage badge is shown in the README; consider adding go test -cover output to CI. Low – Dependency hygiene – No go.sum verification step shown in CI; adding go mod verify would tighten supply‑chain security.
Overall, the project follows a conventional Go layout, includes CI workflows (.github/workflows/*.yml), and ships a license (Apache 2.0). The presence of extensive unit tests and Docker integration points to a mature codebase.
The Bottom Line
agentfield delivers a functional, Go‑native control plane that quickly converts AI agents into production‑grade services with built‑in observability and cryptographic audit trails. It is ready for teams that already use Go or containerised environments; the main caution is to audit any committed secrets and verify Windows‑specific code paths before adopting in a Linux‑only stack.