@openclaw/moonshot-provider 2026.7.2-beta.7 → 2026.7.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@ import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
2
2
  import { createWebSearchProviderContractFields } from "openclaw/plugin-sdk/provider-web-search-config-contract";
3
3
  //#region extensions/moonshot/src/kimi-web-search-provider.ts
4
4
  const KIMI_CREDENTIAL_PATH = "plugins.entries.moonshot.config.webSearch.apiKey";
5
- const loadKimiWebSearchProviderRuntime = createLazyRuntimeModule(() => import("./kimi-web-search-provider.runtime-B6y-kz4c.js"));
5
+ const loadKimiWebSearchProviderRuntime = createLazyRuntimeModule(() => import("./kimi-web-search-provider.runtime-Dy4iOk80.mjs"));
6
6
  const KimiSearchSchema = {
7
7
  type: "object",
8
8
  properties: {
@@ -1,11 +1,14 @@
1
- import { MOONSHOT_BASE_URL, MOONSHOT_CN_BASE_URL, isNativeMoonshotBaseUrl } from "./provider-catalog.js";
1
+ import { n as MOONSHOT_CN_BASE_URL, o as isNativeMoonshotBaseUrl, r as MOONSHOT_DEFAULT_MODEL_ID, t as MOONSHOT_BASE_URL } from "./provider-catalog-DUIDSSDH.mjs";
2
2
  import { createProviderHttpError, readProviderJsonObjectResponse } from "openclaw/plugin-sdk/provider-http";
3
3
  import { DEFAULT_SEARCH_COUNT, MAX_SEARCH_COUNT, buildSearchCacheKey, buildUnsupportedSearchFilterResponse, mergeScopedSearchConfig, readCachedSearchPayload, readConfiguredSecretString, readPositiveIntegerParam, readProviderEnvValue, readStringParam, resolveProviderWebSearchPluginConfig, resolveSearchCacheTtlMs, resolveSearchCount, resolveSearchTimeoutSeconds, setProviderWebSearchPluginConfigValue, withTrustedWebSearchEndpoint, wrapWebContent, writeCachedSearchPayload } from "openclaw/plugin-sdk/provider-web-search";
4
4
  import { isRecord, normalizeOptionalString, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  //#region extensions/moonshot/src/kimi-web-search-provider.runtime.ts
6
6
  const DEFAULT_KIMI_BASE_URL = MOONSHOT_BASE_URL;
7
- const DEFAULT_KIMI_SEARCH_MODEL = "kimi-k2.6";
8
- /** Models that require explicit thinking disablement for web search. */
7
+ const DEFAULT_KIMI_SEARCH_MODEL = MOONSHOT_DEFAULT_MODEL_ID;
8
+ /** Models that require explicit thinking disablement for web search.
9
+ * Reasoning variants (kimi-k2-thinking, kimi-k2-thinking-turbo) are excluded
10
+ * because they default to thinking-enabled and disabling it would defeat their
11
+ * purpose; they are also unlikely to be used for web search. */
9
12
  const KIMI_THINKING_MODELS = /* @__PURE__ */ new Set(["kimi-k2.6", "kimi-k2.5"]);
10
13
  const KIMI_WEB_SEARCH_TOOL = {
11
14
  type: "builtin_function",
@@ -19,7 +22,7 @@ function resolveKimiConfig(searchConfig) {
19
22
  return kimi && typeof kimi === "object" && !Array.isArray(kimi) ? kimi : {};
20
23
  }
21
24
  function resolveKimiApiKey(kimi) {
22
- return readConfiguredSecretString(kimi?.apiKey, "plugins.entries.moonshot.config.webSearch.apiKey") ?? readProviderEnvValue(["KIMI_API_KEY", "MOONSHOT_API_KEY"]);
25
+ return readConfiguredSecretString(kimi?.apiKey, "tools.web.search.kimi.apiKey") ?? readProviderEnvValue(["KIMI_API_KEY", "MOONSHOT_API_KEY"]);
23
26
  }
24
27
  function resolveKimiModel(kimi) {
25
28
  return (normalizeOptionalString(kimi?.model) ?? "") || DEFAULT_KIMI_SEARCH_MODEL;
@@ -174,7 +177,7 @@ async function executeKimiWebSearchProviderTool(ctx, args) {
174
177
  const apiKey = resolveKimiApiKey(kimiConfig);
175
178
  if (!apiKey) return {
176
179
  error: "missing_kimi_api_key",
177
- message: "web_search (kimi) needs a Moonshot API key. Set KIMI_API_KEY or MOONSHOT_API_KEY in the Gateway environment, or configure plugins.entries.moonshot.config.webSearch.apiKey. If you do not want to configure a search API key, use web_fetch for a specific URL or the browser tool for interactive pages.",
180
+ message: "web_search (kimi) needs a Moonshot API key. Set KIMI_API_KEY or MOONSHOT_API_KEY in the Gateway environment, or configure tools.web.search.kimi.apiKey. If you do not want to configure a search API key, use web_fetch for a specific URL or the browser tool for interactive pages.",
178
181
  docs: "https://docs.openclaw.ai/tools/web"
179
182
  };
180
183
  const query = readStringParam(args, "query", { required: true });
@@ -0,0 +1,153 @@
1
+ import { applyProviderNativeStreamingUsageCompat, buildManifestModelProviderConfig, supportsNativeStreamingUsageCompat } from "openclaw/plugin-sdk/provider-catalog-shared";
2
+ //#region extensions/moonshot/openclaw.plugin.json
3
+ var modelCatalog = {
4
+ "aliases": {
5
+ "moonshotai": { "provider": "moonshot" },
6
+ "moonshot-ai": { "provider": "moonshot" }
7
+ },
8
+ "providers": { "moonshot": {
9
+ "baseUrl": "https://api.moonshot.ai/v1",
10
+ "api": "openai-completions",
11
+ "models": [
12
+ {
13
+ "id": "kimi-k2.6",
14
+ "name": "Kimi K2.6",
15
+ "input": ["text", "image"],
16
+ "contextWindow": 262144,
17
+ "maxTokens": 262144,
18
+ "cost": {
19
+ "input": .95,
20
+ "output": 4,
21
+ "cacheRead": .16,
22
+ "cacheWrite": 0
23
+ }
24
+ },
25
+ {
26
+ "id": "kimi-k3",
27
+ "name": "Kimi K3",
28
+ "reasoning": true,
29
+ "thinkingLevelMap": {
30
+ "off": null,
31
+ "minimal": null,
32
+ "low": "low",
33
+ "medium": null,
34
+ "high": "high",
35
+ "xhigh": "max",
36
+ "max": "max"
37
+ },
38
+ "input": ["text", "image"],
39
+ "contextWindow": 1048576,
40
+ "maxTokens": 1048576,
41
+ "cost": {
42
+ "input": 3,
43
+ "output": 15,
44
+ "cacheRead": .3,
45
+ "cacheWrite": 0
46
+ },
47
+ "compat": {
48
+ "supportsReasoningEffort": true,
49
+ "supportedReasoningEfforts": [
50
+ "low",
51
+ "high",
52
+ "max"
53
+ ],
54
+ "codeMode": "preferred"
55
+ }
56
+ },
57
+ {
58
+ "id": "kimi-k2.7-code",
59
+ "name": "Kimi K2.7 Code",
60
+ "reasoning": true,
61
+ "input": ["text", "image"],
62
+ "contextWindow": 262144,
63
+ "maxTokens": 262144,
64
+ "cost": {
65
+ "input": .95,
66
+ "output": 4,
67
+ "cacheRead": .19,
68
+ "cacheWrite": 0
69
+ }
70
+ },
71
+ {
72
+ "id": "kimi-k2.5",
73
+ "name": "Kimi K2.5",
74
+ "input": ["text", "image"],
75
+ "contextWindow": 262144,
76
+ "maxTokens": 262144,
77
+ "cost": {
78
+ "input": .6,
79
+ "output": 3,
80
+ "cacheRead": .1,
81
+ "cacheWrite": 0
82
+ }
83
+ },
84
+ {
85
+ "id": "kimi-k2-thinking",
86
+ "name": "Kimi K2 Thinking",
87
+ "reasoning": true,
88
+ "input": ["text"],
89
+ "contextWindow": 262144,
90
+ "maxTokens": 262144,
91
+ "cost": {
92
+ "input": 0,
93
+ "output": 0,
94
+ "cacheRead": 0,
95
+ "cacheWrite": 0
96
+ }
97
+ },
98
+ {
99
+ "id": "kimi-k2-thinking-turbo",
100
+ "name": "Kimi K2 Thinking Turbo",
101
+ "reasoning": true,
102
+ "input": ["text"],
103
+ "contextWindow": 262144,
104
+ "maxTokens": 262144,
105
+ "cost": {
106
+ "input": 0,
107
+ "output": 0,
108
+ "cacheRead": 0,
109
+ "cacheWrite": 0
110
+ }
111
+ },
112
+ {
113
+ "id": "kimi-k2-turbo",
114
+ "name": "Kimi K2 Turbo",
115
+ "input": ["text"],
116
+ "contextWindow": 256e3,
117
+ "maxTokens": 16384,
118
+ "cost": {
119
+ "input": 0,
120
+ "output": 0,
121
+ "cacheRead": 0,
122
+ "cacheWrite": 0
123
+ }
124
+ }
125
+ ]
126
+ } },
127
+ "discovery": { "moonshot": "static" }
128
+ };
129
+ //#endregion
130
+ //#region extensions/moonshot/provider-catalog.ts
131
+ const MOONSHOT_BASE_URL = "https://api.moonshot.ai/v1";
132
+ const MOONSHOT_CN_BASE_URL = "https://api.moonshot.cn/v1";
133
+ const MOONSHOT_DEFAULT_MODEL_ID = "kimi-k2.6";
134
+ function isNativeMoonshotBaseUrl(baseUrl) {
135
+ return supportsNativeStreamingUsageCompat({
136
+ providerId: "moonshot",
137
+ baseUrl
138
+ });
139
+ }
140
+ function applyMoonshotNativeStreamingUsageCompat(provider) {
141
+ return applyProviderNativeStreamingUsageCompat({
142
+ providerId: "moonshot",
143
+ providerConfig: provider
144
+ });
145
+ }
146
+ function buildMoonshotProvider() {
147
+ return buildManifestModelProviderConfig({
148
+ providerId: "moonshot",
149
+ catalog: modelCatalog.providers.moonshot
150
+ });
151
+ }
152
+ //#endregion
153
+ export { buildMoonshotProvider as a, applyMoonshotNativeStreamingUsageCompat as i, MOONSHOT_CN_BASE_URL as n, isNativeMoonshotBaseUrl as o, MOONSHOT_DEFAULT_MODEL_ID as r, MOONSHOT_BASE_URL as t };
package/dist/api.js CHANGED
@@ -1,2 +1,3 @@
1
- import { MOONSHOT_BASE_URL, MOONSHOT_CN_BASE_URL, MOONSHOT_DEFAULT_MODEL_ID, MOONSHOT_DEFAULT_MODEL_REF, applyMoonshotNativeStreamingUsageCompat, buildMoonshotProvider, isNativeMoonshotBaseUrl } from "./provider-catalog.js";
1
+ import { a as buildMoonshotProvider, i as applyMoonshotNativeStreamingUsageCompat, n as MOONSHOT_CN_BASE_URL, o as isNativeMoonshotBaseUrl, r as MOONSHOT_DEFAULT_MODEL_ID, t as MOONSHOT_BASE_URL } from "./.setup/provider-catalog-DUIDSSDH.mjs";
2
+ import { MOONSHOT_DEFAULT_MODEL_REF } from "./onboard.js";
2
3
  export { MOONSHOT_BASE_URL, MOONSHOT_CN_BASE_URL, MOONSHOT_DEFAULT_MODEL_ID, MOONSHOT_DEFAULT_MODEL_REF, applyMoonshotNativeStreamingUsageCompat, buildMoonshotProvider, isNativeMoonshotBaseUrl };
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
- import { MOONSHOT_DEFAULT_MODEL_REF, applyMoonshotNativeStreamingUsageCompat, buildMoonshotProvider } from "./provider-catalog.js";
1
+ import { a as buildMoonshotProvider, i as applyMoonshotNativeStreamingUsageCompat } from "./.setup/provider-catalog-DUIDSSDH.mjs";
2
+ import { MOONSHOT_DEFAULT_MODEL_REF, applyMoonshotConfig, applyMoonshotConfigCn } from "./onboard.js";
2
3
  import "./api.js";
3
4
  import { moonshotMediaUnderstandingProvider } from "./media-understanding-provider.js";
4
- import { applyMoonshotConfig, applyMoonshotConfigCn } from "./onboard.js";
5
5
  import { isMoonshotAlwaysThinkingModelId, resolveThinkingProfile } from "./provider-policy-api.js";
6
- import { t as createKimiWebSearchProvider } from "./kimi-web-search-provider-DGFWylD8.js";
6
+ import { t as createKimiWebSearchProvider } from "./.setup/kimi-web-search-provider-B6COtEZG.mjs";
7
7
  import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry";
8
8
  import { buildOpenAICompatibleReplayPolicy } from "openclaw/plugin-sdk/provider-model-shared";
9
- import { buildProviderStreamFamilyHooks } from "openclaw/plugin-sdk/provider-stream-family";
9
+ import { MOONSHOT_THINKING_STREAM_HOOKS } from "openclaw/plugin-sdk/provider-stream-family";
10
10
  //#region extensions/moonshot/index.ts
11
11
  const PROVIDER_ID = "moonshot";
12
- const moonshotThinkingStreamHooks = buildProviderStreamFamilyHooks("moonshot-thinking");
12
+ const moonshotThinkingStreamHooks = MOONSHOT_THINKING_STREAM_HOOKS;
13
13
  var moonshot_default = defineSingleProviderPluginEntry({
14
14
  id: PROVIDER_ID,
15
15
  name: "Moonshot Provider",
@@ -21,31 +21,30 @@ var moonshot_default = defineSingleProviderPluginEntry({
21
21
  auth: [{
22
22
  methodId: "api-key",
23
23
  label: "Kimi API key (.ai)",
24
- hint: "Kimi API models · https://platform.kimi.ai/docs/pricing/chat",
24
+ hint: "Kimi K2.6 + Kimi",
25
25
  optionKey: "moonshotApiKey",
26
26
  flagName: "--moonshot-api-key",
27
27
  envVar: "MOONSHOT_API_KEY",
28
28
  promptMessage: "Enter Moonshot API key",
29
29
  defaultModel: MOONSHOT_DEFAULT_MODEL_REF,
30
30
  applyConfig: (cfg) => applyMoonshotConfig(cfg),
31
- wizard: { groupLabel: "Moonshot AI (Kimi)" }
31
+ wizard: { groupLabel: "Moonshot AI (Kimi K2.6)" }
32
32
  }, {
33
33
  methodId: "api-key-cn",
34
34
  label: "Kimi API key (.cn)",
35
- hint: "Kimi API models · https://platform.kimi.ai/docs/pricing/chat",
35
+ hint: "Kimi K2.6 + Kimi",
36
36
  optionKey: "moonshotApiKey",
37
37
  flagName: "--moonshot-api-key",
38
38
  envVar: "MOONSHOT_API_KEY",
39
39
  promptMessage: "Enter Moonshot API key (.cn)",
40
40
  defaultModel: MOONSHOT_DEFAULT_MODEL_REF,
41
41
  applyConfig: (cfg) => applyMoonshotConfigCn(cfg),
42
- wizard: { groupLabel: "Moonshot AI (Kimi)" }
42
+ wizard: { groupLabel: "Moonshot AI (Kimi K2.6)" }
43
43
  }],
44
44
  catalog: {
45
45
  buildProvider: buildMoonshotProvider,
46
46
  buildStaticProvider: buildMoonshotProvider,
47
- allowExplicitBaseUrl: true,
48
- liveModelDiscovery: true
47
+ allowExplicitBaseUrl: true
49
48
  },
50
49
  applyNativeStreamingUsageCompat: ({ providerConfig }) => applyMoonshotNativeStreamingUsageCompat(providerConfig),
51
50
  buildReplayPolicy: ({ modelApi, modelId }) => buildOpenAICompatibleReplayPolicy(modelApi, {
@@ -1,10 +1,9 @@
1
- import { t as openclaw_plugin_default } from "./openclaw.plugin-BLi5Z-ZR.js";
1
+ import { r as MOONSHOT_DEFAULT_MODEL_ID } from "./.setup/provider-catalog-DUIDSSDH.mjs";
2
2
  import { buildOpenAiCompatibleVideoRequestBody, coerceOpenAiCompatibleVideoText, describeImageWithModel, describeImagesWithModel, resolveMediaUnderstandingString } from "openclaw/plugin-sdk/media-understanding";
3
3
  import { assertOkOrThrowHttpError, postJsonRequest, readProviderJsonResponse, resolveProviderHttpRequestConfig } from "openclaw/plugin-sdk/provider-http";
4
4
  //#region extensions/moonshot/media-understanding-provider.ts
5
5
  const DEFAULT_MOONSHOT_VIDEO_BASE_URL = "https://api.moonshot.ai/v1";
6
- const DEFAULT_MOONSHOT_IMAGE_MODEL = openclaw_plugin_default.mediaUnderstandingProviderMetadata.moonshot.defaultModels.image;
7
- const DEFAULT_MOONSHOT_VIDEO_MODEL = openclaw_plugin_default.mediaUnderstandingProviderMetadata.moonshot.defaultModels.video;
6
+ const DEFAULT_MOONSHOT_VIDEO_MODEL = MOONSHOT_DEFAULT_MODEL_ID;
8
7
  const DEFAULT_MOONSHOT_VIDEO_PROMPT = "Describe the video.";
9
8
  async function describeMoonshotVideo(params) {
10
9
  const fetchFn = params.fetchFn ?? fetch;
@@ -25,24 +24,26 @@ async function describeMoonshotVideo(params) {
25
24
  capability: "video",
26
25
  transport: "media-understanding"
27
26
  });
27
+ const url = `${baseUrl}/chat/completions`;
28
+ const body = buildOpenAiCompatibleVideoRequestBody({
29
+ model,
30
+ prompt,
31
+ mime,
32
+ buffer: params.buffer
33
+ });
28
34
  const { response: res, release } = await postJsonRequest({
29
- url: `${baseUrl}/chat/completions`,
35
+ url,
30
36
  headers,
31
- body: buildOpenAiCompatibleVideoRequestBody({
32
- model,
33
- prompt,
34
- mime,
35
- buffer: params.buffer
36
- }),
37
+ body,
37
38
  timeoutMs: params.timeoutMs,
38
- ...params.signal ? { signal: params.signal } : {},
39
39
  fetchFn,
40
40
  allowPrivateNetwork,
41
41
  dispatcherPolicy
42
42
  });
43
43
  try {
44
44
  await assertOkOrThrowHttpError(res, "Moonshot video description failed");
45
- const text = coerceOpenAiCompatibleVideoText(await readProviderJsonResponse(res, "Moonshot video description failed"));
45
+ const payload = await readProviderJsonResponse(res, "Moonshot video description failed");
46
+ const text = coerceOpenAiCompatibleVideoText(payload);
46
47
  if (!text) throw new Error("Moonshot video description response missing content");
47
48
  return {
48
49
  text,
@@ -56,7 +57,7 @@ const moonshotMediaUnderstandingProvider = {
56
57
  id: "moonshot",
57
58
  capabilities: ["image", "video"],
58
59
  defaultModels: {
59
- image: DEFAULT_MOONSHOT_IMAGE_MODEL,
60
+ image: MOONSHOT_DEFAULT_MODEL_ID,
60
61
  video: DEFAULT_MOONSHOT_VIDEO_MODEL
61
62
  },
62
63
  autoPriority: { video: 20 },
@@ -65,4 +66,4 @@ const moonshotMediaUnderstandingProvider = {
65
66
  describeVideo: describeMoonshotVideo
66
67
  };
67
68
  //#endregion
68
- export { moonshotMediaUnderstandingProvider };
69
+ export { describeMoonshotVideo, moonshotMediaUnderstandingProvider };
package/dist/onboard.js CHANGED
@@ -1,10 +1,11 @@
1
- import { MOONSHOT_BASE_URL, MOONSHOT_CN_BASE_URL, MOONSHOT_DEFAULT_MODEL_ID, MOONSHOT_DEFAULT_MODEL_REF, buildMoonshotProvider } from "./provider-catalog.js";
1
+ import { a as buildMoonshotProvider, n as MOONSHOT_CN_BASE_URL, r as MOONSHOT_DEFAULT_MODEL_ID, t as MOONSHOT_BASE_URL } from "./.setup/provider-catalog-DUIDSSDH.mjs";
2
2
  import { createDefaultModelPresetAppliers } from "openclaw/plugin-sdk/provider-onboard";
3
3
  //#region extensions/moonshot/onboard.ts
4
+ const MOONSHOT_DEFAULT_MODEL_REF = `moonshot/${MOONSHOT_DEFAULT_MODEL_ID}`;
4
5
  const moonshotPresetAppliers = createDefaultModelPresetAppliers({
5
6
  primaryModelRef: MOONSHOT_DEFAULT_MODEL_REF,
6
7
  resolveParams: (_cfg, baseUrl) => {
7
- const defaultModel = buildMoonshotProvider().models.find((model) => model.id === MOONSHOT_DEFAULT_MODEL_ID);
8
+ const defaultModel = buildMoonshotProvider().models[0];
8
9
  if (!defaultModel) return null;
9
10
  return {
10
11
  providerId: "moonshot",
@@ -26,4 +27,4 @@ function applyMoonshotConfigCn(cfg) {
26
27
  return moonshotPresetAppliers.applyConfig(cfg, MOONSHOT_CN_BASE_URL);
27
28
  }
28
29
  //#endregion
29
- export { applyMoonshotConfig, applyMoonshotConfigCn };
30
+ export { MOONSHOT_DEFAULT_MODEL_REF, applyMoonshotConfig, applyMoonshotConfigCn };
@@ -1,27 +1,2 @@
1
- import { t as openclaw_plugin_default } from "./openclaw.plugin-BLi5Z-ZR.js";
2
- import { applyProviderNativeStreamingUsageCompat, buildManifestModelProviderConfig, readManifestProviderDefaultModelRef, supportsNativeStreamingUsageCompat } from "openclaw/plugin-sdk/provider-catalog-shared";
3
- //#region extensions/moonshot/provider-catalog.ts
4
- const MOONSHOT_BASE_URL = "https://api.moonshot.ai/v1";
5
- const MOONSHOT_CN_BASE_URL = "https://api.moonshot.cn/v1";
6
- const MOONSHOT_DEFAULT_MODEL_REF = readManifestProviderDefaultModelRef(openclaw_plugin_default, "moonshot");
7
- const MOONSHOT_DEFAULT_MODEL_ID = MOONSHOT_DEFAULT_MODEL_REF.slice(9);
8
- function isNativeMoonshotBaseUrl(baseUrl) {
9
- return supportsNativeStreamingUsageCompat({
10
- providerId: "moonshot",
11
- baseUrl
12
- });
13
- }
14
- function applyMoonshotNativeStreamingUsageCompat(provider) {
15
- return applyProviderNativeStreamingUsageCompat({
16
- providerId: "moonshot",
17
- providerConfig: provider
18
- });
19
- }
20
- function buildMoonshotProvider() {
21
- return buildManifestModelProviderConfig({
22
- providerId: "moonshot",
23
- catalog: openclaw_plugin_default.modelCatalog.providers.moonshot
24
- });
25
- }
26
- //#endregion
27
- export { MOONSHOT_BASE_URL, MOONSHOT_CN_BASE_URL, MOONSHOT_DEFAULT_MODEL_ID, MOONSHOT_DEFAULT_MODEL_REF, applyMoonshotNativeStreamingUsageCompat, buildMoonshotProvider, isNativeMoonshotBaseUrl };
1
+ import { a as buildMoonshotProvider, i as applyMoonshotNativeStreamingUsageCompat, n as MOONSHOT_CN_BASE_URL, o as isNativeMoonshotBaseUrl, r as MOONSHOT_DEFAULT_MODEL_ID, t as MOONSHOT_BASE_URL } from "./.setup/provider-catalog-DUIDSSDH.mjs";
2
+ export { MOONSHOT_BASE_URL, MOONSHOT_CN_BASE_URL, MOONSHOT_DEFAULT_MODEL_ID, applyMoonshotNativeStreamingUsageCompat, buildMoonshotProvider, isNativeMoonshotBaseUrl };
@@ -10,16 +10,16 @@ function createMoonshotProvider() {
10
10
  id: "api-key",
11
11
  kind: "api_key",
12
12
  label: "Kimi API key (.ai)",
13
- hint: "Kimi API models · https://platform.kimi.ai/docs/pricing/chat",
13
+ hint: "Kimi K2.6 + Kimi",
14
14
  run: noopAuth,
15
- wizard: { groupLabel: "Moonshot AI (Kimi)" }
15
+ wizard: { groupLabel: "Moonshot AI (Kimi K2.6)" }
16
16
  }, {
17
17
  id: "api-key-cn",
18
18
  kind: "api_key",
19
19
  label: "Kimi API key (.cn)",
20
- hint: "Kimi API models · https://platform.kimi.ai/docs/pricing/chat",
20
+ hint: "Kimi K2.6 + Kimi",
21
21
  run: noopAuth,
22
- wizard: { groupLabel: "Moonshot AI (Kimi)" }
22
+ wizard: { groupLabel: "Moonshot AI (Kimi K2.6)" }
23
23
  }]
24
24
  };
25
25
  }
@@ -1,4 +1,4 @@
1
- import { buildMoonshotProvider } from "./provider-catalog.js";
1
+ import { a as buildMoonshotProvider } from "./.setup/provider-catalog-DUIDSSDH.mjs";
2
2
  //#region extensions/moonshot/provider-discovery.ts
3
3
  const moonshotProviderDiscovery = {
4
4
  id: "moonshot",
@@ -1,10 +1,9 @@
1
1
  //#region extensions/moonshot/provider-policy-api.ts
2
2
  const KIMI_K2_7_CODE_MODEL_ID = "kimi-k2.7-code";
3
- const KIMI_K2_7_CODE_HIGHSPEED_MODEL_ID = "kimi-k2.7-code-highspeed";
4
3
  const KIMI_K3_MODEL_ID = "kimi-k3";
5
4
  function isMoonshotAlwaysThinkingModelId(modelId) {
6
5
  const normalized = modelId.trim().toLowerCase();
7
- return normalized === "kimi-k2.7-code" || normalized === "kimi-k2.7-code-highspeed" || normalized === "kimi-k3";
6
+ return normalized === "kimi-k2.7-code" || normalized === "kimi-k3";
8
7
  }
9
8
  function resolveThinkingProfile(context) {
10
9
  const modelId = context.modelId.trim().toLowerCase();
@@ -16,7 +15,7 @@ function resolveThinkingProfile(context) {
16
15
  defaultLevel: "max",
17
16
  preserveWhenCatalogReasoningFalse: true
18
17
  };
19
- if (modelId === "kimi-k2.7-code" || modelId === "kimi-k2.7-code-highspeed") return {
18
+ if (modelId === "kimi-k2.7-code") return {
20
19
  levels: [{
21
20
  id: "low",
22
21
  label: "on"
@@ -36,4 +35,4 @@ function resolveThinkingProfile(context) {
36
35
  };
37
36
  }
38
37
  //#endregion
39
- export { KIMI_K2_7_CODE_HIGHSPEED_MODEL_ID, KIMI_K2_7_CODE_MODEL_ID, KIMI_K3_MODEL_ID, isMoonshotAlwaysThinkingModelId, resolveThinkingProfile };
38
+ export { KIMI_K2_7_CODE_MODEL_ID, KIMI_K3_MODEL_ID, isMoonshotAlwaysThinkingModelId, resolveThinkingProfile };
@@ -1,2 +1,2 @@
1
- import { t as createKimiWebSearchProvider } from "./kimi-web-search-provider-DGFWylD8.js";
1
+ import { t as createKimiWebSearchProvider } from "./.setup/kimi-web-search-provider-B6COtEZG.mjs";
2
2
  export { createKimiWebSearchProvider };
@@ -4,7 +4,7 @@
4
4
  "onStartup": false
5
5
  },
6
6
  "enabledByDefault": true,
7
- "providerCatalogEntry": "./provider-discovery.ts",
7
+ "providerCatalogEntry": "./dist/provider-discovery.js",
8
8
  "providers": [
9
9
  "moonshot"
10
10
  ],
@@ -54,8 +54,23 @@
54
54
  "moonshot": {
55
55
  "baseUrl": "https://api.moonshot.ai/v1",
56
56
  "api": "openai-completions",
57
- "defaultModel": "kimi-k3",
58
57
  "models": [
58
+ {
59
+ "id": "kimi-k2.6",
60
+ "name": "Kimi K2.6",
61
+ "input": [
62
+ "text",
63
+ "image"
64
+ ],
65
+ "contextWindow": 262144,
66
+ "maxTokens": 262144,
67
+ "cost": {
68
+ "input": 0.95,
69
+ "output": 4,
70
+ "cacheRead": 0.16,
71
+ "cacheWrite": 0
72
+ }
73
+ },
59
74
  {
60
75
  "id": "kimi-k3",
61
76
  "name": "Kimi K3",
@@ -109,9 +124,8 @@
109
124
  }
110
125
  },
111
126
  {
112
- "id": "kimi-k2.7-code-highspeed",
113
- "name": "Kimi K2.7 Code HighSpeed",
114
- "reasoning": true,
127
+ "id": "kimi-k2.5",
128
+ "name": "Kimi K2.5",
115
129
  "input": [
116
130
  "text",
117
131
  "image"
@@ -119,9 +133,56 @@
119
133
  "contextWindow": 262144,
120
134
  "maxTokens": 262144,
121
135
  "cost": {
122
- "input": 1.9,
123
- "output": 8,
124
- "cacheRead": 0.38,
136
+ "input": 0.6,
137
+ "output": 3,
138
+ "cacheRead": 0.1,
139
+ "cacheWrite": 0
140
+ }
141
+ },
142
+ {
143
+ "id": "kimi-k2-thinking",
144
+ "name": "Kimi K2 Thinking",
145
+ "reasoning": true,
146
+ "input": [
147
+ "text"
148
+ ],
149
+ "contextWindow": 262144,
150
+ "maxTokens": 262144,
151
+ "cost": {
152
+ "input": 0,
153
+ "output": 0,
154
+ "cacheRead": 0,
155
+ "cacheWrite": 0
156
+ }
157
+ },
158
+ {
159
+ "id": "kimi-k2-thinking-turbo",
160
+ "name": "Kimi K2 Thinking Turbo",
161
+ "reasoning": true,
162
+ "input": [
163
+ "text"
164
+ ],
165
+ "contextWindow": 262144,
166
+ "maxTokens": 262144,
167
+ "cost": {
168
+ "input": 0,
169
+ "output": 0,
170
+ "cacheRead": 0,
171
+ "cacheWrite": 0
172
+ }
173
+ },
174
+ {
175
+ "id": "kimi-k2-turbo",
176
+ "name": "Kimi K2 Turbo",
177
+ "input": [
178
+ "text"
179
+ ],
180
+ "contextWindow": 256000,
181
+ "maxTokens": 16384,
182
+ "cost": {
183
+ "input": 0,
184
+ "output": 0,
185
+ "cacheRead": 0,
125
186
  "cacheWrite": 0
126
187
  }
127
188
  }
@@ -129,7 +190,7 @@
129
190
  }
130
191
  },
131
192
  "discovery": {
132
- "moonshot": "refreshable"
193
+ "moonshot": "static"
133
194
  }
134
195
  },
135
196
  "setup": {
@@ -151,8 +212,8 @@
151
212
  "appGuidedSecret": true,
152
213
  "choiceLabel": "Moonshot API key (.ai)",
153
214
  "groupId": "moonshot",
154
- "groupLabel": "Moonshot AI (Kimi)",
155
- "groupHint": "Kimi API models \u00b7 https://platform.kimi.ai/docs/pricing/chat",
215
+ "groupLabel": "Moonshot AI (Kimi K2.6)",
216
+ "groupHint": "Kimi K2.6",
156
217
  "optionKey": "moonshotApiKey",
157
218
  "cliFlag": "--moonshot-api-key",
158
219
  "cliOption": "--moonshot-api-key <key>",
@@ -165,8 +226,8 @@
165
226
  "appGuidedSecret": true,
166
227
  "choiceLabel": "Moonshot API key (.cn)",
167
228
  "groupId": "moonshot",
168
- "groupLabel": "Moonshot AI (Kimi)",
169
- "groupHint": "Kimi API models \u00b7 https://platform.kimi.ai/docs/pricing/chat",
229
+ "groupLabel": "Moonshot AI (Kimi K2.6)",
230
+ "groupHint": "Kimi K2.6",
170
231
  "optionKey": "moonshotApiKey",
171
232
  "cliFlag": "--moonshot-api-key",
172
233
  "cliOption": "--moonshot-api-key <key>",
@@ -211,6 +272,11 @@
211
272
  }
212
273
  }
213
274
  },
275
+ "configContracts": {
276
+ "compatibilityRuntimePaths": [
277
+ "tools.web.search.apiKey"
278
+ ]
279
+ },
214
280
  "configSchema": {
215
281
  "type": "object",
216
282
  "additionalProperties": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/moonshot-provider",
3
- "version": "2026.7.2-beta.7",
3
+ "version": "2026.7.34",
4
4
  "description": "OpenClaw Moonshot provider plugin",
5
5
  "type": "module",
6
6
  "openclaw": {
@@ -14,10 +14,10 @@
14
14
  "minHostVersion": ">=2026.6.9"
15
15
  },
16
16
  "compat": {
17
- "pluginApi": ">=2026.7.2-beta.7"
17
+ "pluginApi": ">=2026.7.34"
18
18
  },
19
19
  "build": {
20
- "openclawVersion": "2026.7.2-beta.7",
20
+ "openclawVersion": "2026.7.34",
21
21
  "bundledDist": false
22
22
  },
23
23
  "release": {
@@ -38,7 +38,7 @@
38
38
  "README.md"
39
39
  ],
40
40
  "peerDependencies": {
41
- "openclaw": ">=2026.7.2-beta.7"
41
+ "openclaw": ">=2026.7.34"
42
42
  },
43
43
  "peerDependenciesMeta": {
44
44
  "openclaw": {
@@ -1,171 +0,0 @@
1
- //#region extensions/moonshot/openclaw.plugin.json
2
- var openclaw_plugin_default = {
3
- id: "moonshot",
4
- activation: { "onStartup": false },
5
- enabledByDefault: true,
6
- providerCatalogEntry: "./provider-discovery.ts",
7
- providers: ["moonshot"],
8
- providerAuthAliases: {
9
- "moonshotai": "moonshot",
10
- "moonshot-ai": "moonshot"
11
- },
12
- providerEndpoints: [{
13
- "endpointClass": "moonshot-native",
14
- "baseUrls": ["https://api.moonshot.ai/v1", "https://api.moonshot.cn/v1"]
15
- }],
16
- providerRequest: { "providers": { "moonshot": {
17
- "family": "moonshot",
18
- "compatibilityFamily": "moonshot"
19
- } } },
20
- modelPricing: { "providers": { "moonshot": {
21
- "openRouter": { "provider": "moonshotai" },
22
- "liteLLM": { "provider": "moonshot" }
23
- } } },
24
- modelCatalog: {
25
- "aliases": {
26
- "moonshotai": { "provider": "moonshot" },
27
- "moonshot-ai": { "provider": "moonshot" }
28
- },
29
- "providers": { "moonshot": {
30
- "baseUrl": "https://api.moonshot.ai/v1",
31
- "api": "openai-completions",
32
- "defaultModel": "kimi-k3",
33
- "models": [
34
- {
35
- "id": "kimi-k3",
36
- "name": "Kimi K3",
37
- "reasoning": true,
38
- "thinkingLevelMap": {
39
- "off": null,
40
- "minimal": null,
41
- "low": "low",
42
- "medium": null,
43
- "high": "high",
44
- "xhigh": "max",
45
- "max": "max"
46
- },
47
- "input": ["text", "image"],
48
- "contextWindow": 1048576,
49
- "maxTokens": 1048576,
50
- "cost": {
51
- "input": 3,
52
- "output": 15,
53
- "cacheRead": .3,
54
- "cacheWrite": 0
55
- },
56
- "compat": {
57
- "supportsReasoningEffort": true,
58
- "supportedReasoningEfforts": [
59
- "low",
60
- "high",
61
- "max"
62
- ],
63
- "codeMode": "preferred"
64
- }
65
- },
66
- {
67
- "id": "kimi-k2.7-code",
68
- "name": "Kimi K2.7 Code",
69
- "reasoning": true,
70
- "input": ["text", "image"],
71
- "contextWindow": 262144,
72
- "maxTokens": 262144,
73
- "cost": {
74
- "input": .95,
75
- "output": 4,
76
- "cacheRead": .19,
77
- "cacheWrite": 0
78
- }
79
- },
80
- {
81
- "id": "kimi-k2.7-code-highspeed",
82
- "name": "Kimi K2.7 Code HighSpeed",
83
- "reasoning": true,
84
- "input": ["text", "image"],
85
- "contextWindow": 262144,
86
- "maxTokens": 262144,
87
- "cost": {
88
- "input": 1.9,
89
- "output": 8,
90
- "cacheRead": .38,
91
- "cacheWrite": 0
92
- }
93
- }
94
- ]
95
- } },
96
- "discovery": { "moonshot": "refreshable" }
97
- },
98
- setup: { "providers": [{
99
- "id": "moonshot",
100
- "envVars": ["MOONSHOT_API_KEY", "KIMI_API_KEY"]
101
- }] },
102
- providerAuthChoices: [{
103
- "provider": "moonshot",
104
- "method": "api-key",
105
- "choiceId": "moonshot-api-key",
106
- "appGuidedSecret": true,
107
- "choiceLabel": "Moonshot API key (.ai)",
108
- "groupId": "moonshot",
109
- "groupLabel": "Moonshot AI (Kimi)",
110
- "groupHint": "Kimi API models · https://platform.kimi.ai/docs/pricing/chat",
111
- "optionKey": "moonshotApiKey",
112
- "cliFlag": "--moonshot-api-key",
113
- "cliOption": "--moonshot-api-key <key>",
114
- "cliDescription": "Moonshot API key"
115
- }, {
116
- "provider": "moonshot",
117
- "method": "api-key-cn",
118
- "choiceId": "moonshot-api-key-cn",
119
- "appGuidedSecret": true,
120
- "choiceLabel": "Moonshot API key (.cn)",
121
- "groupId": "moonshot",
122
- "groupLabel": "Moonshot AI (Kimi)",
123
- "groupHint": "Kimi API models · https://platform.kimi.ai/docs/pricing/chat",
124
- "optionKey": "moonshotApiKey",
125
- "cliFlag": "--moonshot-api-key",
126
- "cliOption": "--moonshot-api-key <key>",
127
- "cliDescription": "Moonshot API key"
128
- }],
129
- uiHints: {
130
- "webSearch.apiKey": {
131
- "label": "Kimi Search API Key",
132
- "help": "Moonshot/Kimi API key (fallback: KIMI_API_KEY or MOONSHOT_API_KEY env var).",
133
- "sensitive": true
134
- },
135
- "webSearch.baseUrl": {
136
- "label": "Kimi Search Base URL",
137
- "help": "Kimi base URL override."
138
- },
139
- "webSearch.model": {
140
- "label": "Kimi Search Model",
141
- "help": "Kimi model override."
142
- }
143
- },
144
- contracts: {
145
- "mediaUnderstandingProviders": ["moonshot"],
146
- "webSearchProviders": ["kimi"]
147
- },
148
- mediaUnderstandingProviderMetadata: { "moonshot": {
149
- "capabilities": ["image", "video"],
150
- "defaultModels": {
151
- "image": "kimi-k2.6",
152
- "video": "kimi-k2.6"
153
- },
154
- "autoPriority": { "video": 20 }
155
- } },
156
- configSchema: {
157
- "type": "object",
158
- "additionalProperties": false,
159
- "properties": { "webSearch": {
160
- "type": "object",
161
- "additionalProperties": false,
162
- "properties": {
163
- "apiKey": { "type": ["string", "object"] },
164
- "baseUrl": { "type": "string" },
165
- "model": { "type": "string" }
166
- }
167
- } }
168
- }
169
- };
170
- //#endregion
171
- export { openclaw_plugin_default as t };