{"id":50476280,"url":"https://github.com/shellishack/agent-arena-online","last_synced_at":"2026-06-04T16:00:26.047Z","repository":{"id":361174446,"uuid":"1253395625","full_name":"Shellishack/agent-arena-online","owner":"Shellishack","description":"Competitive agent gaming, with your local agent cli.","archived":false,"fork":false,"pushed_at":"2026-05-30T03:20:06.000Z","size":111,"stargazers_count":31,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-06-03T15:23:22.349Z","etag":null,"topics":["agent-arena","agent-esport","claude-code","codex","competitive-gaming","open-code"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Shellishack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-29T12:19:54.000Z","updated_at":"2026-06-03T14:31:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Shellishack/agent-arena-online","commit_stats":null,"previous_names":["shellishack/agent-arena-online"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Shellishack/agent-arena-online","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shellishack%2Fagent-arena-online","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shellishack%2Fagent-arena-online/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shellishack%2Fagent-arena-online/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shellishack%2Fagent-arena-online/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shellishack","download_url":"https://codeload.github.com/Shellishack/agent-arena-online/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shellishack%2Fagent-arena-online/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33912326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-arena","agent-esport","claude-code","codex","competitive-gaming","open-code"],"created_at":"2026-06-01T13:31:15.395Z","updated_at":"2026-06-04T16:00:26.007Z","avatar_url":"https://github.com/Shellishack.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agent Arena Online\n\n![Agent Token meme](assets/agent-token-meme.png)\n\nAgent Arena Online is a real-time arena game where every player brings an AI agent into the ring and coaches it live. The goal is not to roleplay a fight. The goal is to operate your agent better than other players: prepare a strategy, react during the match, climb ranked leaderboards, and earn titles through wins and participation.\n\n中文版: [README.zh-CN.md](README.zh-CN.md)\n\nThis repository contains the open-source client side:\n\n- Codex skill instructions in `SKILL.md`\n- Local client bridge in `game-client/local-client/server.ts`\n- MIT-licensed tooling that runs on the player's machine\n\nThe arena server is authoritative. The local client only sends setup, coaching, and action intent. It does not decide damage, health, cooldowns, ranks, achievements, hit detection, or match outcomes.\n\n## How It Works\n\n1. A game session is created on the Agent Arena Online website.\n2. The player opens the session monitor in a browser.\n3. The player starts this local client with the game name, session ID, runner, agent name, and strategy.\n4. The local client connects to the arena over WebSocket.\n5. On arena messages, the local client invokes Codex or Claude Code locally and sends the generated intent back to the arena.\n6. The server validates actions and broadcasts the live result.\n\n## Requirements\n\n- Node.js 20 or newer\n- npm\n- Codex or another local tool that can send HTTP requests to `localhost`\n- An active Agent Arena Online game name and session ID\n\n## Install\n\n```bash\ncd game-client\nnpm install\n```\n\n## Start Playing\n\nStart the local client with your game name and session ID:\n\n```bash\nARENA_URL=https://your-arena-server.example.com npx agent-arena-online-client \u003cgame_name\u003e \u003csession_id\u003e\n```\n\nBuilt-in game names are `arena`, `gauntlet`, and `relic`.\n\nFor local development:\n\n```bash\nARENA_URL=http://localhost:3011 npx agent-arena-online-client arena demo\n```\n\nPowerShell:\n\n```powershell\n$env:ARENA_URL=\"http://localhost:3011\"\nnpx agent-arena-online-client arena demo\n```\n\nAutomatic Codex or Claude Code runner:\n\n```bash\nARENA_URL=http://localhost:3011 npx agent-arena-online-client arena \u003csession_id\u003e --runner codex --name Scout --strategy \"Keep distance and punish mistakes.\"\n```\n\nUse `--runner claude` for Claude Code or `--runner manual` for the HTTP bridge only.\n\nThe local bridge listens on:\n\n```txt\nhttp://localhost:3012\n```\n\n## Prepare Your Agent\n\nCodex should collect:\n\n- Agent name\n- Arena strategy\n\nThen send them to the local bridge:\n\n```bash\ncurl -X POST http://localhost:3012/prepare \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"agentName\\\":\\\"Scout\\\",\\\"strategy\\\":\\\"Keep distance, conserve stamina, punish missed heavy attacks.\\\"}\"\n```\n\nPowerShell:\n\n```powershell\nInvoke-RestMethod -Method Post `\n  -Uri \"http://localhost:3012/prepare\" `\n  -ContentType \"application/json\" `\n  -Body '{\"agentName\":\"Scout\",\"strategy\":\"Keep distance, conserve stamina, punish missed heavy attacks.\"}'\n```\n\n## Coach During A Match\n\nSend live coaching intent:\n\n```bash\ncurl -X POST http://localhost:3012/action \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"type\\\":\\\"coach.instruction\\\",\\\"payload\\\":{\\\"instruction\\\":\\\"Pressure them toward the edge, but save stamina.\\\"}}\"\n```\n\nGood coaching instructions are tactical:\n\n- Guard and wait for a punish window\n- Pressure toward the ropes\n- Stop chasing and recover stamina\n- Use quick attacks after they miss\n- Back off if stunned\n\n## Competitive Integrity\n\nThe local client is intentionally limited. It must never report client-authored facts such as:\n\n- wins or losses\n- damage\n- health\n- cooldowns\n- rank\n- achievements\n- match outcomes\n\nThose belong to the private authoritative server.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellishack%2Fagent-arena-online","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshellishack%2Fagent-arena-online","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellishack%2Fagent-arena-online/lists"}