jev-zork
Jev plays Zork I through Jericho, choosing one command per turn from valid actions, with code-owned memory and anti-loop rules.
Overview
Jev plays Zork connects TypeSafe's Jev to the classic text adventure Zork I through Microsoft's Jericho, which supplies the valid actions each turn. Each turn sends one request with three questions: a Choice over the valid actions (the command to type, up to 255 options), a danger Noul, and an intent Choice among explore, collect, investigate, solve, fight and escape; the last two are used only for visualisation. You can watch its confidence and the moments it hesitates, for example between open mailbox and north.
Memory and loop-avoidance live in code: the last eight turns go into the state, and an action already tried in the same world state has its probability halved each time, which the author says is necessary to stop wandering in circles; when code departs from Jev's choice, the logs and replay say so. Options describe themselves, such as an exit noting where it leads and how often it was visited. The project has a terminal harness with JSONL logs, a browser replay player with map, confidence curve and intents, and a video renderer. Documentation is in English while the dashboard is in French. Setup on Windows runs through WSL.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which valid command should be typed next? | — |
| Yes / no | Is the current situation dangerous? | — |
| Choice | What is the current intent? | explore · collect · investigate · solve · fight · escape |
How it works
- Jericho lists valid actions; last eight turns added to state
- One Jev request with three questions
- Code applies anti-loop down-weighting and picks the command
- Log every turn; replay and render video
Strengths
- Valid-action Choice prevents invalid commands
- Transparent when code overrides the model
- Replay player and video output
Caveats
- Anti-loop logic is essential, showing model limits
- French dashboard
- Jericho needs Linux, macOS or WSL
Getting started
On Windows run `play install` (via WSL); the setup script installs uv, Jericho, the TypeSafe SDK and the Zork ROM, then runs tests.At a glance
- Type
- App
- Status
- prototype
- Language
- Python
- Runtime
- Terminal harness + browser replay
- Has code
- yes
- Has tests
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Jev (TypeSafe System One) plays Zork I: one Choice per move over Jericho's valid actions, with its confidence on display. French dashboard.
logicrw/awesome-jev-projects
Frequently asked questions
How does Jev know which commands are legal?
Jericho provides the valid actions each turn and they become the Choice options.
Why is there an anti-loop rule?
Without halving the probability of repeated actions, the agent walks in circles, per the author.
What language is the interface?
The dashboard is in French; documentation and game text are in English.
Related projects
Real-time bot battles where you write a fighter's strategy in plain English and a System One model pilots it several times a second.
ProjectbetaTypeScriptBot that plays Red Alert 2 web skirmishes, with code handling mechanics and a decision model making stance, threat and timing calls.
ServicebetaPythonMultiplayer 3D science-fantasy version of Houston's River Oaks District with Jev-powered NPC companion, chauffeur and smart drive.
ProjectbetaTypeScriptBrowser 3D planetary rover sandbox where a TypeSafe controller chooses the next action from complete candidates, versus a baseline.
ProjectbetaTypeScriptDoom runs as a spacecraft payload over real flight software; Jev pilots from the ground every half second while Claude reviews.
ProjectprototypePythonMinecraft agent where Hermes plans, Jev picks one bounded action at a time and a Mineflayer harness validates and executes.
ProjectprototypeJavaScript