# CodeBuddy

> Conecta CodeBuddy a la API de LMU AI mediante models.json — ingresa el endpoint completo /chat/completions para usar Claude, GPT y modelos chinos.

URL: https://docs.lmuai.com/es/docs/tools/codebuddy



CodeBuddy (el asistente de programación de Tencent Cloud) es un editor de código con IA que admite una lista de modelos personalizada mediante un archivo de configuración `models.json`. Esta página cubre cómo conectarlo a LMU AI.

***

## Instalar e iniciar sesión [#instalar-e-iniciar-sesión]

1. Descarga e instala la versión para tu sistema operativo desde el sitio oficial: [https://www.codebuddy.cn](https://www.codebuddy.cn/home/)
2. Inicia sesión en tu cuenta de CodeBuddy cuando se te solicite

***

## Configurar LMU AI [#configurar-lmu-ai]

### Paso 1: Elige la ubicación del archivo de configuración [#paso-1-elige-la-ubicación-del-archivo-de-configuración]

| Nivel                              | Ruta                                    | Notas                                                              |
| ---------------------------------- | --------------------------------------- | ------------------------------------------------------------------ |
| **Nivel de usuario** (recomendado) | `~/.codebuddy/models.json`              | Configuración global, se aplica a todos los proyectos              |
| **Nivel de proyecto**              | `<project-root>/.codebuddy/models.json` | Específico del proyecto, tiene prioridad sobre el nivel de usuario |

Crea el archivo si no existe. Orden de fusión de mayor a menor: nivel de proyecto → nivel de usuario → valores predeterminados integrados.

### Paso 2: Escribe la configuración [#paso-2-escribe-la-configuración]

Usando el `~/.codebuddy/models.json` a nivel de usuario como ejemplo:

```json
{
  "models": [
    {
      "id": "claude-opus-5",
      "name": "Claude Opus 5 (LMU AI)",
      "vendor": "LMU AI",
      "apiKey": "sk-your-lmu-ai-api-key",
      "url": "https://api.lmuai.com/v1/chat/completions",
      "maxInputTokens": 200000,
      "maxOutputTokens": 32000,
      "supportsToolCall": true,
      "supportsImages": true,
      "supportsReasoning": true
    },
    {
      "id": "gpt-5.6-sol",
      "name": "GPT-5.6 Sol (LMU AI)",
      "vendor": "LMU AI",
      "apiKey": "sk-your-lmu-ai-api-key",
      "url": "https://api.lmuai.com/v1/chat/completions",
      "maxInputTokens": 400000,
      "maxOutputTokens": 32000,
      "supportsToolCall": true
    }
  ]
}
```

<Callout type="warn" title="url debe ser la ruta completa, no una URL base">
  El campo `url` toma la **ruta completa del endpoint**, terminando en `/chat/completions`:

  * ✅ Correcto: `https://api.lmuai.com/v1/chat/completions`
  * ❌ Incorrecto: `https://api.lmuai.com/v1`
  * ❌ Incorrecto: `https://api.lmuai.com`

  Esta es la razón más común por la que falla un ejemplo mínimo copiado y pegado — muchos tutoriales la tratan como una URL base, y entonces CodeBuddy no puede alcanzar el endpoint.
</Callout>

<Callout type="info" title="CodeBuddy solo admite el formato OpenAI">
  La documentación oficial indica que por ahora solo se admiten APIs en **formato OpenAI**, así que conéctate a LMU AI mediante el protocolo compatible con OpenAI.

  Los modelos Claude también funcionan bien: ingresa un ID de modelo como `claude-opus-5` directamente, y el backend de LMU AI se encarga de la conversión OpenAI ↔ Anthropic.
</Callout>

### Paso 3: Elige el modelo y empieza a chatear [#paso-3-elige-el-modelo-y-empieza-a-chatear]

Solo guarda el archivo — models.json admite **recarga en caliente** (debounce de 1 segundo), así que no hace falta reiniciar CodeBuddy. Selecciona tu modelo recién configurado en el selector de modelos del cuadro de chat y listo.

Los modelos agregados mediante models.json se etiquetan automáticamente como `custom`, lo que facilita identificarlos en la interfaz.

***

## Referencia de campos [#referencia-de-campos]

Campos disponibles en cada entrada del arreglo `models`:

| Campo               | Tipo    | Obligatorio | Notas                                                                                                                |
| ------------------- | ------- | ----------- | -------------------------------------------------------------------------------------------------------------------- |
| `id`                | string  | ✓           | Identificador único del modelo — usa el ID de modelo de LMU AI                                                       |
| `name`              | string  | -           | Nombre para mostrar en el desplegable                                                                                |
| `vendor`            | string  | -           | Nombre del proveedor; lo que prefieras                                                                               |
| `apiKey`            | string  | -           | La clave `sk-` generada en la consola de LMU AI (el valor real de la clave, no el nombre de una variable de entorno) |
| `url`               | string  | -           | Ruta completa del endpoint; para LMU AI, `https://api.lmuai.com/v1/chat/completions`                                 |
| `maxInputTokens`    | number  | -           | Máximo de tokens de entrada                                                                                          |
| `maxOutputTokens`   | number  | -           | Máximo de tokens de salida                                                                                           |
| `supportsToolCall`  | boolean | -           | Si se admiten llamadas a herramientas                                                                                |
| `supportsImages`    | boolean | -           | Si se admite entrada de imágenes                                                                                     |
| `supportsReasoning` | boolean | -           | Si se admite el modo de razonamiento                                                                                 |

***

## Mostrar solo modelos específicos [#mostrar-solo-modelos-específicos]

Usa el campo de nivel superior `availableModels` para controlar qué modelos aparecen en el desplegable:

```json
{
  "models": [
    {
      "id": "claude-opus-5",
      "name": "Claude Opus 5 (LMU AI)",
      "apiKey": "sk-your-lmu-ai-api-key",
      "url": "https://api.lmuai.com/v1/chat/completions",
      "supportsToolCall": true
    }
  ],
  "availableModels": ["claude-opus-5"]
}
```

* Omitido o un arreglo vacío → se muestran todos los modelos
* Una vez configurado → solo aparecen los IDs de modelo listados (tanto integrados como personalizados)
* Un `availableModels` a nivel de proyecto **anula por completo** el de nivel de usuario en lugar de fusionarse

<Callout type="warn" title="Cuidado con la coma al eliminar availableModels">
  Según la documentación oficial: después de eliminar el campo `availableModels`, recuerda quitar la `,` que queda al final después del arreglo `models` de arriba, o el JSON se vuelve inválido y toda la configuración deja de funcionar.
</Callout>

***

## IDs de modelo comunes [#ids-de-modelo-comunes]

| ID de modelo          | Notas                                 |
| --------------------- | ------------------------------------- |
| `claude-opus-5`       | Claude Opus 5 (insignia, recomendado) |
| `claude-sonnet-5`     | Claude Sonnet 5 (equilibrado)         |
| `claude-haiku-4-5`    | Claude Haiku 4.5 (rápido)             |
| `gpt-5.6-sol`         | GPT-5.6 Sol                           |
| `glm-5.2`             | GLM-5.2                               |
| `qwen3.8-max-preview` | Qwen 3.8 Max Preview                  |
| `deepseek-v4-pro`     | DeepSeek V4 Pro                       |
| `kimi-k3`             | Kimi K3                               |

¿No estás seguro de qué modelo ingresar? Ve a la [Galería de modelos](/es/docs/guide/models) para ver todos los IDs de modelo disponibles y copiarlos con un clic.

Para una ventana de contexto de 1M, escribe el ID de modelo con el sufijo `[1M]` (por ejemplo, `claude-opus-5[1M]`) y aumenta `maxInputTokens` en consecuencia.

***

## Solución de problemas [#solución-de-problemas]

### ¿La configuración no surte efecto? [#la-configuración-no-surte-efecto]

1. Verifica que el **JSON sea válido** (una coma faltante o al final suele ser la culpable)
2. Confirma que la **ruta del archivo** sea correcta (`~/.codebuddy/models.json`)
3. Confirma que cada entrada tenga el campo obligatorio `id`
4. Confirma que el archivo realmente se haya **guardado en disco** (la recarga en caliente tiene un debounce de 1 segundo)

### ¿El modelo falta en el desplegable? [#el-modelo-falta-en-el-desplegable]

* Si `availableModels` está configurado, verifica que el ID de modelo esté listado ahí
* Verifica que la entrada en el arreglo `models` esté completa

### ¿Obtienes un 401 / 404? [#obtienes-un-401--404]

* **401**: ¿es `apiKey` la clave `sk-` generada en la consola de LMU AI?
* **404**: `url` casi seguro le falta `/chat/completions` — debe ser la ruta completa

***

## Notas [#notas]

* `url` debe ser la **ruta completa del endpoint** `https://api.lmuai.com/v1/chat/completions`, no solo `/v1` ni el dominio pelado
* CodeBuddy admite **solo el formato OpenAI**; los modelos Claude pasan por la conversión de protocolo de LMU AI
* `apiKey` toma el valor real de la clave — no se admiten nombres de variables de entorno
* La configuración **se recarga en caliente**, así que basta con guardar; no hace falta reiniciar
* Cada entrada de modelo necesita su propia `apiKey` y `url`
* La configuración a nivel de proyecto anula la de nivel de usuario por `id`, mientras que `availableModels` se reemplaza por completo en lugar de fusionarse
