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

# Modelos e credenciais

> Escolha um fornecedor de modelos, dê ao Narya a sua própria chave e veja exatamente o que sai da sua máquina e quanto custa.

O Narya chama o fornecedor de modelos que você configura, com a sua própria credencial. Três fornecedores vêm no binário.

## Os três fornecedores

***

| Provedor     | Endpoint                    |
| ------------ | --------------------------- |
| `anthropic`  | `https://api.anthropic.com` |
| `openai`     | `https://api.openai.com`    |
| `openrouter` | `https://openrouter.ai/api` |

`openrouter` é um gateway para outros fornecedores.

Uma instalação nova sem `config.toml` roda no modelo padrão do provedor em que você fez login. Sobrescreva a família de wire, a base URL e o modelo padrão por provedor em `[providers.<name>]` no `config.toml`. O seu arquivo vence em qualquer colisão com o catálogo do binário.

Rode `narya providers` para listar os provedores, e `narya models` para listar os modelos.

## De onde vem a sua chave

***

O Narya deriva o nome da variável de ambiente do nome do provedor, em maiúsculas, mais `_API_KEY`. Então `anthropic` lê `ANTHROPIC_API_KEY`, `openai` lê `OPENAI_API_KEY`, e `openrouter` lê `OPENROUTER_API_KEY`.

O Narya lê três camadas em ordem:

1. A variável de ambiente, que vence em cada leitura.
2. O keychain do sistema operacional: macOS Keychain ou Linux Secret Service.
3. Um arquivo por provedor com permissões `0600` em `credentials` no seu Narya home. O Narya usa esta camada apenas em uma máquina sem nenhum backend de keychain.

Se o keychain existe mas recusa a requisição, o Narya reporta o erro e não usa o arquivo.

<Warning>
  `narya auth login` escreve no keychain mesmo quando a variável de ambiente já guarda uma chave para aquele provedor. A variável de ambiente então encobre a chave armazenada em cada leitura, sem mensagem. Remova a variável para usar o que você armazenou.
</Warning>

## Login

***

Rode `narya auth login <provider>` para armazenar uma chave, e `narya auth logout <provider>` para removê-la. O Narya testa uma chave digitada contra o provedor antes de armazenar qualquer coisa.

Acrescente `--method key` para digitar uma chave, ou `--method subscription` para um login pelo navegador. O login pelo navegador funciona apenas para `anthropic`, contra `claude.ai` e `platform.claude.com`.

## O que sai da sua máquina

***

O Narya envia os seus prompts, os arquivos que ele lê e os resultados de ferramentas ao fornecedor de modelos que você configura, com a sua credencial. A Lerian não opera nenhum endpoint nesse caminho.

O Narya também alcança estes hosts:

* `models.dev`, para uma atualização do catálogo de modelos a cada 12 horas, e cada provedor que você configurou, para uma listagem `GET /v1/models`. Defina `NARYA_MODELS_URL=off` para parar os dois. A atualização nunca bloqueia um turno, e uma falha passa sem mensagem.
* Os dois hosts de login pelo navegador acima, durante um login.
* Um host de release, em um comando explícito de upgrade.
* Qualquer host que o modelo nomeia pela ferramenta `fetch` dele. Essa chamada roda sob a regra de rede, que pergunta antes. O Narya lê no máximo 5 MiB e espera no máximo 30 segundos.
* A busca na web do próprio fornecedor, que roda do lado do fornecedor sob a mesma chave. O Narya a oferece aos provedores `anthropic` e `openai`, e apenas contra o endpoint do próprio fornecedor. A pergunta de rede não chega nela. Apenas `deny network **` a desliga, e uma regra por host restringe o `fetch`, nunca a busca.
* Os tool servers, as árvores de ferramentas OpenAPI e o conversor de PDF que você declara. Veja [Estendendo o Narya](/pt/platform/narya/extending-narya).

Os comandos de shell que o modelo roda alcançam a rede sob as regras de shell, não sob a regra de rede.

## Custo

***

Os preços vêm de um snapshot do `models.dev` dentro do binário, em dólares americanos por milhão de tokens. Um modelo sem preço publicado não reporta custo. Ele nunca reporta zero.

Rode `narya records usage --from <time> --to <time>` para ver tokens e custo por grupo. Um total incompleto é impresso com um marcador `>=`.

O Narya define dois tetos de gasto por padrão:

* `$5.00` por disparo agendado, como `[schedules] ceiling_usd`.
* `$20.00` por dono por dia UTC, como `[schedules] daily_ceiling_usd`.

Um disparo agendado em um modelo que o Narya não pode precificar não roda.
