Conectar OpenCode al gateway con mis llaves
Tus llaves de proveedor en una bóveda de machine-home, una sola conexión local para OpenCode, y rotación en 429 que nunca ves.
Prompt#
Mete mi llave de OpenAI en orch y apunta OpenCode al gateway.
Qué hace el Chair#
Nada — esta te toca a ti. No hay herramienta MCP: los comandos escriben una bóveda de llaves y la configuración de otra aplicación, así que se corren una vez desde una terminal humana.
CLI#
orch gateway keys add openai # pide la llave, la prueba, y recién ahí la guarda
orch gateway keys add openai sk-… # o pásala en línea
orch gateway keys list # hints y tier solamente, nunca la llave
orch gateway keys remove openai sk-…abcd
orch gateway # arranca el gateway primero
orch gateway connect opencode # escribe la config propia de OpenCode, automático
orch gateway status # vivo/cooldown, posición del anillo, rotaciones
Los demás agentes imprimen un pegado de una sola vez en vez de quedar cableados:
orch gateway connect commandcode, orch gateway connect openai,
orch gateway connect claude. orch gateway presets lista las URLs upstream que orch
ya conoce.
Respuesta esperada#
keys add imprime openai sk-…abcd: ok, added to the rotation ring, o
probe failed, not saved (…) — y no guarda nada cuando la prueba falla.
connect opencode imprime Created o Updated OpenCode config → <path>, nombra el
proveedor (OrcheMax, modelo por defecto orchemax/auto si no tenías ninguno), y te
dice que reinicies OpenCode. También deja ORCH_GATEWAY_KEY listo para este workspace.
Trampas#
- Varias llaves por proveedor es una función. Llaves separadas por coma son un
anillo de rotación; el gateway lo avanza solo ante 429s y cooldowns, así que el agente
nunca ve un rate limit.
orch gateway statusmuestra en qué parte del anillo vas. - Una llave nunca se imprime de vuelta.
add,listyremovemuestran solo hints (sk-…abcd), que además es como se identifica una enremove. addprueba antes de guardar. Una llave mal tipeada o muerta se rechaza en el prompt, no en la primera petición.- OpenCode es el único cableado automáticamente. Los demás imprimen el env para que lo pegues una vez — deliberado: orch no reescribe archivos de configuración que no son suyos.
- Reinicia OpenCode después de conectar. La configuración se lee al arrancar.
- Claude Code es la excepción a propósito. Mantiene su propio login de plan
(
agents.auth.claude: account) y no enruta nada por la bóveda. El gateway responde403a cualquier petición que lleve un bearer OAuth de Anthropic (sk-ant-oat…) o la cabeceraanthropic-beta: oauth-2025-04-20— los términos de Anthropic prohíben que un tercero intermedie esas credenciales. Una API key de Anthropic es la única credencial de Anthropic que el carril passthrough sí lleva. - Las llaves viven en el
keys.envde machine-home, no enorch.yaml— una bóveda para todos los workspaces de la máquina, y nada con forma de llave en tu repo.