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. Un cambio en config.toml entra en vigor solo después de que una persona lo permite en una conversación atendida. Consulta Cuándo entra en vigor un cambio de configuración.
Ejecuta narya providers para listar los proveedores, y narya models para listar los modelos.
De dónde viene tu clave
Narya gasta primero la clave de tu organización, cuando hay una guardada, y si no, la clave propia de esta máquina. Una clave escrita en un cliente mientras estás autenticado es de tu organización: Narya la guarda cifrada, y los turnos de cada miembro la gastan. Guardar una exige el permiso
keys:manage. narya auth login guarda la clave propia de esta máquina, y lo mismo hace una clave escrita en un cliente sin autenticación.
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 la clave de esta máquina de tres niveles, en orden:
- La variable de entorno, que gana en cada lectura.
- El keychain del sistema operativo: macOS Keychain o Linux Secret Service.
- Un archivo por proveedor con permisos
0600bajocredentialsen tu home de Narya. Narya usa este nivel solo en una máquina que no tiene ningún backend de keychain.
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 la clave que gasta. 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 listadoGET /v1/models. DefineNARYA_MODELS_URL=offpara detener ambos. La actualización nunca bloquea un turno, y una falla va solo al log del host.- Los dos hosts de inicio de sesión en el navegador de arriba, durante un inicio de sesión.
- El proveedor de identidad de tu configuración
[identity]. - La dirección en
[identity] plane_url, cuando defines una. El host lee ahí la configuración de tu organización cada 15 minutos, y un uso compartido encuentra ahí el home de tu organización. Una sesión que compartes va a ese home. - 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
anthropicyopenaicontra el endpoint propio del proveedor, y a un proveedor cuyo bloque[providers.<name>]defineweb_search = true, salvo que su familia seaopenai-completions. La pregunta de red no llega hasta ella.deny network **la desactiva, y una regla por host acotafetch, nunca la búsqueda. Una ejecución desatendida busca solo donde las reglas permiten todos los hosts. - Los servidores de herramientas, los árboles de herramientas de OpenAPI y el conversor de PDF que declaras. Consulta Extender Narya.
- Las extensiones registradas y los paquetes.
narya ext adddescarga el módulo Go del paquete desde el origen del módulo. - El colector de OpenTelemetry que nombras en
[telemetry]o enOTEL_EXPORTER_OTLP_ENDPOINT. La telemetría está apagada hasta que nombras uno.
before-model-request recibe un prompt, before-tool-call recibe argumentos de la herramienta y after-tool-call recibe argumentos y resultados de la herramienta. Revisa los hooks de una extensión antes de habilitarla.
Los comandos de shell que el modelo ejecuta llegan a la red bajo las reglas de shell, no bajo la regla de red.
Los comandos de shell, los hooks y los servidores de herramientas de repositorio que Narya inicia en tu máquina reciben tu entorno, excepto las claves de proveedor que Narya lee (como ANTHROPIC_API_KEY) y cada variable NARYA o NARYA_*. Cualquier otra clave de tu entorno les llega. Los servidores de herramientas declarados en config.toml no heredan nada de él.
Costo
Narya usa el costo que el proveedor reporta para una solicitud. De lo contrario, asigna precio a la solicitud con el catálogo de modelos, en dólares estadounidenses por millón de tokens. Una solicitud sin ninguno de los dos no reporta costo, nunca un cero. Una solicitud con precio del catálogo también cuenta la comisión del proveedor de
$0.01 por cada búsqueda web que hizo. Los límites de gasto de abajo cuentan esa comisión.
Ejecuta narya records usage --from <time> --to <time> para ver tokens y costo por grupo. Un total incompleto se imprime con un marcador >=.
Narya nombra una sesión sin título después de su primera respuesta. El propio modelo de la sesión escribe el título, y Narya cobra esa ronda a la sesión como un turno. Una ejecución de narya -p y una sesión desatendida no se nombran de esta forma.
Narya define un límite de gasto de forma predeterminada: $5.00 por disparo programado, como [schedules] ceiling_usd.
Define [spend] daily_ceiling_usd para limitar lo que una persona gasta en un día UTC, en todo el trabajo pagado. Sin él, Narya no define un límite diario.
Un disparo programado sobre un modelo al que Narya no puede asignar precio se ejecuta sin límite, y la programación lleva un aviso. Cuando [spend] daily_ceiling_usd está definido, Narya rechaza ese disparo. Una programación que clona un repositorio y nombra un agente lee ese agente del clon. Narya entonces juzga su precio durante el turno, no cuando se dispara.
Un cambio en [spend] o [schedules] entra en vigor en el siguiente inicio del host después de que una persona lo permite.
