Skip to content

jev-zork

Jev plays Zork I through Jericho, choosing one command per turn from valid actions, with code-owned memory and anti-loop rules.

AppprototypeMIT

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

TypeQuestionAnswers
ChoiceWhich valid command should be typed next?—
Yes / noIs the current situation dangerous?—
ChoiceWhat is the current intent?explore · collect · investigate · solve · fight · escape

How it works

  1. Jericho lists valid actions; last eight turns added to state
  2. One Jev request with three questions
  3. Code applies anti-loop down-weighting and picks the command
  4. 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.

    ProjectbetaTypeScript
  • Bot that plays Red Alert 2 web skirmishes, with code handling mechanics and a decision model making stance, threat and timing calls.

    ServicebetaPython
  • Multiplayer 3D science-fantasy version of Houston's River Oaks District with Jev-powered NPC companion, chauffeur and smart drive.

    ProjectbetaTypeScript
  • Browser 3D planetary rover sandbox where a TypeSafe controller chooses the next action from complete candidates, versus a baseline.

    ProjectbetaTypeScript
  • Doom runs as a spacecraft payload over real flight software; Jev pilots from the ground every half second while Claude reviews.

    ProjectprototypePython
  • Minecraft agent where Hermes plans, Jev picks one bounded action at a time and a Mineflayer harness validates and executes.

    ProjectprototypeJavaScript