@zhijiewang/openharness 0.3.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +304 -263
- package/dist/components/InitWizard.d.ts.map +1 -1
- package/dist/components/InitWizard.js +2 -1
- package/dist/components/InitWizard.js.map +1 -1
- package/dist/components/REPL.d.ts.map +1 -1
- package/dist/components/REPL.js +17 -20
- package/dist/components/REPL.js.map +1 -1
- package/dist/harness/config.d.ts.map +1 -1
- package/dist/harness/config.js +27 -0
- package/dist/harness/config.js.map +1 -1
- package/dist/harness/config.test.js +29 -0
- package/dist/harness/config.test.js.map +1 -1
- package/dist/main.js +70 -32
- package/dist/main.js.map +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +4 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/llamacpp.d.ts +20 -0
- package/dist/providers/llamacpp.d.ts.map +1 -0
- package/dist/providers/llamacpp.js +250 -0
- package/dist/providers/llamacpp.js.map +1 -0
- package/dist/providers/ollama.d.ts.map +1 -1
- package/dist/providers/ollama.js +20 -10
- package/dist/providers/ollama.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,263 +1,304 @@
|
|
|
1
|
-
# OpenHarness
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
___
|
|
5
|
-
/ \
|
|
6
|
-
( ) ___ ___ ___ _ _ _ _ _ ___ _ _ ___ ___ ___
|
|
7
|
-
`~w~` / _ \| _ \| __| \| | || | /_\ | _ \ \| | __/ __/ __|
|
|
8
|
-
(( )) | (_) | _/| _|| .` | __ |/ _ \| / .` | _|\__ \__ \
|
|
9
|
-
))(( \___/|_| |___|_|\_|_||_/_/ \_\_|_\_|\_|___|___/___/
|
|
10
|
-
(( ))
|
|
11
|
-
`--`
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
AI coding agent in your terminal. Works with any LLM -- free local models or cloud APIs.
|
|
15
|
-
|
|
16
|
-

|
|
17
|
-

|
|
18
|
-

|
|
19
|
-

|
|
20
|
-

|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
<video src="https://github.com/user-attachments/assets/ed19a2cc-14d3-4db3-aa5b-3dc07c444498" controls width="100%"></video>
|
|
25
|
-
|
|
26
|
-
*OpenHarness reading files, running commands, and editing code — powered by a local Ollama model.*
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Quick Start
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
npm install -g @zhijiewang/openharness
|
|
34
|
-
oh
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
That's it. OpenHarness auto-detects Ollama and starts chatting. No API key needed.
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
oh init # interactive setup wizard (provider + cybergotchi)
|
|
41
|
-
oh # auto-detect local model
|
|
42
|
-
oh --model ollama/qwen2.5:7b # specific model
|
|
43
|
-
oh --model gpt-4o # cloud model (needs OPENAI_API_KEY)
|
|
44
|
-
oh --trust # auto-approve all tool calls
|
|
45
|
-
oh run "fix the tests" --json # headless mode for CI/CD
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## Why OpenHarness?
|
|
49
|
-
|
|
50
|
-
Most AI coding agents are locked to one provider or cost $20+/month. OpenHarness works with any LLM -- run it free with Ollama on your own machine, or connect to any cloud API. Every AI edit is git-committed and reversible with `/undo`.
|
|
51
|
-
|
|
52
|
-
| | OpenHarness | Claude Code | Aider | OpenCode |
|
|
53
|
-
|---|---|---|---|---|
|
|
54
|
-
| Any LLM | Yes (Ollama, OpenAI, Anthropic, OpenRouter, any OpenAI-compatible) | Anthropic only | Yes | Yes |
|
|
55
|
-
| Free local models | Ollama native | No | Yes | Yes |
|
|
56
|
-
| Tools | 18 with permission gates | 40+ | File-focused | 20+ |
|
|
57
|
-
| Git integration | Auto-commit + /undo | Yes | Deep git | Basic |
|
|
58
|
-
| Slash commands | 16 built-in | 80+ | Some | Some |
|
|
59
|
-
| Headless/CI mode | `oh run --json` | Yes | Yes | Yes |
|
|
60
|
-
| Terminal UI | React + Ink | React + Ink | Basic | BubbleTea |
|
|
61
|
-
| Language | TypeScript | TypeScript | Python | Go |
|
|
62
|
-
| License | MIT | Proprietary | Apache 2.0 | MIT |
|
|
63
|
-
| Price | Free (BYOK) | $20+/month | Free (BYOK) | Free (BYOK) |
|
|
64
|
-
|
|
65
|
-
## Tools (18)
|
|
66
|
-
|
|
67
|
-
| Tool | Risk | Description |
|
|
68
|
-
|------|------|-------------|
|
|
69
|
-
| Bash | high | Execute shell commands with live streaming output |
|
|
70
|
-
| Read | low | Read files with line ranges |
|
|
71
|
-
| ImageRead | low | Read images/PDFs for multimodal analysis |
|
|
72
|
-
| Write | medium | Create or overwrite files |
|
|
73
|
-
| Edit | medium | Search-and-replace edits |
|
|
74
|
-
| Glob | low | Find files by pattern |
|
|
75
|
-
| Grep | low | Regex content search |
|
|
76
|
-
| LS | low | List directory contents with sizes |
|
|
77
|
-
| WebFetch | medium | Fetch URL content (SSRF-protected) |
|
|
78
|
-
| WebSearch | medium | Search the web |
|
|
79
|
-
| TaskCreate | low | Create structured tasks |
|
|
80
|
-
| TaskUpdate | low | Update task status |
|
|
81
|
-
| TaskList | low | List all tasks |
|
|
82
|
-
| AskUser | low | Ask user a question with options |
|
|
83
|
-
| Skill | low | Invoke a skill from .oh/skills/ |
|
|
84
|
-
| Agent | medium | Spawn a sub-agent for delegation |
|
|
85
|
-
| EnterPlanMode | low | Enter structured planning mode |
|
|
86
|
-
| ExitPlanMode | low | Exit planning mode |
|
|
87
|
-
| NotebookEdit | medium | Edit Jupyter notebooks |
|
|
88
|
-
|
|
89
|
-
Low-risk read-only tools auto-approve. Medium and high risk tools require confirmation in `ask` mode. Use `--trust` to skip all prompts.
|
|
90
|
-
|
|
91
|
-
## Slash Commands (18)
|
|
92
|
-
|
|
93
|
-
Type these during a chat session:
|
|
94
|
-
|
|
95
|
-
| Command | Description |
|
|
96
|
-
|---------|-------------|
|
|
97
|
-
| `/help` | Show all available commands |
|
|
98
|
-
| `/clear` | Clear conversation history |
|
|
99
|
-
| `/cost` | Show session cost and token usage |
|
|
100
|
-
| `/status` | Show model, mode, git branch, MCP servers |
|
|
101
|
-
| `/diff` | Show uncommitted git changes |
|
|
102
|
-
| `/undo` | Undo last AI commit |
|
|
103
|
-
| `/commit [msg]` | Create a git commit |
|
|
104
|
-
| `/log` | Show recent git commits |
|
|
105
|
-
| `/history [n]` | List recent sessions; `/history search <term>` to search |
|
|
106
|
-
| `/files` | List files in context |
|
|
107
|
-
| `/model <name>` | Switch model mid-session |
|
|
108
|
-
| `/compact` | Compress conversation to free context |
|
|
109
|
-
| `/export` | Export conversation to markdown |
|
|
110
|
-
| `/plan` | Enter plan mode |
|
|
111
|
-
| `/review` | Review recent code changes |
|
|
112
|
-
| `/config` | Show configuration |
|
|
113
|
-
| `/memory` | View memories |
|
|
114
|
-
| `/cybergotchi` | Feed, pet, rest, status, rename, or reset your companion |
|
|
115
|
-
|
|
116
|
-
## Cybergotchi
|
|
117
|
-
|
|
118
|
-
OpenHarness ships with a Tamagotchi-style companion that lives in the side panel. It reacts to your session in real time — celebrating streaks, complaining when tools fail, and getting hungry if you ignore it.
|
|
119
|
-
|
|
120
|
-
**Hatch one:**
|
|
121
|
-
```
|
|
122
|
-
oh init # wizard includes cybergotchi setup
|
|
123
|
-
/cybergotchi # or hatch mid-session
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
**Commands:**
|
|
127
|
-
```
|
|
128
|
-
/cybergotchi feed # +30 hunger
|
|
129
|
-
/cybergotchi pet # +20 happiness
|
|
130
|
-
/cybergotchi rest # +40 energy
|
|
131
|
-
/cybergotchi status # show needs + lifetime stats
|
|
132
|
-
/cybergotchi rename # give it a new name
|
|
133
|
-
/cybergotchi reset # start over with a new species
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
**Needs** decay over time (hunger fastest, happiness slowest). Feed and pet your gotchi to keep it happy.
|
|
137
|
-
|
|
138
|
-
**Evolution** — your gotchi evolves based on lifetime milestones:
|
|
139
|
-
- Stage 1 (✦ magenta): 10 sessions or 50 commits
|
|
140
|
-
- Stage 2 (★ yellow + crown): 100 tasks completed or a 25-tool streak
|
|
141
|
-
|
|
142
|
-
**18 species** to choose from: duck, cat, owl, penguin, rabbit, turtle, snail, octopus, axolotl, cactus, mushroom, chonk, capybara, goose, and more.
|
|
143
|
-
|
|
144
|
-
## MCP Servers
|
|
145
|
-
|
|
146
|
-
Connect any MCP (Model Context Protocol) server by editing `.oh/config.yaml`:
|
|
147
|
-
|
|
148
|
-
```yaml
|
|
149
|
-
provider: anthropic
|
|
150
|
-
model: claude-sonnet-4-6
|
|
151
|
-
permissionMode: ask
|
|
152
|
-
mcpServers:
|
|
153
|
-
- name: filesystem
|
|
154
|
-
command: npx
|
|
155
|
-
args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
|
|
156
|
-
- name: github
|
|
157
|
-
command: npx
|
|
158
|
-
args: ["-y", "@modelcontextprotocol/server-github"]
|
|
159
|
-
env:
|
|
160
|
-
GITHUB_PERSONAL_ACCESS_TOKEN: ghp_...
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
MCP tools appear alongside built-in tools. `/status` shows connected servers.
|
|
164
|
-
|
|
165
|
-
## Git Integration
|
|
166
|
-
|
|
167
|
-
OpenHarness auto-commits AI edits in git repos:
|
|
168
|
-
|
|
169
|
-
```
|
|
170
|
-
oh: Edit src/app.ts # auto-committed with "oh:" prefix
|
|
171
|
-
oh: Write tests/app.test.ts
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
- Every AI file change is committed automatically
|
|
175
|
-
- `/undo` reverts the last AI commit (only OH commits, never yours)
|
|
176
|
-
- `/diff` shows what changed
|
|
177
|
-
- Your dirty files are safe — committed separately before AI edits
|
|
178
|
-
|
|
179
|
-
## Headless Mode
|
|
180
|
-
|
|
181
|
-
Run a single prompt without interactive UI — perfect for CI/CD:
|
|
182
|
-
|
|
183
|
-
```bash
|
|
184
|
-
oh run "fix the failing tests" --model ollama/llama3 --trust
|
|
185
|
-
oh run "add error handling to api.ts" --json # JSON output
|
|
186
|
-
oh run "explain this codebase" --model gpt-4o
|
|
187
|
-
|
|
188
|
-
# Pipe stdin — prompt from stdin, or prepend context
|
|
189
|
-
cat error.log | oh run "what's wrong here?"
|
|
190
|
-
git diff | oh run "review these changes"
|
|
191
|
-
oh run - < prompt.txt # read full prompt from file
|
|
192
|
-
oh run "fix this:" < broken.py # prepend arg, append stdin
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
Exit code 0 on success, 1 on failure.
|
|
196
|
-
|
|
197
|
-
## Providers
|
|
198
|
-
|
|
199
|
-
```bash
|
|
200
|
-
# Local (free, no API key needed)
|
|
201
|
-
oh --model ollama/llama3
|
|
202
|
-
oh --model ollama/qwen2.5:7b-instruct
|
|
203
|
-
|
|
204
|
-
# Cloud
|
|
205
|
-
OPENAI_API_KEY=sk-... oh --model gpt-4o
|
|
206
|
-
ANTHROPIC_API_KEY=sk-ant-... oh --model claude-sonnet-4-6
|
|
207
|
-
OPENROUTER_API_KEY=sk-or-... oh --model openrouter/deepseek-chat
|
|
208
|
-
|
|
209
|
-
# Any OpenAI-compatible endpoint
|
|
210
|
-
oh --model deepseek/deepseek-chat
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
-
|
|
219
|
-
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
##
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
1
|
+
# OpenHarness
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
___
|
|
5
|
+
/ \
|
|
6
|
+
( ) ___ ___ ___ _ _ _ _ _ ___ _ _ ___ ___ ___
|
|
7
|
+
`~w~` / _ \| _ \| __| \| | || | /_\ | _ \ \| | __/ __/ __|
|
|
8
|
+
(( )) | (_) | _/| _|| .` | __ |/ _ \| / .` | _|\__ \__ \
|
|
9
|
+
))(( \___/|_| |___|_|\_|_||_/_/ \_\_|_\_|\_|___|___/___/
|
|
10
|
+
(( ))
|
|
11
|
+
`--`
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
AI coding agent in your terminal. Works with any LLM -- free local models or cloud APIs.
|
|
15
|
+
|
|
16
|
+

|
|
17
|
+

|
|
18
|
+

|
|
19
|
+

|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
<video src="https://github.com/user-attachments/assets/ed19a2cc-14d3-4db3-aa5b-3dc07c444498" controls width="100%"></video>
|
|
25
|
+
|
|
26
|
+
*OpenHarness reading files, running commands, and editing code — powered by a local Ollama model.*
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Quick Start
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm install -g @zhijiewang/openharness
|
|
34
|
+
oh
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
That's it. OpenHarness auto-detects Ollama and starts chatting. No API key needed.
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
oh init # interactive setup wizard (provider + cybergotchi)
|
|
41
|
+
oh # auto-detect local model
|
|
42
|
+
oh --model ollama/qwen2.5:7b # specific model
|
|
43
|
+
oh --model gpt-4o # cloud model (needs OPENAI_API_KEY)
|
|
44
|
+
oh --trust # auto-approve all tool calls
|
|
45
|
+
oh run "fix the tests" --json # headless mode for CI/CD
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Why OpenHarness?
|
|
49
|
+
|
|
50
|
+
Most AI coding agents are locked to one provider or cost $20+/month. OpenHarness works with any LLM -- run it free with Ollama on your own machine, or connect to any cloud API. Every AI edit is git-committed and reversible with `/undo`.
|
|
51
|
+
|
|
52
|
+
| | OpenHarness | Claude Code | Aider | OpenCode |
|
|
53
|
+
|---|---|---|---|---|
|
|
54
|
+
| Any LLM | Yes (Ollama, OpenAI, Anthropic, OpenRouter, any OpenAI-compatible) | Anthropic only | Yes | Yes |
|
|
55
|
+
| Free local models | Ollama native | No | Yes | Yes |
|
|
56
|
+
| Tools | 18 with permission gates | 40+ | File-focused | 20+ |
|
|
57
|
+
| Git integration | Auto-commit + /undo | Yes | Deep git | Basic |
|
|
58
|
+
| Slash commands | 16 built-in | 80+ | Some | Some |
|
|
59
|
+
| Headless/CI mode | `oh run --json` | Yes | Yes | Yes |
|
|
60
|
+
| Terminal UI | React + Ink | React + Ink | Basic | BubbleTea |
|
|
61
|
+
| Language | TypeScript | TypeScript | Python | Go |
|
|
62
|
+
| License | MIT | Proprietary | Apache 2.0 | MIT |
|
|
63
|
+
| Price | Free (BYOK) | $20+/month | Free (BYOK) | Free (BYOK) |
|
|
64
|
+
|
|
65
|
+
## Tools (18)
|
|
66
|
+
|
|
67
|
+
| Tool | Risk | Description |
|
|
68
|
+
|------|------|-------------|
|
|
69
|
+
| Bash | high | Execute shell commands with live streaming output |
|
|
70
|
+
| Read | low | Read files with line ranges |
|
|
71
|
+
| ImageRead | low | Read images/PDFs for multimodal analysis |
|
|
72
|
+
| Write | medium | Create or overwrite files |
|
|
73
|
+
| Edit | medium | Search-and-replace edits |
|
|
74
|
+
| Glob | low | Find files by pattern |
|
|
75
|
+
| Grep | low | Regex content search |
|
|
76
|
+
| LS | low | List directory contents with sizes |
|
|
77
|
+
| WebFetch | medium | Fetch URL content (SSRF-protected) |
|
|
78
|
+
| WebSearch | medium | Search the web |
|
|
79
|
+
| TaskCreate | low | Create structured tasks |
|
|
80
|
+
| TaskUpdate | low | Update task status |
|
|
81
|
+
| TaskList | low | List all tasks |
|
|
82
|
+
| AskUser | low | Ask user a question with options |
|
|
83
|
+
| Skill | low | Invoke a skill from .oh/skills/ |
|
|
84
|
+
| Agent | medium | Spawn a sub-agent for delegation |
|
|
85
|
+
| EnterPlanMode | low | Enter structured planning mode |
|
|
86
|
+
| ExitPlanMode | low | Exit planning mode |
|
|
87
|
+
| NotebookEdit | medium | Edit Jupyter notebooks |
|
|
88
|
+
|
|
89
|
+
Low-risk read-only tools auto-approve. Medium and high risk tools require confirmation in `ask` mode. Use `--trust` to skip all prompts.
|
|
90
|
+
|
|
91
|
+
## Slash Commands (18)
|
|
92
|
+
|
|
93
|
+
Type these during a chat session:
|
|
94
|
+
|
|
95
|
+
| Command | Description |
|
|
96
|
+
|---------|-------------|
|
|
97
|
+
| `/help` | Show all available commands |
|
|
98
|
+
| `/clear` | Clear conversation history |
|
|
99
|
+
| `/cost` | Show session cost and token usage |
|
|
100
|
+
| `/status` | Show model, mode, git branch, MCP servers |
|
|
101
|
+
| `/diff` | Show uncommitted git changes |
|
|
102
|
+
| `/undo` | Undo last AI commit |
|
|
103
|
+
| `/commit [msg]` | Create a git commit |
|
|
104
|
+
| `/log` | Show recent git commits |
|
|
105
|
+
| `/history [n]` | List recent sessions; `/history search <term>` to search |
|
|
106
|
+
| `/files` | List files in context |
|
|
107
|
+
| `/model <name>` | Switch model mid-session |
|
|
108
|
+
| `/compact` | Compress conversation to free context |
|
|
109
|
+
| `/export` | Export conversation to markdown |
|
|
110
|
+
| `/plan` | Enter plan mode |
|
|
111
|
+
| `/review` | Review recent code changes |
|
|
112
|
+
| `/config` | Show configuration |
|
|
113
|
+
| `/memory` | View memories |
|
|
114
|
+
| `/cybergotchi` | Feed, pet, rest, status, rename, or reset your companion |
|
|
115
|
+
|
|
116
|
+
## Cybergotchi
|
|
117
|
+
|
|
118
|
+
OpenHarness ships with a Tamagotchi-style companion that lives in the side panel. It reacts to your session in real time — celebrating streaks, complaining when tools fail, and getting hungry if you ignore it.
|
|
119
|
+
|
|
120
|
+
**Hatch one:**
|
|
121
|
+
```
|
|
122
|
+
oh init # wizard includes cybergotchi setup
|
|
123
|
+
/cybergotchi # or hatch mid-session
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Commands:**
|
|
127
|
+
```
|
|
128
|
+
/cybergotchi feed # +30 hunger
|
|
129
|
+
/cybergotchi pet # +20 happiness
|
|
130
|
+
/cybergotchi rest # +40 energy
|
|
131
|
+
/cybergotchi status # show needs + lifetime stats
|
|
132
|
+
/cybergotchi rename # give it a new name
|
|
133
|
+
/cybergotchi reset # start over with a new species
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Needs** decay over time (hunger fastest, happiness slowest). Feed and pet your gotchi to keep it happy.
|
|
137
|
+
|
|
138
|
+
**Evolution** — your gotchi evolves based on lifetime milestones:
|
|
139
|
+
- Stage 1 (✦ magenta): 10 sessions or 50 commits
|
|
140
|
+
- Stage 2 (★ yellow + crown): 100 tasks completed or a 25-tool streak
|
|
141
|
+
|
|
142
|
+
**18 species** to choose from: duck, cat, owl, penguin, rabbit, turtle, snail, octopus, axolotl, cactus, mushroom, chonk, capybara, goose, and more.
|
|
143
|
+
|
|
144
|
+
## MCP Servers
|
|
145
|
+
|
|
146
|
+
Connect any MCP (Model Context Protocol) server by editing `.oh/config.yaml`:
|
|
147
|
+
|
|
148
|
+
```yaml
|
|
149
|
+
provider: anthropic
|
|
150
|
+
model: claude-sonnet-4-6
|
|
151
|
+
permissionMode: ask
|
|
152
|
+
mcpServers:
|
|
153
|
+
- name: filesystem
|
|
154
|
+
command: npx
|
|
155
|
+
args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
|
|
156
|
+
- name: github
|
|
157
|
+
command: npx
|
|
158
|
+
args: ["-y", "@modelcontextprotocol/server-github"]
|
|
159
|
+
env:
|
|
160
|
+
GITHUB_PERSONAL_ACCESS_TOKEN: ghp_...
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
MCP tools appear alongside built-in tools. `/status` shows connected servers.
|
|
164
|
+
|
|
165
|
+
## Git Integration
|
|
166
|
+
|
|
167
|
+
OpenHarness auto-commits AI edits in git repos:
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
oh: Edit src/app.ts # auto-committed with "oh:" prefix
|
|
171
|
+
oh: Write tests/app.test.ts
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
- Every AI file change is committed automatically
|
|
175
|
+
- `/undo` reverts the last AI commit (only OH commits, never yours)
|
|
176
|
+
- `/diff` shows what changed
|
|
177
|
+
- Your dirty files are safe — committed separately before AI edits
|
|
178
|
+
|
|
179
|
+
## Headless Mode
|
|
180
|
+
|
|
181
|
+
Run a single prompt without interactive UI — perfect for CI/CD:
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
oh run "fix the failing tests" --model ollama/llama3 --trust
|
|
185
|
+
oh run "add error handling to api.ts" --json # JSON output
|
|
186
|
+
oh run "explain this codebase" --model gpt-4o
|
|
187
|
+
|
|
188
|
+
# Pipe stdin — prompt from stdin, or prepend context
|
|
189
|
+
cat error.log | oh run "what's wrong here?"
|
|
190
|
+
git diff | oh run "review these changes"
|
|
191
|
+
oh run - < prompt.txt # read full prompt from file
|
|
192
|
+
oh run "fix this:" < broken.py # prepend arg, append stdin
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Exit code 0 on success, 1 on failure.
|
|
196
|
+
|
|
197
|
+
## Providers
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
# Local (free, no API key needed)
|
|
201
|
+
oh --model ollama/llama3
|
|
202
|
+
oh --model ollama/qwen2.5:7b-instruct
|
|
203
|
+
|
|
204
|
+
# Cloud
|
|
205
|
+
OPENAI_API_KEY=sk-... oh --model gpt-4o
|
|
206
|
+
ANTHROPIC_API_KEY=sk-ant-... oh --model claude-sonnet-4-6
|
|
207
|
+
OPENROUTER_API_KEY=sk-or-... oh --model openrouter/deepseek-chat
|
|
208
|
+
|
|
209
|
+
# Any OpenAI-compatible endpoint
|
|
210
|
+
oh --model deepseek/deepseek-chat
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### llama.cpp / GGUF (local, no Ollama needed)
|
|
214
|
+
|
|
215
|
+
For direct GGUF support via `llama-server`, without the overhead of Ollama. Often faster for large models.
|
|
216
|
+
|
|
217
|
+
**Prerequisites:**
|
|
218
|
+
- Install llama.cpp: `brew install llama.cpp` or download from [github.com/ggml-org/llama.cpp](https://github.com/ggml-org/llama.cpp)
|
|
219
|
+
- Download a GGUF model (e.g., from [HuggingFace](https://huggingface.co))
|
|
220
|
+
|
|
221
|
+
**Start llama-server:**
|
|
222
|
+
```bash
|
|
223
|
+
llama-server --model ./your-model.gguf --port 8080 --alias my-model
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**Configure via `oh init`:**
|
|
227
|
+
- Run `oh init` and select "llama.cpp / GGUF" when prompted
|
|
228
|
+
|
|
229
|
+
**Or configure manually** in `.oh/config.yaml`:
|
|
230
|
+
```yaml
|
|
231
|
+
provider: llamacpp
|
|
232
|
+
model: my-model
|
|
233
|
+
baseUrl: http://localhost:8080
|
|
234
|
+
permissionMode: ask
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Run:**
|
|
238
|
+
```bash
|
|
239
|
+
oh
|
|
240
|
+
oh --model llamacpp/my-model
|
|
241
|
+
oh models # list available models
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Project Rules
|
|
245
|
+
|
|
246
|
+
Create `.oh/RULES.md` in any repo (or run `oh init`):
|
|
247
|
+
|
|
248
|
+
```markdown
|
|
249
|
+
- Always run tests after changes
|
|
250
|
+
- Use strict TypeScript
|
|
251
|
+
- Never commit to main directly
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Rules load automatically into every session.
|
|
255
|
+
|
|
256
|
+
## Install
|
|
257
|
+
|
|
258
|
+
Requires **Node.js 18+**.
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
# From npm
|
|
262
|
+
npm install -g @zhijiewang/openharness
|
|
263
|
+
|
|
264
|
+
# From source
|
|
265
|
+
git clone https://github.com/zhijiewong/openharness.git
|
|
266
|
+
cd openharness
|
|
267
|
+
npm install && npm install -g .
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## Development
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
npm install
|
|
274
|
+
npx tsx src/main.tsx # run in dev mode
|
|
275
|
+
npx tsc --noEmit # type check
|
|
276
|
+
npm test # run tests
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Adding a tool
|
|
280
|
+
|
|
281
|
+
Create `src/tools/YourTool/index.ts` implementing the `Tool` interface with a Zod input schema, register it in `src/tools.ts`.
|
|
282
|
+
|
|
283
|
+
### Adding a provider
|
|
284
|
+
|
|
285
|
+
Create `src/providers/yourprovider.ts` implementing the `Provider` interface, add a case in `src/providers/index.ts`.
|
|
286
|
+
|
|
287
|
+
## Contributing
|
|
288
|
+
|
|
289
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
290
|
+
|
|
291
|
+
## Community
|
|
292
|
+
|
|
293
|
+
Join the OpenHarness community to get help, share your workflows, and discuss the future of AI coding agents!
|
|
294
|
+
|
|
295
|
+
| Platform | Details & Links |
|
|
296
|
+
| :--- | :--- |
|
|
297
|
+
| 🟣 **Discord** | [**Join our Discord Server**](https://discord.gg/ezVrqy3qu) to chat with developers and get real-time support. |
|
|
298
|
+
| 🔵 **Feishu / Lark** | Scan the QR code below to collaborate with the community:<br><br><img src="https://github.com/user-attachments/assets/54ade077-22ad-45d2-b38a-623464677d53" width="160" alt="Feishu Group QR Code"> |
|
|
299
|
+
| 🟢 **WeChat** | Scan the QR code below to join our WeChat group:<br><br><img src="https://github.com/user-attachments/assets/adcf291a-9ffe-4738-8608-f46a21e18db0" width="160" alt="WeChat Group QR Code"> |
|
|
300
|
+
|
|
301
|
+
## License
|
|
302
|
+
|
|
303
|
+
MIT
|
|
304
|
+
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitWizard.d.ts","sourceRoot":"","sources":["../../src/components/InitWizard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"InitWizard.d.ts","sourceRoot":"","sources":["../../src/components/InitWizard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAqCH,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,2CA2PnD"}
|
|
@@ -21,6 +21,7 @@ const PROVIDERS = [
|
|
|
21
21
|
{ key: "openai", label: "OpenAI", defaultModel: "gpt-4o", needsApiKey: true },
|
|
22
22
|
{ key: "anthropic", label: "Anthropic (Claude)", defaultModel: "claude-sonnet-4-6", needsApiKey: true },
|
|
23
23
|
{ key: "openrouter", label: "OpenRouter", defaultModel: "openai/gpt-4o", needsApiKey: true, defaultBaseUrl: "https://openrouter.ai/api/v1" },
|
|
24
|
+
{ key: "llamacpp", label: "llama.cpp / GGUF (local, no Ollama needed)", defaultModel: "", needsApiKey: false, defaultBaseUrl: "http://localhost:8080" },
|
|
24
25
|
{ key: "custom", label: "Custom (OpenAI-compatible)", defaultModel: "", needsApiKey: true },
|
|
25
26
|
];
|
|
26
27
|
const PERMISSION_MODES = [
|
|
@@ -148,7 +149,7 @@ export default function InitWizard({ onDone }) {
|
|
|
148
149
|
} })] })), step === "baseurl" && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: ["Base URL ", _jsx(Text, { dimColor: true, children: "(e.g. http://localhost:8080/v1)" }), ":"] }), _jsx(TextInput, { value: baseUrl, onChange: setBaseUrl, onSubmit: (val) => {
|
|
149
150
|
runTest(provider, apiKey, val);
|
|
150
151
|
setStep("testing");
|
|
151
|
-
} })] })), step === "testing" && (_jsxs(Box, { flexDirection: "column", children: [testStatus === "testing" && _jsxs(Text, { color: "yellow", children: ["\u27F3 Testing connection to ", provider.label, "..."] }), testStatus === "ok" && _jsx(Text, { color: "green", children: "\u2713 Connected!" }), testStatus === "fail" && _jsxs(Text, { color: "red", children: ["\u2717 Failed: ", _jsx(Text, { dimColor: true, children: testError })] })] })), step === "model" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: "Select model:" }), availableModels.length > 0 ? (() => {
|
|
152
|
+
} })] })), step === "testing" && provider.key === "llamacpp" && testStatus !== "ok" && (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 1, marginBottom: 1, children: [_jsx(Text, { color: "cyan", children: "llama.cpp setup" }), _jsx(Text, { dimColor: true, children: "To use llama.cpp, start llama-server first:" }), _jsx(Text, { dimColor: true, children: " llama-server --model ./your-model.gguf --port 8080 --alias my-model" }), _jsx(Text, { dimColor: true, children: "Then enter \"my-model\" as the model name below." })] })), step === "testing" && (_jsxs(Box, { flexDirection: "column", children: [testStatus === "testing" && _jsxs(Text, { color: "yellow", children: ["\u27F3 Testing connection to ", provider.label, "..."] }), testStatus === "ok" && _jsx(Text, { color: "green", children: "\u2713 Connected!" }), testStatus === "fail" && provider.key !== "llamacpp" && (_jsxs(Text, { color: "red", children: ["\u2717 Failed: ", _jsx(Text, { dimColor: true, children: testError })] })), testStatus === "fail" && provider.key === "llamacpp" && (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "red", paddingX: 1, marginTop: 1, children: [_jsx(Text, { color: "red", children: "\u2717 Could not connect to llama-server." }), _jsx(Text, { dimColor: true, children: testError }), _jsx(Text, { children: " " }), _jsx(Text, { color: "yellow", children: "Make sure llama-server is running:" }), _jsx(Text, { dimColor: true, children: " llama-server --model ./your-model.gguf --port 8080 --alias my-model" })] }))] })), step === "model" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: "Select model:" }), availableModels.length > 0 ? (() => {
|
|
152
153
|
const WINDOW = 8;
|
|
153
154
|
const start = Math.max(0, Math.min(modelIdx - Math.floor(WINDOW / 2), availableModels.length - WINDOW));
|
|
154
155
|
const visible = availableModels.slice(start, start + WINDOW);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitWizard.js","sourceRoot":"","sources":["../../src/components/InitWizard.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InitWizard.js","sourceRoot":"","sources":["../../src/components/InitWizard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"REPL.d.ts","sourceRoot":"","sources":["../../src/components/REPL.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAoB9D,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;
|
|
1
|
+
{"version":3,"file":"REPL.d.ts","sourceRoot":"","sources":["../../src/components/REPL.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAoB9D,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAmBF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAC3B,QAAQ,EACR,KAAK,EACL,cAAc,EACd,YAAY,EACZ,KAAK,EACL,eAAe,EACf,eAAe,GAChB,EAAE,SAAS,2CA+cX"}
|