Skip to main content
Narya llama al proveedor de modelos que configuras, con tu propia credencial. Tres proveedores vienen con el binario.

Los tres proveedores


openrouter es una puerta de enlace a otros proveedores. Una instalación nueva sin config.toml funciona con el modelo predeterminado del proveedor en el que iniciaste sesión. Sobrescribe la familia de protocolo, la URL base y el modelo predeterminado por proveedor en [providers.<name>] en config.toml. Tu archivo gana en cualquier colisión con el catálogo del binario. Ejecuta narya providers para listar los proveedores, y narya models para listar los modelos.

De dónde viene tu clave


Narya deriva el nombre de la variable de entorno del nombre del proveedor, en mayúsculas, más _API_KEY. Así, anthropic lee ANTHROPIC_API_KEY, openai lee OPENAI_API_KEY y openrouter lee OPENROUTER_API_KEY. Narya lee tres niveles en orden:
  1. La variable de entorno, que gana en cada lectura.
  2. El keychain del sistema operativo: macOS Keychain o Linux Secret Service.
  3. Un archivo por proveedor con permisos 0600 bajo credentials en tu home de Narya. Narya usa este nivel solo en una máquina que no tiene ningún backend de keychain.
Si el keychain existe pero rechaza la solicitud, Narya reporta el error y no usa el archivo.
narya auth login escribe en el keychain incluso cuando la variable de entorno ya contiene una clave para ese proveedor. La variable de entorno entonces oculta la almacenada en cada lectura, sin ningún mensaje. Elimina la variable para usar lo que guardaste.

Inicia sesión


Ejecuta narya auth login <provider> para guardar una clave, y narya auth logout <provider> para eliminarla. Narya prueba una clave escrita contra el proveedor antes de guardar nada. Agrega --method key para escribir una clave, o --method subscription para un inicio de sesión en el navegador. El inicio de sesión en el navegador funciona solo para anthropic, contra claude.ai y platform.claude.com.

Qué sale de tu máquina


Narya envía tus prompts, los archivos que lee y los resultados de las herramientas al proveedor de modelos que configuras, con tu credencial. Lerian no opera ningún endpoint en esa ruta. Narya también alcanza estos hosts:
  • models.dev, para una actualización del catálogo de modelos cada 12 horas, y cada proveedor que configuraste, para un listado GET /v1/models. Define NARYA_MODELS_URL=off para detener ambos. La actualización nunca bloquea un turno, y una falla pasa sin mensaje.
  • Los dos hosts de inicio de sesión en el navegador de arriba, durante un inicio de sesión.
  • Un host de releases, con un comando de actualización explícito.
  • Cualquier host que el modelo nombre a través de su herramienta fetch. Esa llamada se ejecuta bajo la regla de red, que pregunta primero. Narya lee como máximo 5 MiB y espera como máximo 30 segundos.
  • La búsqueda web del propio proveedor, que se ejecuta del lado del proveedor con la misma clave. Narya la ofrece a los proveedores anthropic y openai, y solo contra el endpoint propio del proveedor. La pregunta de red no llega hasta ella. Solo deny network ** la desactiva, y una regla por host acota fetch, nunca la búsqueda.
  • Los servidores de herramientas, los árboles de herramientas de OpenAPI y el conversor de PDF que declaras. Consulta Extender Narya.
Los comandos de shell que el modelo ejecuta llegan a la red bajo las reglas de shell, no bajo la regla de red.

Costo


Los precios vienen de una instantánea de models.dev dentro del binario, en dólares estadounidenses por millón de tokens. Un modelo sin precio publicado no reporta costo. Nunca reporta cero. Ejecuta narya records usage --from <time> --to <time> para ver tokens y costo por grupo. Un total incompleto se imprime con un marcador >=. Narya define dos límites de gasto de forma predeterminada:
  • $5.00 por disparo programado, como [schedules] ceiling_usd.
  • $20.00 por propietario y por día UTC, como [schedules] daily_ceiling_usd.
Un disparo programado sobre un modelo al que Narya no puede asignar precio no se ejecuta.