Skip to content

notedit/InputCli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InputCli

Terminal-based voice input tool with AI transcription and smart post-processing.

Say something → text appears at your cursor. Transcription, correction, and formatting are fully transparent.

Features

  • Press-and-hold voice input — configurable global hotkey (F13/F5/CapsLock)
  • ElevenLabs Scribe transcription with Chinese language support
  • Claude Haiku post-processing — filler removal, hotword correction, punctuation
  • Auto-injection — text is pasted into the active window via clipboard
  • TUI interface — real-time status, volume meter, history, hotword management
  • Sound feedback — synthesized event sounds with theme support
  • SQLite history — searchable transcription log with in-memory LLM context

Quick Start

# Install with uv
uv sync
uv run inputcli

# Or install with pip
pip install -e .
inputcli

Configuration

Config file: ~/.inputcli/config.yaml (auto-created on first run).

Set your API keys via environment variables:

export ELEVENLABS_API_KEY="your-key"
export ANTHROPIC_API_KEY="your-key"

CLI Options

inputcli --help
inputcli --hotkey f5         # override hotkey
inputcli --language en       # override language
inputcli --no-postprocess    # skip LLM post-processing
inputcli --debug             # enable debug logging

Architecture

HotkeyListener → AudioRecorder → Transcriber → PostProcessor → Injector
     ↕                                              ↕
  Pipeline (FSM)  ←→  SoundPlayer / HistoryStore / Config
     ↕
  TUI (Textual)

Requirements

  • Python 3.11+
  • macOS or Linux
  • PortAudio (for sounddevice)
  • Microphone access

About

Voice input cli

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages