> ## Documentation Index
> Fetch the complete documentation index at: https://chatcli.edilsonfreitas.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Provider Devin — o Devin CLI local como transporte LLM

> O provider DEVIN embrulha o Devin CLI local da Cognition como transporte LLM puro: o ChatCLI mantém 100% do contexto, memória, tools e harness; o Devin é só o cano até o modelo. Nenhuma API não-documentada da Cognition envolvida.

O provider **DEVIN** do ChatCLI dirige o binário `devin` local em modo não-interativo e o usa puramente como **transporte para alcançar a LLM por trás dele**. Todo o resto — conversa, contexto anexado, memória, compaction, sessões, o protocolo de tools do agent/coder — fica no ChatCLI.

<Info>
  **Por que um wrapper?** Em deployments corporativos o Devin é customizado pela Cognition (API + integrações de IDE) e a API HTTP não é documentada. O CLI é a **superfície suportada** e carrega a própria autenticação SSO (`devin auth login`) — o ChatCLI nunca fala o protocolo privado, então mudanças do lado da Cognition são absorvidas pelo CLI deles, não por você.
</Info>

## Setup

1. Instale o Devin CLI e autentique uma vez (SSO corporativo):

```bash theme={"system"}
devin auth login
```

2. Pronto — o ChatCLI registra o provider automaticamente quando o binário resolve (do `PATH`, ou `DEVIN_CLI_PATH`):

```bash theme={"system"}
chatcli --provider DEVIN --model gpt-5.6-terra -p "olá"
# ou interativo: /switch --provider DEVIN
```

Sem API key, sem setup de OAuth no ChatCLI: a autenticação pertence ao binário `devin`. Sem o binário o provider simplesmente não aparece — mesma UX de um provider sem credencial.

## Modelos

O catálogo espelha o que o CLI enterprise serve (29 modelos): a linha `claude-*` (sonnet-5, opus 4.5–4.8, haiku), `gpt-5.x` incluindo os **tiers do 5.6** (sol/terra/luna), `gemini-3.x`, `glm-5.2`, `kimi-k2.x`, `deepseek-v4-pro`, e os `swe-1.5`…`swe-1.7-lightning` da própria Cognition. Qualquer string de modelo passa direto — o catálogo é bookkeeping, não gate.

```bash theme={"system"}
/switch --model swe-1.7-lightning
/switch --model claude-sonnet-4.6      # nota: os slugs do Devin usam pontos
```

## Como o transporte funciona

* **Stateless por turno** — o histórico inteiro achatado vai a cada chamada (nunca `--resume`), então o estado da conversa nunca se divide entre o ChatCLI e os servidores do Devin. Compaction, `/session load` e edições de contexto continuam funcionando sem mudança.
* **O agente interno não age** — cada chamada roda em um diretório vazio novo com um preâmbulo de transporte que proíbe as tools *nativas* do Devin enquanto explicitamente respeita o protocolo textual de tools do próprio ChatCLI. Nos modos agent/coder o modelo vê o catálogo completo de tools do ChatCLI e emite o markup `<tool_call .../>` normalmente — quem executa é o ChatCLI, não o Devin.
* **Respostas limpas** — a resposta é extraída entre marcadores sentinela, descartando o chrome do harness do Devin; prompt files são sempre coagidos a UTF-8 válido (o CLI rejeita bytes inválidos); as invocações são serializadas por processo, então trabalho em background (extração de memória) nunca disputa com um turno ativo.

## Variáveis de ambiente

| Variável                    | Propósito                                                      | Default             |
| --------------------------- | -------------------------------------------------------------- | ------------------- |
| `DEVIN_MODEL`               | Modelo default                                                 | `claude-sonnet-4.6` |
| `DEVIN_CLI_PATH`            | Caminho explícito do binário                                   | `devin` do `PATH`   |
| `DEVIN_CLI_PERMISSION_MODE` | `--permission-mode` passado ao CLI                             | `auto`              |
| `DEVIN_CLI_AGENT_CONFIG`    | Arquivo agent-config declarativo (lockdown reforçado de tools) | —                   |
| `DEVIN_CLI_TIMEOUT`         | Teto por turno                                                 | `10m`               |
| `DEVIN_CLI_SANDBOX`         | Passa `--sandbox` (research preview)                           | `false`             |
| `DEVIN_CLI_EXTRA_ARGS`      | Escape hatch de args extras                                    | —                   |

Todas expostas em `/config providers`.

## Limitações (honestas)

* **Sem report de tokens/custo** — o CLI não expõe usage, então o cost tracker registra zero (o custo vive na assinatura Cognition; a camada de pricing nunca cobra um `claude-*`/`gpt-*` roteado como se fosse a API direta).
* **Latência de spawn** — cada turno paga o start de um subprocess mais o overhead do harness do Devin. Se isso pesar no uso intenso do coder, um transporte persistente via ACP (`devin acp`) é a evolução natural.
* **Vision não atravessa** — o transporte é texto plano; anexos de imagem nunca chegam ao modelo por trás.

## Veja também

* [Modelos Suportados](/pt/reference/supported-models) — a aba DEVIN
* [Variáveis de Ambiente](/pt/reference/environment-variables)
* [MCP Server](/pt/features/mcp-server) — combine os dois: exponha o ChatCLI via MCP e roteie o `agent_task` para `provider: "DEVIN"`
