mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-04 20:20:21 +00:00
refactor: dedupe volc model catalog helpers
This commit is contained in:
@@ -1,74 +1,10 @@
|
||||
import type { ModelDefinitionConfig } from "openclaw/plugin-sdk/provider-model-shared";
|
||||
|
||||
type VolcModelCatalogEntry = {
|
||||
id: string;
|
||||
name: string;
|
||||
reasoning: boolean;
|
||||
input: ReadonlyArray<ModelDefinitionConfig["input"][number]>;
|
||||
contextWindow: number;
|
||||
maxTokens: number;
|
||||
};
|
||||
|
||||
const VOLC_MODEL_KIMI_K2_5 = {
|
||||
id: "kimi-k2-5-260127",
|
||||
name: "Kimi K2.5",
|
||||
reasoning: false,
|
||||
input: ["text", "image"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
} as const;
|
||||
|
||||
const VOLC_MODEL_GLM_4_7 = {
|
||||
id: "glm-4-7-251222",
|
||||
name: "GLM 4.7",
|
||||
reasoning: false,
|
||||
input: ["text", "image"] as const,
|
||||
contextWindow: 200000,
|
||||
maxTokens: 4096,
|
||||
} as const;
|
||||
|
||||
const VOLC_SHARED_CODING_MODEL_CATALOG = [
|
||||
{
|
||||
id: "ark-code-latest",
|
||||
name: "Ark Coding Plan",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
{
|
||||
id: "doubao-seed-code",
|
||||
name: "Doubao Seed Code",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
{
|
||||
id: "glm-4.7",
|
||||
name: "GLM 4.7 Coding",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 200000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
{
|
||||
id: "kimi-k2-thinking",
|
||||
name: "Kimi K2 Thinking",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
{
|
||||
id: "kimi-k2.5",
|
||||
name: "Kimi K2.5 Coding",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
] as const;
|
||||
import {
|
||||
buildVolcModelDefinition,
|
||||
VOLC_MODEL_GLM_4_7,
|
||||
VOLC_MODEL_KIMI_K2_5,
|
||||
VOLC_SHARED_CODING_MODEL_CATALOG,
|
||||
} from "openclaw/plugin-sdk/volc-model-catalog-shared";
|
||||
|
||||
export const BYTEPLUS_BASE_URL = "https://ark.ap-southeast.bytepluses.com/api/v3";
|
||||
export const BYTEPLUS_CODING_BASE_URL = "https://ark.ap-southeast.bytepluses.com/api/coding/v3";
|
||||
@@ -101,21 +37,6 @@ export const BYTEPLUS_CODING_MODEL_CATALOG = VOLC_SHARED_CODING_MODEL_CATALOG;
|
||||
export type BytePlusCatalogEntry = (typeof BYTEPLUS_MODEL_CATALOG)[number];
|
||||
export type BytePlusCodingCatalogEntry = (typeof BYTEPLUS_CODING_MODEL_CATALOG)[number];
|
||||
|
||||
function buildVolcModelDefinition(
|
||||
entry: VolcModelCatalogEntry,
|
||||
cost: ModelDefinitionConfig["cost"],
|
||||
): ModelDefinitionConfig {
|
||||
return {
|
||||
id: entry.id,
|
||||
name: entry.name,
|
||||
reasoning: entry.reasoning,
|
||||
input: [...entry.input],
|
||||
cost,
|
||||
contextWindow: entry.contextWindow,
|
||||
maxTokens: entry.maxTokens,
|
||||
};
|
||||
}
|
||||
|
||||
export function buildBytePlusModelDefinition(
|
||||
entry: BytePlusCatalogEntry | BytePlusCodingCatalogEntry,
|
||||
): ModelDefinitionConfig {
|
||||
|
||||
@@ -1,74 +1,10 @@
|
||||
import type { ModelDefinitionConfig } from "openclaw/plugin-sdk/provider-model-shared";
|
||||
|
||||
type VolcModelCatalogEntry = {
|
||||
id: string;
|
||||
name: string;
|
||||
reasoning: boolean;
|
||||
input: ReadonlyArray<ModelDefinitionConfig["input"][number]>;
|
||||
contextWindow: number;
|
||||
maxTokens: number;
|
||||
};
|
||||
|
||||
const VOLC_MODEL_KIMI_K2_5 = {
|
||||
id: "kimi-k2-5-260127",
|
||||
name: "Kimi K2.5",
|
||||
reasoning: false,
|
||||
input: ["text", "image"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
} as const;
|
||||
|
||||
const VOLC_MODEL_GLM_4_7 = {
|
||||
id: "glm-4-7-251222",
|
||||
name: "GLM 4.7",
|
||||
reasoning: false,
|
||||
input: ["text", "image"] as const,
|
||||
contextWindow: 200000,
|
||||
maxTokens: 4096,
|
||||
} as const;
|
||||
|
||||
const VOLC_SHARED_CODING_MODEL_CATALOG = [
|
||||
{
|
||||
id: "ark-code-latest",
|
||||
name: "Ark Coding Plan",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
{
|
||||
id: "doubao-seed-code",
|
||||
name: "Doubao Seed Code",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
{
|
||||
id: "glm-4.7",
|
||||
name: "GLM 4.7 Coding",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 200000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
{
|
||||
id: "kimi-k2-thinking",
|
||||
name: "Kimi K2 Thinking",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
{
|
||||
id: "kimi-k2.5",
|
||||
name: "Kimi K2.5 Coding",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
] as const;
|
||||
import {
|
||||
buildVolcModelDefinition,
|
||||
VOLC_MODEL_GLM_4_7,
|
||||
VOLC_MODEL_KIMI_K2_5,
|
||||
VOLC_SHARED_CODING_MODEL_CATALOG,
|
||||
} from "openclaw/plugin-sdk/volc-model-catalog-shared";
|
||||
|
||||
export const DOUBAO_BASE_URL = "https://ark.cn-beijing.volces.com/api/v3";
|
||||
export const DOUBAO_CODING_BASE_URL = "https://ark.cn-beijing.volces.com/api/coding/v3";
|
||||
@@ -127,21 +63,6 @@ export const DOUBAO_CODING_MODEL_CATALOG = [
|
||||
export type DoubaoCatalogEntry = (typeof DOUBAO_MODEL_CATALOG)[number];
|
||||
export type DoubaoCodingCatalogEntry = (typeof DOUBAO_CODING_MODEL_CATALOG)[number];
|
||||
|
||||
function buildVolcModelDefinition(
|
||||
entry: VolcModelCatalogEntry,
|
||||
cost: ModelDefinitionConfig["cost"],
|
||||
): ModelDefinitionConfig {
|
||||
return {
|
||||
id: entry.id,
|
||||
name: entry.name,
|
||||
reasoning: entry.reasoning,
|
||||
input: [...entry.input],
|
||||
cost,
|
||||
contextWindow: entry.contextWindow,
|
||||
maxTokens: entry.maxTokens,
|
||||
};
|
||||
}
|
||||
|
||||
export function buildDoubaoModelDefinition(
|
||||
entry: DoubaoCatalogEntry | DoubaoCodingCatalogEntry,
|
||||
): ModelDefinitionConfig {
|
||||
|
||||
@@ -848,6 +848,10 @@
|
||||
"types": "./dist/plugin-sdk/provider-model-shared.d.ts",
|
||||
"default": "./dist/plugin-sdk/provider-model-shared.js"
|
||||
},
|
||||
"./plugin-sdk/volc-model-catalog-shared": {
|
||||
"types": "./dist/plugin-sdk/volc-model-catalog-shared.d.ts",
|
||||
"default": "./dist/plugin-sdk/volc-model-catalog-shared.js"
|
||||
},
|
||||
"./plugin-sdk/provider-onboard": {
|
||||
"types": "./dist/plugin-sdk/provider-onboard.d.ts",
|
||||
"default": "./dist/plugin-sdk/provider-onboard.js"
|
||||
|
||||
@@ -201,6 +201,7 @@
|
||||
"provider-env-vars",
|
||||
"provider-http",
|
||||
"provider-model-shared",
|
||||
"volc-model-catalog-shared",
|
||||
"provider-onboard",
|
||||
"provider-stream-family",
|
||||
"provider-stream-shared",
|
||||
|
||||
86
src/plugin-sdk/volc-model-catalog-shared.ts
Normal file
86
src/plugin-sdk/volc-model-catalog-shared.ts
Normal file
@@ -0,0 +1,86 @@
|
||||
import type { ModelDefinitionConfig } from "./provider-model-shared.js";
|
||||
|
||||
export type VolcModelCatalogEntry = {
|
||||
id: string;
|
||||
name: string;
|
||||
reasoning: boolean;
|
||||
input: ReadonlyArray<ModelDefinitionConfig["input"][number]>;
|
||||
contextWindow: number;
|
||||
maxTokens: number;
|
||||
};
|
||||
|
||||
export const VOLC_MODEL_KIMI_K2_5 = {
|
||||
id: "kimi-k2-5-260127",
|
||||
name: "Kimi K2.5",
|
||||
reasoning: false,
|
||||
input: ["text", "image"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
} as const;
|
||||
|
||||
export const VOLC_MODEL_GLM_4_7 = {
|
||||
id: "glm-4-7-251222",
|
||||
name: "GLM 4.7",
|
||||
reasoning: false,
|
||||
input: ["text", "image"] as const,
|
||||
contextWindow: 200000,
|
||||
maxTokens: 4096,
|
||||
} as const;
|
||||
|
||||
export const VOLC_SHARED_CODING_MODEL_CATALOG = [
|
||||
{
|
||||
id: "ark-code-latest",
|
||||
name: "Ark Coding Plan",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
{
|
||||
id: "doubao-seed-code",
|
||||
name: "Doubao Seed Code",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
{
|
||||
id: "glm-4.7",
|
||||
name: "GLM 4.7 Coding",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 200000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
{
|
||||
id: "kimi-k2-thinking",
|
||||
name: "Kimi K2 Thinking",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
{
|
||||
id: "kimi-k2.5",
|
||||
name: "Kimi K2.5 Coding",
|
||||
reasoning: false,
|
||||
input: ["text"] as const,
|
||||
contextWindow: 256000,
|
||||
maxTokens: 4096,
|
||||
},
|
||||
] as const;
|
||||
|
||||
export function buildVolcModelDefinition(
|
||||
entry: VolcModelCatalogEntry,
|
||||
cost: ModelDefinitionConfig["cost"],
|
||||
): ModelDefinitionConfig {
|
||||
return {
|
||||
id: entry.id,
|
||||
name: entry.name,
|
||||
reasoning: entry.reasoning,
|
||||
input: [...entry.input],
|
||||
cost,
|
||||
contextWindow: entry.contextWindow,
|
||||
maxTokens: entry.maxTokens,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user