feat: add Arcee AI provider plugin

Add a bundled Arcee AI provider plugin with ARCEEAI_API_KEY onboarding,
Trinity model catalog (mini, large-preview, large-thinking), and
OpenAI-compatible API support.

- Trinity Large Thinking: 256K context, reasoning enabled
- Trinity Large Preview: 128K context, general-purpose
- Trinity Mini 26B: 128K context, fast and cost-efficient
This commit is contained in:
arthurbr11
2026-04-05 11:01:59 -07:00
committed by Peter Steinberger
parent 8f421f0e78
commit 5ac2f58c57
16 changed files with 329 additions and 1 deletions

View File

@@ -44,7 +44,7 @@ const defaultImportPiSdk = () => import("./pi-model-discovery-runtime.js");
let importPiSdk = defaultImportPiSdk;
let modelSuppressionPromise: Promise<typeof import("./model-suppression.runtime.js")> | undefined;
const NON_PI_NATIVE_MODEL_PROVIDERS = new Set(["deepseek", "kilocode", "ollama"]);
const NON_PI_NATIVE_MODEL_PROVIDERS = new Set(["arcee", "deepseek", "kilocode", "ollama"]);
function shouldLogModelCatalogTiming(): boolean {
return process.env.OPENCLAW_DEBUG_INGRESS_TIMING === "1";

View File

@@ -12,6 +12,7 @@ export type BuiltInAuthChoice =
| "oauth"
| "setup-token"
| "token"
| "arceeai-api-key"
| "chutes"
| "deepseek-api-key"
| "openai-codex"
@@ -65,6 +66,7 @@ export type AuthChoice = BuiltInAuthChoice | (string & {});
export type BuiltInAuthChoiceGroupId =
| "openai"
| "anthropic"
| "arcee"
| "chutes"
| "deepseek"
| "google"
@@ -131,6 +133,7 @@ export type OnboardOptions = OnboardDynamicProviderOptions & {
tokenExpiresIn?: string;
/** API key persistence mode for setup flows (default: plaintext). */
secretInputMode?: SecretInputMode;
arceeaiApiKey?: string;
cloudflareAiGatewayAccountId?: string;
cloudflareAiGatewayGatewayId?: string;
customBaseUrl?: string;

View File

@@ -73,6 +73,7 @@ export { MissingEnvVarError } from "./env-substitution.js";
const SHELL_ENV_EXPECTED_KEYS = [
"OPENAI_API_KEY",
"ANTHROPIC_API_KEY",
"ARCEEAI_API_KEY",
"DEEPSEEK_API_KEY",
"ANTHROPIC_OAUTH_TOKEN",
"GEMINI_API_KEY",