4.8 KiB
4.8 KiB
Thisper
Thisper is a typing-first communication translator. It rewrites raw text into clearer text while staying as close as possible to the original meaning, voice, uncertainty, and tone.
Release Candidate Status
Thisper is currently a desktop typed-workflow release candidate.
What is considered in-scope and ready for release-candidate use:
- desktop text-to-text rewrite workflow
- cross-app selected-text rewrite via
Ctrl + Alt + R - tray/background operation
- native secure API key persistence
- protected URL preservation
What still remains before a broader general release:
- structured legacy hardware validation
- final commercial license allowlist decision
Current Desktop Scope
- Desktop text-to-text rewrite UI with diff review
- Rewrite modes:
Preserve Voice,Clean,Readable,Formal,Concise - Gemini-backed cloud rewrite provider with typed model selection
- Secure Gemini API key storage through native platform protection
- Global cross-app rewrite shortcut:
Ctrl + Alt + R - System tray support with background operation
- Non-destructive clipboard replacement flow: selected text is only replaced after the full rewrite succeeds
- URL protection: links are treated as protected content and must survive rewrites unchanged
- Local-only runtime observability for rewrite attempts, failures, model use, and last error category
Desktop Workflow
Main Window
- Paste or type raw text.
- Choose a mode and model.
- Run
Rewrite. - Review either the final output or the diff.
- Copy the result.
Cross-App Rewrite
- Select plain text in another app.
- Press
Ctrl + Alt + R. - Thisper copies the selection, rewrites it in
Preserve Voice, then pastes the full replacement only after the provider returns a complete result. - The previous text clipboard contents are restored after the operation when they were available as plain text.
If no API key is configured, Thisper brings the main window forward instead of attempting a destructive rewrite.
Tray And Background Behavior
- Thisper starts with a tray icon on desktop platforms where tray icons are supported.
- Closing the window does not quit the app by default. The first close shows a tray hint, and later closes hide the window to the tray.
- The tray menu provides:
Show ThisperRun Clipboard RewriteQuit
- The global shortcut remains active while the window is hidden.
Quitfrom the tray exits the app fully.
Known Limitations
- Cross-app rewrite is designed for plain-text targets first. Rich editors, browser text surfaces, and heavily customized inputs are best-effort.
- Secure fields and some application surfaces may block selection, copy, paste, or synthetic key events.
- Clipboard restoration currently preserves prior plain-text clipboard contents. Non-text clipboard formats are not yet restored.
- If a rewrite attempts to drop a protected URL, Thisper now fails that rewrite instead of silently removing the link.
- Some host apps can intercept the hotkey before Thisper sees it. The known example so far is the T3 Chat app defocusing its own text box.
- Model fidelity still depends on prompt behavior. High-value detail protection is planned, but not part of the current Phase 2 completion scope.
Setup
Prerequisites
- Rust stable toolchain
- Node.js LTS
- A Gemini API key from Google AI Studio
Credentials
Use the in-app Settings dialog to save the Gemini API key using native platform protection.
- Windows: DPAPI-encrypted local app storage tied to your Windows user account
- Other supported desktop platforms: native credential store backend
For development, Thisper also accepts:
$env:GEMINI_API_KEY = "YOUR_API_KEY_HERE"
Run Development
npm install
npm run tauri dev
License Auditing
Thisper includes automated license-audit commands:
npm run licenses:npm
npm run licenses:rust
npm run licenses:all
Current status:
- automation is present
- the final commercial allowlist policy is still pending
- current Rust audit output includes weak-copyleft and platform-stack licenses that need an explicit policy decision before monetization
Architecture
- Frontend: Vanilla TypeScript, HTML, CSS, Vite
- Backend: Tauri v2, Rust
- Provider boundary: pluggable rewrite provider trait
- Current provider: Gemini
- Desktop integration: global shortcut, clipboard pipeline, tray/background mode
Project Tracking
See:
RELEASE_CANDIDATE.mdfor the current desktop release-candidate lockTHISPER_STATUS.mdfor current completion statusTHISPER_IMPLEMENTATION_PLAN.mdfor the release-candidate scopeLEGACY_HARDWARE_VALIDATION.mdfor the Phase 2 validation checklist and reportPHASE3_SPEECH_PLAN.mdfor the queued next-phase speech scope