mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-03-30 05:43:55 +00:00
346 lines
8.8 KiB
Plaintext
346 lines
8.8 KiB
Plaintext
---
|
|
title: Introducción
|
|
description: Comience a usar OpenCode.
|
|
---
|
|
|
|
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
|
import config from "../../../../config.mjs"
|
|
export const console = config.console
|
|
|
|
[**OpenCode**](/) es un agente de codigo de IA de código abierto. Está disponible como interfaz basada en terminal, aplicación de escritorio o extensión IDE.
|
|
|
|

|
|
|
|
Comencemos.
|
|
|
|
---
|
|
|
|
#### Requisitos previos
|
|
|
|
Para usar OpenCode en la terminal, necesitará:
|
|
|
|
1. Un emulador de terminal moderno como:
|
|
- [WezTerm](https://wezterm.org), multiplataforma
|
|
- [Alacritty](https://alacritty.org), multiplataforma
|
|
- [Ghostty](https://ghostty.org), Linux y macOS
|
|
- [Kitty](https://sw.kovidgoyal.net/kitty/), Linux y macOS
|
|
|
|
2. Claves de API de los proveedores de LLM que quiera usar.
|
|
|
|
---
|
|
|
|
## Instalar
|
|
|
|
La forma más sencilla de instalar OpenCode es mediante el script de instalación.
|
|
|
|
```bash
|
|
curl -fsSL https://opencode.ai/install | bash
|
|
```
|
|
|
|
También puedes instalarlo con alguno de los siguientes métodos:
|
|
|
|
- **Usando Node.js**
|
|
|
|
<Tabs>
|
|
|
|
<TabItem label="npm">
|
|
```bash
|
|
npm install -g opencode-ai
|
|
```
|
|
|
|
</TabItem>
|
|
|
|
<TabItem label="Bun">
|
|
```bash
|
|
bun install -g opencode-ai
|
|
```
|
|
|
|
</TabItem>
|
|
|
|
<TabItem label="pnpm">
|
|
```bash
|
|
pnpm install -g opencode-ai
|
|
```
|
|
|
|
</TabItem>
|
|
|
|
<TabItem label="Yarn">
|
|
```bash
|
|
yarn global add opencode-ai
|
|
```
|
|
|
|
</TabItem>
|
|
|
|
</Tabs>
|
|
|
|
- **Usando Homebrew en macOS y Linux**
|
|
|
|
```bash
|
|
brew install anomalyco/tap/opencode
|
|
```
|
|
|
|
> Recomendamos utilizar el tap OpenCode para las versiones más actualizadas. La fórmula oficial `brew install opencode` la mantiene el equipo Homebrew y se actualiza con menos frecuencia.
|
|
|
|
- **Usando Paru en Arch Linux**
|
|
|
|
```bash
|
|
sudo pacman -S opencode # Arch Linux (Stable)
|
|
paru -S opencode-bin # Arch Linux (Latest from AUR)
|
|
```
|
|
|
|
#### Windows
|
|
|
|
:::tip[Recomendado: Usar WSL]
|
|
Para obtener la mejor experiencia en Windows, recomendamos utilizar [Windows Subsystem for Linux (WSL)](/docs/windows-wsl). Ofrece mejor rendimiento y compatibilidad total con las funciones de OpenCode.
|
|
:::
|
|
|
|
- **Usando Chocolatey**
|
|
|
|
```bash
|
|
choco install opencode
|
|
```
|
|
|
|
- **Usando Scoop**
|
|
|
|
```bash
|
|
scoop install opencode
|
|
```
|
|
|
|
- **Usando NPM**
|
|
|
|
```bash
|
|
npm install -g opencode-ai
|
|
```
|
|
|
|
- **Usando Mise**
|
|
|
|
```bash
|
|
mise use -g github:anomalyco/opencode
|
|
```
|
|
|
|
- **Usando Docker**
|
|
|
|
```bash
|
|
docker run -it --rm ghcr.io/anomalyco/opencode
|
|
```
|
|
|
|
El soporte para instalar OpenCode en Windows usando Bun todavía está en desarrollo.
|
|
|
|
También puede obtener el binario desde [Versiones](https://github.com/anomalyco/opencode/releases).
|
|
|
|
---
|
|
|
|
## Configuración
|
|
|
|
Con OpenCode, puede usar cualquier proveedor de LLM configurando sus claves de API.
|
|
|
|
Si es nuevo en el uso de proveedores de LLM, le recomendamos usar [OpenCode Zen](/docs/zen).
|
|
Es una selección de modelos probados y verificados por el equipo de OpenCode.
|
|
|
|
1. Ejecute el comando `/connect` en la TUI, seleccione opencode y diríjase a [opencode.ai/auth](https://opencode.ai/auth).
|
|
|
|
```txt
|
|
/connect
|
|
```
|
|
|
|
2. Inicie sesión, agregue sus datos de facturación y copie su clave de API.
|
|
|
|
3. Pega tu clave de API.
|
|
|
|
```txt
|
|
┌ API key
|
|
│
|
|
│
|
|
└ enter
|
|
```
|
|
|
|
También puede seleccionar otro proveedor. [Más información](/docs/providers#directory).
|
|
|
|
---
|
|
|
|
## Inicializar
|
|
|
|
Ahora que ya configuró un proveedor, vaya al proyecto en el que quiera trabajar.
|
|
|
|
```bash
|
|
cd /path/to/project
|
|
```
|
|
|
|
Luego, ejecute OpenCode.
|
|
|
|
```bash
|
|
opencode
|
|
```
|
|
|
|
A continuación, inicialice OpenCode para el proyecto con el siguiente comando:
|
|
|
|
```bash frame="none"
|
|
/init
|
|
```
|
|
|
|
OpenCode analizará su proyecto y creará un archivo AGENTS.md en la raíz.
|
|
|
|
:::tip
|
|
Asegúrese de versionar en Git el archivo AGENTS.md de su proyecto.
|
|
:::
|
|
|
|
Esto ayuda a OpenCode a comprender la estructura del proyecto y los patrones de código que se usan en él.
|
|
|
|
---
|
|
|
|
## Usar
|
|
|
|
Ahora ya está listo para usar OpenCode en su proyecto. Puede pedirle desde explicaciones del código hasta cambios concretos.
|
|
|
|
Si es la primera vez que usa un agente de codigo con IA, estos ejemplos pueden servirle como punto de partida.
|
|
|
|
---
|
|
|
|
### Hacer preguntas
|
|
|
|
Puede pedirle a OpenCode que le explique el código base.
|
|
|
|
:::tip
|
|
Utilice la tecla `@` para realizar una búsqueda aproximada de archivos dentro del proyecto.
|
|
:::
|
|
|
|
```txt frame="none" "@packages/functions/src/api/index.ts"
|
|
¿Cómo se maneja la autenticación en @packages/functions/src/api/index.ts
|
|
```
|
|
|
|
Esto resulta útil cuando hay una parte del código base en la que usted no ha trabajado.
|
|
|
|
---
|
|
|
|
### Agregar funcionalidades
|
|
|
|
Puede pedirle a OpenCode que agregue nuevas funcionalidades a su proyecto. Aun así, primero recomendamos pedirle que cree un plan.
|
|
|
|
1. **Crear un plan**
|
|
|
|
OpenCode tiene un modo Plan que desactiva temporalmente su capacidad de hacer cambios y, en su lugar, propone _cómo_ implementará la funcionalidad.
|
|
|
|
Cambie a este modo con la tecla **Tab.** Verá un indicador en la esquina inferior derecha.
|
|
|
|
```bash frame="none" title="Switch to Plan mode"
|
|
<TAB>
|
|
```
|
|
|
|
Ahora describa lo que quiere que haga.
|
|
|
|
```txt frame="none"
|
|
Cuando un usuario elimine una nota, queremos marcarla como eliminada en la base de datos.
|
|
Luego, cree una pantalla que muestre todas las notas eliminadas recientemente.
|
|
Desde esa pantalla, el usuario podrá restaurar una nota o eliminarla de forma permanente.
|
|
```
|
|
|
|
Procure darle a OpenCode suficiente contexto para que entienda exactamente lo que necesita. Ayuda hablarle como si estuviera hablando con un desarrollador junior de su equipo.
|
|
|
|
:::tip
|
|
Déle a OpenCode todo el contexto y los ejemplos que pueda para ayudarle a comprender lo que desea.
|
|
:::
|
|
|
|
2. **Iterar sobre el plan**
|
|
|
|
Una vez que OpenCode le proponga un plan, puede darle comentarios o agregar más detalles.
|
|
|
|
```txt frame="none"
|
|
Queremos diseñar esta nueva pantalla usando un diseño que ya hemos usado antes.
|
|
[Imagen #1] Revise esta imagen y úsela como referencia.
|
|
```
|
|
|
|
:::tip
|
|
Arrastre y suelte imágenes en la terminal para agregarlas al mensaje.
|
|
:::
|
|
|
|
OpenCode puede analizar cualquier imagen que usted le proporcione y añadirla al contexto del mensaje. Puede hacerlo arrastrando y soltando una imagen en la terminal.
|
|
|
|
3. **Implementar la funcionalidad**
|
|
|
|
Cuando esté conforme con el plan, vuelva al modo _Build_ presionando de nuevo la tecla Tab.
|
|
|
|
```bash frame="none"
|
|
<TAB>
|
|
```
|
|
|
|
Luego, pídale que haga los cambios.
|
|
|
|
```bash frame="none"
|
|
Perfecto. Continúe y realice los cambios.
|
|
```
|
|
|
|
---
|
|
|
|
### Realizar cambios
|
|
|
|
Para cambios más sencillos, puede pedirle a OpenCode que los implemente directamente, sin revisar antes un plan.
|
|
|
|
```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts"
|
|
Necesitamos agregar autenticación a la ruta /settings. Revise cómo se maneja esto
|
|
en la ruta /notes en @packages/functions/src/notes.ts e implemente
|
|
la misma lógica en @packages/functions/src/settings.ts.
|
|
```
|
|
|
|
Procure dar suficientes detalles para que OpenCode pueda tomar las decisiones correctas al hacer los cambios
|
|
|
|
---
|
|
|
|
### Deshacer cambios
|
|
|
|
Supongamos que le pide a OpenCode que haga algunos cambios.
|
|
|
|
```txt frame="none" "@packages/functions/src/api/index.ts"
|
|
¿Puede refactorizar la función en @packages/functions/src/api/index.ts?
|
|
```
|
|
|
|
Pero luego se da cuenta de que no era lo que quería. Puede **deshacer** los cambios usando el comando `/undo`.
|
|
|
|
```bash frame="none"
|
|
/undo
|
|
```
|
|
|
|
OpenCode revertirá los cambios que hizo y volverá a mostrar su mensaje original.
|
|
|
|
```txt frame="none" "@packages/functions/src/api/index.ts"
|
|
¿Puede refactorizar la función en @packages/functions/src/api/index.ts?
|
|
```
|
|
|
|
Desde ahí, puede modificar el mensaje y pedirle a OpenCode que lo intente de nuevo.
|
|
|
|
:::tip
|
|
Puede ejecutar `/undo` varias veces para deshacer varios cambios.
|
|
:::
|
|
|
|
También puede rehacer los cambios usando el comando `/redo.`
|
|
|
|
```bash frame="none"
|
|
/redo
|
|
```
|
|
|
|
---
|
|
|
|
## Compartir
|
|
|
|
Las conversaciones que tenga con OpenCode pueden [compartirse con su
|
|
equipo](/docs/share).
|
|
|
|
```bash frame="none"
|
|
/share
|
|
```
|
|
|
|
Esto creará un enlace a la conversación actual y lo copiará en su portapapeles.
|
|
|
|
:::note
|
|
Las conversaciones no se comparten de forma predeterminada.
|
|
:::
|
|
|
|
Aquí tiene una [conversación de ejemplo](https://opencode.ai/s/4XP1fce5) con OpenCode.
|
|
|
|
---
|
|
|
|
## Personalizar
|
|
|
|
Y eso es todo. Ya conoce lo básico para empezar a usar OpenCode.
|
|
|
|
Para personalizarlo, recomendamos [elegir un tema](/docs/themes), [personalizar las combinaciones de teclas](/docs/keybinds), [configurar formateadores de código](/docs/formatters), [crear comandos personalizados](/docs/commands) o explorar la [configuración OpenCode](/docs/config).
|