Only barrier for some folks will be if they're not familiar with rust or local LLMs in general, but it really wasn't that difficult looking back on it. Amounted to about an afternoon's worth of work.
Only barrier for some folks will be if they're not familiar with rust or local LLMs in general, but it really wasn't that difficult looking back on it. Amounted to about an afternoon's worth of work.
To get custom tab completions working you need to mimic one of the completion provider apis (like copilot) [1] and direct the requests to your own endpoint. In my case, I am running llama.cpp and and MITM-proxying to its newer /infill endpoint [2]
That's why I mention the rust piece may be a blocker for some, you do have to hack apart the src a bit to get things working. At the time I started this, the only two completion providers available were supermaven [3] and copilot. You could mimic either.
[1] https://github.com/zed-industries/zed/tree/be830742439f531e8...
[2] https://github.com/ggerganov/llama.cpp/blob/master/examples/...
[3] https://github.com/zed-industries/zed/tree/be830742439f531e8...
Branch is a bit out of date vs main now but it should work if you build off it.
There are a couple of MITM proxies I've seen for this purpose, the first of which seems to be maintained: - https://github.com/bernardo-bruning/ollama-copilot/tree/mast... - https://github.com/jjleng/copilot-proxy
When I tried a few weeks back I was only able to get the latter to actually process requests, but haven't had a chance to look into it much further yet... first one's probably your best bet