DictCLI is an LLM-powered dictation practice tool for English learners worldwide. It runs in your terminal and uses OpenAI API to generate sentences, play audio, and provide detailed feedback in your native language.
- 🤖 LLM-Powered: Dynamic sentence generation using OpenAI API
- 🎯 Level-Based Learning: Choose from 6 CEFR levels (A1-C2)
- 🔊 Voice Options: 6 different voices (3 male, 3 female)
- 🌍 Multilingual Feedback: Error explanations in 20+ languages (auto-detected)
- ⚡ Fast Learning Cycle: Complete rounds in under a minute
- 🎨 Beautiful TUI: Polished terminal UI with Ink v4
- Node.js v20 or higher
- macOS (for audio playback feature)
- OpenAI API key
Run directly with npx:
npx @konpyu/dictclinpm install -g @konpyu/dictcligit clone https://github.com/konpyu/dictcli.git
cd dictcli
npm install
npm run build
npm linkAfter installation, you can run it from any terminal:
dictcliTo uninstall:
npm unlink -g dictcliSet your OpenAI API key as an environment variable:
export OPENAI_API_KEY=your-api-key-hereTo make it permanent, add it to your shell configuration file (.bashrc, .zshrc, etc.).
- Visit OpenAI Platform
- Create an account or sign in
- Generate a key on the API Keys page
- Copy the generated key and set it as an environment variable
DictCLI automatically detects your system language and provides feedback in your native language. Currently supports:
- 🇯🇵 Japanese
- 🇬🇧 English
- 🇨🇳 Chinese
- 🇰🇷 Korean
- 🇪🇸 Spanish
- 🇫🇷 French
- 🇩🇪 German
- 🇮🇹 Italian
- 🇵🇹 Portuguese
- 🇷🇺 Russian
- 🇸🇦 Arabic
- 🇮🇳 Hindi
- 🇹🇭 Thai
- 🇻🇳 Vietnamese
- And many more...
The dictation audio remains in English while error explanations adapt to your system language.
dictcliStarts with default settings (Business English, A1 level, 10 words).
dictcli --topic Technology --level CEFR_B1 --words 15 --voice SARA| Option | Description | Choices | Default |
|---|---|---|---|
--topic |
Learning topic | EverydayLife, Travel, Technology, Health, Entertainment, Business, Random | Business |
--level |
Difficulty level | CEFR_A1, CEFR_A2, CEFR_B1, CEFR_B2, CEFR_C1, CEFR_C2 | CEFR_A1 |
--words |
Word count | 5-30 | 6 |
--voice |
Voice type | ALEX, SARA, EVAN, NOVA, NICK, FAYE | ALEX |
| Name | Gender | Characteristics |
|---|---|---|
| ALEX | Male | Friendly, standard voice |
| SARA | Female | Clear and easy to understand |
| EVAN | Male | Calm voice |
| NOVA | Female | Modern voice |
| NICK | Male | Deep voice |
| FAYE | Female | Gentle voice |
- Type your answer: Enter the sentence you hear and press Enter
- Slash commands: Type
/to open command menu/replay- Replay audio/settings- Open settings/giveup- Show hint (answer with blanks)/quit- Quit application
- Enter or N - Next question
- R - Replay audio
- S - Open settings
- Q - Quit application
- ↑↓ - Select item
- ←→ - Change value (Voice, Level, Topic)
- -+ - Increase/decrease (Word Count)
- Enter - Save and continue to next question
- Esc - Cancel
- Level Selection: Start with a level where you can answer about 80% correctly
- Repetitive Practice: Practice the same topic repeatedly to master specialized vocabulary
- Speed Adjustment: Adjust playback speed in
/settings(0.8x-1.2x) - Error Analysis: Carefully read explanations in your native language to understand error patterns
- A1: Basic words and simple sentences
- A2: Everyday expressions and basic grammar
- B1: Practical expressions for work and travel
- B2: More complex grammar and vocabulary
- C1: Fluent and natural expressions
- C2: Native-level advanced expressions
Q: Audio doesn't play
- A: This only works on macOS. Audio features are not available on other OS.
Q: "OPENAI_API_KEY environment variable is required" error
- A: Verify that the environment variable is set:
echo $OPENAI_API_KEY
Q: Frequent API errors
- A: Check if you have remaining OpenAI API credits.
Q: Characters are garbled
- A: Make sure your terminal supports UTF-8 and has fonts for your language installed.
If problems persist, you can check detailed information in debug mode:
DICTCLI_DEBUG=true dictcliPlease report bugs and suggest features via GitHub Issues.
Pull requests are welcome!
MIT License - See LICENSE file for details.

