Todos los artículos

Cline CLI con Carpe Diem: clave cdm_ y OpenAI Compatible

·Por Carpe Diem Team — Lumen Labs·4 min de lectura
tutorieltechnicalguideai
Teclado mecánico, llave de latón, cuaderno cerrado y lámpara dorada sobre un escritorio de madera oscura.

Cline es un agente de código: lee un repositorio, escribe archivos y lanza comandos. En el terminal es la CLI; en VS Code, una extensión. Ambos pueden hablar con una API compatible con OpenAI, así que con Carpe Diem. Con deepseek-v4-1-flash respondió pong a la primera, luego escribió add.mjs e imprimió 5.

Teclado mecánico, llave de latón, cuaderno cerrado y lámpara dorada sobre un escritorio de madera oscura.

Ilustración generada con seedream-v5-lite en Carpe Diem.

Qué hace falta

  • Una cuenta Carpe Diem con créditos o saldo prepaid, y una clave cdm_ (Credits & keys).
  • Node.js 20 o más (nosotros corrimos Node v22.23.1).
  • Cline CLI 3.0.74, instalado en el paso 2.

Si solo quiere un script Python sin agente, basta el tutorial del SDK OpenAI Python. Aquí se lanza el agente.

Paso 1: crear una clave cdm_

Abra Credits & keys y la pestaña API Keys. Elija Credits o Prepaid, póngale un nombre si quiere y pulse Create a key. La clave empieza por cdm_ y se muestra una sola vez: cópiela antes de cerrar la página. Ambos modos debitan el mismo catálogo; el detalle de los pagos está en la guía, §4.1.

Pestaña API Keys: nombre opcional, Credits o Prepaid, botón Create a key.

Paso 2: instalar Cline CLI

La documentación de Cline instala la CLI con npm:

npm install -g cline

cline --version mostró 3.0.74, la versión de este ensayo.

Paso 3: apuntar Cline a Carpe Diem

Cline guarda el proveedor en el directorio --config (~/.cline según la referencia CLI). Bastan tres campos, los mismos que en el panel ⚙️ de la extensión VS Code (OpenAI Compatible): Base URL, clave e identificador de modelo.

export OPENAI_API_KEY=cdm_your_key_here

cline auth -p openai-compatible \
  -k "$OPENAI_API_KEY" \
  -m deepseek-v4-1-flash \
  -b https://carpe-diem.xyz/api/operator/v1

Salida obtenida:

Provider configured: openai-compatible (deepseek-v4-1-flash)

La URL debe terminar en /v1: es la base URL de Carpe Diem, y Cline añade /chat/completions. Copie el identificador del modelo en /models. En el momento de nuestro ensayo, deepseek-v4-1-flash figuraba como private, optimizado para código y capaz de llamar herramientas, lo que un agente exige. Costaba 0,1647 $ por millón de tokens de entrada y 0,6586 $ de salida (precio dinámico).

Página SDK de Carpe Diem: Base URL https://carpe-diem.xyz/api/operator/v1 y mención de Cline.

Paso 4: la primera llamada

--json escribe un evento por línea, práctico para comprobar sin abrir la interfaz interactiva. --auto-approve false no aprueba las herramientas solo; nuestra consigna pedía no usar ninguna.

cline --json --auto-approve false --timeout 90 \
  "Reply with the exact word: pong. Do not use tools."

El último objeto de la salida:

{
  "type": "run_result",
  "finishReason": "completed",
  "iterations": 1,
  "text": "pong",
  "durationMs": 987,
  "model": {
    "id": "deepseek-v4-1-flash",
    "provider": "openai-compatible"
  }
}

La respuesta llegó en apenas un segundo, sin llamada a herramienta. Cline muestra totalCost: 0: no habíamos rellenado los precios de entrada y salida en su configuración de modelo, y la CLI no imprime la cabecera X-Carpe-Cost-Usdc-Micro. Para el coste real, abra Usage o lea las cabeceras desde un script, como en el tuto SDK.

Paso 5: una tarea real en una carpeta

Póngase en una carpeta vacía, no en un repositorio ya cargado. --auto-approve true deja que Cline escriba el archivo y lance Node sin pedirle confirmación.

cline --auto-approve true --timeout 180 --json \
  "Create add.mjs that exports function add(a, b) { return a + b }. Then run: node --input-type=module -e \"import { add } from './add.mjs'; console.log(add(2, 3))\" and stop after the command prints. Do not git init or commit. Do not install packages."

Cline creó el archivo, ejecutó el comando y Node imprimió 5. El archivo obtenido:

export function add(a, b) {
  return a + b;
}

El run_result daba finishReason: completed en tres iteraciones, con el mismo modelo y el mismo proveedor que en el paso anterior. Sin --json, cline "su tarea" abre la interfaz interactiva (vista de la CLI).

Si no funciona

Unauthorized. Con una clave falsa (cdm_invalid_key_for_test), Cline devolvió Unauthorized (errorClass: auth, finishReason: error). La clave está incompleta, mal pegada, o no se pasó -k.

Modelo no encontrado. Con -m this-model-does-not-exist, el mensaje fue: This model is no longer available upstream. Try a newer version of the same model. Basta un typo: compare el identificador con /models.

Base URL sin /v1. El adaptador Anthropic vive en https://carpe-diem.xyz/api/operator, sin /v1. Para Cline en OpenAI Compatible, conserve /v1.

Node demasiado antiguo. Cline pide Node 20 o más; node -v le dice dónde está.

Ir más lejos

En VS Code, instale la extensión Cline, abra ⚙️, elija OpenAI Compatible y rellene los mismos tres campos: Base URL https://carpe-diem.xyz/api/operator/v1, clave cdm_, modelo deepseek-v4-1-flash. No hemos lanzado la extensión aquí; la CLI y ella comparten este tipo de proveedor.

Para otro agente en el terminal, vea Hermes Agent. Para un chat web en streaming, el tuto Vercel AI SDK. Para probar un modelo sin instalar nada, el Create Hub.

Procedimiento: ensayo del 5 de noviembre de 2026 con Cline 3.0.74 y Node v22.23.1, una ejecución por paso. El pong corrió sin herramientas; la tarea add.mjs escribió el archivo e imprimió 5. El coste en Carpe Diem no se leyó desde Cline, y la extensión VS Code no se probó.

Cree su clave en Credits & keys, lance cline auth y luego el pong.