Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Is the key optional for a cloud-proxy upstream?

Open Beginner friendly
#12,264 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 3 days

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
68/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Active
Tech stack
go

Research direction

Start with the cloud-proxy documentation and the resolveAPIKey, load path, and doOpenAIRequest entry points described in the issue. Verify how an unset key is handled, then clarify the documented expectation for keyless upstreams and include the relevant model configuration if supported. Done means the page no longer implies that every upstream requires a key.

Written by the indexing model from the issue text.

Description

The cloud passthrough proxy is the part of LocalAI that lets one endpoint serve local and hosted models side by side, and your docs describe a model for it as backend: cloud-proxy with a proxy.upstream_url, where the key comes from api_key_env or api_key_file. Every example on that page loads a key that way, including the section for other OpenAI-compatible providers, which says to use provider: openai with the provider's URL and API key.

In the backend itself the key is not strictly required. resolveAPIKey returns an empty string with no error when both fields are unset, the load path only records whether a key was found, and doOpenAIRequest applies the auth header only when the key is not empty, so an upstream that never asks for one already works while the docs never name that case. The upstream I have in mind is BlockRun: one OpenAI-compatible base URL where chat, image, video, music, speech and sound effects ride the same payment flow, every call settles in USDC over x402, and there is no API key to hold, which leaves a cloud-proxy model with no api_key_env at all. https://blockrun.ai

So I wanted to ask whether that empty key path is deliberate, meaning a keyless upstream is a shape cloud-proxy is meant to carry, or whether a key is expected and the resolver is only being forgiving. The page reads as though an account somewhere is part of every cloud hop, which is why I would rather ask than assume. Happy to send the exact model config I pointed at BlockRun if a keyless example would be useful, and just as happy to be told that lane stays with keys.

Dominant language
Go
Stars
49.2k
Forks
4.5k
Avg merge
19h 42m
Merged PRs (30d)
299

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from mudler/LocalAI

All issues in mudler/LocalAI

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.