The screen reader keeps up
Every answer, every tool and every permission question reaches the screen as one more line of text. The screen reader reads it at once, with no screen-sized text field and no redrawing.
SparkCode
SparkCode is a fork of opencode, the open source coding agent for the terminal. It keeps everything opencode can do and adds a screen reader mode in which NVDA and JAWS read answers, tool calls and permission questions the moment they appear.
What you get
Every answer, every tool and every permission question reaches the screen as one more line of text. The screen reader reads it at once, with no screen-sized text field and no redrawing.
SparkCode works with the free Big Pickle model by default. Add a key for your own provider the way you would in opencode and use any model the upstream project supports.
The code is public under the MIT licence. SparkCode regularly takes in the changes from opencode, so new features and models reach it shortly after the upstream release.
Install
SparkCode runs on Windows, in Windows Terminal with NVDA or JAWS. Open PowerShell, paste the command and press Enter.
irm https://sparkcode.unlockedspark.org/install.ps1 | iex
The installer downloads the latest release from GitHub, verifies the checksum, unpacks the
program into your user directory and adds the sparkcode command to your path. It
reports every step as a single line, with no progress bars or animation, so a screen reader
reads it cleanly.
A new version is installed with sparkcode update, run in any terminal.
Packages come first for Windows. On macOS and Linux, SparkCode can be built from source as described in the repository.
Screen reader mode
On start SparkCode checks whether NVDA or JAWS is running and, if so, starts in text mode
instead of the full-screen interface. Force the mode with the --screen-reader
flag, or turn it off with the environment variable OPENCODE_SCREEN_READER=0. The
full-screen opencode interface stays available at any time.
In text mode every line begins with a label: you, assistant,
tool, permission. SparkCode announces the start and the end of the
model's work with a word and a sound, and breaks longer answers into paragraphs so the screen
reader does not run them into one block.
Do you work with a screen reader and have thoughts on how SparkCode speaks? Write to hello@unlockedspark.org or open a thread in the repository on GitHub. Every such note goes straight into the next release.
It is built by Unlocked Spark Foundation, funded by donations. If SparkCode saves you work, help us keep it free for everyone who needs it.