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.5.tar.gz (48.0 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.5-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for agentworld_gateway-0.1.5.tar.gz
Algorithm Hash digest
SHA256 a2798b16e25c0634a054a0227a2d211dc69a16a3a63f6b204f1a3960579df172
MD5 99a8c2010951c6b8f5ada2aa9d60b5f7
BLAKE2b-256 000f15c7c292483a11dec244d79c27f43fb279988bff61171a6d7ab9175b3c15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agentworld_gateway-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2cb1337152c27d1c9be9873b214b910760b4bffcf7e1b6ff588a163319234c56
MD5 1aa33f5ecae3c504c93b892e1baf9627
BLAKE2b-256 588a4efdb8b9d8cd2a45133e28ede2f8de2ce532c4e5931b8a01c3ab1bd22e6d

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