feat: run Data on its own Google key - #12
Conversation
…o its canonical name Data's self-hosted agent now runs google/gemini-2.5-flash on DATA_GEMINI_API_KEY instead of a free OpenRouter handle that the shared free pool kept rate-limiting. The Letta harness reads provider keys under their canonical names only, so the one-off OPENROUTER_API_KEY alias becomes PROVIDER_ALIASES + applyProviderAliases in lib/zo-secrets.ts, covering DATA_GEMINI_API_KEY -> GEMINI_API_KEY as well. Adds the missing test coverage for the alias table and records the verification in services/http-api.md.
|
This pull request updates Data to use its own Google Gemini key, replacing the previously used OpenRouter key. This change addresses rate-limiting issues experienced with the shared free pool. The core change involves modifying how API keys are handled, specifically by introducing
Reviewers, please start by examining |
|
This pull request updates Data to use its own Google Gemini key, replacing the previously used OpenRouter key. This change addresses rate-limiting issues experienced with the shared free pool. The core change involves modifying how API keys are handled, specifically by introducing
Reviewers, please start by examining |
Data's self-hosted agent now answers with
google/gemini-2.5-flashon theDATA_GEMINI_API_KEYsecret, replacing the free OpenRouter handle that the shared free pool kept rate-limiting.What changed
lib/zo-secrets.ts— the one-offOPENROUTER_API_KEYalias becomesPROVIDER_ALIASES+applyProviderAliases, so every prefixed secret is copied onto the canonical name the Letta harness reads. Now coversDATA_GEMINI_API_KEY->GEMINI_API_KEY.channels/http/index.ts— uses the table, narrows the named load to both provider key pairs, and logs which aliases it applied.lib/zo-secrets.test.ts— covers the alias table (copy, no-clobber, nothing-to-do).channels/http/README.md,services/http-api.md— record the second key and the verification.Verification
channels/http/index.tsloggedprovider: exported DATA_OPENROUTER_API_KEY as OPENROUTER_API_KEY, DATA_GEMINI_API_KEY as GEMINI_API_KEY, andPOST /askanswered fromchannels/http/index.tswith a citation.letta --backend local model set google/gemini-2.5-flashthenmodel getshowed the handle; a headless turn answered.google/gemini-3.5-flashon this free-tier key returns 429 at 5 requests/minute, so the agent runsgoogle/gemini-2.5-flash.npm test24 pass,npm run typecheckclean.