Skip to content

feat(picooraclaw): add OrcaRouter as a first-class provider - #288

Open
martinzudergaming-a11y wants to merge 1 commit into
oracle-devrel:mainfrom
martinzudergaming-a11y:feat/add-orcarouter-provider
Open

feat(picooraclaw): add OrcaRouter as a first-class provider#288
martinzudergaming-a11y wants to merge 1 commit into
oracle-devrel:mainfrom
martinzudergaming-a11y:feat/add-orcarouter-provider

Conversation

@martinzudergaming-a11y

Copy link
Copy Markdown

Summary

PicoOraClaw already lets users "swap to any provider" from ~/.picooraclaw/config.json — OpenRouter, Groq, Ollama, and friends each have a named entry in the providers schema. OrcaRouter is an OpenAI-compatible AI gateway built for both models and agents. Like OpenRouter, it exposes a provider/model namespace across many models — but it also combines adaptive routing, automatic failover, zero-markup inference, observability, guardrails, and agent-tool governance behind the same endpoint. Adding orcarouter as a first-class provider means PicoOraClaw users can use that stack directly, without treating OrcaRouter as an anonymous custom base URL.

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.

Changes

  • Register orcarouter in ProvidersConfig / DefaultConfig (pkg/config/config.go), mirroring the openrouter entry.
  • Route provider: "orcarouter" and orcarouter/... model prefixes to https://api.orcarouter.ai/v1 in CreateProvider (pkg/providers/http_provider.go), including the fallback model-prefix detection.
  • Include OrcaRouter in GetAPIKey / GetAPIBase so gateway-level key/base resolution works when it is the configured backend.
  • Support migrating orcarouter from OpenClaw configs and preserving it across config merges (pkg/migrate/config.go).
  • Document the provider in README.md, config/config.example.json, the init key hint in cmd/picooraclaw/main.go, and workspace/IDENTITY.md.
  • Add unit tests for the default config, migration mapping, full migration, and config merge.

Verification

  • go build ./... passes.
  • go test ./... passes (14 packages, 0 failures).
  • Live test: a config with provider: "orcarouter" and model orcarouter/fusion-flash resolves through CreateProvider and completes a real chat/completions round-trip against https://api.orcarouter.ai/v1 (finish_reason stop, valid content).

Discord: discord.gg/YEubt8enRA · X: https://x.com/OrcaRouter

I'm an engineer on the OrcaRouter team.

Add OrcaRouter as a named provider in the picooraclaw config schema,
mirroring the existing OpenRouter integration:

- register orcarouter in ProvidersConfig and DefaultConfig
- route provider=orcarouter and orcarouter/ model prefixes to
  https://api.orcarouter.ai/v1 in CreateProvider
- include orcarouter in GetAPIKey/GetAPIBase fallback resolution
- support migrating orcarouter from OpenClaw configs and merging it
- document the new provider in README, config.example.json,
  main.go key hint, and workspace IDENTITY.md
- add unit tests for config, migration, and merge

Co-Authored-By: Claude <noreply@anthropic.com>
@oracle-contributor-agreement

Copy link
Copy Markdown

Thank you for your pull request and welcome to our community! To contribute, please sign the Oracle Contributor Agreement (OCA).
The following contributors of this PR have not signed the OCA:

To sign the OCA, please create an Oracle account and sign the OCA in Oracle's Contributor Agreement Application.

When signing the OCA, please provide your GitHub username. After signing the OCA and getting an OCA approval from Oracle, this PR will be automatically updated.

If you are an Oracle employee, please make sure that you are a member of the main Oracle GitHub organization, and your membership in this organization is public.

@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Required At least one contributor does not have an approved Oracle Contributor Agreement. label Aug 28, 2026
@WSPluta
WSPluta requested a review from jasperan September 4, 2026 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Required At least one contributor does not have an approved Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant