ZeroReal · free · open source · GPL-3.0
Stop typing
instructions.
Start giving orders.
ZeroReal turns the AI chat you already use — ChatGPT, DeepSeek, Gemini — into an agent that drives your Roblox game through the Real executor. You describe the outcome. It runs the commands.
- 68
- Real MCP tools
- 9
- web AIs
- $0
- no key, no terminal
One real turn, replayed below.
list the players in my server with HP and position
Output of 'get-data-by-code': • Ryanabcraft — 100 HP @ (12, 5, -30) • xXSlayerXx — 72 HP @ (-40, 5, 18) • …
4 players online. Everyone above 70 HP — nothing to heal.
Runs inside the chats you already open
- DeepSeek default
- ChatGPT
- Gemini
- Kimi
- GLM
- Qwen
- Arena
- Meta AI
- Ox Alpha
01Anatomy of a turn
Four lines. Zero babysitting.
Every turn of the agent follows the same loop. The extension enforces it: one command per reply, every command answered, no silent turns.
- 01you
You ask in plain words
"Cure me if I'm below half HP." No syntax, no IDs, no coordinates from you.
- 02AI
The AI writes one command
A
###LUA###block or a{"command": …}envelope, inside a code fence so the chat can't mangle it. - 03ZeroReal
The extension runs it in your game
Parsed, forwarded through the local bridge, executed by Real in the injected client — prints and return value captured.
- 04Real
The result returns as the next message
Success or formatted error — the AI always gets an answer, so it corrects itself and continues alone.
02Arsenal
68 tools. Named below, the ones you'll actually type.
The full catalogue arrives live via list-clients + search-api on the first turn. The agent checks the API reference before guessing any global.
Run
get-data-by-codeLuau with print + return capturedevalone expression, instant answerlive-reloadloops & ESP without stacking copiesopen-scripthand the user a file in Real's editor
See
search-instancesfind anything by selectorget-script-contentdecompile any scriptscript-grepsearch every decompiled sourcescreenshot-windowPNG of the game windowdump-visible-uievery clickable element, with paths
Act
fire-remotedrive the game's own actionsremote-spywatch what the game firessend-inputreal keyboard + mouse the game seesbuild-script-indexwhole-game search in memoryremember-gameknowledge that survives sessions
+ 54 more on the wire. Nothing is guessed — unknown names come back as unknown command with the valid list.
03Cockpits
One extension. Nine chats.
Same agent loop everywhere. Quirks below are real behaviors observed live — the provider layer absorbs them so you don't have to.
| AI | Where | Note |
|---|---|---|
| DeepSeek default | chat.deepseek.com | Deep thinking + search, all on. The steadiest loop. |
| ChatGPT | chatgpt.com | Vision off by design — the free tier quotas images separately. |
| Gemini | gemini.google.com | Strong bursts; can drop the tools in very long sessions. |
| Kimi | kimi.com | Fast; occasionally reaches for its own native tools. |
| GLM | chat.z.ai | Reliable long-context runner. |
| Qwen | chat.qwen.ai | Handles big multi-step jobs well. |
| Arena | arena.ai | Keep the mode dropdown on Direct. |
| Meta AI | meta.ai | Clean and simple. |
| Ox Alpha | oxalpha.com | Lightweight alternative. |
04Install
Five steps. Five minutes.
-
Open everything
Real app with its MCP server on → Roblox → inject Real → join a game. Windows + Python 3.10+.
-
Get the project
git clone https://github.com/Ryanabcraft/zeroreal.git -
Start the bridge
Double-click
bridge/start-real.batand leave it open. It installs its own dependencies and syncs Real's port + token by itself — even after Real rotates them. -
Load the extension
edge://extensions→ Developer mode → Load unpacked → theextension/folder. -
Start the agent
New chat, ▶︎ Start Real agent, then: "list the players with HP and position".
05FAQ
When it complains
Grey dot / "Bridge offline"
start-real.bat isn't running. Launch it, keep the window open, then ↻ Reconnect in the extension popup.
"Real not connected" — but I injected
Be inside a game, not the Roblox menu, with an injected client. The bridge re-discovers Real on every tool list — press Start again.
The AI says the bridge is offline. Is it?
Usually a momentary reconnect. The agent must retry a fresh command before declaring anything offline — tell it "try again".
A tool spins forever
The client is likely wedged — single-digit FPS kills every tool. Re-inject, keep the game light, prefer short commands.
Chrome updated and the tab asks for a reload
Chrome auto-updates extensions under open tabs. F5 the chat tab — bridge and Real are unaffected.
Is my Real token safe?
The bridge reads it from Real's own session files on your PC. It never leaves your machine, and the repo ships a config.example.json with no secrets.