I built OpenHarness — an open-source terminal coding agent with 17 tools and 16 slash commands. It works with Ollama (free, local), OpenAI, Anthropic, OpenRouter, Deepseek, Qwen or any OpenAI-compatible API.
The problem
Code agent is amazing but locked to cloud models.
I wanted the same experience with my local Ollama models free, private,
no API key needed.
What I built
- 17 tools: file read/edit/write, bash, grep, glob, web search, task management, jupyter notebooks, sub-agents
- 16 slash commands: /diff /undo /commit /cost /compact /plan /review
- Git-safe: every AI edit auto-committed, /undo reverts instantly
- Headless mode:
oh run "fix tests" --jsonfor CI/CD - Permission gates: ask/trust/deny — approve before the agent acts
- React+Ink terminal UI with markdown rendering
Install
bash
npm install -g @zhijiewang/openharness
oh --model ollama/llama3
oh --model ollama/qwen2.5:7b
## **Tech stack**
TypeScript, React+Ink, Zod for tool schemas, async generators for streaming.
Everyone is welcome to join and build it together. 👏
GitHub: https://github.com/zhijiewong/openharness
Top comments (3)
terminal agents are a vibe — especially when the context switching in bigger ides gets too heavy. those 16 slash commands sound like a solid way to keep the ai from wandering off. i’m usually a cursor loyalist but i’ve been looking for something lighter for my terminal-only tasks. definitely beats fighting with a bloated ui when i just need to ship a quick fix.
Yeah, that's exactly the gap we're trying to close. The slash commands are less about constraining the AI and more about giving you predictable entry points. /fix, /explain, /refactor you know what you're getting, no prompt engineering required. Give it a shot on your next quick fix and see if it sticks😉
finally tried it on a quick css fix yesterday — the /fix flow is cleaner than i expected. no prompt wrangling, just pointed it at the problem. might be my new default for terminal-only sessions.