← all repositories
vitalops/openvibe

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.

1.5k stars Python AgentsCoding Assistants
openvibe
Velocity · 7d
+1.3
★ / day
Trend
steady
star history

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 list and session 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.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.