Skip to main content
Glama

oh-my-harness

简体中文

A harness that can call a model still needs to integrate each provider's web search, image, document, and speech interfaces. For example, Codex exposes search actions through Responses, while Kimi returns server search results through Messages. Implementing these integrations in every client repeats the routing, request handling, and result parsing.

oh-my-harness packages capabilities from different sources as reusable MCP tools. In DSH, a conversation can use Kimi for reasoning and call Codex's web_search for a lookup with sources. The current release uses accounts you authorize in CLIProxyAPI, including paid agent subscriptions. An independent harness is another upstream source. Connecting it directly requires a dedicated adapter in the Capability Proxy. Architecture

HTTPS ingress routes model and MCP requests separately. The Capability Proxy calls CLIProxyAPI and can be extended with a direct independent harness adapter.

The solid lines show current routes. The purple dashed line shows the independent harness extension path.

Start with DSH

Install Node.js 24+ and put the CLIProxyAPI v8.0.51 executable on your PATH as cli-proxy-api. CLIProxyAPI release

npm ci
npm run init
npm run proxy -- -codex-device-login
npm run proxy -- -kimi-login

For a single account, initialize with npm run init -- --provider codex or --provider kimi and run the matching login command.

Run npm run proxy and npm start in separate terminals. They start the Model Proxy and Capability Proxy respectively. In a third terminal, check both endpoints and open DSH.

npm run doctor -- --models
npm run doctor
npm run dsh

npm run dsh opens a separate DSH Web profile and workspace. Try mcp__gateway__web_search in a session, for example by asking for MCP transport options with sources. If a model ID differs from what your account advertises, update .state/config.json using the output from doctor -- --models. A tool call verifies that the upstream can perform the capability.

Local endpoint

URL

Key file

Model Proxy

http://127.0.0.1:8317/v1

.state/model.key

Capability Proxy

http://127.0.0.1:8318/mcp

.state/gateway.key

Related MCP server: Codex Harness MCP

Use another harness or agent

Point compatible model clients at /v1 and Streamable HTTP MCP clients at /mcp. Use each endpoint's key. A tool client needs only the MCP URL and capability key. DSH's local file adapter converts workspace files into MCP inputs. Other clients can pass Base64 as defined by the tool schemas.

For a hosted deployment on your own server, terminate HTTPS at one Caddy or NGINX ingress and route /v1 and /mcp to the two loopback services. The routes can share a hostname or use separate hostnames. Architecture and credentials · Deployment · Providers and tools

npm test uses a local simulated upstream to check routing, credential separation, MCP tools, and the file adapter.

MIT License

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      B
      maintenance
      Enables MCP-compatible AI clients to invoke CLI-driven agent tools over Streamable HTTP, including shell execution, file operations, patching, image viewing, web search, and nested agent tasks, with permission modes and real-time progress streaming.
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI tools to uniformly discover, inspect, and call tools, prompts, and resources from multiple upstream MCP servers through a small set of fixed MCP tools, over stdio or HTTP.
      2
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables developers to expose a single set of tool definitions as MCP server tools over stdio or Streamable HTTP, so Claude Code, Codex, Claude Desktop and Cursor can call them with risk-based annotations, human-approved irreversible writes, typed structured results and long-running job handling built in. It also ships the same tools as a CLI from one source, keeping both surfaces in parity.
      594 npm
      Apache 2.0