| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616 |
- ---
- title: CLI
- description: Opciones y comandos de la CLI de OpenCode.
- ---
- import { Tabs, TabItem } from "@astrojs/starlight/components"
- La CLI de OpenCode de forma predeterminada inicia el [TUI](/docs/tui) cuando se ejecuta sin ningún argumento.
- ```bash
- opencode
- ```
- Pero también acepta comandos como se documenta en esta página. Esto le permite interactuar con OpenCode mediante programación.
- ```bash
- opencode run "Explain how closures work in JavaScript"
- ```
- ---
- ### tui
- Inicie la interfaz de usuario del terminal OpenCode.
- ```bash
- opencode [project]
- ```
- #### Opciones
- | Opción | Corta | Descripción |
- | ---------------------------------------- | ----- | --------------------------------------------------------------------- |
- | <nobr><code>{"--continue"}</code></nobr> | `-c` | Continuar la última sesión |
- | <nobr><code>{"--session"}</code></nobr> | `-s` | ID de sesión para continuar |
- | <nobr><code>{"--fork"}</code></nobr> | | Bifurcar la sesión al continuar (usar con `--continue` o `--session`) |
- | <nobr><code>{"--prompt"}</code></nobr> | | Aviso de uso |
- | <nobr><code>{"--model"}</code></nobr> | `-m` | Modelo a utilizar en forma de proveedor/modelo |
- | <nobr><code>{"--agent"}</code></nobr> | | Agente a utilizar |
- | <nobr><code>{"--port"}</code></nobr> | | Puerto para escuchar |
- | <nobr><code>{"--hostname"}</code></nobr> | | Nombre de host para escuchar |
- ---
- ## Comandos
- La CLI de OpenCode también tiene los siguientes comandos.
- ---
- ### agent
- Administrar agentes para OpenCode.
- ```bash
- opencode agent [command]
- ```
- ---
- ### attach
- Conecte una terminal a un servidor backend OpenCode que ya se esté ejecutando y iniciado mediante los comandos `serve` o `web`.
- ```bash
- opencode attach [url]
- ```
- Esto permite usar TUI con un backend remoto OpenCode. Por ejemplo:
- ```bash
- # Start the backend server for web/mobile access
- opencode web --port 4096 --hostname 0.0.0.0
- # In another terminal, attach the TUI to the running backend
- opencode attach http://10.20.30.40:4096
- ```
- #### Opciones
- | Opción | Corta | Descripción |
- | ---------------------------------------- | ----- | ----------------------------------------------------------------------------------------- |
- | <nobr><code>{"--dir"}</code></nobr> | | Directorio de trabajo para iniciar TUI en |
- | <nobr><code>{"--continue"}</code></nobr> | `-c` | Continuar la última sesión |
- | <nobr><code>{"--session"}</code></nobr> | `-s` | ID de sesión para continuar |
- | <nobr><code>{"--fork"}</code></nobr> | | Bifurcar la sesión al continuar (usar con `--continue` o `--session`) |
- | <nobr><code>{"--password"}</code></nobr> | `-p` | Contraseña de autenticación básica (predeterminada: `OPENCODE_SERVER_PASSWORD`) |
- | <nobr><code>{"--username"}</code></nobr> | `-u` | Usuario de autenticación básica (predeterminado: `OPENCODE_SERVER_USERNAME` u `opencode`) |
- ---
- #### create
- Cree un nuevo agente con configuración personalizada.
- ```bash
- opencode agent create
- ```
- Este comando lo guiará en la creación de un nuevo agente con un mensaje del sistema personalizado y una configuración de herramientas.
- ---
- #### list
- Enumere todos los agentes disponibles.
- ```bash
- opencode agent list
- ```
- ---
- ### auth
- Comando para administrar credenciales e iniciar sesión para proveedores.
- ```bash
- opencode auth [command]
- ```
- ---
- #### login
- OpenCode funciona con la lista de proveedores en [Models.dev](https://models.dev), por lo que puede usar `opencode auth login` para configurar las claves API para cualquier proveedor que desee utilizar. Esto se almacena en `~/.local/share/opencode/auth.json`.
- ```bash
- opencode auth login
- ```
- Cuando se inicia OpenCode, carga los proveedores desde el archivo de credenciales. Y si hay claves definidas en sus entornos o un archivo `.env` en su proyecto.
- ---
- #### list
- Enumera todos los proveedores autenticados tal como están almacenados en el archivo de credenciales.
- ```bash
- opencode auth list
- ```
- O la versión corta.
- ```bash
- opencode auth ls
- ```
- ---
- #### logout
- Cierra tu sesión de un proveedor eliminándolo del archivo de credenciales.
- ```bash
- opencode auth logout
- ```
- ---
- ### github
- Administre el agente GitHub para la automatización del repositorio.
- ```bash
- opencode github [command]
- ```
- ---
- #### install
- Instale el agente GitHub en su repositorio.
- ```bash
- opencode github install
- ```
- Esto configura el flujo de trabajo de acciones GitHub necesario y lo guía a través del proceso de configuración. [Más información](/docs/github).
- ---
- #### run
- Ejecute el agente GitHub. Esto se usa normalmente en acciones GitHub.
- ```bash
- opencode github run
- ```
- ##### Opciones
- | Opción | Descripción |
- | ------------------------------------- | ---------------------------------------------- |
- | <nobr><code>{"--event"}</code></nobr> | GitHub evento simulado para ejecutar el agente |
- | <nobr><code>{"--token"}</code></nobr> | GitHub token de acceso personal |
- ---
- ### mcp
- Administrar servidores de protocolo de contexto modelo.
- ```bash
- opencode mcp [command]
- ```
- ---
- #### add
- Agregue un servidor MCP a su configuración.
- ```bash
- opencode mcp add
- ```
- Este comando lo guiará para agregar un servidor MCP local o remoto.
- ---
- #### list
- Enumere todos los servidores MCP configurados y su estado de conexión.
- ```bash
- opencode mcp list
- ```
- O utilice la versión corta.
- ```bash
- opencode mcp ls
- ```
- ---
- #### auth
- Autentíquese con un servidor MCP habilitado para OAuth.
- ```bash
- opencode mcp auth [name]
- ```
- Si no proporciona un nombre de servidor, se le pedirá que seleccione entre los servidores compatibles con OAuth disponibles.
- También puede enumerar los servidores compatibles con OAuth y su estado de autenticación.
- ```bash
- opencode mcp auth list
- ```
- O utilice la versión corta.
- ```bash
- opencode mcp auth ls
- ```
- ---
- #### logout
- Elimine las credenciales OAuth para un servidor MCP.
- ```bash
- opencode mcp logout [name]
- ```
- ---
- #### debug
- Depurar problemas de conexión OAuth para un servidor MCP.
- ```bash
- opencode mcp debug <name>
- ```
- ---
- ### models
- Enumere todos los modelos disponibles de los proveedores configurados.
- ```bash
- opencode models [provider]
- ```
- Este comando muestra todos los modelos disponibles en sus proveedores configurados en el formato `provider/model`.
- Esto es útil para determinar el nombre exacto del modelo que se usará en [su configuración](/docs/config/).
- Opcionalmente, puede pasar un ID de proveedor para filtrar modelos por ese proveedor.
- ```bash
- opencode models anthropic
- ```
- #### Opciones
- | Opción | Descripción |
- | --------------------------------------- | --------------------------------------------------------------------------- |
- | <nobr><code>{"--refresh"}</code></nobr> | Actualizar la caché de modelos desde models.dev |
- | <nobr><code>{"--verbose"}</code></nobr> | Utilice una salida del modelo más detallada (incluye metadatos como costos) |
- Utilice el indicador `--refresh` para actualizar la lista de modelos almacenados en caché. Esto es útil cuando se han agregado nuevos modelos a un proveedor y desea verlos en OpenCode.
- ```bash
- opencode models --refresh
- ```
- ---
- ### run
- Ejecute opencode en modo no interactivo pasando un mensaje directamente.
- ```bash
- opencode run [message..]
- ```
- Esto es útil para secuencias de comandos, automatización o cuando desea una respuesta rápida sin iniciar el TUI completo. Por ejemplo.
- ```bash "opencode run"
- opencode run Explain the use of context in Go
- ```
- También puede conectarse a una instancia `opencode serve` en ejecución para evitar tiempos de arranque en frío del servidor MCP en cada ejecución:
- ```bash
- # Start a headless server in one terminal
- opencode serve
- # In another terminal, run commands that attach to it
- opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
- ```
- #### Opciones
- | Opción | Corta | Descripción |
- | ---------------------------------------- | ----- | ----------------------------------------------------------------------------------------- |
- | <nobr><code>{"--command"}</code></nobr> | | El comando a ejecutar, use mensaje para args |
- | <nobr><code>{"--continue"}</code></nobr> | `-c` | Continuar la última sesión |
- | <nobr><code>{"--session"}</code></nobr> | `-s` | ID de sesión para continuar |
- | <nobr><code>{"--fork"}</code></nobr> | | Bifurcar la sesión al continuar (usar con `--continue` o `--session`) |
- | <nobr><code>{"--share"}</code></nobr> | | Comparte la sesión |
- | <nobr><code>{"--model"}</code></nobr> | `-m` | Modelo a utilizar en forma de proveedor/modelo |
- | <nobr><code>{"--agent"}</code></nobr> | | Agente a utilizar |
- | <nobr><code>{"--file"}</code></nobr> | `-f` | Archivo(s) para adjuntar al mensaje |
- | <nobr><code>{"--format"}</code></nobr> | | Formato: predeterminado (formateado) o json (eventos JSON sin formato) |
- | <nobr><code>{"--title"}</code></nobr> | | Título de la sesión (utiliza un mensaje truncado si no se proporciona ningún valor) |
- | <nobr><code>{"--attach"}</code></nobr> | | Adjuntar a un servidor opencode en ejecución (por ejemplo, http://localhost:4096) |
- | <nobr><code>{"--password"}</code></nobr> | `-p` | Contraseña de autenticación básica (predeterminada: `OPENCODE_SERVER_PASSWORD`) |
- | <nobr><code>{"--username"}</code></nobr> | `-u` | Usuario de autenticación básica (predeterminado: `OPENCODE_SERVER_USERNAME` u `opencode`) |
- | <nobr><code>{"--dir"}</code></nobr> | | Directorio de ejecución, o ruta en el servidor remoto al adjuntar |
- | <nobr><code>{"--variant"}</code></nobr> | | Variante del modelo (esfuerzo de razonamiento específico del proveedor) |
- | <nobr><code>{"--thinking"}</code></nobr> | | Mostrar bloques de pensamiento |
- | <nobr><code>{"--port"}</code></nobr> | | Puerto para el servidor local (el puerto predeterminado es aleatorio) |
- ---
- ### serve
- Inicie un servidor OpenCode sin cabeza para acceso API. Consulte los [documentos del servidor](/docs/server) para conocer la interfaz HTTP completa.
- ```bash
- opencode serve
- ```
- Esto inicia un servidor HTTP que proporciona acceso API a la funcionalidad opencode sin la interfaz TUI. Configure `OPENCODE_SERVER_PASSWORD` para habilitar la autenticación básica HTTP (el nombre de usuario predeterminado es `opencode`).
- #### Opciones
- | Opción | Descripción |
- | ---------------------------------------- | ---------------------------------------------------- |
- | <nobr><code>{"--port"}</code></nobr> | Puerto para escuchar |
- | <nobr><code>{"--hostname"}</code></nobr> | Nombre de host para escuchar |
- | <nobr><code>{"--mdns"}</code></nobr> | Habilitar el descubrimiento de mDNS |
- | <nobr><code>{"--cors"}</code></nobr> | Orígenes de navegador adicionales para permitir CORS |
- ---
- ### session
- Administrar OpenCode sesiones.
- ```bash
- opencode session [command]
- ```
- ---
- #### list
- Enumere todas las sesiones OpenCode.
- ```bash
- opencode session list
- ```
- ##### Opciones
- | Opción | Corta | Descripción |
- | ----------------------------------------- | ----- | --------------------------------------- |
- | <nobr><code>{"--max-count"}</code></nobr> | `-n` | Limitar a N sesiones más recientes |
- | <nobr><code>{"--format"}</code></nobr> | | Formato de salida: tabla o json (tabla) |
- ---
- ### stats
- Muestre el uso de tokens y las estadísticas de costos para sus sesiones OpenCode.
- ```bash
- opencode stats
- ```
- #### Opciones
- | Opción | Descripción |
- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
- | <nobr><code>{"--days"}</code></nobr> | Mostrar estadísticas de los últimos N días (todo el tiempo) |
- | <nobr><code>{"--tools"}</code></nobr> | Número de herramientas para mostrar (todas) |
- | <nobr><code>{"--models"}</code></nobr> | Mostrar el desglose del uso del modelo (oculto de forma predeterminada). Pase un número para mostrar la parte superior N |
- | <nobr><code>{"--project"}</code></nobr> | Filtrar por proyecto (todos los proyectos, cadena vacía: proyecto actual) |
- ---
- ### export
- Exportar datos de la sesión como JSON.
- ```bash
- opencode export [sessionID]
- ```
- Si no proporciona una ID de sesión, se le pedirá que seleccione entre las sesiones disponibles.
- ---
- ### import
- Importe datos de sesión desde un archivo JSON o una URL compartida OpenCode.
- ```bash
- opencode import <file>
- ```
- Puede importar desde un archivo local o una URL compartida OpenCode.
- ```bash
- opencode import session.json
- opencode import https://opncd.ai/s/abc123
- ```
- ---
- ### web
- Inicie un servidor OpenCode sin cabeza con una interfaz web.
- ```bash
- opencode web
- ```
- Esto inicia un servidor HTTP y abre un navegador web para acceder a OpenCode a través de una interfaz web. Configure `OPENCODE_SERVER_PASSWORD` para habilitar la autenticación básica HTTP (el nombre de usuario predeterminado es `opencode`).
- #### Opciones
- | Opción | Descripción |
- | ---------------------------------------- | ---------------------------------------------------- |
- | <nobr><code>{"--port"}</code></nobr> | Puerto para escuchar |
- | <nobr><code>{"--hostname"}</code></nobr> | Nombre de host para escuchar |
- | <nobr><code>{"--mdns"}</code></nobr> | Habilitar el descubrimiento de mDNS |
- | <nobr><code>{"--cors"}</code></nobr> | Orígenes de navegador adicionales para permitir CORS |
- ---
- ### acp
- Inicie un servidor ACP (Agent Client Protocol).
- ```bash
- opencode acp
- ```
- Este comando inicia un servidor ACP que se comunica a través de stdin/stdout usando nd-JSON.
- #### Opciones
- | Opción | Descripción |
- | ---------------------------------------- | ---------------------------- |
- | <nobr><code>{"--cwd"}</code></nobr> | Directorio de trabajo |
- | <nobr><code>{"--port"}</code></nobr> | Puerto para escuchar |
- | <nobr><code>{"--hostname"}</code></nobr> | Nombre de host para escuchar |
- ---
- ### uninstall
- Desinstale OpenCode y elimine todos los archivos relacionados.
- ```bash
- opencode uninstall
- ```
- #### Opciones
- | Opción | Corta | Descripción |
- | ------------------------------------------- | ----- | ----------------------------------------- |
- | <nobr><code>{"--keep-config"}</code></nobr> | `-c` | Mantener archivos de configuración |
- | <nobr><code>{"--keep-data"}</code></nobr> | `-d` | Conservar datos de sesión e instantáneas |
- | <nobr><code>{"--dry-run"}</code></nobr> | | Mostrar lo que se eliminaría sin eliminar |
- | <nobr><code>{"--force"}</code></nobr> | `-f` | Saltar mensajes de confirmación |
- ---
- ### upgrade
- Actualiza opencode a la última versión o a una versión específica.
- ```bash
- opencode upgrade [target]
- ```
- Para actualizar a la última versión.
- ```bash
- opencode upgrade
- ```
- Para actualizar a una versión específica.
- ```bash
- opencode upgrade v0.1.48
- ```
- #### Opciones
- | Opción | Corta | Descripción |
- | -------------------------------------- | ----- | ------------------------------------------------------------------- |
- | <nobr><code>{"--method"}</code></nobr> | `-m` | El método de instalación que se utilizó; curl, npm, pnpm, bun, brew |
- ---
- ## Opciones globales
- La CLI de OpenCode toma las siguientes banderas globales.
- | Opción | Corta | Descripción |
- | ------------------------------------------ | ----- | -------------------------------------------- |
- | <nobr><code>{"--help"}</code></nobr> | `-h` | Mostrar ayuda |
- | <nobr><code>{"--version"}</code></nobr> | `-v` | Número de versión de impresión |
- | <nobr><code>{"--print-logs"}</code></nobr> | | Imprimir registros en stderr |
- | <nobr><code>{"--log-level"}</code></nobr> | | Nivel de registro (DEBUG, INFO, WARN, ERROR) |
- ---
- ## Variables de entorno
- OpenCode se puede configurar mediante variables de entorno.
- | Variable | Type | Description |
- | ------------------------------------- | -------- | ------------------------------------------------------------------------------- |
- | `OPENCODE_AUTO_SHARE` | booleano | Compartir sesiones automáticamente |
- | `OPENCODE_GIT_BASH_PATH` | cadena | Ruta al ejecutable de Git Bash en Windows |
- | `OPENCODE_CONFIG` | cadena | Ruta al archivo de configuración |
- | `OPENCODE_CONFIG_DIR` | cadena | Ruta al directorio de configuración |
- | `OPENCODE_CONFIG_CONTENT` | cadena | Contenido de configuración json en línea |
- | `OPENCODE_DISABLE_AUTOUPDATE` | booleano | Deshabilitar las comprobaciones automáticas de actualizaciones |
- | `OPENCODE_DISABLE_PRUNE` | booleano | Deshabilitar la poda de datos antiguos |
- | `OPENCODE_DISABLE_TERMINAL_TITLE` | booleano | Deshabilitar las actualizaciones automáticas de títulos de terminal |
- | `OPENCODE_PERMISSION` | cadena | Configuración de permisos json incorporados |
- | `OPENCODE_DISABLE_DEFAULT_PLUGINS` | booleano | Deshabilitar complementos predeterminados |
- | `OPENCODE_DISABLE_LSP_DOWNLOAD` | booleano | Deshabilitar las descargas automáticas del servidor LSP |
- | `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | booleano | Habilitar modelos experimentales |
- | `OPENCODE_DISABLE_AUTOCOMPACT` | booleano | Deshabilitar la compactación automática de contexto |
- | `OPENCODE_DISABLE_CLAUDE_CODE` | booleano | Deshabilitar la lectura desde `.claude` (mensaje + habilidades) |
- | `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | booleano | Desactivar lectura `~/.claude/CLAUDE.md` |
- | `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | booleano | Deshabilitar la carga `.claude/skills` |
- | `OPENCODE_DISABLE_MODELS_FETCH` | booleano | Deshabilitar la recuperación de modelos desde fuentes remotas |
- | `OPENCODE_FAKE_VCS` | cadena | Proveedor de VCS falso para fines de prueba |
- | `OPENCODE_CLIENT` | cadena | Identificador de cliente (por defecto `cli`) |
- | `OPENCODE_ENABLE_EXA` | booleano | Habilitar las herramientas de búsqueda web de Exa |
- | `OPENCODE_SERVER_PASSWORD` | cadena | Habilite la autenticación básica para `serve`/`web` |
- | `OPENCODE_SERVER_USERNAME` | cadena | Anular el nombre de usuario de autenticación básica (predeterminado `opencode`) |
- | `OPENCODE_MODELS_URL` | cadena | URL personalizada para buscar la configuración de modelos |
- ---
- ### Experimental
- Estas variables de entorno habilitan funciones experimentales que pueden cambiar o eliminarse.
- | Variable | Type | Description |
- | ----------------------------------------------- | -------- | ---------------------------------------------------------- |
- | `OPENCODE_EXPERIMENTAL` | booleano | Habilitar funciones experimentales de la bandera global |
- | `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | booleano | Habilitar descubrimiento de íconos |
- | `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | booleano | Deshabilitar copia al seleccionar en TUI |
- | `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | número | Tiempo de espera predeterminado para comandos bash en ms |
- | `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | número | Tokens de salida máximos para respuestas LLM |
- | `OPENCODE_EXPERIMENTAL_FILEWATCHER` | booleano | Habilite el observador de archivos para todo el directorio |
- | `OPENCODE_EXPERIMENTAL_OXFMT` | booleano | Habilitar el formateador oxfmt |
- | `OPENCODE_EXPERIMENTAL_LSP_TOOL` | booleano | Habilitar herramienta experimental LSP |
- | `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | booleano | Deshabilitar el observador de archivos |
- | `OPENCODE_EXPERIMENTAL_EXA` | booleano | Habilitar funciones experimentales de Exa |
- | `OPENCODE_EXPERIMENTAL_LSP_TY` | booleano | Habilitar Habilitar TY LSP para archivos python |
- | `OPENCODE_EXPERIMENTAL_PLAN_MODE` | booleano | Habilitar modo de plan |
- | `OPENCODE_EXPERIMENTAL_BACKGROUND_SUBAGENTS` | booleano | Habilitar tareas de subagentes en segundo plano |
- | `OPENCODE_EXPERIMENTAL_EVENT_SYSTEM` | booleano | Habilitar sistema de eventos experimental |
- | `OPENCODE_EXPERIMENTAL_NATIVE_LLM` | booleano | Habilitar ruta nativa de solicitud LLM |
- | `OPENCODE_EXPERIMENTAL_PARALLEL` | booleano | Habilitar ejecución paralela de búsqueda web |
- | `OPENCODE_EXPERIMENTAL_SCOUT` | booleano | Habilitar subagente Scout |
- | `OPENCODE_EXPERIMENTAL_WORKSPACES` | booleano | Habilitar soporte de espacios de trabajo |
|