Todos os artigos

Cline CLI com Carpe Diem: chave cdm_ e OpenAI Compatible

·Por Carpe Diem Team — Lumen Labs·4 min de leitura
tutorieltechnicalguideai
Teclado mecânico, chave de latão, caderno fechado e candeeiro dourado numa secretária de madeira escura.

Cline é um agente de código: lê um repositório, escreve ficheiros e lança comandos. No terminal é a CLI; no VS Code, uma extensão. Ambos podem falar com uma API compatível com OpenAI, logo com a Carpe Diem. Com deepseek-v4-1-flash, respondeu pong à primeira, depois escreveu add.mjs e imprimiu 5.

Teclado mecânico, chave de latão, caderno fechado e candeeiro dourado numa secretária de madeira escura.

Ilustração gerada com seedream-v5-lite na Carpe Diem.

O que precisa

  • Uma conta Carpe Diem com créditos ou saldo prepaid, e uma chave cdm_ (Credits & keys).
  • Node.js 20 ou mais (nós corremos sob Node v22.23.1).
  • Cline CLI 3.0.74, instalado no passo 2.

Se só quiser um script Python sem agente, basta o tutorial do SDK OpenAI Python. Aqui lançamos o agente.

Passo 1: criar uma chave cdm_

Abra Credits & keys e o separador API Keys. Escolha Credits ou Prepaid, dê-lhe um nome se quiser e clique em Create a key. A chave começa por cdm_ e só aparece uma vez: copie-a antes de fechar a página. Os dois modos debitam o mesmo catálogo; o detalhe dos pagamentos está no guia, §4.1.

Separador API Keys: nome opcional, Credits ou Prepaid, botão Create a key.

Passo 2: instalar o Cline CLI

A documentação Cline instala a CLI com npm:

npm install -g cline

cline --version mostrou 3.0.74, a versão deste ensaio.

Passo 3: apontar o Cline para a Carpe Diem

O Cline guarda o fornecedor no diretório --config (~/.cline segundo a referência CLI). Bastam três campos, os mesmos do painel ⚙️ da extensão VS Code (OpenAI Compatible): Base URL, chave e identificador do 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

Saída obtida:

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

O URL deve terminar em /v1: é o base URL da Carpe Diem, e o próprio Cline acrescenta /chat/completions. Copie o identificador do modelo a partir de /models. No momento do nosso ensaio, deepseek-v4-1-flash estava classificado private, otimizado para código e capaz de chamar ferramentas, o que um agente exige. Custava 0,1647 $ por milhão de tokens de entrada e 0,6586 $ de saída (preço dinâmico).

Página SDK da Carpe Diem: Base URL https://carpe-diem.xyz/api/operator/v1 e menção ao Cline.

Passo 4: a primeira chamada

--json escreve um evento por linha, prático para verificar sem abrir a interface interativa. --auto-approve false não aprova as ferramentas sozinho; a nossa instrução pedia para não usar nenhuma.

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

O último objeto da saída:

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

A resposta chegou em apenas um segundo, sem chamada a ferramenta. O Cline mostra totalCost: 0: não tínhamos preenchido os preços de entrada e saída na configuração do modelo, e a CLI não imprime o cabeçalho X-Carpe-Cost-Usdc-Micro. Para o custo real, abra Usage ou leia os cabeçalhos num script, como no tuto SDK.

Passo 5: uma tarefa real numa pasta

Coloque-se numa pasta vazia, não num repositório já carregado. --auto-approve true deixa o Cline escrever o ficheiro e lançar o Node sem pedir confirmação.

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."

O Cline criou o ficheiro, executou o comando, e o Node imprimiu 5. O ficheiro obtido:

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

O run_result dava finishReason: completed em três iterações, com o mesmo modelo e o mesmo fornecedor do passo anterior. Sem --json, cline "a sua tarefa" abre a interface interativa (visão da CLI).

Se não funcionar

Unauthorized. Com uma chave falsa (cdm_invalid_key_for_test), o Cline devolveu Unauthorized (errorClass: auth, finishReason: error). A chave está incompleta, mal colada, ou o -k não foi passado.

Modelo não encontrado. Com -m this-model-does-not-exist, a mensagem foi: This model is no longer available upstream. Try a newer version of the same model. Basta um erro de escrita: compare o identificador com /models.

Base URL sem /v1. O adaptador Anthropic vive em https://carpe-diem.xyz/api/operator, sem /v1. Para o Cline em OpenAI Compatible, mantenha /v1.

Node demasiado antigo. O Cline pede Node 20 ou mais; node -v diz-lhe onde está.

Ir mais longe

No VS Code, instale a extensão Cline, abra ⚙️, escolha OpenAI Compatible e preencha os mesmos três campos: Base URL https://carpe-diem.xyz/api/operator/v1, chave cdm_, modelo deepseek-v4-1-flash. Não lançámos a extensão aqui; a CLI e ela partilham este tipo de fornecedor.

Para outro agente no terminal, veja Hermes Agent. Para um chat web em streaming, o tuto Vercel AI SDK. Para experimentar um modelo sem instalar nada, o Create Hub.

Procedimento: ensaio de 5 de novembro de 2026 com Cline 3.0.74 e Node v22.23.1, uma execução por passo. O pong correu sem ferramentas; a tarefa add.mjs escreveu o ficheiro e imprimiu 5. O custo na Carpe Diem não foi lido a partir do Cline, e a extensão VS Code não foi testada.

Crie a sua chave em Credits & keys, lance cline auth e depois o pong.