feat(plugins): move bundled providers behind plugin hooks

This commit is contained in:
Peter Steinberger
2026-03-15 16:57:24 -07:00
parent e7555724af
commit 8e2a1d0941
27 changed files with 728 additions and 67 deletions

View File

@@ -0,0 +1,26 @@
import { emptyPluginConfigSchema, type OpenClawPluginApi } from "openclaw/plugin-sdk/core";
const PROVIDER_ID = "opencode";
const opencodePlugin = {
id: PROVIDER_ID,
name: "OpenCode Zen Provider",
description: "Bundled OpenCode Zen provider plugin",
configSchema: emptyPluginConfigSchema(),
register(api: OpenClawPluginApi) {
api.registerProvider({
id: PROVIDER_ID,
label: "OpenCode Zen",
docsPath: "/providers/models",
envVars: ["OPENCODE_API_KEY", "OPENCODE_ZEN_API_KEY"],
auth: [],
capabilities: {
openAiCompatTurnValidation: false,
geminiThoughtSignatureSanitization: true,
geminiThoughtSignatureModelHints: ["gemini"],
},
});
},
};
export default opencodePlugin;

View File

@@ -0,0 +1,9 @@
{
"id": "opencode",
"providers": ["opencode"],
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}

View File

@@ -0,0 +1,12 @@
{
"name": "@openclaw/opencode-provider",
"version": "2026.3.14",
"private": true,
"description": "OpenClaw OpenCode Zen provider plugin",
"type": "module",
"openclaw": {
"extensions": [
"./index.ts"
]
}
}