Cline CLI com Carpe Diem: chave cdm_ e OpenAI Compatible

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.

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.

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

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.