--- title: Trenches emoji: ๐ŸŒ colorFrom: red colorTo: gray sdk: docker app_port: 7860 --- Image Background Remover (1) # Trenches A multi-agent crisis simulator built on [OpenEnv](https://github.com/openenv-ai/openenv). LLM agents navigate a fog-of-war geopolitical scenario โ€” negotiating coalitions, managing deception, and responding to live global events โ€” while a dedicated oversight agent monitors for dangerous escalation. ## Overview Trenches drops six LLM-powered actors into a volatile 2026 Middle East crisis. Each agent operates under partial observability with role-specific intelligence, tools, and incentives. A scalable oversight mechanism intervenes when escalation risk crosses critical thresholds. | Agent | Role | Model | | ----------------- | ----------------------------------------------- | -------- | | ๐Ÿ‡บ๐Ÿ‡ธ United States | Hawkish superpower balancing polls & projection | Qwen3-8B | | ๐Ÿ‡ฎ๐Ÿ‡ฑ Israel | Regional actor with strike autonomy | Qwen3-8B | | ๐Ÿ‡ฎ๐Ÿ‡ท Iran | Adversary leveraging proxies & deception | Qwen3-8B | | ๐Ÿช– Hezbollah | Non-state militia with asymmetric tactics | Qwen3-8B | | ๐Ÿ›ข๏ธ Gulf Coalition | Economic bloc protecting oil & stability | Qwen3-8B | | ๐Ÿ” Oversight | Monitors all actors, intervenes on escalation | Qwen3-8B | ## Key Features - **Fog of War** โ€” agents see only their role-filtered intel, never the full world state - **Live News Injection** โ€” real-time RSS/OSINT feeds drive stochastic in-sim events - **Scalable Oversight** โ€” Bayesian risk scoring triggers interventions before runaway escalation - **Tool Use** โ€” agents call `query_intel`, `propose_negotiation`, `impose_sanctions`, etc. - **Multi-component Rewards** โ€” coalition stability, escalation penalty, market impact, belief alignment ## Stack | Layer | Tech | | -------- | ---------------------------------------------------- | | Frontend | Next.js 16 ยท Tailwind v4 ยท Mapbox GL ยท Framer Motion | | Backend | FastAPI ยท OpenEnv Core ยท NumPy | | Infra | Docker ยท Bun ยท uv | ## Quick Start ```bash # Frontend bun install bun run dev # โ†’ http://localhost:3000 # Backend cd backend uv sync source .venv/bin/activate uvicorn trenches_env.server:app --reload --port 8000 ``` Set your environment variables in `.env.local`: ``` NEXT_PUBLIC_MAPBOX_TOKEN=... NEXT_PUBLIC_API_URL=http://localhost:8000 ``` ## Project Structure ``` trenches/ โ”œโ”€โ”€ app/ # Next.js app router + API routes โ”œโ”€โ”€ src/ โ”‚ โ”œโ”€โ”€ components/ # Globe, NewsFeed, ActivityLog, ChatPanel โ”‚ โ”œโ”€โ”€ hooks/ # React hooks โ”‚ โ””โ”€โ”€ lib/ # Types, utils, bootstrap โ”œโ”€โ”€ backend/ โ”‚ โ”œโ”€โ”€ src/ # FastAPI server, OpenEnv environment โ”‚ โ””โ”€โ”€ tests/ # Backend test suite โ”œโ”€โ”€ entities/ # Agent identity configs (US, Israel, Iran, etc.) โ””โ”€โ”€ scripts/ # Utility scripts ``` ## License MIT