…ders
Add an OrcaRouter gateway provider to the two OpenAI-compatible surfaces:
- [vector.embeddings] api_format = "orcarouter" fills in the gateway
endpoint (https://api.orcarouter.ai/v1), model
(openai/text-embedding-3-small), dimension (1536), and
ORCAROUTER_API_KEY env so a minimal config block selects the gateway
by name. The named format shares the existing OpenAI-compatible wire
contract.
- [people.sweep.provider] kind = "orcarouter" fills in the gateway
endpoint, default model (orcarouter/auto), and ORCAROUTER_API_KEY env,
reusing the existing OpenAI-compatible transport.
- Register the orcarouter option in the settings catalog (Go + web) and
document both surfaces in README, configuration, vector-search guide,
and the changelog.
Tests cover config defaults, explicit overrides, TOML load, settings
catalog options, and the web catalog.
Signed-off-by: JinhaoSong322 <jinhao.song@myflashcloud.com>
What changed
Add a named OrcaRouter provider to the two OpenAI-compatible surfaces in msgvault, so an operator can select the gateway by name instead of hand-filling a generic endpoint.
[vector.embeddings]:api_format = "orcarouter"fills in the gateway endpoint (https://api.orcarouter.ai/v1), model (openai/text-embedding-3-small), dimension (1536), andORCAROUTER_API_KEYenvironment variable. The named format shares the existing OpenAI-compatible wire contract, so no transport changes are needed.[people.sweep.provider]:kind = "orcarouter"fills in the gateway endpoint, default model (orcarouter/auto), andORCAROUTER_API_KEYenv, reusing the existing OpenAI-compatible transport.orcarouterin the settings catalog (Gointernal/api+ webweb/src/lib/settings/catalog.ts), and documented both surfaces inREADME.md,docs/configuration.md,docs/usage/vector-search.md, anddocs/changelog.md.The gateway serves OpenAI-compatible embeddings and chat completions from the same endpoint. It also runs gateway-level, zero-trust security for AI agents on the same endpoint — screening every prompt/response and governing every tool call on a default-deny basis, with no application code changes.
Why
Selecting a named provider makes the supported gateway discoverable in the settings UI and gives a minimal config block for both the vector-search and people-sweep surfaces, matching how the existing
openai/voyage-contextualformats are exposed.Disclosure: I'm an engineer on the OrcaRouter team.