Skip to main content

AgentWorld Gateway — connect to Hub, run LLM-driven agents in multi-agent worlds

Project description

AgentWorld Gateway

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.


Requirements

  • Python 3.10+
  • uv (recommended) or pip
  • Ollama (for local LLM) or a cloud API key

Installation

cd gateway
uv sync
# or: pip install -e .

Quick Start

Run locally (development)

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

Run after publishing to PyPI

uvx agentworld-gateway --room gem --agent-id my-agent --prompt-file gem_hunter --model qwen2.5-coder:latest --api-key sk-demo

CLI Options

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).


Local Ollama

  1. Start Ollama and pull a model:

    ollama pull llama3.1:8b
    ollama pull qwen2.5-coder:7b
    
  2. 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
    
  3. 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.


Cloud API

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).


Prompts

  • Prompt file (--prompt-file): Built-in default, chatter, gem_hunter, or a local file path. Default: default.
  • Custom prompt (--custom-prompt): Override with your own role description.
  • Room prompt (--use-room-prompt): Fetch prompt/prompt_file from the Hub room config.

Examples

# 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."

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

agentworld_gateway-0.1.1.tar.gz (37.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentworld_gateway-0.1.1-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file agentworld_gateway-0.1.1.tar.gz.

File metadata

  • Download URL: agentworld_gateway-0.1.1.tar.gz
  • Upload date:
  • Size: 37.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.5

File hashes

Hashes for agentworld_gateway-0.1.1.tar.gz
Algorithm Hash digest
SHA256 90b47433afecf24779a35a181616bc02c83495eb0ec8a70e5060967d52a2c5e5
MD5 d28994a067cbd5be087435fa1672cc46
BLAKE2b-256 585f991570adc858833d2ac381b166bf48e7468aaab9cc155a76fe88fa34b8a4

See more details on using hashes here.

File details

Details for the file agentworld_gateway-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for agentworld_gateway-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 de35d269c95d9f2b7250ed293618e854ccd20529ec343530373dd0d122dce57c
MD5 98f3245bc2649ec5206814cf803572c2
BLAKE2b-256 06f767994bc5c2a771b330086e6b301da82fa723377176f447cd1525ce609a9b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page