Show HN: Octofriend, a cute coding agent that can swap between GPT-5 and Claude
36 reissbaker 16 8/7/2025, 6:34:21 PM github.com ↗
Hey HN! We're shipping Octofriend today, a cute coding assistant that can swap between GPT-5, Claude, local or open-source LLMs, etc mid-conversation as needed. It handles reasoning tokens (including encrypted ones from OpenAI and Anthropic) really well, and includes a couple of custom-trained ML models to fix minor diff edit and JSON encoding errors that we've also open-sourced. Have fun!
- error handling is not good. It just dumps the error JSON in the console, and doesn't read and understand it, so keeps retrying even if it's something that it clearly needs to change
- ESC is pretty unreliable at interrupting ongoing activity
- I'd expect to be able to use arrow keys to navigate through history
- is there a way to change the preference order for models?
It succeeded in my standard task of adding support for detecting itself to am-i-vibing, but it got stuck in some API errors before it was able to create a PR. It does now have support though after a little help: https://github.com/ascorbic/am-i-vibing
We're working on creating an SDK that will allow other folks to build their own CLIs with OpenHands, so you can take advantage of our SOTA agent, but implement the TUI/GUI of your dreams.
IMO gpt-oss-120b is actually a very competent local coding agent — and it should fit on your 128GB Macbook Pro. I've used it while testing Octo actually, it's quite good for a local model. The best open model in my opinion is zai-org/GLM-4.5, but it probably won't fit on your machine (although it works well with APIs — my tip is to avoid OpenRouter though since quite a few of the round-robin hosts have broken implementations.)
I'm trying to set it up right now with lmstudio with qwen3-coder-30b. Hopefully it's going to work. Happy to take any pointers on anything y'all have tried that seemed particularly promising.
The weights are here:
https://huggingface.co/syntheticlab/diff-apply
https://huggingface.co/syntheticlab/fix-json
And if you're curious about how they're trained (or want to train your own), the entire training pipeline is in the Octofriend repo.
https://deps.dev/npm/%40anthropic-ai%2Fclaude-code/1.0.69/de...
I doubt we're particularly different in that regard from Claude Code, since we use the same frameworks (e.g. Ink for terminal rendering).
Have you worked with any Node.js projects before? I'd actually say this is a relatively sparse list of dependencies for a user-facing tool.
We also open-sourced the autofix models:
https://huggingface.co/syntheticlab/diff-apply
https://huggingface.co/syntheticlab/fix-json
They're truly open source, not just open weight BTW: the entire training pipeline is in the Octofriend repo.