SpeedReader
A CLI tool for speed reading text with AI comprehension evaluation.
Installation
Using Cargo
Manual Installation
- Clone the repository:
- Build the project:
- The binary will be available at
target/release/speedreader
Usage
Basic Reading
Read a file at the default speed (258 WPM):
Read at a specific WPM:
Read from stdin:
|
# or through a clipboard (example is what I use)
|
Configuration
SpeedReader supports a configuration file for customizing various settings. To generate a default configuration file:
This creates a configuration file at ~/.config/speedreader/config.toml (Linux/macOS) or %APPDATA%\speedreader\config.toml (Windows).
The configuration file allows you to customize:
- Default words per minute (WPM)
- WPM adjustment step size
- Keybindings for pause, quit, and WPM adjustment
- AI model for summary evaluation
Example configuration:
# Words per minute
= 258
# Step to adjust WPM when using + and - keys
= 5
# AI model to use for summary evaluation
= "deepseek/deepseek-r1:free"
# Keybindings configuration
[]
# Key to quit
= "q"
# Key to pause/resume
= " "
# Key to increase WPM
= "+"
# Key to decrease WPM
= "-"
Controls During Reading
Default keybindings (can be customized in the config file):
- Space: Pause/resume reading
- Q: Quit reading
- +: Increase WPM
- -: Decrease WPM
AI Analysis
After finishing reading, you'll be prompted to enter a summary of what you read. The summary will be analyzed by an AI model and you'll receive feedback on your comprehension.
For this feature to work, you must have an OpenRouter API key set as an environment variable:
Command-line Options
Options:
-f, --file <FILE> Path of the text file to speed read
--wpm <WPM> Words per minute (overrides config file)
--init-config Generate a default config file
-h, --help Print help
-V, --version Print version
Requirements
- The AI summary evaluation feature requires an OpenRouter API key set as the
OPEN_ROUTER_API_KEYenvironment variable.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License. See the LICENSE file for details.