@ agentproto/ 提供者- 商店
这个 ~/.agentproto/providers.json LLM 供应商 API- key store (mode 0600), ,
撰写人: agentproto auth provider set,则 injectProviderKeysIntoEnv
帮助让进程在其环境中启动这些键.
在这个商店存在之前,给一个进程一个提供者密钥的唯一方法就是
环境 export FOO_API_KEY=… 无论发射什么炮弹,都是隐形的,
很容易忘记,贝壳。 通过 CLI 设定一次, 每一个调用的进程
injectProviderKeysIntoEnv 在靴子捡起它.
这个软件包是 叶子: 已建节点+ @agentproto/model-catalog 只有这样,
因此,任何独立的进程(不仅仅是 @agentproto/runtime 守护进程)可以
依赖它而不拖入一个完整的网关.
使用量
import { injectProviderKeysIntoEnv } from "@agentproto/providers-store"
// Call once at process boot, before anything reads provider env vars.
// Explicit env always wins — a var already set is never overwritten.
const injected = await injectProviderKeysIntoEnv(process.env)
if (injected.length > 0) {
console.error(`loaded ${injected.length} provider key(s) from store: ${injected.join(", ")}`)
}
钥匙从不离开商店,除非进入呼叫者自己的流程;它们是 从未登录过——只有提供者 名称,从数值到输出.
API 密码
loadProviders()编号 :setProviderKey(provider, apiKey, baseUrl?)编号 :removeProviderKey(provider)编号 :getProviderKey(provider)- 读/写providers.json。 。 。 .injectProviderKeysIntoEnv(env?)——将存储的密钥注入env(默认)process.env),跳过任何已经设置的名称。 返回 实际注入提供者名称 .providerEnvVar(provider)编号 :PROVIDER_ENV_VARS——犬科提供者—— env-var-name 绘图(来源于@agentproto/model-catalog是因为PROVIDER_KEY_ENV,加上该商店的非目录网关供应商 (电话).providersPath()- 决心~/.agentproto/providers.json。 。 。 .
@agentproto/runtime 再导出此套件的表面不变(包括:
页:1 @agentproto/runtime/providers-store (b) 现有消费者.
许可证
阿帕奇 - 2.0