Skip to content

V2 - #77

Merged
Nithwin merged 35 commits into
mainfrom
v2
Jul 27, 2026
Merged

V2#77
Nithwin merged 35 commits into
mainfrom
v2

Conversation

@Nithwin

@Nithwin Nithwin commented Jul 27, 2026

Copy link
Copy Markdown
Owner

No description provided.

Nithwin added 30 commits July 26, 2026 20:51
- Semantic Vector RAG: Implemented pure Go TF-IDF semantic embedding and SQLite-based vector storage for semantic codebase search, no external dependencies required.
- Input Queuing: Allow user to type and queue a message while AI is loading/streaming. It auto-sends once the previous request completes.
- Streaming Token Counter: The token tag in the header now updates in real-time with an animated spinner, indicating live streaming throughput.
- /index command: Added chat command to index current workspace for RAG search.
…erences

- **Token-Aware Window**: Confirmed sliding window memory is token-based using `tiktoken-go`. Fixed a critical bug in `loop.go` where the latest user prompt was not appended to history if prior messages existed.
- **Context References System**: Implemented `ReferenceInjector`. Users can now type `@file.go` or `@http://url.com` in their prompt, and the agent will automatically read and inject the contents as context blocks before sending to the LLM.
- **Conversation Summarization**: Added `agent.Summarizer` to compress old conversation turns into dense summaries.
- Added `/compact` chat command to manually trigger conversation compaction to save context window and tokens.
- **GoReleaser**: Configured cross-platform builds (Linux, macOS, Windows) and Homebrew tap generation.
- **SQLite Optimization**: Migrated from CGo-dependent `go-sqlite3` to pure Go `modernc.org/sqlite` to allow `CGO_ENABLED=0` for seamless cross-compilation.
- **NPM Distribution**: Created an NPM wrapper in `npm/` that automatically downloads the correct binary from GitHub Releases on post-install.
- **Installer**: Added a generic `curl | bash` install script.
- **Docker**: Added a minimal Alpine Dockerfile.
- **GitHub Actions**: Configured workflows for CI (lint/test/build), Releases (GoReleaser + NPM publish), and Nightly builds.
- **Documentation**: Scaffolding for a new MkDocs-powered site.
…ull view

This fixes an issue where selecting providers/models/themes would hide the main WindMist UI, creating a disconnected experience. The selector now renders inline with the header above it.
Arrow keys were being intercepted by the input history handler. The selector now correctly receives up/down navigation, allowing users to scroll through providers, models, and themes.
Removed gemini-3.6-pro as requested while keeping all other models intact.
Since we are testing on the v2 branch, the application should fetch the models manifest from the v2 branch so it reflects the removed 3.6-pro model instead of falling back to the main branch's outdated manifest.
This fixes 404 API errors where fake/futuristic models like gemini-3.1-pro or gpt-5.5-pro were used instead of real API endpoints.
Removed gemini-3.1-pro to prevent 404 API errors while keeping all newer models intact.
The Gemini API requires the '-preview' suffix only for specific experimental models like gemini-3.1-pro. This prevents breaking standard models like gemini-3.5-flash with an invalid suffix.
When running the /remote command and selecting to configure Telegram, the CLI now prints a user-friendly setup guide with steps to use @Botfather before prompting for the API token.
This fixes an issue where setting a new API key required a manual app restart to take effect. The provider and agent are now automatically reinitialized in memory immediately after a successful key update.\n\nAlso added missing viewport refresh for inline prompts so setup guides are rendered before asking for input.
Hard-limited the repository map depth to 2 and reduced the max file count from 2000 to 250. This prevents the initial system prompt from eating up 4000+ tokens on medium-sized projects, ensuring WindMist works efficiently within the TPM limits of free-tier APIs (like Groq's 6000 TPM limit). The AI is now instructed to use list_dir if it needs to see deeper into the directory tree.
Added the current absolute path to the CLI header UI right next to the WindMist logo. Also explicitly injected the current working directory path into the repository map so the AI model always knows exactly where it is operating.
Fixed a bug where new sessions were incorrectly being saved to the database with a literal '.' project path instead of the actual absolute working directory. Also updated the SQLite list query to retrieve BOTH the absolute path and the legacy '.' path so that any sessions users created prior to this fix are successfully recovered and displayed in the /sessions menu.
The Gemini 3.5 Flash and 3.6 Flash models were incorrectly appending a '-preview' suffix, causing a 404 error from the Google API (models/gemini-3.5-flash-preview is not found). This commit removes the suffix for the flash models. The 3.1-pro model correctly retains its -preview suffix.
…tions

Users who had previously set their model to gemini-3.5-flash-preview were experiencing 404 errors even after the models.json update because the invalid model string was cached in their ~/.config/windmist/config.json. This aggressively sanitizes the model string at the API request level to guarantee legacy configs continue working without manual intervention.
Fixed a bug where the remote configuration options (like Configure Telegram Bot) would fail silently when selected because the selection handler was incorrectly comparing against the filter string instead of the option value.
…t, and improved error handling in the remote hub and UI.
…persistent telegram state, and refined local installation script
@Nithwin
Nithwin merged commit e78f194 into main Jul 27, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant