3 releases
Uses new Rust 2024
new 0.1.2 | May 5, 2025 |
---|---|
0.1.1 | May 5, 2025 |
0.1.0 | May 5, 2025 |
#341 in Text processing
24 downloads per month
26KB
590 lines
SpeedReader
A CLI tool for speed reading text with AI comprehension evaluation.
Installation
Using Cargo
cargo install speedreader
Manual Installation
- Clone the repository:
git clone https://github.com/fcasibu/speedreader.git
cd speedreader
- Build the project:
cargo build --release
- The binary will be available at
target/release/speedreader
Usage
Basic Reading
Read a file at the default speed (258 WPM):
speedreader --file path/to/text.txt
Read at a specific WPM:
speedreader --file path/to/text.txt --wpm 300
Read from stdin:
cat path/to/text.txt | speedreader
# or through a clipboard (example is what I use)
xclip -selection clipboard -o | speereader
Configuration
SpeedReader supports a configuration file for customizing various settings. To generate a default configuration file:
speedreader --init-config
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
wpm = 258
# Step to adjust WPM when using + and - keys
wpm_step = 5
# AI model to use for summary evaluation
model = "deepseek/deepseek-r1:free"
# Keybindings configuration
[keys]
# Key to quit
quit = "q"
# Key to pause/resume
pause = " "
# Key to increase WPM
increase_wpm = "+"
# Key to decrease WPM
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:
export OPEN_ROUTER_API_KEY=your_api_key_here
Command-line Options
Options:
-f, --file <FILE> Path of the text file to speed read
--wpm <WPM> Words per minute
--init-config Generate a default config file
-h, --help Print help
Requirements
- The AI summary evaluation feature requires an OpenRouter API key set as the
OPEN_ROUTER_API_KEY
environment 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.
Dependencies
~14–27MB
~419K SLoC