Repository navigation
v0.1.1
Release v0.1.1
Release Notes
Overview
This release delivers significant quality-of-life improvements for Hexai's Language Server Protocol (LSP) and command-line (CLI) tools, along with enhanced configuration controls, additional provider support, smarter completion logic, improved logging, and a much more robust, tested core. The update focuses on providing users with a more configurable, reliable, and predictable AI coding experience, both in Helix and at the command line.
Features
Expanded LLM Provider Support
- Ollama provider added: You can now use a local Ollama server as your LLM backend, with stream support in the CLI and full configuration options.
- GitHub Copilot provider: Integration with Copilot’s public API is included. Provider/model, API endpoint, and temperature are all configurable.
- Provider selection simplified: Choose OpenAI, Copilot, or Ollama via config or environment variables.
Fine-Grained Configuration
- Per-provider temperature settings: Set a coding-friendly temperature for each backend (
openai_temperature,copilot_temperature,ollama_temperature). Fine-tune output determinism and creativity for your workflow. - Single coding temperature knob:
coding_temperaturecan override per-provider defaults for all LSP requests; helps optimize code completion quality. - XDG configuration support: Config files now auto-resolve via
$XDG_CONFIG_HOME/hexai/config.json. - Extensive environment variable support: All config options can be overridden with
HEXAI_*environment variables (including API keys). - Configurable completion triggers: Customize what characters invoke AI completions (e.g.,
"."," ", etc.); defaults now tuned for less-noisy completions.
CLI & LSP Improvements
- Streamed responses: The CLI streams LLM output as it arrives for OpenAI and Ollama, making outputs more responsive.
- Split binaries:
hexaiis now a clean CLI;hexai-lspis the LSP server. Both can be used independently and are fully documented. - Project status and documented changelog: Maintained in
PROJECTSTATUS.mdand deeply updatedREADME.md.
Improvements
Smarter, Less-Intrusive Completions
- Stricter completion triggers: Completions only trigger after sufficient typing or specific trigger characters, reducing irrelevant suggestions.
- In-flight request guard: Prevents overlapping LLM completions, improving performance and output quality.
- Intelligent context strategies: Choose how much surrounding code is sent to the model; configurable between minimal, window, file, and always-full.
- Completion cache: LRU caching avoids duplicate, costly requests for recent inputs.
Code Actions & Helix Integration
- Dedicated code actions: Rewrite selected text with instructions, resolve diagnostics, and more – all scoped tightly to Helix selections.
- Instruction detection: Picks up prompts or comments embedded in selections, making code actions more natural and predictable.
- Lazy and resolved code actions: Code actions now only query LLMs when explicitly resolved, reducing unnecessary completions.
Output Cleanup
- Markdown and code fence stripping: LLM completions and code actions return clean, ready-to-use code (removes ```, backticks, and inline markers).
- Inline prompt markers: Add
;...;prompts or comment instructions in your code – Hexai will detect them and clean up after transformation.
Logging and Telemetry
- Configurable preview log size: Control how much LLM input/output is previewed in logs via
log_preview_limit. - Colorized logs: Easy-to-read ANSI-colored logs for outgoing messages, responses, errors, and skipped completions.
- LLM operation stats: Output stats (averages, per-minute) for advanced users.
Refactoring and Testing
- Modularized codebase: LSP, CLI, and LLM logic split for improved maintainability.
- Comprehensive unit tests: Enhanced reliability for core helpers, context logic, completion heuristics, code actions, and CLI behavior.
Bug Fixes
- No duplicate assignment in completions: Ensures suggestions don’t redundantly repeat known code, reducing confusion.
- Instruction/inline marker cleanup: Improved logic for identifying and removing prompt tags and inline code spans.
- Markdown stripping bug: Completions no longer include extraneous code fences or backticks.
- Env var precedence clarified and fixed: All environment overrides (especially API keys) are now consistently honored, with documented precedence.
- LSP throttling fixes: Transitioned from a naive time-based throttle to an “in-flight guard” for managing concurrent LLM requests.
- Stdin reading in CLI fixes: CLI reliably concatenates stdin and argument input per documented behavior.
Potential Breaking Changes & Migration Notes
- Renamed CLI and LSP binaries: Use
hexai(CLI) andhexai-lsp(LSP server) going forward. Update your Helixlanguages.tomlaccordingly. - Config spec changes: Move config to
$XDG_CONFIG_HOME/hexai/config.jsonif not already. Many config keys have gained new options; see the updated README for details. - Trigger character defaults: Defaults have changed (“;” and “?” are no longer default triggers, but “ “ (space) is now included). Consider customizing for your editor to match your workflow.
- Temperature settings: The LSP now honors
coding_temperatureif set, falling back to provider defaults otherwise. - Stricter code action handling: Code actions now always operate only on the current selection, and markers are less likely to be left behind.
- API key preference: Env vars now strongly prefer
HEXAI_OPENAI_API_KEYandHEXAI_COPILOT_API_KEYover their generic counterparts.
For Users
- Update configuration: Review your
.config/hexai/config.jsonand environment variables. Consider new per-provider settings and review the README for examples. - Update Helix configuration: Use
hexai-lspas your server command and adjust trigger characters if needed. - Switch provider easily: Use
HEXAI_PROVIDER=ollama,HEXAI_PROVIDER=openai, orHEXAI_PROVIDER=copilotto try different backends and tune the results. - Enjoy smarter, faster, and less-intrusive completions – plus fine-grained control, full transparency, and a cleaner developer experience!
Thank you for using Hexai! Please see PROJECTSTATUS.md for roadmap and known issues, and the README for full usage instructions and configuration examples.