Skip to content

Add openHarness as a pre-configured agent#35

Open
zhijiewong wants to merge 1 commit into
formulahendry:mainfrom
zhijiewong:add-openharness-agent
Open

Add openHarness as a pre-configured agent#35
zhijiewong wants to merge 1 commit into
formulahendry:mainfrom
zhijiewong:add-openharness-agent

Conversation

@zhijiewong
Copy link
Copy Markdown

This PR adds openHarness to the acp.agents defaults, alongside Claude Code / Gemini CLI / Codex CLI / OpenCode / etc.

What's openHarness?

An open-source terminal coding agent that speaks ACP natively via oh acp — no adapter package required. It works with any LLM provider (Anthropic, OpenAI, Ollama, llama.cpp, LM Studio, OpenRouter) and ships its own permission flow, cost tracking, session persistence, MCP support, hooks, skills, and 80+ slash commands.

Why this entry works out of the box with vscode-acp

The OH side just shipped four ACP-server gaps (v2.44 → v2.47, merged in zhijiewong/openharness#133) specifically so this PR could land with full parity to the existing agents:

ACP method OH support
session/request_permission Round-trip with allow_once / allow_always / reject_once / reject_always
usage_update Cumulative cost + context window after every model call
session/update (rate_limited notice) Italicized message + structured _meta retry hint
session/load capability Resume by sessionId, restores prior message history

That means vscode-acp's existing permission dialogs, cost surface, rate-limit indicator, and session-resume UI all light up immediately when a user picks openHarness — no client-side changes needed.

What changes

  • package.json — adds openHarness to contributes.configuration.properties.acp.agents.default (between OpenClaw and Kiro CLI). Standard npx <package>@latest acp shape, matching OpenCode and OpenClaw. Updates the top-level description to mention the new agent.
  • README.md — adds a row to the "Pre-configured Agents" table, linked to the openHarness repo.

No source code changes, no new dependencies, no behavioral changes to existing agents.

Test plan

  • package.json is valid JSON (verified with node -e \"require('./package.json')\")
  • openHarness entry follows the same shape as OpenCode and OpenClaw (closest precedents — both also dispatch to a package's acp subcommand)
  • (reviewer): install the extension, pick openHarness, run a prompt — confirm session/update + permission dialogs work

The npx @zhijiewang/openharness@latest acp command auto-downloads the package on first use. Users with a global oh install can swap to { command: \"oh\", args: [\"acp\"] } in their settings — both forms work.

Repo: https://github.com/zhijiewong/openharness (MIT)
npm: https://www.npmjs.com/package/@zhijiewang/openharness

Happy to address any feedback — thank you for maintaining vscode-acp!

openHarness is an open-source terminal coding agent that speaks ACP
natively via `oh acp` — no adapter package required. It works with
any LLM (Anthropic, OpenAI, Ollama, llama.cpp, LM Studio, OpenRouter)
and ships its own permission flow, cost tracking, and session
persistence — all surfaced through the standard ACP channels:

- `session/request_permission` for tool approvals
- `usage_update` for cumulative cost and context-window display
- `rate_limited` notices via session/update
- `session/load` for resuming prior conversations by sessionId

Repository: https://github.com/zhijiewong/openharness
npm package: @zhijiewang/openharness
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant