Show HN: 1667, a terminal UI for writing fiction with language models

1667asks a model for the next paragraph, then keeps every take it gives you side by side on a tree you can walk back through. Your keys, your endpoint, your files on your disk. No analytics, no telemetry, no account anywhere in the source.

Installs 1667 0.9.8. Supports macOS arm64/x64 and glibc 2.17+ Linux arm64/x64. Run 1667 upgrade for later managed releases.

Installs 1667 0.9.8 on Windows x64. Exit 1667 and run this command again to install a later release.

Needs Node 22. npm manages this installation. Use npm to install later releases.

Needs Bun 1.3.14 or later, and Node 22. Git manages this installation.

This optional path needs GitHub CLI. It verifies version 0.9.8 before it runs the local file.

You move through a manuscript, and the model writes a paragraph when you ask it to. Then it stops and waits for you.

Ask for another take and the one you were reading does not go anywhere. It becomes a sibling. Pressmand the shape of the whole thing opens up: the line you are on, the forks you made, and the paragraphs you wrote once and walked away from.

Three views, cycled with the same key. Nothing is archived, nothing is pruned on your behalf, anddis the only thing that removes a take.

Every line below describes code that does not exist. Go and check.

Every request the program makes goes to the endpoint you configured. Nothing comes to us, because there is no server of ours to send it to.

One exception: an optional update check, which shipsoff. Turned on, it reads a version number and tells you. It downloads nothing and replaces nothing.