Orc Agent A2A is an autonomous agent designed to simulate conversations with an Orc.
- Orc-speak: Ghazgûl kratak makh-ûrz!
- Clone the repository:
git clone https://github.com/yourusername/orc-agent-a2a.git
cd orc-agent-a2a
- Install dependencies:
uv sync --reinstall
alternatively:
pip install -r requirements.txt
docker build --load -t orc-agent:latest .
docker images ls
- Get the image id that was pushed
- Now run the image (on local podman)
podman run --rm -it orc-agent:latest
In this example, agentic is your icr NAMESPACE and a2a is your REPOSITORY name. Replace RESOURCE_GROUP with the name of the resource group where you want the container registry.
# Log docker into the IBM Clouf container registry at icr.io
ibmcloud cr login
ibmcloud cr namespace-add -g RESOURCE_GROUP agentic
# Build the image and push it to the container registry in the 'agentic' namespace and 'a2a' repository.
docker build -f Dockerfile --push -t icr.io/agentic/a2a .
-
Navigate to Containers/Serverless/Projects
-
Create a project, eg. “A2A-play”
-
Navigate to “Applications”
-
Create application Name: pirate-agent-a2a Code repo URL: https://github.com/ccmitchellusa/orc-agent-a2a
-
Navigate to "Optional settings" Image start options Listening port: 8000
-
Scroll back up to Code section.
-
Select “Specify build details” > Next > Next >.
-
Select a container registry namespace
-
Select Done
Start the agent:
./run.sh
Open browser on http://0.0.0.0:8000/agent-card.json to view card JSON.
To connect with Chris Hay's A2A CLI client (Localhost):
uvx a2a-cli --server http://localhost:8000 chat
Connect a2a-cli to agent running on Code Engine:
- In the IBM Cloud console> Code Engine > Application page, click "Test Application" in upper right corner. Copy the app's url.
- Replace the url in the following snippet with the actual app's url from step 1:
uvx a2a-cli --log-level DEBUG --server https://application-42.1uo9xqkaspg3.us-east.codeengine.appdomain.cloud chat
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Submit a pull request with a detailed description of your changes.
This project is licensed under the MIT License.
Special thanks to Chris Hay and the open-source community for providing tools and inspiration for this project.