Introduction
OpenHarness is an open-source agent harness developed by HKUDS that ships with Ohmo, a personal AI coding agent. It provides a unified interface for running LLM-powered agents across multiple providers while offering persistent memory, extensible tool registration, and structured task management out of the box.
What OpenHarness Does
- Runs AI coding agents from the terminal with support for multiple LLM backends
- Ships with Ohmo, a built-in personal agent that learns from your interactions
- Manages agent memory across sessions for context continuity
- Provides a plugin system for registering custom tools and capabilities
- Supports multi-agent orchestration with task delegation between agents
Architecture Overview
OpenHarness follows a harness-agent-tool layered architecture. The harness layer handles terminal I/O, session state, and provider routing. The agent layer implements the reasoning loop with tool calling and memory retrieval. Tools are registered as Python callables with typed schemas. Memory is stored in a local SQLite database with vector embeddings for semantic recall. The system supports Claude, GPT, Gemini, and local models through a unified provider abstraction.
Self-Hosting & Configuration
- Install from PyPI with pip install openharness
- Run openharness init to set up API keys and preferences
- Configure model providers in ~/.openharness/config.yaml
- Local model support via Ollama or any OpenAI-compatible endpoint
- Memory database stored locally with no cloud dependency
Key Features
- Ohmo personal agent that adapts to your coding style and project context
- Persistent cross-session memory with semantic search and retrieval
- Provider-agnostic design supporting Claude, GPT, Gemini, DeepSeek, and local models
- Extensible tool registry for adding project-specific capabilities
- Structured task management with progress tracking and subtask delegation
Comparison with Similar Tools
- Claude Code — first-party Anthropic agent with deep Claude integration; OpenHarness is model-agnostic
- Codex CLI — OpenAI's terminal agent; OpenHarness supports multiple providers and persistent memory
- Aider — focuses on pair programming with git; OpenHarness adds memory and multi-agent orchestration
- OpenCode — open-source coding agent; OpenHarness differentiates with its built-in Ohmo personal agent
- Continue — IDE-based assistant; OpenHarness is terminal-first with a harness architecture
FAQ
Q: What makes Ohmo different from a generic LLM agent? A: Ohmo maintains persistent memory across sessions, learning your preferences, project structure, and coding patterns to provide increasingly relevant assistance.
Q: Can I use OpenHarness with local models only? A: Yes, configure an Ollama endpoint and OpenHarness runs entirely offline with no API keys required.
Q: Does OpenHarness support MCP tools? A: Yes, it includes an MCP client that connects to standard MCP servers for extended tool capabilities.
Q: How does multi-agent orchestration work? A: You can define agent roles and delegate subtasks between them. The harness manages context passing and result aggregation.