TextRecast is an open-source Windows writing assistant that rewrites selected text using a language model running entirely on the user’s computer.
There is no cloud API, separate Ollama installation, or external model service. Users select text in another application, choose a formatting operation, and TextRecast replaces the original selection with the generated result.
I recently completed the model foundation planned for TextRecast v0.2.0.
Why TextRecast needs multiple models
TextRecast currently uses Qwen 2.5 1.5B Instruct. It is small enough to run on many Windows computers while still producing useful results.
However, one model cannot provide the best experience for every computer.
A lightweight laptop may need a smaller and faster model, while a system with more memory can safely run a larger model with better output quality.
The goal for v0.2.0 is therefore to support:
- Multiple local model families
- Automatic selection based on hardware
- Manual model selection
- Resumable and verified model downloads
- Model-specific prompts and generation settings
- A repeatable qualification process
No additional model has been exposed to users yet. Models must first pass the TextRecast qualification process.
Vendor-neutral model adapters
The original implementation contained behavior designed specifically for Qwen and its ChatML format.
That behavior is now behind a model adapter contract. Each model family can define its own:
- Prompt format
- Sampling configuration
- Stop sequences
- Output cleanup
- Expected output length
The existing Qwen behavior remains unchanged, but future models no longer need to copy or modify the main inference workflow.
This also makes it possible to support model families such as Phi, Granite, Ministral, or other suitable small language models without coupling the application to one vendor.
Local model qualification
I added a development-only benchmark runner that tests an existing local GGUF model. It never downloads a model and is excluded from the published application.
The corpus currently covers:
- Improve writing
- Shorten
- Lengthen
- Summarize
- Every supported tone
- Short, medium, and long text
- Punctuation-heavy text
- Adversarial instructions
- English, Hindi, Spanish, French, German, and Japanese
The evaluator checks output presence, required information, length, repetition, protocol leakage, and language preservation.
What the first benchmark found
I ran the qualification suite against the current Qwen 2.5 1.5B model.
Results:
- 18 cases completed
- 9.0/10 overall score
- No inference failures
- No protocol leakage
- No repetition failures
- Strong English performance
- Good Japanese result
The benchmark also exposed an important limitation: Hindi, Spanish, French, and German inputs were translated into English instead of preserving their original languages.
This is exactly why a project-specific qualification suite is valuable. A good general-purpose model is not automatically the best model for a specific application.
The score is a TextRecast-specific measurement, not a universal model benchmark.
Hardware-aware recommendations
TextRecast can now inspect:
- Total and currently available memory
- Logical processor count
- Process architecture
- AVX2 availability
- Free model-storage space
The recommendation engine only accepts models with measured requirements. It rejects models that fail memory, storage, architecture, responsiveness, or minimum-quality requirements.
Memory recommendations include a 30% reserve over the measured peak requirement plus an additional 512 MiB safety allowance.
Among the safe profiles, TextRecast selects the highest-quality option.
Safe model settings
Automatic or Manual selection and the active model identifier can now be stored under the user’s local application-data directory.
Settings writes are atomic, and the application safely recovers from:
- Missing settings
- Corrupt JSON
- Outdated schemas
- Unknown model identifiers
- Interrupted replacement attempts
Selected or generated user text is never stored in the settings file.
Validation
The completed foundation currently passes:
- 52 automated tests
- Release formatting checks
- A zero-warning Release build
- Self-contained Windows publishing
- Package validation with no bundled GGUF files
- A real-model benchmark run
- A foreground selection-to-replacement test
In the foreground test, TextRecast captured:
teh report dont include the final deadline
It generated and replaced the selection with:
The report does not include the final deadline.
The workflow completed in 4.79 seconds, and the previous clipboard contents were restored successfully.
What comes next
The next phase is to benchmark candidate models and select the best options for Fast, Balanced, and Best Quality profiles.
A candidate must reach at least 8.0/10 in the TextRecast qualification suite and satisfy language, memory, and responsiveness requirements before it can be shipped.
After qualification, I will add model installation, switching, deletion, automatic recommendations, and model-management UI.
TextRecast is open source, and you can follow its development here:
Top comments (0)