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.4.tar.gz (47.6 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.4-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for agentworld_gateway-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ef9229b6079679ac35b6a237ecb055e4ee3d945a50052ce598a961dfaa60bac2
MD5 90d8f8e2ee958987efc547e442858302
BLAKE2b-256 6ec81830a28da2a00bf09a71ad4b16d28cf0e1a292e16e2c51ce167d116ed946

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agentworld_gateway-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 bd41e08283a7e28587e791adc6b65368fe2b40fda73e7d1442eaf345c88b5efb
MD5 ec95edd35611e32966e14df6adfc9a6b
BLAKE2b-256 65a32e32070ef10148decb0260b45b18591fc4880eb89cf0fcaff607a9c82e72

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