This repository is meant for co-development of Agentex agents between Rocket and Scale. It includes a Makefile to spin up the Agentex platform locally as well as the following demo agents:
- bedrock-temporal-demo — a long-running agent using AWS Bedrock via Temporal workflows
- example-openai-agent — a synchronous agent using OpenAI models via SGP
Once the platform is running, browse to http://localhost:3000 to interact with the agents.
After cloning, initialize the scale-agentex submodule:
git submodule update --init --recursiveCopy .env.example to .env and fill in your credentials:
cp .env.example .envThe following variables are required. Create one set of credentials for non-prod and one for prod:
SGP_API_KEY=
SGP_BASE_URL=
SGP_ACCOUNT_ID=make platformThis starts the Agentex backend, UI, and all infrastructure (Temporal, Redis, Postgres, MongoDB). Once running:
- Agentex UI: http://localhost:3000
- Agentex API: http://localhost:5003
- Temporal UI: http://localhost:8080
Agents run as local Python processes and connect to the platform over the network. Each agent manages its own virtual environment via uv.
Run a single agent:
make agent AGENT=bedrock_temporal_demo
make agent AGENT=example_openai_agentRun specific agents together:
make agents AGENTS=bedrock_temporal_demo+example_openai_agentRun all agents:
make agentsThe AGENT / AGENTS values are directory names, not agent names defined in manifest.yaml.
If you run into issues:
- Bring down the stack:
docker compose down --volumes - Prune the Docker system:
docker system prune -a- Note: This removes all stopped containers and unused images. Use with caution if you have other Docker projects running.
The scale-agentex submodule is pinned to a specific commit.
To update to the latest main:
git submodule update --remote --recursive
git add scale-agentex
git commit -m "Update scale-agentex submodule to latest"To pin to a specific commit:
cd scale-agentex
git fetch
git checkout <commit-hash>
cd ..
git add scale-agentex
git commit -m "Update scale-agentex submodule to <commit-hash>"Then rebuild the platform to pick up the changes:
make platformIf the UI is not showing agents after an update, a forced rebuild may be needed due to Docker layer caching:
docker compose --env-file .env -f docker-compose.yaml build --no-cache agentex-ui
docker compose --env-file .env -f docker-compose.yaml up -d agentex-uiFrom the repo root, run:
agentex initThis will interactively scaffold a new agent directory with the required files (manifest.yaml, project/acp.py, Dockerfile, etc.). For more information, see the official Agentex documentation
After scaffolding, there are two things to configure manually:
Each agent needs a unique port since they all run as local processes sharing the same host. Edit the local_development section in your agent's manifest.yaml:
local_development:
agent:
port: 8003 # pick a port not used by another agentCurrent port assignments:
| Agent | Port |
|---|---|
bedrock_temporal_demo |
8001 |
example_openai_agent |
8002 |
Pick the next available port (8003, 8004, etc.) for each new agent.
Add the SGP credential mappings to manifest.yaml under the credentials section:
agent:
credentials:
- env_var_name: SGP_API_KEY
secret_name: sgp-api-key
secret_key: sgp-api-key
- env_var_name: SGP_BASE_URL
secret_name: sgp-base-url
secret_key: sgp-base-url
- env_var_name: SGP_ACCOUNT_ID
secret_name: sgp-account-id
secret_key: sgp-account-id