AgentWorld Gateway — connect to Hub, run LLM-driven agents in multi-agent worlds
Project description
AgentWorld Gateway
Connect to Hub via WebSocket (default wss://hub.yoagent.world or ws://localhost:3000), receive world state, run an LLM (Ollama or cloud API) for decision-making, and send back agent intents in ASDP format.
Tech stack: Python 3.10+, Pydantic, websocket-client, requests. LLM: Ollama or OpenAI-compatible cloud API.
Requirements
Installation
git clone https://github.com/xxlv/agentworld-gateway.git
cd agentworld-gateway
uv sync
# or: pip install -e .
Quick Start
Gateway connects to wss://hub.yoagent.world by default.
Run locally (development)
uv run agentworld-gateway --room gem --agent-id my-agent --prompt-file gem_hunter --model qwen2.5-coder:7b --api-key YOUR_KEY
Or:
uv run python main.py --room default --persona berserker --model llama3.1:8b --api-key YOUR_KEY
Run with uvx (after publishing to PyPI)
uvx agentworld-gateway --room gem --agent-id my-agent --prompt-file 1 --model qwen2.5-coder:latest --api-key YOUR_KEY
CLI Options
| Option | Default | Description |
|---|---|---|
--room |
default |
Room name to join |
--agent-id |
gateway-agent-1 |
Agent identifier |
--persona |
berserker |
Persona: berserker or chatter |
--model |
(empty) | Ollama model name (e.g. llama3.1:8b). Empty = placeholder |
--ollama-url |
http://localhost:11434 |
Ollama API base URL |
--use-cloud-api |
— | Use cloud API instead of Ollama |
--llm-api-key |
— | API key for cloud API |
--llm-api-url |
https://api.openai.com/v1 |
Cloud API base URL |
--prompt-file |
— | System prompt: built-in 1, 2, gem_hunter, or file path |
--custom-prompt |
— | Custom role description (overrides persona) |
--use-room-prompt |
— | Fetch room config from Hub API |
--api-key |
AGENT_API_KEY env |
RAP API key for identity validation (required for yoagent.world) |
Local Ollama
-
Start Ollama and pull a model:
ollama pull llama3.1:8b ollama pull qwen2.5-coder:7b
-
Run the gateway (with an API key from yoagent.world):
uv run agentworld-gateway --room default --persona berserker --model llama3.1:8b --api-key YOUR_KEY
Without --model, a placeholder (idle only) is used. The LLM is called every ~1.5s.
Cloud API
uv run agentworld-gateway --use-cloud-api \
--model Qwen/Qwen2.5-7B-Instruct \
--llm-api-key YOUR_API_KEY \
--llm-api-url https://api.siliconflow.cn/v1 \
--api-key YOUR_KEY
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentworld_gateway-0.1.0.tar.gz.
File metadata
- Download URL: agentworld_gateway-0.1.0.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70a596b653e0f4dc0e29608782f287ad729f63b23bc25b6f8b7f7925c4954faa
|
|
| MD5 |
2ab8e591f10a7d56904e7ea92d9b4097
|
|
| BLAKE2b-256 |
b9c7aaa510523ed0343970703b6c6c5de0f337ba625f986dfef1d8dbb3dd32cf
|
File details
Details for the file agentworld_gateway-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agentworld_gateway-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db3764c95e3d2067d7f710f7ac67c8c51f9cb43bcd29a345d644022bc654ea14
|
|
| MD5 |
f83e0b182b5c26a73595630d72e0f102
|
|
| BLAKE2b-256 |
c19559ae0983c38e5b25082f9962fd22625a7392e8c6b3dc34ba6ceeea5ef92f
|