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

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-CG1xqS4X.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-BGSHIo8D.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,121 @@
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-k2.7-code",
27
+ "name": "Kimi K2.7 Code",
28
+ "reasoning": true,
29
+ "input": ["text", "image"],
30
+ "contextWindow": 262144,
31
+ "maxTokens": 262144,
32
+ "cost": {
33
+ "input": .95,
34
+ "output": 4,
35
+ "cacheRead": .19,
36
+ "cacheWrite": 0
37
+ }
38
+ },
39
+ {
40
+ "id": "kimi-k2.5",
41
+ "name": "Kimi K2.5",
42
+ "input": ["text", "image"],
43
+ "contextWindow": 262144,
44
+ "maxTokens": 262144,
45
+ "cost": {
46
+ "input": .6,
47
+ "output": 3,
48
+ "cacheRead": .1,
49
+ "cacheWrite": 0
50
+ }
51
+ },
52
+ {
53
+ "id": "kimi-k2-thinking",
54
+ "name": "Kimi K2 Thinking",
55
+ "reasoning": true,
56
+ "input": ["text"],
57
+ "contextWindow": 262144,
58
+ "maxTokens": 262144,
59
+ "cost": {
60
+ "input": 0,
61
+ "output": 0,
62
+ "cacheRead": 0,
63
+ "cacheWrite": 0
64
+ }
65
+ },
66
+ {
67
+ "id": "kimi-k2-thinking-turbo",
68
+ "name": "Kimi K2 Thinking Turbo",
69
+ "reasoning": true,
70
+ "input": ["text"],
71
+ "contextWindow": 262144,
72
+ "maxTokens": 262144,
73
+ "cost": {
74
+ "input": 0,
75
+ "output": 0,
76
+ "cacheRead": 0,
77
+ "cacheWrite": 0
78
+ }
79
+ },
80
+ {
81
+ "id": "kimi-k2-turbo",
82
+ "name": "Kimi K2 Turbo",
83
+ "input": ["text"],
84
+ "contextWindow": 256e3,
85
+ "maxTokens": 16384,
86
+ "cost": {
87
+ "input": 0,
88
+ "output": 0,
89
+ "cacheRead": 0,
90
+ "cacheWrite": 0
91
+ }
92
+ }
93
+ ]
94
+ } },
95
+ "discovery": { "moonshot": "static" }
96
+ };
97
+ //#endregion
98
+ //#region extensions/moonshot/provider-catalog.ts
99
+ const MOONSHOT_BASE_URL = "https://api.moonshot.ai/v1";
100
+ const MOONSHOT_CN_BASE_URL = "https://api.moonshot.cn/v1";
101
+ const MOONSHOT_DEFAULT_MODEL_ID = "kimi-k2.6";
102
+ function isNativeMoonshotBaseUrl(baseUrl) {
103
+ return supportsNativeStreamingUsageCompat({
104
+ providerId: "moonshot",
105
+ baseUrl
106
+ });
107
+ }
108
+ function applyMoonshotNativeStreamingUsageCompat(provider) {
109
+ return applyProviderNativeStreamingUsageCompat({
110
+ providerId: "moonshot",
111
+ providerConfig: provider
112
+ });
113
+ }
114
+ function buildMoonshotProvider() {
115
+ return buildManifestModelProviderConfig({
116
+ providerId: "moonshot",
117
+ catalog: modelCatalog.providers.moonshot
118
+ });
119
+ }
120
+ //#endregion
121
+ 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-BGSHIo8D.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-BGSHIo8D.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
- import { isMoonshotAlwaysThinkingModelId, resolveThinkingProfile } from "./provider-policy-api.js";
6
- import { t as createKimiWebSearchProvider } from "./kimi-web-search-provider-DGFWylD8.js";
5
+ import { KIMI_K2_7_CODE_MODEL_ID, resolveThinkingProfile } from "./provider-policy-api.js";
6
+ import { t as createKimiWebSearchProvider } from "./.setup/kimi-web-search-provider-BS8md8v7.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, {
@@ -55,9 +54,9 @@ var moonshot_default = defineSingleProviderPluginEntry({
55
54
  dropReasoningFromHistory: false
56
55
  }),
57
56
  ...moonshotThinkingStreamHooks,
58
- wrapSimpleCompletionStreamFn: (ctx) => isMoonshotAlwaysThinkingModelId(ctx.modelId) ? moonshotThinkingStreamHooks.wrapStreamFn?.(ctx) : ctx.streamFn,
57
+ wrapSimpleCompletionStreamFn: (ctx) => ctx.modelId.trim().toLowerCase() === "kimi-k2.7-code" ? moonshotThinkingStreamHooks.wrapStreamFn?.(ctx) : ctx.streamFn,
59
58
  resolveThinkingProfile,
60
- isModernModelRef: ({ modelId }) => isMoonshotAlwaysThinkingModelId(modelId)
59
+ isModernModelRef: ({ modelId }) => modelId.trim().toLowerCase() === KIMI_K2_7_CODE_MODEL_ID
61
60
  },
62
61
  register(api) {
63
62
  api.registerMediaUnderstandingProvider(moonshotMediaUnderstandingProvider);
@@ -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-BGSHIo8D.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-BGSHIo8D.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-BGSHIo8D.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-BGSHIo8D.mjs";
2
2
  //#region extensions/moonshot/provider-discovery.ts
3
3
  const moonshotProviderDiscovery = {
4
4
  id: "moonshot",
@@ -1,22 +1,7 @@
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
- const KIMI_K3_MODEL_ID = "kimi-k3";
5
- function isMoonshotAlwaysThinkingModelId(modelId) {
6
- const normalized = modelId.trim().toLowerCase();
7
- return normalized === "kimi-k2.7-code" || normalized === "kimi-k2.7-code-highspeed" || normalized === "kimi-k3";
8
- }
9
3
  function resolveThinkingProfile(context) {
10
- const modelId = context.modelId.trim().toLowerCase();
11
- if (modelId === "kimi-k3") return {
12
- levels: [{
13
- id: "max",
14
- label: "max"
15
- }],
16
- defaultLevel: "max",
17
- preserveWhenCatalogReasoningFalse: true
18
- };
19
- if (modelId === "kimi-k2.7-code" || modelId === "kimi-k2.7-code-highspeed") return {
4
+ if (context.modelId.trim().toLowerCase() === "kimi-k2.7-code") return {
20
5
  levels: [{
21
6
  id: "low",
22
7
  label: "on"
@@ -36,4 +21,4 @@ function resolveThinkingProfile(context) {
36
21
  };
37
22
  }
38
23
  //#endregion
39
- export { KIMI_K2_7_CODE_HIGHSPEED_MODEL_ID, KIMI_K2_7_CODE_MODEL_ID, KIMI_K3_MODEL_ID, isMoonshotAlwaysThinkingModelId, resolveThinkingProfile };
24
+ export { KIMI_K2_7_CODE_MODEL_ID, 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-BS8md8v7.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,41 +54,21 @@
54
54
  "moonshot": {
55
55
  "baseUrl": "https://api.moonshot.ai/v1",
56
56
  "api": "openai-completions",
57
- "defaultModel": "kimi-k3",
58
57
  "models": [
59
58
  {
60
- "id": "kimi-k3",
61
- "name": "Kimi K3",
62
- "reasoning": true,
63
- "thinkingLevelMap": {
64
- "off": null,
65
- "minimal": null,
66
- "low": "low",
67
- "medium": null,
68
- "high": "high",
69
- "xhigh": "max",
70
- "max": "max"
71
- },
59
+ "id": "kimi-k2.6",
60
+ "name": "Kimi K2.6",
72
61
  "input": [
73
62
  "text",
74
63
  "image"
75
64
  ],
76
- "contextWindow": 1048576,
77
- "maxTokens": 1048576,
65
+ "contextWindow": 262144,
66
+ "maxTokens": 262144,
78
67
  "cost": {
79
- "input": 3,
80
- "output": 15,
81
- "cacheRead": 0.3,
68
+ "input": 0.95,
69
+ "output": 4,
70
+ "cacheRead": 0.16,
82
71
  "cacheWrite": 0
83
- },
84
- "compat": {
85
- "supportsReasoningEffort": true,
86
- "supportedReasoningEfforts": [
87
- "low",
88
- "high",
89
- "max"
90
- ],
91
- "codeMode": "preferred"
92
72
  }
93
73
  },
94
74
  {
@@ -109,9 +89,8 @@
109
89
  }
110
90
  },
111
91
  {
112
- "id": "kimi-k2.7-code-highspeed",
113
- "name": "Kimi K2.7 Code HighSpeed",
114
- "reasoning": true,
92
+ "id": "kimi-k2.5",
93
+ "name": "Kimi K2.5",
115
94
  "input": [
116
95
  "text",
117
96
  "image"
@@ -119,9 +98,56 @@
119
98
  "contextWindow": 262144,
120
99
  "maxTokens": 262144,
121
100
  "cost": {
122
- "input": 1.9,
123
- "output": 8,
124
- "cacheRead": 0.38,
101
+ "input": 0.6,
102
+ "output": 3,
103
+ "cacheRead": 0.1,
104
+ "cacheWrite": 0
105
+ }
106
+ },
107
+ {
108
+ "id": "kimi-k2-thinking",
109
+ "name": "Kimi K2 Thinking",
110
+ "reasoning": true,
111
+ "input": [
112
+ "text"
113
+ ],
114
+ "contextWindow": 262144,
115
+ "maxTokens": 262144,
116
+ "cost": {
117
+ "input": 0,
118
+ "output": 0,
119
+ "cacheRead": 0,
120
+ "cacheWrite": 0
121
+ }
122
+ },
123
+ {
124
+ "id": "kimi-k2-thinking-turbo",
125
+ "name": "Kimi K2 Thinking Turbo",
126
+ "reasoning": true,
127
+ "input": [
128
+ "text"
129
+ ],
130
+ "contextWindow": 262144,
131
+ "maxTokens": 262144,
132
+ "cost": {
133
+ "input": 0,
134
+ "output": 0,
135
+ "cacheRead": 0,
136
+ "cacheWrite": 0
137
+ }
138
+ },
139
+ {
140
+ "id": "kimi-k2-turbo",
141
+ "name": "Kimi K2 Turbo",
142
+ "input": [
143
+ "text"
144
+ ],
145
+ "contextWindow": 256000,
146
+ "maxTokens": 16384,
147
+ "cost": {
148
+ "input": 0,
149
+ "output": 0,
150
+ "cacheRead": 0,
125
151
  "cacheWrite": 0
126
152
  }
127
153
  }
@@ -129,7 +155,7 @@
129
155
  }
130
156
  },
131
157
  "discovery": {
132
- "moonshot": "refreshable"
158
+ "moonshot": "static"
133
159
  }
134
160
  },
135
161
  "setup": {
@@ -151,8 +177,8 @@
151
177
  "appGuidedSecret": true,
152
178
  "choiceLabel": "Moonshot API key (.ai)",
153
179
  "groupId": "moonshot",
154
- "groupLabel": "Moonshot AI (Kimi)",
155
- "groupHint": "Kimi API models \u00b7 https://platform.kimi.ai/docs/pricing/chat",
180
+ "groupLabel": "Moonshot AI (Kimi K2.6)",
181
+ "groupHint": "Kimi K2.6",
156
182
  "optionKey": "moonshotApiKey",
157
183
  "cliFlag": "--moonshot-api-key",
158
184
  "cliOption": "--moonshot-api-key <key>",
@@ -165,8 +191,8 @@
165
191
  "appGuidedSecret": true,
166
192
  "choiceLabel": "Moonshot API key (.cn)",
167
193
  "groupId": "moonshot",
168
- "groupLabel": "Moonshot AI (Kimi)",
169
- "groupHint": "Kimi API models \u00b7 https://platform.kimi.ai/docs/pricing/chat",
194
+ "groupLabel": "Moonshot AI (Kimi K2.6)",
195
+ "groupHint": "Kimi K2.6",
170
196
  "optionKey": "moonshotApiKey",
171
197
  "cliFlag": "--moonshot-api-key",
172
198
  "cliOption": "--moonshot-api-key <key>",
@@ -211,6 +237,11 @@
211
237
  }
212
238
  }
213
239
  },
240
+ "configContracts": {
241
+ "compatibilityRuntimePaths": [
242
+ "tools.web.search.apiKey"
243
+ ]
244
+ },
214
245
  "configSchema": {
215
246
  "type": "object",
216
247
  "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.33",
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.33"
18
18
  },
19
19
  "build": {
20
- "openclawVersion": "2026.7.2-beta.7",
20
+ "openclawVersion": "2026.7.33",
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.33"
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 };