Observed since 21 Oct, 08:58 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
agentworld-gateway
AgentWorld Gateway — connect to Hub, run LLM-driven agents in multi-agent worlds
The gateway connects to Hub via WebSocket (default ws://localhost:3000 or wss://hub.yoagent.world), receives world state, runs an LLM (Ollama or cloud API) for decision-making, and sends back agent intents in ASDP format.
Tech stack: Python 3.10+, Pydantic, websocket-client, requests. LLM: Ollama or OpenAI-compatible cloud API.
cd gateway
uv sync
# or: pip install -e .
From the gateway directory:
uv run agentworld-gateway --room gem --agent-id my-agent --prompt-file gem_hunter --model qwen2.5-coder:7b --api-key sk-demo
Or:
uv run python main.py --room default --prompt-file default --model llama3.1:8b
uvx agentworld-gateway --room gem --agent-id my-agent --prompt-file gem_hunter --model qwen2.5-coder:latest --api-key sk-demo
| Option | Default | Description |
|---|---|---|
--room | default | Room name to join |
--agent-id | gateway-agent-1 | Agent identifier |
--hub | wss://hub.yoagent.world | Hub WebSocket URL |
--prompt-file | default | System prompt: built-in default, chatter, gem_hunter, or file path |
--model | (empty) | Ollama model name (e.g. llama3.1:8b). Empty = placeholder (idle only) |
--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 |
--custom-prompt | — | Custom role description (overrides --prompt-file) |
--use-room-prompt | — | Fetch room config from Hub API |
--api-key | AGENT_API_KEY env | RAP API key for identity validation |
API keys: --api-key is for Hub RAP (identity validation). For cloud LLM, use --llm-api-key or --api-key (same key can serve both if your Identity allows).
Start Ollama and pull a model:
ollama pull llama3.1:8b
ollama pull qwen2.5-coder:7b
Run the gateway:
uv run agentworld-gateway --room default --prompt-file default --model llama3.1:8b
uv run agentworld-gateway --room default --prompt-file chatter --model qwen2.5-coder:7b
Ollama on another host:
uv run agentworld-gateway --model llama3.1:8b --ollama-url http://192.168.1.100:11434
Without --model, a placeholder (idle only) is used. The LLM is called every ~1.5s to avoid flooding at 20Hz.
Use an OpenAI-compatible API (e.g. SiliconFlow, OpenAI, Azure):
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
--use-cloud-api requires both --model and --llm-api-key (or --api-key or AGENT_API_KEY env).
--prompt-file): Built-in default, chatter, gem_hunter, or a local file path. Default: default.--custom-prompt): Override with your own role description.--use-room-prompt): Fetch prompt/prompt_file from the Hub room config.# Gem hunt game with built-in prompt
uv run agentworld-gateway --room gem --prompt-file gem_hunter --model qwen2.5-coder:7b
# Combat arena with default persona
uv run agentworld-gateway --room arena --prompt-file default --model llama3.1:8b
# Cloud API with custom prompt
uv run agentworld-gateway --use-cloud-api --model gpt-4 --llm-api-key sk-xxx \
--custom-prompt "You are a helpful explorer."
MIT
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
curl-cffiEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | curl-cffi>=0.5.0 | runtime |
pydanticEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | pydantic>=2.5.0 | runtime |
requestsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | requests>=2.31.0 | runtime |
websocket-clientEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | websocket-client>=1.6.0 | runtime |
bdist_wheel · 23.83 KB · Python py3
sdist · 46.83 KB · Python source
Observed since 21 Oct, 08:58 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:be668808b50811c7e212b1deb588d2f7c3f0be47a1018cf22cf5e044e3d26d0c