Another AI coding agent, but with a protocol obsession
A Python reimplementation of opencode that treats LLMs, databases, and tools as swappable protocols rather than hard dependencies.

What it does
openvibe is a Python port of the opencode AI coding agent. It runs as either a one-shot CLI tool (openvibe run "fix tests") or a persistent FastAPI server with SSE streaming. The agent can read files, run bash commands, edit code, search with grep/glob, fetch web pages, and manage todos — all gated by a permission system that can force “ask” before destructive actions.
The interesting bit
The architecture is aggressively modular. Everything is a protocol: Database, LLMBackend, even presumably the tools themselves. The default SQLite store and litellm-backed LLM are just reference implementations you swap out. It also speaks MCP (Model Context Protocol), so it can plug into external tool servers rather than growing an infinite built-in tool list.
Key highlights
- CLI + server modes: one-shot or long-running with SSE
- Permission matrix per tool (bash/write/edit can require explicit approval)
- Session tracking with
session listandsession show - MCP client integration for external tool servers
- Swappable backends via Python protocols, not inheritance hacks
Caveats
- README is thin: no mention of how agents differ (there’s a
default_agent: "build"but no docs on what agents exist) - “opencode” link points to a generic landing page; relationship to upstream is unclear
- No tests, benchmarks, or examples visible in the provided source
Verdict
Worth a look if you’re building an AI agent and want a clean protocol layer to avoid vendor lock-in. Skip it if you need a batteries-included, documented solution today — this is more scaffold than product.