Show HN: Open-source coding assistant with terminal access (docs.sweep.dev)
We previously worked on Sweep as a bot that generated pull requests from GitHub issues. We learned that AI needs validation (like formatters and unit tests) to code properly. We tried setting up a code sandbox for each user but this didn't work well. We’re now relying on the prebuilt dev environment on their machine to avoid having to install dependencies.
LLM based pipelines are also error-prone. Our previous project was a pipeline that turns the issue into relevant files as context, relevant files to a generated plan of files to change, and then the generated plan to a series of code changes. It’s frustrating when one/all of these steps fail and you’re forced to start over. You can now intervene at each step, making the entire process more reliable.
Sweep is open source (licensed under AGPL) and runs entirely on your laptop. The only remote calls will be to OpenAI. We'd love to help you perform software chores like version upgrades, where you describe a set of changes to have Sweep apply over multiple files. You can install Sweep here with a one-line command: https://docs.sweep.dev/assistant. We'd love to hear any feedback you have!
12 comments
[ 4.7 ms ] story [ 38.7 ms ] threadhttps://ollama.ai/blog/openai-compatibility
So apparently, yeah.
As a contrast, aider [0] has always been focused on a "local/interactive" ai coding model. It lets you "pair program" with GPT-4, within your existing git repo code base.
You can give GPT fairly short, informal instructions and you see GPT's code edits stream back in real time. If you see that it has misunderstood, you can interrupt or undo the edit and offer more direction. This feels potentially more efficient than very carefully specifying the task up front, pre-writing the tests, firing off a long agentic job ... and then finding out 20 minutes later that your instructions weren't clear enough.
Have you considered a more interactive approach?
If I had to describe my current process, it would be to 1) brainstorm approaches 2) create a toy implementation 3) integrate solution into project. Each of these steps is interactive. For brainstorming, I’ll usually have it create the simplest implementation, check it by eye only, and if it’s on the right track I will begin adding constraints to make it more realistic. If it isn’t, throw away the conversation and start from a new prompt (don’t bother trying to get it to recognize its mistakes if they are categorical) Finally, if I’m feeling lazy, I will ask it to integrate this snippet into the real project (typically this is the first point GOT sees my actual code, and it’s just doing the mechanical transformation between the snippets).
To automate the workflow that I’m talking about does require a more agentic approach than just a chat interface provides. I guess the answer is probably in the middle somewhere.
Okay, so like...the part of this that's actually interesting is the part that doesn't run on my laptop, and instead requires handing my source code to an untrustworthy third party?
"The car runs entirely on electricity. The only part that requires gasoline is the engine."
Even when they are, it'll still be a while before you can run such a powerful model on your laptop. Thanks for the feedback!