Skip to content

sprint 0.3.0

Choose a tag to compare

@Vasiniks Vasiniks released this 11 Nov 05:31
· 113 commits to main since this release

A terminal coding agent for very small local models (0.5B–3B parameters, 8K context). Two Python files, no dependencies.

This release is a rewrite. The old package is gone; sprint.py is the agent and sprint_tui.py is a full-screen interface.

Install

pip install git+https://github.com/Vasiniks/sprint.git
sprint

You need Python 3.9 or newer and Ollama. If Ollama isn't running, sprint starts it; if the model isn't installed, it offers to pull it.

What's in it

  • Full-screen interface: message list, conversation with collapsible tool windows, a sidebar with context use, speed and an activity log, draggable dividers, and one popup for every command.
  • Models: pick, pull by name, or search Hugging Face and choose a quantization; /race compares two models on one message.
  • Messages: @file attaches a file, !command runs one yourself, pasted files and large pastes become chips.
  • Three modes (ask, edits, auto) with an allow list for commands that should never ask.
  • Built for small models: native tool calls with a fenced-block fallback, a short prompt that lists the folder's files, automatic compaction when the context fills, loop and cut-off guards, and an Esc that stops at once.
  • Settings, system prompt, themes and a log, all in plain files.

How well it works

On six one- and two-step tasks, eight tries each: magi 1.2 2B passed 42 of 48, Qwen 3.5 0.8B Q4_K_M passed 25 of 48. Results vary with wording and with what else is in the folder. Review what the model does: ask mode shows every command and diff before it runs.

Platforms

  • macOS: built and tested here.
  • Linux: the test suite passes in CI on Python 3.9 and 3.13. The real screen has not been tried there.
  • Windows: the Windows-specific tests pass in CI (commands through Git Bash or PowerShell, timeouts, files, the full-screen module loading). 7 of the 255 general tests still fail there, and nobody has used it on a real Windows desktop yet.

Known limits

  • A command is killed after 60 seconds, so a server started by the model does not stay up.
  • One reply can hold a file of a few hundred lines at 8K context.
  • PDFs are read roughly unless pdftotext is installed.