synthetic-lab/octofriend

An open-source coding helper. Very friendly!

What it solves

Octofriend is a terminal-based coding assistant designed to provide a private, flexible, and tool-rich environment for developers. It solves the problem of being locked into a single LLM provider or model, allowing users to switch models mid-conversation and integrate various external tools like language servers and MCP servers without telemetry.

How it works

Octo operates as a CLI tool that connects to OpenAI-compatible or Anthropic-compatible APIs, including local LLMs. It enhances the coding experience by:

  • Tool Integration: It automatically detects and uses Language Server Protocol (LSP) servers for IDE-grade navigation (e.g., jumping to definitions) and supports the Model Context Protocol (MCP) for rich data access.
  • Sandboxing: It features built-in Docker support, allowing the assistant to execute shell commands and edit files within a container to protect the host machine.
  • Autofixing: It can utilize custom-trained ML models to automatically handle tool call and code edit failures.
  • Context Management: It supports session resuming, directory-based rule files (OCTO.md), and the Agent Skills spec for reusable, context-dependent instructions.
  • Multimodality: It allows users to attach images to messages if the selected model supports vision.

Who it’s for

Developers who want a highly customizable, zero-telemetry coding assistant that can work across different LLM providers, local models, and sandboxed environments.

Highlights

  • Model Agnostic: Switch between different LLM APIs (OpenAI, Anthropic, local) mid-conversation.
  • Zero Telemetry: No data collection, ensuring code privacy.
  • Docker Sandboxing: Run the assistant's actions inside a Docker container for safety.
  • LSP & MCP Support: Integrated support for language servers and the Model Context Protocol.
  • Web Search: Integrated web search capabilities via Synthetic or Exa APIs.
  • Session Persistence: Automatically saves conversations per-directory and allows easy resuming.

Related

  • Project
  • Project
  • Project
  • Dispatch