jev2048 (erhanmeydan)
Agent where Jev plays a real online 2048 website through Playwright with one API call per move and no text-generating model.
Overview
jev2048 (erhanmeydan) has TypeSafe's Jev play 2048 on a real online site. The loop is minimal: read the board, offer Jev the four directions as a Choice, press the chosen key in a Playwright-driven browser, and repeat, with one question and one HTTP request per move. The terminal shows the board, the score and a probability bar for each direction plus confidence and latency; an example shows LEFT at 68.4% in 41 ms.
The author's point is that a decision model cannot step outside its option space, so in this setting it cannot hallucinate, and because the agent never generates text it needs only one API key, unlike general browser agents that need a second language model to fill forms. Flags set the site URL (default 2048.io), a move limit, a stuck limit for consecutive ineffective moves, a delay for watching, headless mode and JSON output. The README is in Turkish.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which direction should be played? | UP · DOWN · LEFT · RIGHT |
How it works
- Read the board from the live site
- Ask Jev a four-way Choice
- Press the chosen arrow key via Playwright
- Repeat until move or stuck limit
Strengths
- Single API key; no text model needed
- Plays a real website
- Shows probabilities and latency per move
Caveats
- No score statistics reported
- Depends on the target site's page structure
- README in Turkish
Getting started
uv sync, uv run playwright install chromium, cp .env.example .env (set TYPESAFE_API_KEY), then `uv run jev2048`.At a glance
- Type
- Service
- Status
- prototype
- Language
- Python
- Runtime
- CLI + Playwright
- Has code
- yes
Use cases and integrations
How curated lists describe it
TypeSafe'in Jev karar modeli gerçek bir online 2048 sitesinde oynuyor — hamle başına tek API çağrısı, tek anahtar.
hellogumbo/awesome-jev
Frequently asked questions
Why only one API key?
The agent only chooses among moves and never generates text, so no second model is needed.
Which site does it play?
2048.io by default; --url changes it.
When does it stop?
At the move limit or after several consecutive moves with no effect.
Related projects
Selenium bot that plays 2048.org by fusing expectimax search with a Jev Choice over legal moves on every turn.
ProjectprototypePythonJev plays a browser table-tennis game in real time, choosing serve direction, contact angle and pace from structured telemetry.
ProjectprototypeJavaScriptSpectator demo where two independent Jev agents play Snake side by side by clicking indexed direction buttons in separate iframe browsers.
ProjectprototypeTypeScriptPrebuilt browser, computer-use, robotics and game agents whose actions come from Jev, Laya or Cua-S1, with a scaffold for new agents.
ProjectbetaPythonSource for browser chess and Chess960 where code computes each legal move's facts and Jev picks one per turn as a typed Choice.
ProjectproductionTypeScriptBrowser 1v1 sniper arena where Jev reads match state about 9 times a second and chooses movement, aim, ADS, firing and jumping.
ServicebetaTypeScript