I built this because I kept trying to use Claude Agent SDK, Codex, and OpenCode programmatically, and they were too "heavy" and uncustomizable for that. I wanted a TypeScript library I could import into my own app and build agents on top of.
OpenHarness is built on Vercel's AI SDK 5, so it works with any model the SDK supports. The main things it gives you: loading agent instructions from AGENTS.md files, MCP server connections for tools, subagents (agents delegating to child agents), agent skills, tool approval prompts, and auto-compaction for long conversations.
There's a CLI example and a Next.js chat interface in the repo if you want to try it out.
Still early -- feedback on the API and what's missing would be useful.