Zum Inhalt

OpenCode Setup fuer macOS

Stand: 2026-05-27

Ziel

macOS-Clients sollen OpenCode ohne VPN-/LAN-Abhaengigkeit auf interne 10.x-Adressen nutzen. LLM und Tools laufen ueber zentrale HTTPS-Endpunkte. MCP nutzt Bearer Token statt OAuth-Browserflow.

Installation

OpenCode gemaess Lanstyle-Softwareverteilung oder offizieller Installationsanleitung installieren. Danach einmal starten und wieder beenden.

Config-Verzeichnis

mkdir -p ~/.config/opencode

Kopiere die Operator-Konfiguration als:

~/.config/opencode/opencode.jsonc

Quelle im Wiki/Repository:

agent-runtime/configs/opencode.operator.jsonc

Secrets-Datei

Datei erstellen:

touch ~/.config/opencode/secrets.env
chmod 600 ~/.config/opencode/secrets.env

Inhalt mit Platzhaltern:

LITELLM_API_KEY="PASTE_LITELLM_USER_KEY_HERE"
LANSTYLE_MCPHUB_TOKEN="PASTE_MCP_USER_TOKEN_HERE"
CONTEXT7_API_KEY="OPTIONAL_CONTEXT7_KEY_HERE"

Die echten Werte kommen aus Vaultwarden. Keine Tokens in Git, Tickets, Screenshots oder Chat kopieren.

ENV laden

Variante A: Terminal-Start

set -a
. ~/.config/opencode/secrets.env
set +a
open -a OpenCode

Variante B: launchctl

set -a
. ~/.config/opencode/secrets.env
set +a
launchctl setenv LITELLM_API_KEY "$LITELLM_API_KEY"
launchctl setenv LANSTYLE_MCPHUB_TOKEN "$LANSTYLE_MCPHUB_TOKEN"
if [ -n "${CONTEXT7_API_KEY:-}" ]; then
  launchctl setenv CONTEXT7_API_KEY "$CONTEXT7_API_KEY"
fi

Danach OpenCode komplett beenden und neu starten.

Variante C: LaunchAgent

Beispiel:

agent-runtime/configs/com.lanstyle.opencodeenv.example.plist

Der LaunchAgent lädt eine lokale Helper-Datei. Diese Datei darf keine Ausgabe mit Tokenwerten erzeugen.

Pruefung

test -f ~/.config/opencode/opencode.jsonc
test -f ~/.config/opencode/secrets.env
stat -f "%Sp %N" ~/.config/opencode/secrets.env
launchctl getenv LITELLM_API_KEY >/dev/null
launchctl getenv LANSTYLE_MCPHUB_TOKEN >/dev/null

Erwartung:

  • secrets.env ist nur fuer den Benutzer lesbar.
  • OpenCode zeigt lanstyle/agent-stable, lanstyle/fast, lanstyle/architect.
  • MCP lanstyle_mcphub ist gruen.
  • Kein OAuth-Popup erscheint.

Erste OpenCode Tests

  1. Kurzer Chat mit lanstyle/agent-stable.
  2. JSON-Test: Antworte nur mit {"ok":true}.
  3. MCP Tool Listing.
  4. Read-only: netbox_get_status.
  5. Plan-only: proxmox_plan_guest_change.

Wenn MCP rot bleibt, siehe OpenCode Troubleshooting.