- Include frontend/terminal/ in wheel via hatch force-include
- get_frontend_dir() checks bundled _frontend/ first, then dev repo
- Add oh --version / -v flag
- Bump to v0.1.1, published to PyPI
Add OpenAICompatibleClient that implements SupportsStreamingMessages,
enabling any provider using the OpenAI /v1/chat/completions format:
DashScope, DeepSeek, GitHub Models, Groq, Ollama, etc.
- New openai_client.py with streaming, tool calling, retry logic
- --api-format openai CLI flag and OPENHARNESS_API_FORMAT env var
- OPENAI_API_KEY fallback in resolve_api_key()
- Provider detection for dashscope/qwen and github models
- Wired through cli → app → runtime → client selection
- 11 unit tests for format conversion functions
- Updated README provider compatibility section
- CHANGELOG entries
A lightweight open-source Python implementation of the Agent Harness architecture.
44x lighter than Claude Code (11K vs 512K lines), 98% core tool coverage.
- 43 tools with Pydantic validation and parallel execution
- Skills system compatible with anthropics/skills (17+ tested)
- Plugin system compatible with claude-code/plugins (12+ tested)
- API retry with exponential backoff
- Multi-level permissions with path rules
- React/Ink TUI with "Oh my Harness!" branding
- 114 unit tests + 6 E2E test suites
- MIT License