Skip to main content

oc-free-provider

❖ Communityv3.0.0★ 10

Unofficial OpenCode Zen free-model transport for Hermes. Discovers live zero-cost tool-capable models by intersecting OpenCode Zen and models.dev over HTTPS, persists only the last successful intersection for restart fallback, and bidirectionally translates compatible OpenCode and Hermes tool schemas, calls, choices, and replayed history while Hermes executes tools locally. No OpenCode CLI, Node.js, npm, or npx dependency.

Open in Hermes Desktop
hermes plugins install oc-free-provider

README

From the reviewed commit ae705c6 ↗; it updates when the author re-pins.

oc-free-provider

An unofficial Hermes model-provider for OpenCode Zen free models. Hermes keeps control of the agent loop and executes tools locally; the provider only handles model discovery and inference transport.

It does not run opencode serve, ACP, or a tool-execution proxy.

Compatibility and terms notice

This project is independent, unofficial, and not affiliated with or endorsed by OpenCode. It is intended for a user's own internal use on systems they control. It does not grant access to OpenCode Zen or any model, and it is not legal advice.

OpenCode's Zen documentation describes Zen as usable with other coding agents. That general interoperability statement is not an authorization for every client, authentication method, workload, or use case. This plugin's current public compatibility transport is not documented by OpenCode as a supported Hermes integration and may be changed or disabled at any time.

Before using the plugin, review and independently comply with the current:

In particular, use the service only when you have the right to access it. Do not use this project to provide inference for third parties, resell or proxy the service, scrape or bulk-extract outputs, evade quotas or rate limits, rotate accounts or identities for additional free usage, conceal prohibited activity, or bypass an access restriction. A disclaimer cannot make a prohibited use compliant. If OpenCode requires an account, API key, paid access, or a supported client for your intended use, do not use this compatibility transport instead.

Free-model labels describe pricing, not permission or privacy. Some free, trial, and contributor models may use prompts or completions for model improvement or may prohibit confidential data. Check the current Zen model notice before every use and never send secrets or regulated data unless the applicable terms expressly allow it.

Bidirectional tool translation

Hermes remains the agent runtime: it applies its normal policy and approval rules, executes tools locally, and returns each result to the model. The plugin is a bidirectional adapter between OpenCode's tool vocabulary and Hermes':

  1. Hermes → OpenCode: available native Hermes schemas are exposed under their OpenCode-compatible names. Their native duplicates are omitted, while unrelated Hermes tools remain available under their native names.
  2. OpenCode → Hermes: model tool calls are translated back to native Hermes names and argument shapes before local dispatch.
  3. Hermes → OpenCode continuation: recorded native calls are translated back to OpenCode names and arguments when conversation history is replayed, keeping the model on one consistent vocabulary. Tool results retain their call IDs and payloads. Explicit tool choices are translated the same way.

The bidirectional pairs are:

  • bash ↔ terminal
  • edit ↔ patch
  • glob / grep ↔ search_files
  • read ↔ read_file
  • skill ↔ skill_view
  • task ↔ delegate_task
  • todowrite ↔ todo_list
  • webfetch ↔ web_extract
  • websearch ↔ web_search
  • write ↔ write_file

An alias is advertised only when its target tool was supplied by Hermes. If the model calls an unavailable compatibility alias, the request fails closed—nothing is executed and no success is fabricated. Streamed tool arguments are buffered until their JSON is complete before translation.

The adapters preserve executable intent, not every OpenCode runtime option. bash.timeout is converted from milliseconds to seconds; todo order is preserved but OpenCode's priority label is discarded; OpenCode read directory listing and image-attachment behavior is not emulated; webfetch formatting/timeout hints and advanced websearch crawl hints have no Hermes equivalent; and OpenCode task metadata is passed to the Hermes subagent as context while Hermes controls scheduling.

Install

hermes plugins install oc-free-provider --enable

The plugin does not install or run the OpenCode CLI, Node.js, npm, or npx. Model discovery and inference use Python's standard-library HTTPS client, so the same code path works on Linux, macOS, and Windows.

Select the provider and one of its discovered models:

hermes model
# Provider: opencode-free

Model discovery

The plugin intersects OpenCode Zen's live /v1/models response with the OpenCode catalog metadata published by models.dev. It exposes only live, tool-capable models whose published input/output/cache costs are all zero. The resulting intersection—not the full upstream responses—is cached for the gateway process and persisted under the active Hermes profile. Each new gateway process queries both endpoints once; if refresh fails or finds no qualifying model, the plugin uses the last successful intersection, then the verified entries bundled with it when no cache exists. It selects /chat/completions or /responses according to the known model transport.

Model availability, pricing, retention, and data-use rules belong to OpenCode and the underlying provider and can change independently of this repository.

Verify

python -m unittest discover -s tests -v
hermes plugins validate . --json

hermes plugins doctor . also verifies runtime discovery, import, and provider registration.

License

MIT.

jev-approvals❖ Community★ 20

TypeSafe's Jev decision model as Hermes' smart-approval reviewer only: it cannot generate text and refuses every other task. Supports TypeSafe direct, OpenRouter, and configurable Jev-compatible HTTPS endpoints with optional endpoint-specific authentication; validates typed answers and endpoint/redirect boundaries, redacts command credentials, and records bounded structured audit logs. Disclosure — each command routed to smart approval (redacted best-effort) and the operator's smart-policy text leave the machine for the configured third-party endpoint; provider or validation failures fail closed to ESCALATE.

Models
hermes-plugin-chrome-profiles❖ Community★ 12

Switch Hermes browser tools to a named Chromium-family profile (Chrome, Edge, Brave), local or remote, over CDP.

Web & Browser
jev-curator❖ Community★ 3

TypeSafe Jev semantic governance for Hermes' native Curator: classifies relationships between complete skill packages, produces content-hash-bound, fail-closed consolidation plans, and locally guards background destructive skill_manage calls while Hermes retains control of backups and mutations. A profile-scoped 60-second lifecycle debounce coalesces skill changes into dry refreshes. Disclosure — no egress occurs by default; after allow_content_egress is explicitly enabled, redacted bounded skill content is sent to the configured TypeSafe, OpenRouter, or custom Jev endpoint and may spend provider credits. Automatic refreshes never apply mutations, and missing, stale, or incomplete evidence fails closed.

Automation
go-whatsapp❖ Community★ 1

Outbound WhatsApp tools through GOWA: registers GOWA's native MCP server and adds device listing, pairing, and removal. Setup can connect an existing server or explicitly install pinned GOWA v9.5.0 as a loopback-only authenticated native user service on Linux x86_64, macOS x86_64/arm64, or Windows x86_64. Disclosure — agents can send messages and mutate WhatsApp state through the linked account; session databases grant account access. The plugin does not ingest incoming messages or configure webhooks.

Tools
cursor-provider❖ Community★ 0

Cursor model provider using the official proprietary Cursor SDK. Disclosure — uses Cursor's proprietary cursor-sdk (PyPI, bundled binary bridge on loopback) with the user's CURSOR_API_KEY; sends the full conversation, tool schemas/results and images (HTTPS URLs or base64) to Cursor; keeps private per-session SDK workspaces under HERMES_HOME/cache/cursor-sdk; Cursor built-in tools and MCP are requested off and Hermes keeps tool execution and approvals.

Models
kiro-provider❖ Community★ 0

Native Kiro model provider over HTTPS with AWS Builder ID / IAM Identity Center device login. Disclosure — dynamically registers an AWS OIDC public client named `hermes-kiro` during login and stores OAuth grants in Hermes' profile-scoped auth.json credential pool.

Models

← Back to the catalog · catalog built Oct 17, 2026