跳到主要内容

coder

Communityv0.1.0 0

Run Hermes terminal commands in an existing remote Coder workspace.

Open in Hermes Desktop
hermes plugins install coder

What it adds

Environment variables it needs 3

CODER_URLCODER_API_KEYCODER_WORKSPACE

README

From the reviewed commit 98e023d; it updates when the author re-pins.

hermes-plugin-coder

Third-party Coder terminal environment provider for Hermes Agent.

Requirements

  • A Coder deployment reachable over HTTPS and an existing workspace.
  • Hermes Agent with the terminal-backend plugin contract.
  • Python dependencies declared in pyproject.toml.

Configuration

Upstream Hermes currently passes only the standard provider factory arguments to terminal plugins, so this compatibility branch reads Coder settings from the active profile environment:

CODER_URL=https://coder.example.com
CODER_API_KEY=...
CODER_WORKSPACE=my-workspace
TERMINAL_CODER_FORWARD_ENV=["GITHUB_TOKEN"]
TERMINAL_CODER_WORKSPACE_STARTUP_TIMEOUT=180

The first three variables are required. TERMINAL_CODER_FORWARD_ENV defaults to [], and TERMINAL_CODER_WORKSPACE_STARTUP_TIMEOUT defaults to 180. Invalid or explicitly empty values fail closed.

Profile YAML under terminal.backends.coder, Dashboard/Desktop configuration fields, and config-aware probing are temporarily unavailable until upstream Hermes gains the provider-owned configuration contract. The API key remains stripped from model-authored subprocesses and is never included in probe details.

Development installation

Hermes source plugins are directories under $HERMES_HOME/plugins containing plugin.yaml and a root __init__.py. A symlink is sufficient:

ln -s /path/to/hermes-plugin-coder "${HERMES_HOME:-$HOME/.hermes}/plugins/coder-dev"
hermes plugins enable coder

The symlink makes the source plugin discoverable; plugins enable opts it into the active profile. Select it with hermes config set terminal.backend coder. The plugin registers a TerminalEnvironmentProvider; upstream Hermes owns environment creation and task lifecycle, while this compatibility branch resolves Coder settings from the active profile environment.

Coder workspaces are durable user infrastructure, so the provider keeps dangerous-command guards enabled even though it uses isolated remote filesystem semantics. Only names explicitly listed in forward_env are copied into the remote session snapshot. Their values are delivered after the authenticated PTY WebSocket opens and are never placed in its request URL.

Tests

From a Hermes Agent checkout with its virtual environment available:

PYTHONPATH=/path/to/hermes-plugin-coder:/path/to/hermes-agent \
  /path/to/hermes-agent/.venv/bin/python -m pytest tests -q

← Back to the catalog · catalog built Sep 23, 2026