Show Blink-edit Cursor-style Next-edit Predictions Neovim
backend · 2 signals · 0 sources
Evidence
Show HN: Blink-Edit – Cursor-style next-edit predictions for Neovim (local LLMs) — Hey HN, we built a pure-Lua Neovim plugin that brings Cursor-style next-edit predictions to Neovim, running entirely on local models. Tab to accept, Esc to reject. GitHub: <a href="https://github.com/BlinkResearchLabs/blink-edit.nvim" rel="nofollow">https://github.com/BlinkResearchLabs/blink-edit.nvim</a><p>We're Blink Research Labs (<a href="https://github.com/BlinkResearchLabs" rel="nofollow">https://github.com/BlinkResearchLabs</a>) - an open research collective building AI coding tools in the open. Our philosophy is simple: if it's not open, it's not research; if it's not fast, it's not usable. We think the best AI coding tools shouldn't be locked behind $20/month subscriptions or closed-source walls.<p>We saw the Sweep model release a few days ago and realized the Neovim ecosystem deserved a complete, local-first, AI coding solution. So we built one.<p>What makes this different:<p>- Pure Lua, no external dependencies — No servers, no Node, no Python. Just Lua talking directly to your model backend. This matters when you're waiting for predictions on every keystroke. - Multiple providers — Built-in support for Sweep (1.5B, optimized for next-edit) and Zeta (7B, from Zed Industries). Adding a new provider is ~50 lines of Lua. - LSP-aware context — We fetch definitions and references for the symbol under your cursor and include them in the prompt. The model knows what foo() does before suggesting changes to it. - Backend-agnostic — Works with llama.cpp, Ollama, vLLM, or any OpenAI-compatible server. Bring your own inference.<p>The plugin sends context-aware prompts based on your cursor position, recent edits, and (optionally) LSP symbols. Predictions render as ghost text inline. We handle all the edge cases: blink.cmp/nvim-cmp menu conflicts, debouncing, streaming, health checks.<p>Getting started takes 30 seconds:<p>llama-server -hf sweepai/sweep-next-edit-1.5b-GGUF --port 8000<p>require("blink-edit").setup({ llm = { provider = "sweep", backend = "openai", url = "http://localhost:8000" } })<p>The Sweep 1.5B model runs at 200+ tok/s on M-series Macs and fits comfortably on a 4GB GPU. For those with more VRAM, Zeta (7B) gives noticeably better predictions.<p>This is alpha software - we're iterating fast and want feedback. If you're a Neovim user who's been jealous of Cursor's tab-completion, give this a shot and tell us what breaks.
Show HN: Onlook – Open-source, visual-first Cursor for designers — Hey HN, I’m Kiet – one half of the two-person team building Onlook (<a href="https://beta.onlook.com/">https://beta.onlook.com/</a>), an open-source [<a href="https://github.com/onlook-dev/onlook/">https://github.com/onlook-dev/onlook/</a>] visual editor that lets you edit and create React apps live on an infinite canvas.<p>We launched Onlook [1][2] as a local-first Electron app almost a year ago. Since then, “prompt-to-build” tools have blown up, but none let you design and iterate visually. We fixed that by taking a visual-first, AI-powered approach where you can prompt, style, and directly manipulate elements in your app like in a design tool.<p>Two months ago, we decided to move away from Electron and rewrite everything for the browser. We wanted to remove the friction of downloading hundreds of MBs and setting up a development environment just to use the app. I wrote more here [3] about how we did it, but here are some learnings from the whole migration:<p>1. While most of the React UI code can be reused, mapping from Electron’s SPA experience to a Next.js app with routes is non-trivial on the state management side.<p>2. We were storing most of the data locally as large JSON objects. Moving that to a remote database required major refactoring into tables and more loading states. We didn’t have to think as hard about querying and load time before.<p>3. Iframes in the browser enforce many more restrictions than Electron webview. Working around this required us to inject code directly into the user project in order to do cross-iframe communication.<p>4. Keeping API keys secure is much easier on a web application than an Electron app. In Electron, every key we leave on the client can be statically accessed. Hence, we had to proxy any SDK we used that required an API key into a server call. In the web app, we can just keep the keys on the server.<p>5. Pushing a release bundle in Electron can take 1+ hours. And some users may never update. If we had a bug in the autoupdater itself, certain users could be “stranded” in an old version forever, and we’d have to email them to update. Though this is still better than mobile apps that go through an app store, it’s still very poor DX.<p>How does Onlook for web work?<p>We start by connecting to a remote “sandbox” [4]. The visual editing component happens through an iframe. We map the HTML element in the iframe to the location in code. Then, when an edit is made, we simulate the change on the iframe and edit the code at the same time. This way, visual changes always feel instant.<p>While we’re still ironing out the experience, you can already: - Select elements and prompt changes<p>- Update TailwindCSS classes via the styling UI<p>- Draw in new divs and elements<p>- Preview on multiple screen sizes<p>- Edit your code through an in-browser IDE<p>We want to make it trivial for anyone to create, style, and edit codebases. We’re still porting over functionalities from the desktop app — layers, fonts, hosting, git, etc. Once that is done, we plan on adding support for back-end functionalities such as auth, database, and API calls.<p>Special thank you to the 70+ contributors who have helped create the Onlook experience! I think there’s still a lot to be solved for in the design and dev workflow, and I think the tech is almost there.<p>You can clone the project and run it from our repo (linked to this post) or try it out at <a href="https://beta.onlook.com">https://beta.onlook.com</a> where we’re letting people try it out for free.<p>I’d love to hear what you think and where we should take it next :)<p>[1] <a href="https://news.ycombinator.com/item?id=41390449">https://news.ycombinator.com/item?id=41390449</a><p>[2] <a href="https://news.ycombinator.com/item?id=40904862">https://news.ycombinator.com/item?id=40904862</a><p>[3] <a href="https://docs.onlook.com/docs/developer/electron-to-web-migration">https://docs.onlook.com/docs/developer/electron-to-web-migra...</a><p>[4] Currently, the sandbox is through CodeSandbox, but we plan to add support for connecting to a locally running server as well