chore: generate

This commit is contained in:
opencode-agent[bot]
2026-02-09 17:35:30 +00:00
parent dc53086c1e
commit d578f80f00
222 changed files with 6797 additions and 6590 deletions

View File

@@ -29,15 +29,15 @@ opencode [project]
#### Banderas
| Bandera | Corto | Descripción |
| ------------ | ----- | ------------------------------------------ |
| `--continue` | `-c` | Continuar la última sesión |
| `--session` | `-s` | ID de sesión para continuar |
| `--prompt` | | Aviso de uso |
| `--model` | `-m` | Modelo a utilizar en forma de proveedor/modelo |
| `--agent` | | Agente a utilizar |
| `--port` | | Puerto para escuchar |
| `--hostname` | | Nombre de host para escuchar |
| Bandera | Corto | Descripción |
| ------------ | ----- | ---------------------------------------------- |
| `--continue` | `-c` | Continuar la última sesión |
| `--session` | `-s` | ID de sesión para continuar |
| `--prompt` | | Aviso de uso |
| `--model` | `-m` | Modelo a utilizar en forma de proveedor/modelo |
| `--agent` | | Agente a utilizar |
| `--port` | | Puerto para escuchar |
| `--hostname` | | Nombre de host para escuchar |
---
@@ -77,10 +77,10 @@ opencode attach http://10.20.30.40:4096
#### Banderas
| Bandera | Corto | Descripción |
| ----------- | ----- | --------------------------------- |
| `--dir` | | Directorio de trabajo para iniciar TUI en |
| `--session` | `-s` | ID de sesión para continuar |
| Bandera | Corto | Descripción |
| ----------- | ----- | ----------------------------------------- |
| `--dir` | | Directorio de trabajo para iniciar TUI en |
| `--session` | `-s` | ID de sesión para continuar |
---
@@ -186,10 +186,10 @@ opencode github run
##### Banderas
| Bandera | Descripción |
| --------- | -------------------------------------- |
| Bandera | Descripción |
| --------- | ---------------------------------------------- |
| `--event` | GitHub evento simulado para ejecutar el agente |
| `--token` | GitHub token de acceso personal |
| `--token` | GitHub token de acceso personal |
---
@@ -295,9 +295,9 @@ opencode models anthropic
#### Banderas
| Bandera | Descripción |
| ----------- | ------------------------------------------------------------ |
| `--refresh` | Actualizar la caché de modelos desde models.dev |
| Bandera | Descripción |
| ----------- | --------------------------------------------------------------------------- |
| `--refresh` | Actualizar la caché de modelos desde models.dev |
| `--verbose` | 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.
@@ -334,19 +334,19 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
#### Banderas
| Bandera | Corto | Descripción |
| ------------ | ----- | ------------------------------------------------------------------ |
| `--command` | | El comando a ejecutar, use mensaje para args |
| `--continue` | `-c` | Continuar la última sesión |
| `--session` | `-s` | ID de sesión para continuar |
| `--share` | | Comparte la sesión |
| `--model` | `-m` | Modelo a utilizar en forma de proveedor/modelo |
| `--agent` | | Agente a utilizar |
| `--file` | `-f` | Archivo(s) para adjuntar al mensaje |
| `--format` | | Formato: predeterminado (formateado) o json (eventos JSON sin formato) |
| `--title` | | Título de la sesión (utiliza un mensaje truncado si no se proporciona ningún valor) |
| `--attach` | | Adjuntar a un servidor opencode en ejecución (por ejemplo, http://localhost:4096) |
| `--port` | | Puerto para el servidor local (el puerto predeterminado es aleatorio) |
| Bandera | Corto | Descripción |
| ------------ | ----- | ----------------------------------------------------------------------------------- |
| `--command` | | El comando a ejecutar, use mensaje para args |
| `--continue` | `-c` | Continuar la última sesión |
| `--session` | `-s` | ID de sesión para continuar |
| `--share` | | Comparte la sesión |
| `--model` | `-m` | Modelo a utilizar en forma de proveedor/modelo |
| `--agent` | | Agente a utilizar |
| `--file` | `-f` | Archivo(s) para adjuntar al mensaje |
| `--format` | | Formato: predeterminado (formateado) o json (eventos JSON sin formato) |
| `--title` | | Título de la sesión (utiliza un mensaje truncado si no se proporciona ningún valor) |
| `--attach` | | Adjuntar a un servidor opencode en ejecución (por ejemplo, http://localhost:4096) |
| `--port` | | Puerto para el servidor local (el puerto predeterminado es aleatorio) |
---
@@ -362,12 +362,12 @@ Esto inicia un servidor HTTP que proporciona acceso API a la funcionalidad openc
#### Banderas
| Bandera | Descripción |
| ------------ | ------------------------------------------ |
| `--port` | Puerto para escuchar |
| `--hostname` | Nombre de host para escuchar |
| `--mdns` | Habilitar el descubrimiento de mDNS |
| `--cors` | Orígenes de navegador adicionales para permitir CORS |
| Bandera | Descripción |
| ------------ | ---------------------------------------------------- |
| `--port` | Puerto para escuchar |
| `--hostname` | Nombre de host para escuchar |
| `--mdns` | Habilitar el descubrimiento de mDNS |
| `--cors` | Orígenes de navegador adicionales para permitir CORS |
---
@@ -391,10 +391,10 @@ opencode session list
##### Banderas
| Bandera | Corto | Descripción |
| ------------- | ----- | ------------------------------------ |
| `--max-count` | `-n` | Limitar a N sesiones más recientes |
| `--format` | | Formato de salida: tabla o json (tabla) |
| Bandera | Corto | Descripción |
| ------------- | ----- | --------------------------------------- |
| `--max-count` | `-n` | Limitar a N sesiones más recientes |
| `--format` | | Formato de salida: tabla o json (tabla) |
---
@@ -408,12 +408,12 @@ opencode stats
#### Banderas
| Bandera | Descripción |
| ----------- | --------------------------------------------------------------------------- |
| `--days` | Mostrar estadísticas de los últimos N días (todo el tiempo) |
| `--tools` | Número de herramientas para mostrar (todas) |
| `--models` | Mostrar el desglose del uso del modelo (oculto de forma predeterminada). Pase un número para mostrar la parte superior N |
| `--project` | Filtrar por proyecto (todos los proyectos, cadena vacía: proyecto actual) |
| Bandera | Descripción |
| ----------- | ------------------------------------------------------------------------------------------------------------------------ |
| `--days` | Mostrar estadísticas de los últimos N días (todo el tiempo) |
| `--tools` | Número de herramientas para mostrar (todas) |
| `--models` | Mostrar el desglose del uso del modelo (oculto de forma predeterminada). Pase un número para mostrar la parte superior N |
| `--project` | Filtrar por proyecto (todos los proyectos, cadena vacía: proyecto actual) |
---
@@ -458,12 +458,12 @@ Esto inicia un servidor HTTP y abre un navegador web para acceder a OpenCode a t
#### Banderas
| Bandera | Descripción |
| ------------ | ------------------------------------------ |
| `--port` | Puerto para escuchar |
| `--hostname` | Nombre de host para escuchar |
| `--mdns` | Habilitar el descubrimiento de mDNS |
| `--cors` | Orígenes de navegador adicionales para permitir CORS |
| Bandera | Descripción |
| ------------ | ---------------------------------------------------- |
| `--port` | Puerto para escuchar |
| `--hostname` | Nombre de host para escuchar |
| `--mdns` | Habilitar el descubrimiento de mDNS |
| `--cors` | Orígenes de navegador adicionales para permitir CORS |
---
@@ -479,10 +479,10 @@ Este comando inicia un servidor ACP que se comunica a través de stdin/stdout us
#### Banderas
| Bandera | Descripción |
| ------------ | --------------------- |
| `--cwd` | Directorio de trabajo |
| `--port` | Puerto para escuchar |
| Bandera | Descripción |
| ------------ | ---------------------------- |
| `--cwd` | Directorio de trabajo |
| `--port` | Puerto para escuchar |
| `--hostname` | Nombre de host para escuchar |
---
@@ -497,12 +497,12 @@ opencode uninstall
#### Banderas
| Bandera | Corto | Descripción |
| --------------- | ----- | ------------------------------------------- |
| `--keep-config` | `-c` | Mantener archivos de configuración |
| `--keep-data` | `-d` | Conservar datos de sesión e instantáneas |
| `--dry-run` | | Mostrar lo que se eliminaría sin eliminar |
| `--force` | `-f` | Saltar mensajes de confirmación |
| Bandera | Corto | Descripción |
| --------------- | ----- | ----------------------------------------- |
| `--keep-config` | `-c` | Mantener archivos de configuración |
| `--keep-data` | `-d` | Conservar datos de sesión e instantáneas |
| `--dry-run` | | Mostrar lo que se eliminaría sin eliminar |
| `--force` | `-f` | Saltar mensajes de confirmación |
---
@@ -528,9 +528,9 @@ opencode upgrade v0.1.48
#### Banderas
| Bandera | Corto | Descripción |
| ---------- | ----- | ----------------------------------------------------------------- |
| `--method` | `-m` | El método de instalación que se utilizó; rizo, npm, pnpm, bollo, preparación |
| Bandera | Corto | Descripción |
| ---------- | ----- | ---------------------------------------------------------------------------- |
| `--method` | `-m` | El método de instalación que se utilizó; rizo, npm, pnpm, bollo, preparación |
---
@@ -538,12 +538,12 @@ opencode upgrade v0.1.48
El opencode CLI toma las siguientes banderas globales.
| Bandera | Corto | Descripción |
| -------------- | ----- | ------------------------------------ |
| `--help` | `-h` | Mostrar ayuda |
| `--version` | `-v` | Número de versión de impresión |
| `--print-logs` | | Imprimir registros en stderr |
| `--log-level` | | Nivel de registro (DEPURACIÓN, INFORMACIÓN, ADVERTENCIA, ERROR) |
| Bandera | Corto | Descripción |
| -------------- | ----- | --------------------------------------------------------------- |
| `--help` | `-h` | Mostrar ayuda |
| `--version` | `-v` | Número de versión de impresión |
| `--print-logs` | | Imprimir registros en stderr |
| `--log-level` | | Nivel de registro (DEPURACIÓN, INFORMACIÓN, ADVERTENCIA, ERROR) |
---
@@ -551,32 +551,32 @@ El opencode CLI toma las siguientes banderas globales.
OpenCode se puede configurar mediante variables de entorno.
| Variables | Tipo | Descripción |
| ------------------------------------- | ------- | ------------------------------------------------- |
| `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_DISABLE_FILETIME_CHECK` | booleano | Deshabilite la verificación del tiempo del archivo para optimizarlo |
| `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 |
| Variables | Tipo | Descripción |
| ------------------------------------- | -------- | ------------------------------------------------------------------------------- |
| `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_DISABLE_FILETIME_CHECK` | booleano | Deshabilite la verificación del tiempo del archivo para optimizarlo |
| `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 |
---
@@ -584,18 +584,18 @@ OpenCode se puede configurar mediante variables de entorno.
Estas variables de entorno habilitan funciones experimentales que pueden cambiar o eliminarse.
| Variables | Tipo | Descripción |
| ----------------------------------------------- | ------- | --------------------------------------- |
| `OPENCODE_EXPERIMENTAL` | booleano | Habilitar todas las funciones experimentales |
| `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 la verificación de tipo experimental LSP |
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | booleano | Habilitar funciones de rebajas experimentales |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | booleano | Habilitar modo de plan |
| Variables | Tipo | Descripción |
| ----------------------------------------------- | -------- | ---------------------------------------------------------- |
| `OPENCODE_EXPERIMENTAL` | booleano | Habilitar todas las funciones experimentales |
| `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 la verificación de tipo experimental LSP |
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | booleano | Habilitar funciones de rebajas experimentales |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | booleano | Habilitar modo de plan |

View File

@@ -15,62 +15,62 @@ También puedes consultar [awesome-opencode](https://github.com/awesome-opencode
## Complementos
| Nombre | Descripción |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Ejecute automáticamente sesiones OpenCode en entornos sandbox aislados de Daytona con git sync y vistas previas en vivo |
| [opencode-sesión-helicona](https://github.com/H2Shami/opencode-helicone-session) | Inyecte automáticamente encabezados de sesión de Helicone para agrupación de solicitudes |
| [opencode-tipo-inyección](https://github.com/nick-vi/opencode-type-inject) | Inyecte automáticamente tipos TypeScript/Svelte en lecturas de archivos con herramientas de búsqueda |
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Utilice su suscripción ChatGPT Plus/Pro en lugar de créditos API |
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Utilice su plan Gemini existente en lugar de la facturación API |
| [opencode-autenticación antigravedad](https://github.com/NoeFabris/opencode-antigravity-auth) | Utilice los modelos gratuitos de Antigravity en lugar de la facturación API |
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Aislamiento de contenedores de desarrollo de múltiples ramas con clones superficiales y puertos asignados automáticamente |
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Complemento Google Antigravity OAuth, compatible con la Búsqueda de Google y manejo más sólido de API |
| [opencode-poda-de-contexto-dinámico](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimice el uso de tokens eliminando los resultados de herramientas obsoletas |
| [opencode-búsqueda web-citada](https://github.com/ghoulr/opencode-websearch-cited.git) | Agregue soporte de búsqueda web nativa para proveedores compatibles con el estilo basado en Google |
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Permite a los agentes de IA ejecutar procesos en segundo plano en un PTY y enviarles información interactiva. |
| [opencode-estrategia-shell](https://github.com/JRedeker/opencode-shell-strategy) | Instrucciones para comandos de shell no interactivos: evita bloqueos de operaciones dependientes de TTY |
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Seguimiento del uso de OpenCode con Wakatime |
| [opencode-md-formateador de tabla](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Limpiar tablas de rebajas producidas por LLMs |
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Edición de código 10 veces más rápida con Morph Fast Apply API y marcadores de edición diferidos |
| [oh-mi-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Agentes en segundo plano, herramientas LSP/AST/MCP prediseñadas, agentes seleccionados, compatible con Claude Code |
| [opencode-notificador](https://github.com/panta82/opencode-notificator) | Notificaciones de escritorio y alertas sonoras para sesiones OpenCode |
| [opencode-notificador](https://github.com/mohak34/opencode-notifier) | Notificaciones de escritorio y alertas sonoras para eventos de permiso, finalización y error |
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | Nomenclatura automática de sesiones Zellij impulsada por IA basada en el contexto OpenCode |
| [opencode-hábil](https://github.com/zenobi-us/opencode-skillful) | Permitir que los agentes OpenCode carguen mensajes de forma diferida a pedido con descubrimiento e inyección de habilidades |
| [opencode-supermemoria](https://github.com/supermemoryai/opencode-supermemory) | Memoria persistente entre sesiones utilizando Supermemoria |
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Revisión interactiva del plan con anotaciones visuales y uso compartido privado/sin conexión |
| [@openspoon/subtarea2](https://github.com/spoons-and-mirrors/subtask2) | Amplíe opencode /commands a un potente sistema de orquestación con control de flujo granular |
| [opencode-programador](https://github.com/different-ai/opencode-scheduler) | Programe trabajos recurrentes usando launchd (Mac) o systemd (Linux) con sintaxis cron |
| [micocódigo](https://github.com/vtemian/micode) | Lluvia de ideas estructurada → Planificar → Implementar flujo de trabajo con continuidad de sesión |
| [octto](https://github.com/vtemian/octto) | Interfaz de usuario interactiva del navegador para lluvia de ideas de IA con formularios de preguntas múltiples |
| [opencode-agentes-de-fondo](https://github.com/kdcokenny/opencode-background-agents) | Agentes en segundo plano estilo Claude Code con delegación asíncrona y persistencia de contexto |
| [opencode-notificar](https://github.com/kdcokenny/opencode-notify) | Notificaciones nativas del sistema operativo para OpenCode: sepa cuándo se completan las tareas |
| [opencode-espacio de trabajo](https://github.com/kdcokenny/opencode-workspace) | Arnés de orquestación multiagente incluido: 16 componentes, una instalación |
| [opencode-árbol de trabajo](https://github.com/kdcokenny/opencode-worktree) | Árboles de trabajo de Git de fricción cero para OpenCode |
| Nombre | Descripción |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Ejecute automáticamente sesiones OpenCode en entornos sandbox aislados de Daytona con git sync y vistas previas en vivo |
| [opencode-sesión-helicona](https://github.com/H2Shami/opencode-helicone-session) | Inyecte automáticamente encabezados de sesión de Helicone para agrupación de solicitudes |
| [opencode-tipo-inyección](https://github.com/nick-vi/opencode-type-inject) | Inyecte automáticamente tipos TypeScript/Svelte en lecturas de archivos con herramientas de búsqueda |
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Utilice su suscripción ChatGPT Plus/Pro en lugar de créditos API |
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Utilice su plan Gemini existente en lugar de la facturación API |
| [opencode-autenticación antigravedad](https://github.com/NoeFabris/opencode-antigravity-auth) | Utilice los modelos gratuitos de Antigravity en lugar de la facturación API |
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Aislamiento de contenedores de desarrollo de múltiples ramas con clones superficiales y puertos asignados automáticamente |
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Complemento Google Antigravity OAuth, compatible con la Búsqueda de Google y manejo más sólido de API |
| [opencode-poda-de-contexto-dinámico](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimice el uso de tokens eliminando los resultados de herramientas obsoletas |
| [opencode-búsqueda web-citada](https://github.com/ghoulr/opencode-websearch-cited.git) | Agregue soporte de búsqueda web nativa para proveedores compatibles con el estilo basado en Google |
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Permite a los agentes de IA ejecutar procesos en segundo plano en un PTY y enviarles información interactiva. |
| [opencode-estrategia-shell](https://github.com/JRedeker/opencode-shell-strategy) | Instrucciones para comandos de shell no interactivos: evita bloqueos de operaciones dependientes de TTY |
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Seguimiento del uso de OpenCode con Wakatime |
| [opencode-md-formateador de tabla](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Limpiar tablas de rebajas producidas por LLMs |
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Edición de código 10 veces más rápida con Morph Fast Apply API y marcadores de edición diferidos |
| [oh-mi-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Agentes en segundo plano, herramientas LSP/AST/MCP prediseñadas, agentes seleccionados, compatible con Claude Code |
| [opencode-notificador](https://github.com/panta82/opencode-notificator) | Notificaciones de escritorio y alertas sonoras para sesiones OpenCode |
| [opencode-notificador](https://github.com/mohak34/opencode-notifier) | Notificaciones de escritorio y alertas sonoras para eventos de permiso, finalización y error |
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | Nomenclatura automática de sesiones Zellij impulsada por IA basada en el contexto OpenCode |
| [opencode-hábil](https://github.com/zenobi-us/opencode-skillful) | Permitir que los agentes OpenCode carguen mensajes de forma diferida a pedido con descubrimiento e inyección de habilidades |
| [opencode-supermemoria](https://github.com/supermemoryai/opencode-supermemory) | Memoria persistente entre sesiones utilizando Supermemoria |
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Revisión interactiva del plan con anotaciones visuales y uso compartido privado/sin conexión |
| [@openspoon/subtarea2](https://github.com/spoons-and-mirrors/subtask2) | Amplíe opencode /commands a un potente sistema de orquestación con control de flujo granular |
| [opencode-programador](https://github.com/different-ai/opencode-scheduler) | Programe trabajos recurrentes usando launchd (Mac) o systemd (Linux) con sintaxis cron |
| [micocódigo](https://github.com/vtemian/micode) | Lluvia de ideas estructurada → Planificar → Implementar flujo de trabajo con continuidad de sesión |
| [octto](https://github.com/vtemian/octto) | Interfaz de usuario interactiva del navegador para lluvia de ideas de IA con formularios de preguntas múltiples |
| [opencode-agentes-de-fondo](https://github.com/kdcokenny/opencode-background-agents) | Agentes en segundo plano estilo Claude Code con delegación asíncrona y persistencia de contexto |
| [opencode-notificar](https://github.com/kdcokenny/opencode-notify) | Notificaciones nativas del sistema operativo para OpenCode: sepa cuándo se completan las tareas |
| [opencode-espacio de trabajo](https://github.com/kdcokenny/opencode-workspace) | Arnés de orquestación multiagente incluido: 16 componentes, una instalación |
| [opencode-árbol de trabajo](https://github.com/kdcokenny/opencode-worktree) | Árboles de trabajo de Git de fricción cero para OpenCode |
---
## Proyectos
| Nombre | Descripción |
| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
| [kimaki](https://github.com/remorses/kimaki) | Bot de Discord para controlar sesiones OpenCode, basado en el SDK |
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Complemento Neovim para avisos compatibles con el editor, creado en API |
| [portal](https://github.com/hosenur/portal) | Interfaz de usuario web móvil para OpenCode a través de Tailscale/VPN |
| [Plantilla de complemento opencode](https://github.com/zenobi-us/opencode-plugin-template/) | Plantilla para crear complementos OpenCode |
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Interfaz de Neovim para opencode: un agente de codificación de IA basado en terminal |
| [ai-sdk-proveedor-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Proveedor Vercel AI SDK para usar OpenCode a través de @opencode-ai/sdk |
| [Cámara Abierta](https://github.com/btriapitsyn/openchamber) | Aplicación web/de escritorio y extensión VS Code para OpenCode |
| [OpenCode-Obsidiana](https://github.com/mtymek/opencode-obsidian) | Complemento de Obsidian que incorpora OpenCode en la interfaz de usuario de Obsidian |
| [OpenWork](https://github.com/different-ai/openwork) | Una alternativa de código abierto a Claude Cowork, impulsada por OpenCode |
| [ocx](https://github.com/kdcokenny/ocx) | Administrador de extensiones OpenCode con perfiles portátiles y aislados. |
| [CódigoNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Aplicación de escritorio, web, móvil y de cliente remoto para OpenCode |
| Nombre | Descripción |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| [kimaki](https://github.com/remorses/kimaki) | Bot de Discord para controlar sesiones OpenCode, basado en el SDK |
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Complemento Neovim para avisos compatibles con el editor, creado en API |
| [portal](https://github.com/hosenur/portal) | Interfaz de usuario web móvil para OpenCode a través de Tailscale/VPN |
| [Plantilla de complemento opencode](https://github.com/zenobi-us/opencode-plugin-template/) | Plantilla para crear complementos OpenCode |
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Interfaz de Neovim para opencode: un agente de codificación de IA basado en terminal |
| [ai-sdk-proveedor-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Proveedor Vercel AI SDK para usar OpenCode a través de @opencode-ai/sdk |
| [Cámara Abierta](https://github.com/btriapitsyn/openchamber) | Aplicación web/de escritorio y extensión VS Code para OpenCode |
| [OpenCode-Obsidiana](https://github.com/mtymek/opencode-obsidian) | Complemento de Obsidian que incorpora OpenCode en la interfaz de usuario de Obsidian |
| [OpenWork](https://github.com/different-ai/openwork) | Una alternativa de código abierto a Claude Cowork, impulsada por OpenCode |
| [ocx](https://github.com/kdcokenny/ocx) | Administrador de extensiones OpenCode con perfiles portátiles y aislados. |
| [CódigoNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Aplicación de escritorio, web, móvil y de cliente remoto para OpenCode |
---
## Agentes
| Nombre | Descripción |
| ----------------------------------------------------------------- | ------------------------------------------------------------ |
| [Agente](https://github.com/Cluster444/agentic) | Agentes y comandos modulares de IA para un desarrollo estructurado |
| Nombre | Descripción |
| ------------------------------------------------------------------ | -------------------------------------------------------------------------------- |
| [Agente](https://github.com/Cluster444/agentic) | Agentes y comandos modulares de IA para un desarrollo estructurado |
| [opencode-agentes](https://github.com/darrenhinde/opencode-agents) | Configuraciones, avisos, agentes y complementos para flujos de trabajo mejorados |

View File

@@ -11,32 +11,32 @@ OpenCode formatea automáticamente los archivos después de escribirlos o editar
OpenCode viene con varios formateadores integrados para lenguajes y marcos populares. A continuación se muestra una lista de los formateadores, las extensiones de archivo compatibles y los comandos u opciones de configuración que necesita.
| Formateador | Extensiones | Requisitos |
| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| gobierno | .ir | Comando `gofmt` disponible |
| mezclar | .ex, .exs, .eex, .heex, .leex, .neex, .sface | Comando `mix` disponible |
| más bonita | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml y [más](https://prettier.io/docs/en/index.html) | dependencia `prettier` en `package.json` |
| bioma | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml y [más](https://biomejs.dev/) | `biome.json(c)` archivo de configuración |
| zigzag | .zig, .zon | Comando `zig` disponible |
| formato clang | .c, .cpp, .h, .hpp, .ino y [más](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` archivo de configuración |
| klint | .kt, .kts | Comando `ktlint` disponible |
| gorguera | .py, .pyi | Comando `ruff` disponible con configuración |
| óxido | .rs | Comando `rustfmt` disponible |
| cargafmt | .rs | Comando `cargo fmt` disponible |
| ultravioleta | .py, .pyi | Comando `uv` disponible |
| rubocop | .rb, .rake, .gemspec, .ru | Comando `rubocop` disponible |
| estándarrb | .rb, .rake, .gemspec, .ru | Comando `standardrb` disponible |
| embellecedor html | .erb, .html.erb | Comando `htmlbeautifier` disponible |
| aire | .R | Comando `air` disponible |
| dardo | .dardo | Comando `dart` disponible |
| formato ocaml | .ml, .mli | Comando `ocamlformat` disponible y archivo de configuración `.ocamlformat` |
| terraformar | .tf, .tfvars | Comando `terraform` disponible |
| brillo | .brillo | Comando `gleam` disponible |
| nixfmt | .nix | Comando `nixfmt` disponible |
| shfmt | .sh, .bash | Comando `shfmt` disponible |
| pinta | .php | dependencia `laravel/pint` en `composer.json` |
| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | Dependencia de `oxfmt` en `package.json` y un [indicador de variable de entorno experimental](/docs/cli/#experimental) |
| ormolu | .hs | Comando `ormolu` disponible |
| Formateador | Extensiones | Requisitos |
| -------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| gobierno | .ir | Comando `gofmt` disponible |
| mezclar | .ex, .exs, .eex, .heex, .leex, .neex, .sface | Comando `mix` disponible |
| más bonita | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml y [más](https://prettier.io/docs/en/index.html) | dependencia `prettier` en `package.json` |
| bioma | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml y [más](https://biomejs.dev/) | `biome.json(c)` archivo de configuración |
| zigzag | .zig, .zon | Comando `zig` disponible |
| formato clang | .c, .cpp, .h, .hpp, .ino y [más](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` archivo de configuración |
| klint | .kt, .kts | Comando `ktlint` disponible |
| gorguera | .py, .pyi | Comando `ruff` disponible con configuración |
| óxido | .rs | Comando `rustfmt` disponible |
| cargafmt | .rs | Comando `cargo fmt` disponible |
| ultravioleta | .py, .pyi | Comando `uv` disponible |
| rubocop | .rb, .rake, .gemspec, .ru | Comando `rubocop` disponible |
| estándarrb | .rb, .rake, .gemspec, .ru | Comando `standardrb` disponible |
| embellecedor html | .erb, .html.erb | Comando `htmlbeautifier` disponible |
| aire | .R | Comando `air` disponible |
| dardo | .dardo | Comando `dart` disponible |
| formato ocaml | .ml, .mli | Comando `ocamlformat` disponible y archivo de configuración `.ocamlformat` |
| terraformar | .tf, .tfvars | Comando `terraform` disponible |
| brillo | .brillo | Comando `gleam` disponible |
| nixfmt | .nix | Comando `nixfmt` disponible |
| shfmt | .sh, .bash | Comando `shfmt` disponible |
| pinta | .php | dependencia `laravel/pint` en `composer.json` |
| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | Dependencia de `oxfmt` en `package.json` y un [indicador de variable de entorno experimental](/docs/cli/#experimental) |
| ormolu | .hs | Comando `ormolu` disponible |
Entonces, si su proyecto tiene `prettier` en su `package.json`, OpenCode lo usará automáticamente.
@@ -67,12 +67,12 @@ Puede personalizar los formateadores a través de la sección `formatter` en su
Cada configuración del formateador admite lo siguiente:
| Propiedad | Tipo | Descripción |
| ------------- | -------- | ------------------------------------------------------- |
| `disabled` | booleano | Establezca esto en `true` para deshabilitar el formateador |
| `command` | cadena[] | El comando a ejecutar para formatear |
| `environment` | objeto | Variables de entorno para configurar al ejecutar el formateador |
| `extensions` | cadena[] | Extensiones de archivo que este formateador debería manejar |
| Propiedad | Tipo | Descripción |
| ------------- | -------- | --------------------------------------------------------------- |
| `disabled` | booleano | Establezca esto en `true` para deshabilitar el formateador |
| `command` | cadena[] | El comando a ejecutar para formatear |
| `environment` | objeto | Variables de entorno para configurar al ejecutar el formateador |
| `extensions` | cadena[] | Extensiones de archivo que este formateador debería manejar |
Veamos algunos ejemplos.

View File

@@ -105,14 +105,14 @@ O puede configurarlo manualmente.
OpenCode puede desencadenarse por los siguientes eventos GitHub:
| Tipo de evento | Activado por | Detalles |
| ----------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `issue_comment` | Comentar sobre un tema o PR | Mencione `/opencode` o `/oc` en su comentario. OpenCode lee el contexto y puede crear ramas, abrir relaciones públicas o responder. |
| `pull_request_review_comment` | Comente líneas de código específicas en un PR | Mencione `/opencode` o `/oc` mientras revisa el código. OpenCode recibe la ruta del archivo, los números de línea y el contexto de diferencias. |
| `issues` | Número abierto o editado | Activa automáticamente OpenCode cuando se crean o modifican problemas. Requiere entrada `prompt`. |
| `pull_request` | PR abierto o actualizado | Activa automáticamente OpenCode cuando los PR se abren, sincronizan o vuelven a abrir. Útil para revisiones automatizadas. |
| `schedule` | Programación basada en cron | Ejecute OpenCode según una programación. Requiere entrada `prompt`. La salida va a registros y relaciones públicas (no hay temas que comentar). |
| `workflow_dispatch` | Activador manual desde GitHub UI | Active OpenCode a pedido a través de la pestaña Acciones. Requiere entrada `prompt`. La salida va a registros y relaciones públicas. |
| Tipo de evento | Activado por | Detalles |
| ----------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `issue_comment` | Comentar sobre un tema o PR | Mencione `/opencode` o `/oc` en su comentario. OpenCode lee el contexto y puede crear ramas, abrir relaciones públicas o responder. |
| `pull_request_review_comment` | Comente líneas de código específicas en un PR | Mencione `/opencode` o `/oc` mientras revisa el código. OpenCode recibe la ruta del archivo, los números de línea y el contexto de diferencias. |
| `issues` | Número abierto o editado | Activa automáticamente OpenCode cuando se crean o modifican problemas. Requiere entrada `prompt`. |
| `pull_request` | PR abierto o actualizado | Activa automáticamente OpenCode cuando los PR se abren, sincronizan o vuelven a abrir. Útil para revisiones automatizadas. |
| `schedule` | Programación basada en cron | Ejecute OpenCode según una programación. Requiere entrada `prompt`. La salida va a registros y relaciones públicas (no hay temas que comentar). |
| `workflow_dispatch` | Activador manual desde GitHub UI | Active OpenCode a pedido a través de la pestaña Acciones. Requiere entrada `prompt`. La salida va a registros y relaciones públicas. |
### Ejemplo de programación

View File

@@ -68,12 +68,12 @@ OpenCode se ejecuta en su canalización de CI/CD GitLab. Esto es lo que necesita
Consulte los [**GitLab documentos**](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/) para obtener instrucciones actualizadas.
:::
1. Configure su entorno GitLab
2. Configurar CI/CD
3. Obtenga una clave API de proveedor de modelo de IA
4. Crea una cuenta de servicio
5. Configurar variables CI/CD
6. Cree un archivo de configuración de flujo, aquí hay un ejemplo:
1. Configure su entorno GitLab
2. Configurar CI/CD
3. Obtenga una clave API de proveedor de modelo de IA
4. Crea una cuenta de servicio
5. Configurar variables CI/CD
6. Cree un archivo de configuración de flujo, aquí hay un ejemplo:
<details>

View File

@@ -134,20 +134,20 @@ Puede deshabilitar una combinación de teclas agregando la clave a su configurac
La entrada de solicitud de la aplicación de escritorio OpenCode admite atajos comunes de estilo Readline/Emacs para editar texto. Estos están integrados y actualmente no se pueden configurar a través de `opencode.json`.
| Atajo | Acción |
| -------- | ---------------------------------------- |
| `ctrl+a` | Mover al inicio de la línea actual |
| `ctrl+e` | Mover al final de la línea actual |
| `ctrl+b` | Mover el cursor hacia atrás un carácter |
| `ctrl+f` | Mover el cursor hacia adelante un carácter |
| `alt+b` | Mover el cursor hacia atrás una palabra |
| `alt+f` | Mover el cursor hacia adelante una palabra |
| `ctrl+d` | Eliminar carácter debajo del cursor |
| `ctrl+k` | Matar hasta el final de la línea |
| `ctrl+u` | Matar al inicio de la línea |
| `ctrl+w` | Matar palabra anterior |
| `alt+d` | Mata la siguiente palabra |
| `ctrl+t` | Transponer caracteres |
| Atajo | Acción |
| -------- | -------------------------------------------------------------- |
| `ctrl+a` | Mover al inicio de la línea actual |
| `ctrl+e` | Mover al final de la línea actual |
| `ctrl+b` | Mover el cursor hacia atrás un carácter |
| `ctrl+f` | Mover el cursor hacia adelante un carácter |
| `alt+b` | Mover el cursor hacia atrás una palabra |
| `alt+f` | Mover el cursor hacia adelante una palabra |
| `ctrl+d` | Eliminar carácter debajo del cursor |
| `ctrl+k` | Matar hasta el final de la línea |
| `ctrl+u` | Matar al inicio de la línea |
| `ctrl+w` | Matar palabra anterior |
| `alt+d` | Mata la siguiente palabra |
| `ctrl+t` | Transponer caracteres |
| `ctrl+g` | Cancelar ventanas emergentes/abortar la respuesta en ejecución |
---

View File

@@ -11,40 +11,40 @@ OpenCode se integra con su protocolo de servidor de idiomas (LSP) para ayudar a
OpenCode viene con varios servidores LSP integrados para idiomas populares:
| LSP Servidor | Extensiones | Requisitos |
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------ |
| astro | .astro | Autoinstalaciones para proyectos Astro |
| fiesta | .sh, .bash, .zsh, .ksh | Autoinstala el servidor en lenguaje bash |
| sonido metálico | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Instalaciones automáticas para proyectos C/C++ |
| csostenido | .cs | `.NET SDK` instalado |
| clojure-lsp | .clj, .cljs, .cljc, .edn | Comando `clojure-lsp` disponible |
| dardo | .dardo | Comando `dart` disponible |
| deno | .ts, .tsx, .js, .jsx, .mjs | Comando `deno` disponible (detecta automáticamente deno.json/deno.jsonc) |
| elixir-ls | .ex, .exs | Comando `elixir` disponible |
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` dependencia en proyecto |
| f sostenido | .fs, .fsi, .fsx, .fsscript | `.NET SDK` instalado |
| brillo | .brillo | Comando `gleam` disponible |
| gopls | .ir | Comando `go` disponible |
| hls | .hs, .lhs | Comando `haskell-language-server-wrapper` disponible |
| jdtls | .java | `Java SDK (version 21+)` instalado |
| kotlin-ls | .kt, .kts | Autoinstalaciones para proyectos Kotlin |
| lua-ls | .lua | Autoinstalaciones para proyectos Lua |
| nada | .nix | Comando `nixd` disponible |
| ocaml-lsp | .ml, .mli | Comando `ocamllsp` disponible |
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` dependencia en proyecto |
| php intelefense | .php | Autoinstalaciones para proyectos PHP |
| prisma | .prisma | Comando `prisma` disponible |
| derechos de autor | .py, .pyi | Dependencia `pyright` instalada |
| rubí-lsp (rubocop) | .rb, .rake, .gemspec, .ru | Comandos `ruby` y `gem` disponibles |
| óxido | .rs | Comando `rust-analyzer` disponible |
| kit de fuente-lsp | .swift, .objc, .objcpp | `swift` instalado (`xcode` en macOS) |
| esbelto | .esbelto | Autoinstalaciones para proyectos Svelte |
| terraformar | .tf, .tfvars | Instalaciones automáticas desde versiones GitHub |
| diminuto | .tipo, .tipo | Instalaciones automáticas desde versiones GitHub |
| mecanografiado | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` dependencia en proyecto |
| vista | .vue | Autoinstalaciones para proyectos Vue |
| yaml-ls | .yaml, .yml | Autoinstala Red Hat yaml-language-server |
| zls | .zig, .zon | Comando `zig` disponible |
| LSP Servidor | Extensiones | Requisitos |
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| astro | .astro | Autoinstalaciones para proyectos Astro |
| fiesta | .sh, .bash, .zsh, .ksh | Autoinstala el servidor en lenguaje bash |
| sonido metálico | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Instalaciones automáticas para proyectos C/C++ |
| csostenido | .cs | `.NET SDK` instalado |
| clojure-lsp | .clj, .cljs, .cljc, .edn | Comando `clojure-lsp` disponible |
| dardo | .dardo | Comando `dart` disponible |
| deno | .ts, .tsx, .js, .jsx, .mjs | Comando `deno` disponible (detecta automáticamente deno.json/deno.jsonc) |
| elixir-ls | .ex, .exs | Comando `elixir` disponible |
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` dependencia en proyecto |
| f sostenido | .fs, .fsi, .fsx, .fsscript | `.NET SDK` instalado |
| brillo | .brillo | Comando `gleam` disponible |
| gopls | .ir | Comando `go` disponible |
| hls | .hs, .lhs | Comando `haskell-language-server-wrapper` disponible |
| jdtls | .java | `Java SDK (version 21+)` instalado |
| kotlin-ls | .kt, .kts | Autoinstalaciones para proyectos Kotlin |
| lua-ls | .lua | Autoinstalaciones para proyectos Lua |
| nada | .nix | Comando `nixd` disponible |
| ocaml-lsp | .ml, .mli | Comando `ocamllsp` disponible |
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` dependencia en proyecto |
| php intelefense | .php | Autoinstalaciones para proyectos PHP |
| prisma | .prisma | Comando `prisma` disponible |
| derechos de autor | .py, .pyi | Dependencia `pyright` instalada |
| rubí-lsp (rubocop) | .rb, .rake, .gemspec, .ru | Comandos `ruby` y `gem` disponibles |
| óxido | .rs | Comando `rust-analyzer` disponible |
| kit de fuente-lsp | .swift, .objc, .objcpp | `swift` instalado (`xcode` en macOS) |
| esbelto | .esbelto | Autoinstalaciones para proyectos Svelte |
| terraformar | .tf, .tfvars | Instalaciones automáticas desde versiones GitHub |
| diminuto | .tipo, .tipo | Instalaciones automáticas desde versiones GitHub |
| mecanografiado | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` dependencia en proyecto |
| vista | .vue | Autoinstalaciones para proyectos Vue |
| yaml-ls | .yaml, .yml | Autoinstala Red Hat yaml-language-server |
| zls | .zig, .zon | Comando `zig` disponible |
Los servidores LSP se habilitan automáticamente cuando se detecta una de las extensiones de archivo anteriores y se cumplen los requisitos.
@@ -76,13 +76,13 @@ Puede personalizar los servidores LSP a través de la sección `lsp` en su confi
Cada servidor LSP admite lo siguiente:
| Propiedad | Tipo | Descripción |
| ---------------- | -------- | ------------------------------------------------- |
| `disabled` | booleano | Establezca esto en `true` para deshabilitar el servidor LSP |
| `command` | cadena[] | El comando para iniciar el servidor LSP |
| `extensions` | cadena[] | Extensiones de archivo que este servidor LSP debería manejar |
| `env` | objeto | Variables de entorno para configurar al iniciar el servidor |
| `initialization` | objeto | Opciones de inicialización para enviar al servidor LSP |
| Propiedad | Tipo | Descripción |
| ---------------- | -------- | ------------------------------------------------------------ |
| `disabled` | booleano | Establezca esto en `true` para deshabilitar el servidor LSP |
| `command` | cadena[] | El comando para iniciar el servidor LSP |
| `extensions` | cadena[] | Extensiones de archivo que este servidor LSP debería manejar |
| `env` | objeto | Variables de entorno para configurar al iniciar el servidor |
| `initialization` | objeto | Opciones de inicialización para enviar al servidor LSP |
Veamos algunos ejemplos.

View File

@@ -116,13 +116,13 @@ use the mcp_everything tool to add the number 3 and 4
Aquí están todas las opciones para configurar un servidor MCP local.
| Opción | Tipo | Requerido | Descripción |
| ------------- | ------- | -------- | ----------------------------------------------------------------------------------- |
| `type` | Cadena | Y | El tipo de conexión del servidor MCP debe ser `"local"`. |
| `command` | Matriz | Y | Comando y argumentos para ejecutar el servidor MCP. |
| `environment` | Objeto | | Variables de entorno para configurar al ejecutar el servidor. |
| `enabled` | booleano | | Habilite o deshabilite el servidor MCP al inicio. |
| `timeout` | Número | | Tiempo de espera en ms para recuperar herramientas del servidor MCP. El valor predeterminado es 5000 (5 segundos). |
| Opción | Tipo | Requerido | Descripción |
| ------------- | -------- | --------- | ------------------------------------------------------------------------------------------------------------------ |
| `type` | Cadena | Y | El tipo de conexión del servidor MCP debe ser `"local"`. |
| `command` | Matriz | Y | Comando y argumentos para ejecutar el servidor MCP. |
| `environment` | Objeto | | Variables de entorno para configurar al ejecutar el servidor. |
| `enabled` | booleano | | Habilite o deshabilite el servidor MCP al inicio. |
| `timeout` | Número | | Tiempo de espera en ms para recuperar herramientas del servidor MCP. El valor predeterminado es 5000 (5 segundos). |
---
@@ -152,14 +152,14 @@ Agregue servidores MCP remotos configurando `type` en `"remote"`.
#### Opciones
| Opción | Tipo | Requerido | Descripción |
| --------- | ------- | -------- | ----------------------------------------------------------------------------------- |
| `type` | Cadena | Y | El tipo de conexión del servidor MCP debe ser `"remote"`. |
| `url` | Cadena | Y | URL del servidor MCP remoto. |
| `enabled` | booleano | | Habilite o deshabilite el servidor MCP al inicio. |
| `headers` | Objeto | | Encabezados para enviar con la solicitud. |
| `oauth` | Objeto | | OAuth configuración de autenticación. Consulte la sección [OAuth](#oauth) a continuación. |
| `timeout` | Número | | Tiempo de espera en ms para recuperar herramientas del servidor MCP. El valor predeterminado es 5000 (5 segundos). |
| Opción | Tipo | Requerido | Descripción |
| --------- | -------- | --------- | ------------------------------------------------------------------------------------------------------------------ |
| `type` | Cadena | Y | El tipo de conexión del servidor MCP debe ser `"remote"`. |
| `url` | Cadena | Y | URL del servidor MCP remoto. |
| `enabled` | booleano | | Habilite o deshabilite el servidor MCP al inicio. |
| `headers` | Objeto | | Encabezados para enviar con la solicitud. |
| `oauth` | Objeto | | OAuth configuración de autenticación. Consulte la sección [OAuth](#oauth) a continuación. |
| `timeout` | Número | | Tiempo de espera en ms para recuperar herramientas del servidor MCP. El valor predeterminado es 5000 (5 segundos). |
---
@@ -266,12 +266,12 @@ Si desea deshabilitar el OAuth automático para un servidor (por ejemplo, para s
#### OAuth Opciones
| Opción | Tipo | Descripción |
| -------------- | --------------- | -------------------------------------------------------------------------------- |
| `oauth` | Objeto \| falso | OAuth objeto de configuración, o `false` para deshabilitar la detección automática de OAuth. |
| `clientId` | Cadena | OAuth ID de cliente. Si no se proporciona, se intentará el registro dinámico del cliente. |
| `clientSecret` | Cadena | OAuth secreto del cliente, si lo requiere el servidor de autorización. |
| `scope` | Cadena | OAuth alcances para solicitar durante la autorización. |
| Opción | Tipo | Descripción |
| -------------- | --------------- | -------------------------------------------------------------------------------------------- |
| `oauth` | Objeto \| falso | OAuth objeto de configuración, o `false` para deshabilitar la detección automática de OAuth. |
| `clientId` | Cadena | OAuth ID de cliente. Si no se proporciona, se intentará el registro dinámico del cliente. |
| `clientSecret` | Cadena | OAuth secreto del cliente, si lo requiere el servidor de autorización. |
| `scope` | Cadena | OAuth alcances para solicitar durante la autorización. |
#### Depuración

View File

@@ -38,10 +38,11 @@ Sin embargo, sólo unos pocos de ellos son buenos tanto para generar código com
Aquí hay varios modelos que funcionan bien con OpenCode, sin ningún orden en particular. (Esta no es una lista exhaustiva ni necesariamente actualizada):
-GPT 5.2
- Códice GPT 5.1
- Claude Opus 4.5
- Claude Soneto 4.5
-Minimax M2.1
-Minimax M2.1
- Géminis 3 Pro
---

View File

@@ -225,19 +225,19 @@ Si no se especifica ninguna herramienta, todas las herramientas están habilitad
Aquí están todas las herramientas que se pueden controlar a través del modo de configuración.
| Herramienta | Descripción |
| ----------- | ----------------------- |
| `bash` | Ejecutar comandos de shell |
| `edit` | Modificar archivos existentes |
| `write` | Crear nuevos archivos |
| `read` | Leer el contenido del archivo |
| `grep` | Buscar contenido del archivo |
| `glob` | Buscar archivos por patrón |
| `list` | Listar el contenido del directorio |
| `patch` | Aplicar parches a archivos |
| Herramienta | Descripción |
| ----------- | --------------------------------------- |
| `bash` | Ejecutar comandos de shell |
| `edit` | Modificar archivos existentes |
| `write` | Crear nuevos archivos |
| `read` | Leer el contenido del archivo |
| `grep` | Buscar contenido del archivo |
| `glob` | Buscar archivos por patrón |
| `list` | Listar el contenido del directorio |
| `patch` | Aplicar parches a archivos |
| `todowrite` | Administrar listas de tareas pendientes |
| `todoread` | Leer listas de tareas pendientes |
| `webfetch` | Obtener contenido web |
| `todoread` | Leer listas de tareas pendientes |
| `webfetch` | Obtener contenido web |
---

View File

@@ -1023,12 +1023,12 @@ El complemento inyecta encabezados `Helicone-Session-Id` y `Helicone-Session-Nam
##### Cabeceras comunes de Helicone
| Encabezado | Descripción |
| -------------------------- | ------------------------------------------------------------- |
| `Helicone-Cache-Enabled` | Habilitar el almacenamiento en caché de respuestas (`true`/`false`) |
| `Helicone-User-Id` | Seguimiento de métricas por usuario |
| Encabezado | Descripción |
| -------------------------- | --------------------------------------------------------------------------------- |
| `Helicone-Cache-Enabled` | Habilitar el almacenamiento en caché de respuestas (`true`/`false`) |
| `Helicone-User-Id` | Seguimiento de métricas por usuario |
| `Helicone-Property-[Name]` | Agregar propiedades personalizadas (por ejemplo, `Helicone-Property-Environment`) |
| `Helicone-Prompt-Id` | Solicitudes asociadas con versiones rápidas |
| `Helicone-Prompt-Id` | Solicitudes asociadas con versiones rápidas |
Consulte el [Directorio de encabezados de Helicone](https://docs.helicone.ai/helicone-headers/header-directory) para conocer todos los encabezados disponibles.
@@ -1638,10 +1638,10 @@ También puede personalizar modelos a través de su configuración opencode. A c
Algunas opciones de enrutamiento útiles:
| Opción | Descripción |
| ------------------- | ---------------------------------------------------- |
| `order` | Secuencia de proveedores para probar |
| `only` | Restringir a proveedores específicos |
| Opción | Descripción |
| ------------------- | ----------------------------------------------------------------------- |
| `order` | Secuencia de proveedores para probar |
| `only` | Restringir a proveedores específicos |
| `zeroDataRetention` | Utilice únicamente proveedores con políticas de retención de datos cero |
---

View File

@@ -37,13 +37,13 @@ Esto inicia tanto un servidor como un cliente.
#### Opciones
| Opción | Tipo | Descripción | Predeterminado |
| ---------- | ------------- | ------------------------------ | ----------- |
| `hostname` | `string` | Nombre de host del servidor | `127.0.0.1` |
| `port` | `number` | Puerto del servidor | `4096` |
| `signal` | `AbortSignal` | Señal de aborto para cancelación | `undefined` |
| `timeout` | `number` | Tiempo de espera en ms para inicio del servidor | `5000` |
| `config` | `Config` | Objeto de configuración | `{}` |
| Opción | Tipo | Descripción | Predeterminado |
| ---------- | ------------- | ----------------------------------------------- | -------------- |
| `hostname` | `string` | Nombre de host del servidor | `127.0.0.1` |
| `port` | `number` | Puerto del servidor | `4096` |
| `signal` | `AbortSignal` | Señal de aborto para cancelación | `undefined` |
| `timeout` | `number` | Tiempo de espera en ms para inicio del servidor | `5000` |
| `config` | `Config` | Objeto de configuración | `{}` |
---
@@ -81,13 +81,13 @@ const client = createOpencodeClient({
#### Opciones
| Opción | Tipo | Descripción | Predeterminado |
| --------------- | ---------- | -------------------------------- | ----------------------- |
| `baseUrl` | `string` | URL del servidor | `http://localhost:4096` |
| `fetch` | `function` | Implementación de recuperación personalizada | `globalThis.fetch` |
| `parseAs` | `string` | Método de análisis de respuesta | `auto` |
| `responseStyle` | `string` | Estilo de devolución: `data` o `fields` | `fields` |
| `throwOnError` | `boolean` | Lanzar errores en lugar de devolver | `false` |
| Opción | Tipo | Descripción | Predeterminado |
| --------------- | ---------- | -------------------------------------------- | ----------------------- |
| `baseUrl` | `string` | URL del servidor | `http://localhost:4096` |
| `fetch` | `function` | Implementación de recuperación personalizada | `globalThis.fetch` |
| `parseAs` | `string` | Método de análisis de respuesta | `auto` |
| `responseStyle` | `string` | Estilo de devolución: `data` o `fields` | `fields` |
| `throwOnError` | `boolean` | Lanzar errores en lugar de devolver | `false` |
---
@@ -125,8 +125,8 @@ El SDK expone todas las API del servidor a través de un cliente con seguridad d
### Global
| Método | Descripción | Respuesta |
| ----------------- | ------------------------------- | ------------------------------------ |
| Método | Descripción | Respuesta |
| ----------------- | --------------------------------------------- | ------------------------------------ |
| `global.health()` | Verificar el estado y la versión del servidor | `{ healthy: true, version: string }` |
---
@@ -142,9 +142,9 @@ console.log(health.data.version)
### Aplicación
| Método | Descripción | Respuesta |
| -------------- | ------------------------- | ------------------------------------------- |
| `app.log()` | Escribe una entrada de registro | `boolean` |
| Método | Descripción | Respuesta |
| -------------- | ------------------------------------ | -------------------------------------------- |
| `app.log()` | Escribe una entrada de registro | `boolean` |
| `app.agents()` | Listar todos los agentes disponibles | <a href={typesUrl}><code>Agente[]</code></a> |
---
@@ -169,10 +169,10 @@ const agents = await client.app.agents()
### Proyecto
| Método | Descripción | Respuesta |
| ------------------- | ------------------- | --------------------------------------------- |
| `project.list()` | Listar todos los proyectos | <a href={typesUrl}><code>Proyecto[]</code></a> |
| `project.current()` | Obtener proyecto actual | <a href={typesUrl}><code>Proyecto</code></a> |
| Método | Descripción | Respuesta |
| ------------------- | -------------------------- | ---------------------------------------------- |
| `project.list()` | Listar todos los proyectos | <a href={typesUrl}><code>Proyecto[]</code></a> |
| `project.current()` | Obtener proyecto actual | <a href={typesUrl}><code>Proyecto</code></a> |
---
@@ -190,8 +190,8 @@ const currentProject = await client.project.current()
### Camino
| Método | Descripción | Respuesta |
| ------------ | ---------------- | ---------------------------------------- |
| Método | Descripción | Respuesta |
| ------------ | ------------------- | ---------------------------------------- |
| `path.get()` | Obtener ruta actual | <a href={typesUrl}><code>Ruta</code></a> |
---
@@ -207,9 +207,9 @@ const pathInfo = await client.path.get()
### Configuración
| Método | Descripción | Respuesta |
| -------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `config.get()` | Obtener información de configuración | <a href={typesUrl}><code>Configuración</code></a> |
| Método | Descripción | Respuesta |
| -------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| `config.get()` | Obtener información de configuración | <a href={typesUrl}><code>Configuración</code></a> |
| `config.providers()` | Lista de proveedores y modelos predeterminados | `{ providers: `<a href={typesUrl}><code>Proveedor[]</code></a>`, default: { [key: string]: string } }` |
---
@@ -226,27 +226,27 @@ const { providers, default: defaults } = await client.config.providers()
### Sesiones
| Método | Descripción | Notas |
| ---------------------------------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `session.list()` | Listar sesiones | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
| `session.get({ path })` | Obtener sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `session.children({ path })` | Listar sesiones infantiles | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
| `session.create({ body })` | Crear sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `session.delete({ path })` | Eliminar sesión | Devuelve `boolean` |
| `session.update({ path, body })` | Actualizar propiedades de sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `session.init({ path, body })` | Analizar aplicación y crear `AGENTS.md` | Devuelve `boolean` |
| `session.abort({ path })` | Cancelar una sesión en ejecución | Devuelve `boolean` |
| `session.share({ path })` | Compartir sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `session.unshare({ path })` | Dejar de compartir sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `session.summarize({ path, body })` | Resumir sesión | Devuelve `boolean` |
| `session.messages({ path })` | Listar mensajes en una sesión | Devuelve `{ info: `<a href={typesUrl}><code>Mensaje</code></a>`, parts: `<a href={typesUrl}><code>Parte[]</code></a>`}[]` |
| `session.message({ path })` | Obtener detalles del mensaje | Devuelve `{ info: `<a href={typesUrl}><code>Mensaje</code></a>`, parts: `<a href={typesUrl}><code>Parte[]</code></a>`}` |
| `session.prompt({ path, body })` | Enviar mensaje rápido | `body.noReply: true` devuelve UserMessage (solo contexto). El valor predeterminado devuelve <a href={typesUrl}><code>AssistantMessage</code></a> con respuesta de IA |
| `session.command({ path, body })` | Enviar comando a la sesión | Devuelve `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Parte[]</code></a>`}` |
| `session.shell({ path, body })` | Ejecute un comando de shell | Devuelve <a href={typesUrl}><code>AssistantMessage</code></a> |
| `session.revert({ path, body })` | Revertir un mensaje | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `session.unrevert({ path })` | Restaurar mensajes revertidos | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `postSessionByIdPermissionsByPermissionId({ path, body })` | Responder a una solicitud de permiso | Devuelve `boolean` |
| Método | Descripción | Notas |
| ---------------------------------------------------------- | --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `session.list()` | Listar sesiones | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
| `session.get({ path })` | Obtener sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `session.children({ path })` | Listar sesiones infantiles | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
| `session.create({ body })` | Crear sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `session.delete({ path })` | Eliminar sesión | Devuelve `boolean` |
| `session.update({ path, body })` | Actualizar propiedades de sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `session.init({ path, body })` | Analizar aplicación y crear `AGENTS.md` | Devuelve `boolean` |
| `session.abort({ path })` | Cancelar una sesión en ejecución | Devuelve `boolean` |
| `session.share({ path })` | Compartir sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `session.unshare({ path })` | Dejar de compartir sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `session.summarize({ path, body })` | Resumir sesión | Devuelve `boolean` |
| `session.messages({ path })` | Listar mensajes en una sesión | Devuelve `{ info: `<a href={typesUrl}><code>Mensaje</code></a>`, parts: `<a href={typesUrl}><code>Parte[]</code></a>`}[]` |
| `session.message({ path })` | Obtener detalles del mensaje | Devuelve `{ info: `<a href={typesUrl}><code>Mensaje</code></a>`, parts: `<a href={typesUrl}><code>Parte[]</code></a>`}` |
| `session.prompt({ path, body })` | Enviar mensaje rápido | `body.noReply: true` devuelve UserMessage (solo contexto). El valor predeterminado devuelve <a href={typesUrl}><code>AssistantMessage</code></a> con respuesta de IA |
| `session.command({ path, body })` | Enviar comando a la sesión | Devuelve `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Parte[]</code></a>`}` |
| `session.shell({ path, body })` | Ejecute un comando de shell | Devuelve <a href={typesUrl}><code>AssistantMessage</code></a> |
| `session.revert({ path, body })` | Revertir un mensaje | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `session.unrevert({ path })` | Restaurar mensajes revertidos | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `postSessionByIdPermissionsByPermissionId({ path, body })` | Responder a una solicitud de permiso | Devuelve `boolean` |
---
@@ -283,13 +283,13 @@ await client.session.prompt({
### Archivos
| Método | Descripción | Respuesta |
| ------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------- |
| `find.text({ query })` | Buscar texto en archivos | Matriz de objetos coincidentes con `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
| `find.files({ query })` | Buscar archivos y directorios por nombre | `string[]` (rutas) |
| `find.symbols({ query })` | Buscar símbolos del espacio de trabajo | <a href={typesUrl}><code>Símbolo[]</code></a> |
| `file.read({ query })` | Leer un archivo | `{ type: "raw" \| "patch", content: string }` |
| `file.status({ query? })` | Obtener el estado de los archivos rastreados | <a href={typesUrl}><code>Archivo[]</code></a> |
| Método | Descripción | Respuesta |
| ------------------------- | -------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `find.text({ query })` | Buscar texto en archivos | Matriz de objetos coincidentes con `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
| `find.files({ query })` | Buscar archivos y directorios por nombre | `string[]` (rutas) |
| `find.symbols({ query })` | Buscar símbolos del espacio de trabajo | <a href={typesUrl}><code>Símbolo[]</code></a> |
| `file.read({ query })` | Leer un archivo | `{ type: "raw" \| "patch", content: string }` |
| `file.status({ query? })` | Obtener el estado de los archivos rastreados | <a href={typesUrl}><code>Archivo[]</code></a> |
`find.files` admite algunos campos de consulta opcionales:
@@ -324,17 +324,17 @@ const content = await client.file.read({
### TUI
| Método | Descripción | Respuesta |
| ------------------------------ | ------------------------- | --------- |
| `tui.appendPrompt({ body })` | Agregar texto al mensaje | `boolean` |
| `tui.openHelp()` | Abra el cuadro de diálogo de ayuda | `boolean` |
| `tui.openSessions()` | Abrir el selector de sesiones | `boolean` |
| `tui.openThemes()` | Abra el selector de temas | `boolean` |
| `tui.openModels()` | Abrir el selector de modelo | `boolean` |
| `tui.submitPrompt()` | Enviar el mensaje actual | `boolean` |
| `tui.clearPrompt()` | Borrar el mensaje | `boolean` |
| `tui.executeCommand({ body })` | Ejecutar un comando | `boolean` |
| `tui.showToast({ body })` | Mostrar notificación del brindis | `boolean` |
| Método | Descripción | Respuesta |
| ------------------------------ | ---------------------------------- | --------- |
| `tui.appendPrompt({ body })` | Agregar texto al mensaje | `boolean` |
| `tui.openHelp()` | Abra el cuadro de diálogo de ayuda | `boolean` |
| `tui.openSessions()` | Abrir el selector de sesiones | `boolean` |
| `tui.openThemes()` | Abra el selector de temas | `boolean` |
| `tui.openModels()` | Abrir el selector de modelo | `boolean` |
| `tui.submitPrompt()` | Enviar el mensaje actual | `boolean` |
| `tui.clearPrompt()` | Borrar el mensaje | `boolean` |
| `tui.executeCommand({ body })` | Ejecutar un comando | `boolean` |
| `tui.showToast({ body })` | Mostrar notificación del brindis | `boolean` |
---
@@ -355,8 +355,8 @@ await client.tui.showToast({
### Autenticación
| Método | Descripción | Respuesta |
| ------------------- | ------------------------------ | --------- |
| Método | Descripción | Respuesta |
| ------------------- | ---------------------------------------- | --------- |
| `auth.set({ ... })` | Establecer credenciales de autenticación | `boolean` |
---
@@ -374,8 +374,8 @@ await client.auth.set({
### Eventos
| Método | Descripción | Respuesta |
| ------------------- | ------------------------- | ------------------------- |
| Método | Descripción | Respuesta |
| ------------------- | ----------------------------------------------- | ----------------------------------------------- |
| `event.subscribe()` | Transmisión de eventos enviados por el servidor | Transmisión de eventos enviados por el servidor |
---

View File

@@ -18,13 +18,13 @@ opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
#### Opciones
| Bandera | Descripción | Predeterminado |
| --------------- | ----------------------------------- | ---------------- |
| `--port` | Puerto para escuchar | `4096` |
| `--hostname` | Nombre de host para escuchar | `127.0.0.1` |
| `--mdns` | Habilitar el descubrimiento de mDNS | `false` |
| Bandera | Descripción | Predeterminado |
| --------------- | ----------------------------------------------------- | ---------------- |
| `--port` | Puerto para escuchar | `4096` |
| `--hostname` | Nombre de host para escuchar | `127.0.0.1` |
| `--mdns` | Habilitar el descubrimiento de mDNS | `false` |
| `--mdns-domain` | Nombre de dominio personalizado para el servicio mDNS | `opencode.local` |
| `--cors` | Orígenes de navegador adicionales para permitir | `[]` |
| `--cors` | Orígenes de navegador adicionales para permitir | `[]` |
`--cors` se puede pasar varias veces:
@@ -89,34 +89,34 @@ El servidor opencode expone las siguientes API.
### Global
| Método | Camino | Descripción | Respuesta |
| ------ | ---------------- | ------------------------------ | ------------------------------------ |
| `GET` | `/global/health` | Obtener el estado y la versión del servidor | `{ healthy: true, version: string }` |
| `GET` | `/global/event` | Obtenga eventos globales (transmisión SSE) | Flujo de eventos |
| Método | Camino | Descripción | Respuesta |
| ------ | ---------------- | ------------------------------------------- | ------------------------------------ |
| `GET` | `/global/health` | Obtener el estado y la versión del servidor | `{ healthy: true, version: string }` |
| `GET` | `/global/event` | Obtenga eventos globales (transmisión SSE) | Flujo de eventos |
---
### Proyecto
| Método | Camino | Descripción | Respuesta |
| ------ | ------------------ | ----------------------- | --------------------------------------------- |
| `GET` | `/project` | Listar todos los proyectos | <a href={typesUrl}><code>Proyecto[]</code></a> |
| `GET` | `/project/current` | Obtener el proyecto actual | <a href={typesUrl}><code>Proyecto</code></a> |
| Método | Camino | Descripción | Respuesta |
| ------ | ------------------ | -------------------------- | ---------------------------------------------- |
| `GET` | `/project` | Listar todos los proyectos | <a href={typesUrl}><code>Proyecto[]</code></a> |
| `GET` | `/project/current` | Obtener el proyecto actual | <a href={typesUrl}><code>Proyecto</code></a> |
---
### Ruta y VCS
| Método | Camino | Descripción | Respuesta |
| ------ | ------- | ------------------------------------ | ------------------------------------------- |
| `GET` | `/path` | Obtener la ruta actual | <a href={typesUrl}><code>Ruta</code></a> |
| `GET` | `/vcs` | Obtenga información de VCS para el proyecto actual | <a href={typesUrl}><code>VcsInfo</code></a> |
| Método | Camino | Descripción | Respuesta |
| ------ | ------- | -------------------------------------------------- | ------------------------------------------- |
| `GET` | `/path` | Obtener la ruta actual | <a href={typesUrl}><code>Ruta</code></a> |
| `GET` | `/vcs` | Obtenga información de VCS para el proyecto actual | <a href={typesUrl}><code>VcsInfo</code></a> |
---
### Instancia
| Método | Camino | Descripción | Respuesta |
| Método | Camino | Descripción | Respuesta |
| ------ | ------------------- | ---------------------------- | --------- |
| `POST` | `/instance/dispose` | Eliminar la instancia actual | `boolean` |
@@ -124,81 +124,81 @@ El servidor opencode expone las siguientes API.
### Configuración
| Método | Camino | Descripción | Respuesta |
| ------- | ------------------- | --------------------------------- | ---------------------------------------------------------------------------------------- |
| `GET` | `/config` | Obtener información de configuración | <a href={typesUrl}><code>Configuración</code></a> |
| `PATCH` | `/config` | Actualizar configuración | <a href={typesUrl}><code>Configuración</code></a> |
| `GET` | `/config/providers` | Lista de proveedores y modelos predeterminados | `{ providers: `<a href={typesUrl}>Proveedor[]</a>`, default: { [key: string]: string } }` |
| Método | Camino | Descripción | Respuesta |
| ------- | ------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `GET` | `/config` | Obtener información de configuración | <a href={typesUrl}><code>Configuración</code></a> |
| `PATCH` | `/config` | Actualizar configuración | <a href={typesUrl}><code>Configuración</code></a> |
| `GET` | `/config/providers` | Lista de proveedores y modelos predeterminados | `{ providers: `<a href={typesUrl}>Proveedor[]</a>`, default: { [key: string]: string } }` |
---
### Proveedor
| Método | Camino | Descripción | Respuesta |
| ------ | -------------------------------- | ------------------------------------ | ----------------------------------------------------------------------------------- |
| `GET` | `/provider` | Listar todos los proveedores | `{ all: `<a href={typesUrl}>Proveedor[]</a>`, default: {...}, connected: string[] }` |
| `GET` | `/provider/auth` | Obtener métodos de autenticación de proveedores | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
| `POST` | `/provider/{id}/oauth/authorize` | Autorizar a un proveedor usando OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
| `POST` | `/provider/{id}/oauth/callback` | Manejar la devolución de llamada OAuth para un proveedor | `boolean` |
| Método | Camino | Descripción | Respuesta |
| ------ | -------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `GET` | `/provider` | Listar todos los proveedores | `{ all: `<a href={typesUrl}>Proveedor[]</a>`, default: {...}, connected: string[] }` |
| `GET` | `/provider/auth` | Obtener métodos de autenticación de proveedores | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
| `POST` | `/provider/{id}/oauth/authorize` | Autorizar a un proveedor usando OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
| `POST` | `/provider/{id}/oauth/callback` | Manejar la devolución de llamada OAuth para un proveedor | `boolean` |
---
### Sesiones
| Método | Camino | Descripción | Notas |
| -------- | ---------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------- |
| `GET` | `/session` | Listar todas las sesiones | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
| `POST` | `/session` | Crear una nueva sesión | cuerpo: `{ parentID?, title? }`, devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `GET` | `/session/status` | Obtener el estado de la sesión para todas las sesiones | Devuelve `{ [sessionID: string]: `<a href={typesUrl}>Estado de sesión</a>` }` |
| `GET` | `/session/:id` | Obtener detalles de la sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `DELETE` | `/session/:id` | Eliminar una sesión y todos sus datos | Devuelve `boolean` |
| `PATCH` | `/session/:id` | Actualizar propiedades de sesión | cuerpo: `{ title? }`, devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `GET` | `/session/:id/children` | Obtener las sesiones secundarias de una sesión | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
| `GET` | `/session/:id/todo` | Obtener la lista de tareas pendientes para una sesión | Devuelve <a href={typesUrl}><code>Todo[]</code></a> |
| `POST` | `/session/:id/init` | Analizar aplicación y crear `AGENTS.md` | cuerpo: `{ messageID, providerID, modelID }`, devuelve `boolean` |
| `POST` | `/session/:id/fork` | Bifurca una sesión existente en un mensaje | cuerpo: `{ messageID? }`, devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `POST` | `/session/:id/abort` | Cancelar una sesión en ejecución | Devuelve `boolean` |
| `POST` | `/session/:id/share` | Compartir una sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `DELETE` | `/session/:id/share` | Dejar de compartir una sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `GET` | `/session/:id/diff` | Obtenga la diferencia para esta sesión | consulta: `messageID?`, devuelve <a href={typesUrl}><code>FileDiff[]</code></a> |
| `POST` | `/session/:id/summarize` | Resumir la sesión | cuerpo: `{ providerID, modelID }`, devuelve `boolean` |
| `POST` | `/session/:id/revert` | Revertir un mensaje | cuerpo: `{ messageID, partID? }`, devuelve `boolean` |
| `POST` | `/session/:id/unrevert` | Restaurar todos los mensajes revertidos | Devuelve `boolean` |
| `POST` | `/session/:id/permissions/:permissionID` | Responder a una solicitud de permiso | cuerpo: `{ response, remember? }`, devuelve `boolean` |
| Método | Camino | Descripción | Notas |
| -------- | ---------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `GET` | `/session` | Listar todas las sesiones | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
| `POST` | `/session` | Crear una nueva sesión | cuerpo: `{ parentID?, title? }`, devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `GET` | `/session/status` | Obtener el estado de la sesión para todas las sesiones | Devuelve `{ [sessionID: string]: `<a href={typesUrl}>Estado de sesión</a>` }` |
| `GET` | `/session/:id` | Obtener detalles de la sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `DELETE` | `/session/:id` | Eliminar una sesión y todos sus datos | Devuelve `boolean` |
| `PATCH` | `/session/:id` | Actualizar propiedades de sesión | cuerpo: `{ title? }`, devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `GET` | `/session/:id/children` | Obtener las sesiones secundarias de una sesión | Devuelve <a href={typesUrl}><code>Sesión[]</code></a> |
| `GET` | `/session/:id/todo` | Obtener la lista de tareas pendientes para una sesión | Devuelve <a href={typesUrl}><code>Todo[]</code></a> |
| `POST` | `/session/:id/init` | Analizar aplicación y crear `AGENTS.md` | cuerpo: `{ messageID, providerID, modelID }`, devuelve `boolean` |
| `POST` | `/session/:id/fork` | Bifurca una sesión existente en un mensaje | cuerpo: `{ messageID? }`, devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `POST` | `/session/:id/abort` | Cancelar una sesión en ejecución | Devuelve `boolean` |
| `POST` | `/session/:id/share` | Compartir una sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `DELETE` | `/session/:id/share` | Dejar de compartir una sesión | Devuelve <a href={typesUrl}><code>Sesión</code></a> |
| `GET` | `/session/:id/diff` | Obtenga la diferencia para esta sesión | consulta: `messageID?`, devuelve <a href={typesUrl}><code>FileDiff[]</code></a> |
| `POST` | `/session/:id/summarize` | Resumir la sesión | cuerpo: `{ providerID, modelID }`, devuelve `boolean` |
| `POST` | `/session/:id/revert` | Revertir un mensaje | cuerpo: `{ messageID, partID? }`, devuelve `boolean` |
| `POST` | `/session/:id/unrevert` | Restaurar todos los mensajes revertidos | Devuelve `boolean` |
| `POST` | `/session/:id/permissions/:permissionID` | Responder a una solicitud de permiso | cuerpo: `{ response, remember? }`, devuelve `boolean` |
---
### Mensajes
| Método | Camino | Descripción | Notas |
| ------ | --------------------------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GET` | `/session/:id/message` | Listar mensajes en una sesión | consulta: `limit?`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}[]` |
| `POST` | `/session/:id/message` | Envía un mensaje y espera respuesta | cuerpo: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
| `GET` | `/session/:id/message/:messageID` | Obtener detalles del mensaje | Devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
| `POST` | `/session/:id/prompt_async` | Enviar un mensaje de forma asincrónica (sin espera) | cuerpo: igual que `/session/:id/message`, devuelve `204 No Content` |
| `POST` | `/session/:id/command` | Ejecutar un comando de barra diagonal | cuerpo: `{ messageID?, agent?, model?, command, arguments }`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
| `POST` | `/session/:id/shell` | Ejecute un comando de shell | cuerpo: `{ agent, model?, command }`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
| Método | Camino | Descripción | Notas |
| ------ | --------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GET` | `/session/:id/message` | Listar mensajes en una sesión | consulta: `limit?`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}[]` |
| `POST` | `/session/:id/message` | Envía un mensaje y espera respuesta | cuerpo: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
| `GET` | `/session/:id/message/:messageID` | Obtener detalles del mensaje | Devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
| `POST` | `/session/:id/prompt_async` | Enviar un mensaje de forma asincrónica (sin espera) | cuerpo: igual que `/session/:id/message`, devuelve `204 No Content` |
| `POST` | `/session/:id/command` | Ejecutar un comando de barra diagonal | cuerpo: `{ messageID?, agent?, model?, command, arguments }`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
| `POST` | `/session/:id/shell` | Ejecute un comando de shell | cuerpo: `{ agent, model?, command }`, devuelve `{ info: `<a href={typesUrl}>Mensaje</a>`, parts: `<a href={typesUrl}>Parte[]</a>`}` |
---
### Comandos
| Método | Camino | Descripción | Respuesta |
| ------ | ---------- | ----------------- | --------------------------------------------- |
| `GET` | `/command` | Listar todos los comandos | <a href={typesUrl}><code>Comando[]</code></a> |
| Método | Camino | Descripción | Respuesta |
| ------ | ---------- | ------------------------- | --------------------------------------------- |
| `GET` | `/command` | Listar todos los comandos | <a href={typesUrl}><code>Comando[]</code></a> |
---
### Archivos
| Método | Camino | Descripción | Respuesta |
| ------ | ------------------------ | ---------------------------------- | ------------------------------------------------------------------------------------------- |
| `GET` | `/find?pattern=<pat>` | Buscar texto en archivos | Matriz de objetos coincidentes con `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
| `GET` | `/find/file?query=<q>` | Buscar archivos y directorios por nombre | `string[]` (caminos) |
| `GET` | `/find/symbol?query=<q>` | Buscar símbolos del espacio de trabajo | <a href={typesUrl}><code>Símbolo[]</code></a> |
| `GET` | `/file?path=<path>` | Listar archivos y directorios | <a href={typesUrl}><code>FileNode[]</code></a> |
| `GET` | `/file/content?path=<p>` | Leer un archivo | <a href={typesUrl}><code>Contenido del archivo</code></a> |
| `GET` | `/file/status` | Obtener el estado de los archivos rastreados | <a href={typesUrl}><code>Archivo[]</code></a> |
| Método | Camino | Descripción | Respuesta |
| ------ | ------------------------ | -------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `GET` | `/find?pattern=<pat>` | Buscar texto en archivos | Matriz de objetos coincidentes con `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
| `GET` | `/find/file?query=<q>` | Buscar archivos y directorios por nombre | `string[]` (caminos) |
| `GET` | `/find/symbol?query=<q>` | Buscar símbolos del espacio de trabajo | <a href={typesUrl}><code>Símbolo[]</code></a> |
| `GET` | `/file?path=<path>` | Listar archivos y directorios | <a href={typesUrl}><code>FileNode[]</code></a> |
| `GET` | `/file/content?path=<p>` | Leer un archivo | <a href={typesUrl}><code>Contenido del archivo</code></a> |
| `GET` | `/file/status` | Obtener el estado de los archivos rastreados | <a href={typesUrl}><code>Archivo[]</code></a> |
#### `/find/file` parámetros de consulta
@@ -212,76 +212,76 @@ El servidor opencode expone las siguientes API.
### Herramientas (experimentales)
| Método | Camino | Descripción | Respuesta |
| ------ | ------------------------------------------- | ---------------------------------------- | -------------------------------------------- |
| `GET` | `/experimental/tool/ids` | Listar todos los ID de herramientas | <a href={typesUrl}><code>ID de herramientas</code></a> |
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | Listar herramientas con esquemas JSON para un modelo | <a href={typesUrl}><code>Lista de herramientas</code></a> |
| Método | Camino | Descripción | Respuesta |
| ------ | ------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------- |
| `GET` | `/experimental/tool/ids` | Listar todos los ID de herramientas | <a href={typesUrl}><code>ID de herramientas</code></a> |
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | Listar herramientas con esquemas JSON para un modelo | <a href={typesUrl}><code>Lista de herramientas</code></a> |
---
### LSP, formateadores y MCP
| Método | Camino | Descripción | Respuesta |
| ------ | ------------ | -------------------------- | -------------------------------------------------------- |
| `GET` | `/lsp` | Obtener el estado del servidor LSP | <a href={typesUrl}><code>LSPStatus[]</code></a> |
| `GET` | `/formatter` | Obtener estado del formateador | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
| `GET` | `/mcp` | Obtener el estado del servidor MCP | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
| `POST` | `/mcp` | Agregue el servidor MCP dinámicamente | cuerpo: `{ name, config }`, devuelve MCP objeto de estado |
| Método | Camino | Descripción | Respuesta |
| ------ | ------------ | ------------------------------------- | --------------------------------------------------------- |
| `GET` | `/lsp` | Obtener el estado del servidor LSP | <a href={typesUrl}><code>LSPStatus[]</code></a> |
| `GET` | `/formatter` | Obtener estado del formateador | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
| `GET` | `/mcp` | Obtener el estado del servidor MCP | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
| `POST` | `/mcp` | Agregue el servidor MCP dinámicamente | cuerpo: `{ name, config }`, devuelve MCP objeto de estado |
---
### Agentes
| Método | Camino | Descripción | Respuesta |
| ------ | -------- | ------------------------- | ------------------------------------------- |
| `GET` | `/agent` | Listar todos los agentes disponibles | <a href={typesUrl}><code>Agente[]</code></a> |
| Método | Camino | Descripción | Respuesta |
| ------ | -------- | ------------------------------------ | -------------------------------------------- |
| `GET` | `/agent` | Listar todos los agentes disponibles | <a href={typesUrl}><code>Agente[]</code></a> |
---
### Registro
| Método | Camino | Descripción | Respuesta |
| ------ | ------ | ------------------------------------------------------------ | --------- |
| Método | Camino | Descripción | Respuesta |
| ------ | ------ | --------------------------------------------------------------------------- | --------- |
| `POST` | `/log` | Escribir entrada de registro. Cuerpo: `{ service, level, message, extra? }` | `boolean` |
---
### TUI
| Método | Camino | Descripción | Respuesta |
| ------ | ----------------------- | ------------------------------------------- | ---------------------- |
| `POST` | `/tui/append-prompt` | Agregar texto al mensaje | `boolean` |
| `POST` | `/tui/open-help` | Abra el cuadro de diálogo de ayuda | `boolean` |
| `POST` | `/tui/open-sessions` | Abrir el selector de sesiones | `boolean` |
| `POST` | `/tui/open-themes` | Abra el selector de temas | `boolean` |
| `POST` | `/tui/open-models` | Abrir el selector de modelo | `boolean` |
| `POST` | `/tui/submit-prompt` | Enviar el mensaje actual | `boolean` |
| `POST` | `/tui/clear-prompt` | Borrar el mensaje | `boolean` |
| `POST` | `/tui/execute-command` | Ejecutar un comando (`{ command }`) | `boolean` |
| `POST` | `/tui/show-toast` | Mostrar brindis (`{ title?, message, variant }`) | `boolean` |
| `GET` | `/tui/control/next` | Espere la próxima solicitud de control | Objeto de solicitud de control |
| `POST` | `/tui/control/response` | Responder a una solicitud de control (`{ body }`) | `boolean` |
| Método | Camino | Descripción | Respuesta |
| ------ | ----------------------- | ------------------------------------------------- | ------------------------------ |
| `POST` | `/tui/append-prompt` | Agregar texto al mensaje | `boolean` |
| `POST` | `/tui/open-help` | Abra el cuadro de diálogo de ayuda | `boolean` |
| `POST` | `/tui/open-sessions` | Abrir el selector de sesiones | `boolean` |
| `POST` | `/tui/open-themes` | Abra el selector de temas | `boolean` |
| `POST` | `/tui/open-models` | Abrir el selector de modelo | `boolean` |
| `POST` | `/tui/submit-prompt` | Enviar el mensaje actual | `boolean` |
| `POST` | `/tui/clear-prompt` | Borrar el mensaje | `boolean` |
| `POST` | `/tui/execute-command` | Ejecutar un comando (`{ command }`) | `boolean` |
| `POST` | `/tui/show-toast` | Mostrar brindis (`{ title?, message, variant }`) | `boolean` |
| `GET` | `/tui/control/next` | Espere la próxima solicitud de control | Objeto de solicitud de control |
| `POST` | `/tui/control/response` | Responder a una solicitud de control (`{ body }`) | `boolean` |
---
### Autenticación
| Método | Camino | Descripción | Respuesta |
| ------ | ----------- | --------------------------------------------------------------- | --------- |
| `PUT` | `/auth/:id` | Establecer credenciales de autenticación. El cuerpo debe coincidir con el esquema del proveedor | `boolean` |
| Método | Camino | Descripción | Respuesta |
| ------ | ----------- | ----------------------------------------------------------------------------------------------- | --------- |
| `PUT` | `/auth/:id` | Establecer credenciales de autenticación. El cuerpo debe coincidir con el esquema del proveedor | `boolean` |
---
### Eventos
| Método | Camino | Descripción | Respuesta |
| ------ | -------- | ----------------------------------------------------------------------------- | ------------------------- |
| `GET` | `/event` | Transmisión de eventos enviados por el servidor. El primer evento es `server.connected`, luego eventos de bus | Transmisión de eventos enviados por el servidor |
| Método | Camino | Descripción | Respuesta |
| ------ | -------- | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| `GET` | `/event` | Transmisión de eventos enviados por el servidor. El primer evento es `server.connected`, luego eventos de bus | Transmisión de eventos enviados por el servidor |
---
### Documentos
| Método | Camino | Descripción | Respuesta |
| ------ | ------ | ------------------------- | --------------------------- |
| `GET` | `/doc` | Especificación OpenAPI 3.1 | Página HTML con especificación OpenAPI |
| Método | Camino | Descripción | Respuesta |
| ------ | ------ | -------------------------- | -------------------------------------- |
| `GET` | `/doc` | Especificación OpenAPI 3.1 | Página HTML con especificación OpenAPI |

View File

@@ -139,11 +139,11 @@ Controle a qué agentes de habilidades pueden acceder utilizando permisos basado
}
```
| Permiso | Comportamiento |
| ---------- | ----------------------------------------- |
| `allow` | La habilidad se carga inmediatamente |
| `deny` | Habilidad oculta al agente, acceso rechazado |
| `ask` | Se solicita al usuario aprobación antes de cargar |
| Permiso | Comportamiento |
| ------- | ------------------------------------------------- |
| `allow` | La habilidad se carga inmediatamente |
| `deny` | Habilidad oculta al agente, acceso rechazado |
| `ask` | Se solicita al usuario aprobación antes de cargar |
Los patrones admiten comodines: `internal-*` coincide con `internal-docs`, `internal-tools`, etc.

View File

@@ -25,19 +25,19 @@ Sin soporte de color verdadero, los temas pueden aparecer con una precisión de
OpenCode viene con varios temas integrados.
| Nombre | Descripción |
| ---------------------- | ---------------------------------------------------------------------------- |
| `system` | Se adapta al color de fondo de tu terminal |
| `tokyonight` | Basado en el tema [Tokyonight](https://github.com/folke/tokyonight.nvim) |
| `everforest` | Basado en el tema [Everforest](https://github.com/sainnhe/everforest) |
| `ayu` | Basado en el tema oscuro de [Ayu](https://github.com/ayu-theme) |
| `catppuccin` | Basado en el tema [Catppuccin](https://github.com/catppuccin) |
| `catppuccin-macchiato` | Basado en el tema [Catppuccin](https://github.com/catppuccin) |
| `gruvbox` | Basado en el tema [Gruvbox](https://github.com/morhetz/gruvbox) |
| `kanagawa` | Basado en el tema [Kanagawa](https://github.com/rebelot/kanagawa.nvim) |
| `nord` | Basado en el tema [Nord](https://github.com/nordtheme/nord) |
| `matrix` | Verde estilo hacker sobre el tema negro |
| `one-dark` | Basado en el tema oscuro [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) |
| Nombre | Descripción |
| ---------------------- | ----------------------------------------------------------------------------- |
| `system` | Se adapta al color de fondo de tu terminal |
| `tokyonight` | Basado en el tema [Tokyonight](https://github.com/folke/tokyonight.nvim) |
| `everforest` | Basado en el tema [Everforest](https://github.com/sainnhe/everforest) |
| `ayu` | Basado en el tema oscuro de [Ayu](https://github.com/ayu-theme) |
| `catppuccin` | Basado en el tema [Catppuccin](https://github.com/catppuccin) |
| `catppuccin-macchiato` | Basado en el tema [Catppuccin](https://github.com/catppuccin) |
| `gruvbox` | Basado en el tema [Gruvbox](https://github.com/morhetz/gruvbox) |
| `kanagawa` | Basado en el tema [Kanagawa](https://github.com/rebelot/kanagawa.nvim) |
| `nord` | Basado en el tema [Nord](https://github.com/nordtheme/nord) |
| `matrix` | Verde estilo hacker sobre el tema negro |
| `one-dark` | Basado en el tema oscuro [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) |
Y más, constantemente agregamos nuevos temas.

View File

@@ -62,37 +62,37 @@ Se le cobra por solicitud y puede agregar créditos a su cuenta.
También puede acceder a nuestros modelos a través de los siguientes puntos finales API.
| Modelo | Identificación del modelo | Punto final | Paquete SDK de IA |
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
| GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| Códice GPT 5.2 | gpt-5.2-códice | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| Códice GPT 5.1 | gpt-5.1-códice | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 Códice Máximo | gpt-5.1-codex-max | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 Códice Mini | gpt-5.1-codex-mini | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 | gpt-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| Códice GPT 5 | gpt-5-códice | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT5Nano | gpt-5-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| Claude Soneto 4.5 | soneto-claude-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Soneto 4 | claude-soneto-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Géminis 3 Pro | geminis-3-pro | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
| Géminis 3 Flash | geminis-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
| MiniMax M2.1 | minimax-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.1 Gratis | minimax-m2.1-libre | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.7 Gratis | glm-4.7-libre | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 Gratis | kimi-k2.5-libre | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Pensamiento Kimi K2 | kimi-k2-pensando | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 | kimi-k2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Codificador Qwen3 480B | codificador qwen3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Gran pepinillo | gran pepinillo | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Modelo | Identificación del modelo | Punto final | Paquete SDK de IA |
| ---------------------- | ------------------------- | -------------------------------------------------- | --------------------------- |
| GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| Códice GPT 5.2 | gpt-5.2-códice | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| Códice GPT 5.1 | gpt-5.1-códice | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 Códice Máximo | gpt-5.1-codex-max | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 Códice Mini | gpt-5.1-codex-mini | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 | gpt-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| Códice GPT 5 | gpt-5-códice | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT5Nano | gpt-5-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| Claude Soneto 4.5 | soneto-claude-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Soneto 4 | claude-soneto-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Géminis 3 Pro | geminis-3-pro | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
| Géminis 3 Flash | geminis-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
| MiniMax M2.1 | minimax-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.1 Gratis | minimax-m2.1-libre | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.7 Gratis | glm-4.7-libre | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 Gratis | kimi-k2.5-libre | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Pensamiento Kimi K2 | kimi-k2-pensando | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 | kimi-k2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Codificador Qwen3 480B | codificador qwen3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Gran pepinillo | gran pepinillo | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
El [ID del modelo](/docs/config/#models) en su configuración OpenCode
utiliza el formato `opencode/<model-id>`. Por ejemplo, para el Codex GPT 5.2, deberías
@@ -114,41 +114,41 @@ https://opencode.ai/zen/v1/models
Apoyamos un modelo de pago por uso. A continuación se muestran los precios **por 1 millón de tokens**.
| Modelo | Entrada | Salida | Lectura en caché | Escritura en caché |
| --------------------------------- | ------ | ------ | ----------- | ------------ |
| Gran pepinillo | Gratis | Gratis | Gratis | - |
| MiniMax M2.1 Gratis | Gratis | Gratis | Gratis | - |
| MiniMax M2.1 | $0,30 | $1,20 | $0,10 | - |
| GLM 4.7 Gratis | Gratis | Gratis | Gratis | - |
| GLM 4.7 | $0,60 | $2.20 | $0,10 | - |
| GLM 4.6 | $0,60 | $2.20 | $0,10 | - |
| Kimi K2.5 Gratis | Gratis | Gratis | Gratis | - |
| Kimi K2.5 | $0,60 | $3.00 | $0,08 | - |
| Pensamiento Kimi K2 | $0,40 | $2.50 | - | - |
| Kimi K2 | $0,40 | $2.50 | - | - |
| Codificador Qwen3 480B | $0,45 | $1,50 | - | - |
| Claude Sonnet 4.5 (≤ 200.000 tokens) | $3.00 | $15.00 | $0,30 | $3,75 |
| Claude Sonnet 4.5 (> 200.000 tokens) | $6.00 | $22,50 | $0,60 | $7.50 |
| Claude Soneto 4 (≤ 200.000 fichas) | $3.00 | $15.00 | $0,30 | $3,75 |
| Claude Sonnet 4 (> 200.000 fichas) | $6.00 | $22,50 | $0,60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0,10 | $1,25 |
| Claude Haiku 3.5 | $0,80 | $4.00 | $0,08 | $1.00 |
| Claude Opus 4.6 (≤ 200.000 tokens) | $5.00 | $25.00 | $0,50 | $6.25 |
| Claude Opus 4.6 (> 200K fichas) | $10.00 | $37,50 | $1.00 | $12,50 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0,50 | $6.25 |
| Claude Opus 4.1 | $15.00 | $75.00 | $1,50 | $18,75 |
| Géminis 3 Pro (≤ 200.000 tokens) | $2.00 | $12.00 | $0,20 | - |
| Géminis 3 Pro (> 200.000 tokens) | $4.00 | $18.00 | $0,40 | - |
| Géminis 3 Flash | $0,50 | $3.00 | $0,05 | - |
| GPT 5.2 | $1,75 | $14.00 | $0,175 | - |
| Códice GPT 5.2 | $1,75 | $14.00 | $0,175 | - |
| GPT 5.1 | $1.07 | $8,50 | $0,107 | - |
| Códice GPT 5.1 | $1.07 | $8,50 | $0,107 | - |
| GPT 5.1 Códice Máximo | $1,25 | $10.00 | $0,125 | - |
| GPT 5.1 Códice Mini | $0,25 | $2.00 | $0,025 | - |
| GPT 5 | $1.07 | $8,50 | $0,107 | - |
| Códice GPT 5 | $1.07 | $8,50 | $0,107 | - |
| GPT5Nano | Gratis | Gratis | Gratis | - |
| Modelo | Entrada | Salida | Lectura en caché | Escritura en caché |
| ------------------------------------ | ------- | ------ | ---------------- | ------------------ |
| Gran pepinillo | Gratis | Gratis | Gratis | - |
| MiniMax M2.1 Gratis | Gratis | Gratis | Gratis | - |
| MiniMax M2.1 | $0,30 | $1,20 | $0,10 | - |
| GLM 4.7 Gratis | Gratis | Gratis | Gratis | - |
| GLM 4.7 | $0,60 | $2.20 | $0,10 | - |
| GLM 4.6 | $0,60 | $2.20 | $0,10 | - |
| Kimi K2.5 Gratis | Gratis | Gratis | Gratis | - |
| Kimi K2.5 | $0,60 | $3.00 | $0,08 | - |
| Pensamiento Kimi K2 | $0,40 | $2.50 | - | - |
| Kimi K2 | $0,40 | $2.50 | - | - |
| Codificador Qwen3 480B | $0,45 | $1,50 | - | - |
| Claude Sonnet 4.5 (≤ 200.000 tokens) | $3.00 | $15.00 | $0,30 | $3,75 |
| Claude Sonnet 4.5 (> 200.000 tokens) | $6.00 | $22,50 | $0,60 | $7.50 |
| Claude Soneto 4 (≤ 200.000 fichas) | $3.00 | $15.00 | $0,30 | $3,75 |
| Claude Sonnet 4 (> 200.000 fichas) | $6.00 | $22,50 | $0,60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0,10 | $1,25 |
| Claude Haiku 3.5 | $0,80 | $4.00 | $0,08 | $1.00 |
| Claude Opus 4.6 (≤ 200.000 tokens) | $5.00 | $25.00 | $0,50 | $6.25 |
| Claude Opus 4.6 (> 200K fichas) | $10.00 | $37,50 | $1.00 | $12,50 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0,50 | $6.25 |
| Claude Opus 4.1 | $15.00 | $75.00 | $1,50 | $18,75 |
| Géminis 3 Pro (≤ 200.000 tokens) | $2.00 | $12.00 | $0,20 | - |
| Géminis 3 Pro (> 200.000 tokens) | $4.00 | $18.00 | $0,40 | - |
| Géminis 3 Flash | $0,50 | $3.00 | $0,05 | - |
| GPT 5.2 | $1,75 | $14.00 | $0,175 | - |
| Códice GPT 5.2 | $1,75 | $14.00 | $0,175 | - |
| GPT 5.1 | $1.07 | $8,50 | $0,107 | - |
| Códice GPT 5.1 | $1.07 | $8,50 | $0,107 | - |
| GPT 5.1 Códice Máximo | $1,25 | $10.00 | $0,125 | - |
| GPT 5.1 Códice Mini | $0,25 | $2.00 | $0,025 | - |
| GPT 5 | $1.07 | $8,50 | $0,107 | - |
| Códice GPT 5 | $1.07 | $8,50 | $0,107 | - |
| GPT5Nano | Gratis | Gratis | Gratis | - |
Es posible que notes _Claude Haiku 3.5_ en tu historial de uso. Este es un [modelo de bajo costo](/docs/config/#models) que se utiliza para generar los títulos de tus sesiones.