@openclaw/gmi-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.
package/README.md CHANGED
@@ -11,4 +11,4 @@ openclaw gateway restart
11
11
  ```
12
12
 
13
13
  Configure a GMI Cloud API key, then select models with refs such as
14
- `gmi/openai/gpt-5.6-sol`.
14
+ `gmi/google/gemini-3.1-flash-lite`.
@@ -0,0 +1,113 @@
1
+ import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared";
2
+ //#endregion
3
+ //#region extensions/gmi/models.ts
4
+ const GMI_MANIFEST_PROVIDER = buildManifestModelProviderConfig({
5
+ providerId: "gmi",
6
+ catalog: {
7
+ "aliases": {
8
+ "gmi-cloud": { "provider": "gmi" },
9
+ "gmicloud": { "provider": "gmi" }
10
+ },
11
+ "providers": { "gmi": {
12
+ "baseUrl": "https://api.gmi-serving.com/v1",
13
+ "api": "openai-completions",
14
+ "models": [
15
+ {
16
+ "id": "zai-org/GLM-5.1-FP8",
17
+ "name": "GLM-5.1 FP8",
18
+ "reasoning": true,
19
+ "input": ["text"],
20
+ "contextWindow": 202752,
21
+ "maxTokens": 65536,
22
+ "cost": {
23
+ "input": 0,
24
+ "output": 0,
25
+ "cacheRead": 0,
26
+ "cacheWrite": 0
27
+ }
28
+ },
29
+ {
30
+ "id": "deepseek-ai/DeepSeek-V3.2",
31
+ "name": "DeepSeek V3.2",
32
+ "reasoning": false,
33
+ "input": ["text"],
34
+ "contextWindow": 163840,
35
+ "maxTokens": 65536,
36
+ "cost": {
37
+ "input": 0,
38
+ "output": 0,
39
+ "cacheRead": 0,
40
+ "cacheWrite": 0
41
+ }
42
+ },
43
+ {
44
+ "id": "moonshotai/Kimi-K2.5",
45
+ "name": "Kimi K2.5",
46
+ "reasoning": true,
47
+ "input": ["text", "image"],
48
+ "contextWindow": 262144,
49
+ "maxTokens": 65536,
50
+ "cost": {
51
+ "input": 0,
52
+ "output": 0,
53
+ "cacheRead": 0,
54
+ "cacheWrite": 0
55
+ }
56
+ },
57
+ {
58
+ "id": "google/gemini-3.1-flash-lite",
59
+ "name": "Gemini 3.1 Flash Lite",
60
+ "reasoning": false,
61
+ "input": ["text", "image"],
62
+ "contextWindow": 1048576,
63
+ "maxTokens": 65536,
64
+ "cost": {
65
+ "input": 0,
66
+ "output": 0,
67
+ "cacheRead": 0,
68
+ "cacheWrite": 0
69
+ }
70
+ },
71
+ {
72
+ "id": "anthropic/claude-sonnet-4.6",
73
+ "name": "Claude Sonnet 4.6",
74
+ "reasoning": false,
75
+ "input": ["text", "image"],
76
+ "contextWindow": 2e5,
77
+ "maxTokens": 64e3,
78
+ "cost": {
79
+ "input": 0,
80
+ "output": 0,
81
+ "cacheRead": 0,
82
+ "cacheWrite": 0
83
+ }
84
+ },
85
+ {
86
+ "id": "openai/gpt-5.4",
87
+ "name": "GPT-5.4",
88
+ "reasoning": true,
89
+ "input": ["text", "image"],
90
+ "contextWindow": 4e5,
91
+ "maxTokens": 128e3,
92
+ "cost": {
93
+ "input": 0,
94
+ "output": 0,
95
+ "cacheRead": 0,
96
+ "cacheWrite": 0
97
+ }
98
+ }
99
+ ]
100
+ } }
101
+ }.providers.gmi
102
+ });
103
+ const GMI_BASE_URL = GMI_MANIFEST_PROVIDER.baseUrl;
104
+ const GMI_MODEL_CATALOG = GMI_MANIFEST_PROVIDER.models;
105
+ const GMI_DEFAULT_MODEL_REF = "gmi/google/gemini-3.1-flash-lite";
106
+ function buildGmiModelDefinition(model) {
107
+ return {
108
+ ...model,
109
+ api: "openai-completions"
110
+ };
111
+ }
112
+ //#endregion
113
+ export { buildGmiModelDefinition as i, GMI_DEFAULT_MODEL_REF as n, GMI_MODEL_CATALOG as r, GMI_BASE_URL as t };
package/dist/index.js CHANGED
@@ -1,211 +1,36 @@
1
+ import { n as GMI_DEFAULT_MODEL_REF } from "./.setup/models-CHdeYrhM.mjs";
2
+ import { buildGmiProvider } from "./provider-catalog.js";
1
3
  import { readConfiguredProviderCatalogEntries } from "openclaw/plugin-sdk/provider-catalog-shared";
2
4
  import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry";
3
5
  import { buildProviderReplayFamilyHooks } from "openclaw/plugin-sdk/provider-model-shared";
4
6
  import { buildProviderToolCompatFamilyHooks } from "openclaw/plugin-sdk/provider-tools";
5
- //#region extensions/gmi/openclaw.plugin.json
6
- var openclaw_plugin_default = {
7
- id: "gmi",
8
- name: "GMI Cloud",
9
- description: "OpenClaw GMI Cloud provider plugin.",
10
- activation: { "onStartup": false },
11
- enabledByDefault: true,
12
- providers: [
13
- "gmi",
14
- "gmi-cloud",
15
- "gmicloud"
16
- ],
17
- providerAuthAliases: {
18
- "gmi-cloud": "gmi",
19
- "gmicloud": "gmi"
20
- },
21
- providerEndpoints: [{
22
- "endpointClass": "gmi-native",
23
- "hosts": ["api.gmi-serving.com"]
24
- }],
25
- providerRequest: { "providers": {
26
- "gmi": { "family": "gmi" },
27
- "gmi-cloud": { "family": "gmi" },
28
- "gmicloud": { "family": "gmi" }
29
- } },
30
- setup: { "providers": [{
31
- "id": "gmi",
32
- "envVars": ["GMI_API_KEY"]
33
- }] },
34
- providerAuthChoices: [{
35
- "provider": "gmi",
36
- "method": "api-key",
37
- "choiceId": "gmi-api-key",
38
- "appGuidedSecret": true,
39
- "choiceLabel": "GMI Cloud API key",
40
- "choiceHint": "OpenAI-compatible GMI Cloud endpoint",
41
- "groupId": "gmi",
42
- "groupLabel": "GMI Cloud",
43
- "groupHint": "OpenAI-compatible GMI Cloud endpoint",
44
- "optionKey": "gmiApiKey",
45
- "cliFlag": "--gmi-api-key",
46
- "cliOption": "--gmi-api-key <key>",
47
- "cliDescription": "GMI Cloud API key"
48
- }],
49
- configSchema: {
50
- "type": "object",
51
- "additionalProperties": false,
52
- "properties": {}
53
- },
54
- modelCatalog: {
55
- "aliases": {
56
- "gmi-cloud": { "provider": "gmi" },
57
- "gmicloud": { "provider": "gmi" }
58
- },
59
- "providers": { "gmi": {
60
- "baseUrl": "https://api.gmi-serving.com/v1",
61
- "api": "openai-completions",
62
- "defaultModel": "openai/gpt-5.6-sol",
63
- "models": [
64
- {
65
- "id": "zai-org/GLM-5.2-FP8",
66
- "name": "GLM-5.2 FP8",
67
- "reasoning": true,
68
- "input": ["text"],
69
- "contextWindow": 1048576,
70
- "maxTokens": 128e3,
71
- "cost": {
72
- "input": .923,
73
- "output": 2.903,
74
- "cacheRead": .171,
75
- "cacheWrite": 0
76
- }
77
- },
78
- {
79
- "id": "zai-org/GLM-5.1-FP8",
80
- "name": "GLM-5.1 FP8",
81
- "status": "deprecated",
82
- "replacedBy": "zai-org/GLM-5.2-FP8",
83
- "reasoning": true,
84
- "input": ["text"],
85
- "contextWindow": 202752,
86
- "maxTokens": 65536,
87
- "cost": {
88
- "input": .979,
89
- "output": 3.08,
90
- "cacheRead": .182,
91
- "cacheWrite": 0
92
- }
93
- },
94
- {
95
- "id": "deepseek-ai/DeepSeek-V4-Pro",
96
- "name": "DeepSeek V4 Pro",
97
- "reasoning": true,
98
- "input": ["text"],
99
- "contextWindow": 1048576,
100
- "maxTokens": 384e3,
101
- "cost": {
102
- "input": .678,
103
- "output": 1.357,
104
- "cacheRead": .056,
105
- "cacheWrite": 0
106
- },
107
- "compat": { "codeMode": "capable" }
108
- },
109
- {
110
- "id": "deepseek-ai/DeepSeek-V3.2",
111
- "name": "DeepSeek V3.2",
112
- "status": "deprecated",
113
- "replacedBy": "deepseek-ai/DeepSeek-V4-Pro",
114
- "reasoning": false,
115
- "input": ["text"],
116
- "contextWindow": 163840,
117
- "maxTokens": 65536,
118
- "cost": {
119
- "input": .29,
120
- "output": .43,
121
- "cacheRead": .03,
122
- "cacheWrite": 0
123
- }
124
- },
125
- {
126
- "id": "google/gemini-3.5-flash-lite",
127
- "name": "Gemini 3.5 Flash Lite",
128
- "reasoning": true,
129
- "input": ["text", "image"],
130
- "contextWindow": 1048576,
131
- "maxTokens": 65536,
132
- "cost": {
133
- "input": .3,
134
- "output": 2.5,
135
- "cacheRead": .03,
136
- "cacheWrite": 0
137
- }
138
- },
139
- {
140
- "id": "anthropic/claude-sonnet-5",
141
- "name": "Claude Sonnet 5",
142
- "reasoning": true,
143
- "input": ["text", "image"],
144
- "contextWindow": 409600,
145
- "maxTokens": 128e3,
146
- "cost": {
147
- "input": 2,
148
- "output": 10,
149
- "cacheRead": .2,
150
- "cacheWrite": 0
151
- },
152
- "compat": { "codeMode": "capable" }
153
- },
154
- {
155
- "id": "anthropic/claude-sonnet-4.6",
156
- "name": "Claude Sonnet 4.6",
157
- "status": "deprecated",
158
- "replacedBy": "anthropic/claude-sonnet-5",
159
- "reasoning": true,
160
- "input": ["text", "image"],
161
- "contextWindow": 409600,
162
- "maxTokens": 64e3,
163
- "cost": {
164
- "input": 3,
165
- "output": 15,
166
- "cacheRead": .3,
167
- "cacheWrite": 0
168
- }
169
- },
170
- {
171
- "id": "openai/gpt-5.6-sol",
172
- "name": "GPT-5.6 Sol",
173
- "reasoning": true,
174
- "input": ["text", "image"],
175
- "contextWindow": 105e4,
176
- "maxTokens": 128e3,
177
- "cost": {
178
- "input": 5,
179
- "output": 30,
180
- "cacheRead": .5,
181
- "cacheWrite": 6.25
182
- },
183
- "compat": { "codeMode": "capable" }
184
- }
185
- ]
186
- } },
187
- "discovery": { "gmi": "refreshable" }
188
- }
189
- };
190
- //#endregion
191
7
  //#region extensions/gmi/index.ts
192
8
  const PROVIDER_ID = "gmi";
193
9
  var gmi_default = defineSingleProviderPluginEntry({
194
10
  id: PROVIDER_ID,
195
11
  name: "GMI Cloud Provider",
196
12
  description: "GMI Cloud provider plugin",
197
- manifest: openclaw_plugin_default,
198
13
  provider: {
199
14
  label: "GMI Cloud",
200
15
  docsPath: "/providers/gmi",
201
16
  aliases: ["gmi-cloud", "gmicloud"],
202
- manifestAuth: {
17
+ envVars: ["GMI_API_KEY"],
18
+ auth: [{
19
+ methodId: "api-key",
20
+ label: "GMI Cloud API key",
21
+ hint: "OpenAI-compatible GMI Cloud endpoint",
22
+ optionKey: "gmiApiKey",
23
+ flagName: "--gmi-api-key",
24
+ envVar: "GMI_API_KEY",
25
+ promptMessage: "Enter GMI Cloud API key",
26
+ defaultModel: GMI_DEFAULT_MODEL_REF,
203
27
  noteTitle: "GMI Cloud",
204
28
  noteMessage: "Manage API keys at https://www.gmicloud.ai/"
205
- },
29
+ }],
206
30
  catalog: {
207
- allowExplicitBaseUrl: true,
208
- liveModelDiscovery: true
31
+ buildProvider: buildGmiProvider,
32
+ buildStaticProvider: buildGmiProvider,
33
+ allowExplicitBaseUrl: true
209
34
  },
210
35
  augmentModelCatalog: ({ config }) => readConfiguredProviderCatalogEntries({
211
36
  config,
package/dist/models.js ADDED
@@ -0,0 +1,2 @@
1
+ import { i as buildGmiModelDefinition, n as GMI_DEFAULT_MODEL_REF, r as GMI_MODEL_CATALOG, t as GMI_BASE_URL } from "./.setup/models-CHdeYrhM.mjs";
2
+ export { GMI_BASE_URL, GMI_DEFAULT_MODEL_REF, GMI_MODEL_CATALOG, buildGmiModelDefinition };
@@ -0,0 +1,11 @@
1
+ import { i as buildGmiModelDefinition, r as GMI_MODEL_CATALOG, t as GMI_BASE_URL } from "./.setup/models-CHdeYrhM.mjs";
2
+ //#region extensions/gmi/provider-catalog.ts
3
+ function buildGmiProvider() {
4
+ return {
5
+ baseUrl: GMI_BASE_URL,
6
+ api: "openai-completions",
7
+ models: GMI_MODEL_CATALOG.map(buildGmiModelDefinition)
8
+ };
9
+ }
10
+ //#endregion
11
+ export { buildGmiProvider };
@@ -73,140 +73,93 @@
73
73
  "gmi": {
74
74
  "baseUrl": "https://api.gmi-serving.com/v1",
75
75
  "api": "openai-completions",
76
- "defaultModel": "openai/gpt-5.6-sol",
77
76
  "models": [
78
- {
79
- "id": "zai-org/GLM-5.2-FP8",
80
- "name": "GLM-5.2 FP8",
81
- "reasoning": true,
82
- "input": ["text"],
83
- "contextWindow": 1048576,
84
- "maxTokens": 128000,
85
- "cost": {
86
- "input": 0.923,
87
- "output": 2.903,
88
- "cacheRead": 0.171,
89
- "cacheWrite": 0
90
- }
91
- },
92
77
  {
93
78
  "id": "zai-org/GLM-5.1-FP8",
94
79
  "name": "GLM-5.1 FP8",
95
- "status": "deprecated",
96
- "replacedBy": "zai-org/GLM-5.2-FP8",
97
80
  "reasoning": true,
98
81
  "input": ["text"],
99
82
  "contextWindow": 202752,
100
83
  "maxTokens": 65536,
101
84
  "cost": {
102
- "input": 0.979,
103
- "output": 3.08,
104
- "cacheRead": 0.182,
85
+ "input": 0,
86
+ "output": 0,
87
+ "cacheRead": 0,
105
88
  "cacheWrite": 0
106
89
  }
107
90
  },
108
- {
109
- "id": "deepseek-ai/DeepSeek-V4-Pro",
110
- "name": "DeepSeek V4 Pro",
111
- "reasoning": true,
112
- "input": ["text"],
113
- "contextWindow": 1048576,
114
- "maxTokens": 384000,
115
- "cost": {
116
- "input": 0.678,
117
- "output": 1.357,
118
- "cacheRead": 0.056,
119
- "cacheWrite": 0
120
- },
121
- "compat": {
122
- "codeMode": "capable"
123
- }
124
- },
125
91
  {
126
92
  "id": "deepseek-ai/DeepSeek-V3.2",
127
93
  "name": "DeepSeek V3.2",
128
- "status": "deprecated",
129
- "replacedBy": "deepseek-ai/DeepSeek-V4-Pro",
130
94
  "reasoning": false,
131
95
  "input": ["text"],
132
96
  "contextWindow": 163840,
133
97
  "maxTokens": 65536,
134
98
  "cost": {
135
- "input": 0.29,
136
- "output": 0.43,
137
- "cacheRead": 0.03,
99
+ "input": 0,
100
+ "output": 0,
101
+ "cacheRead": 0,
138
102
  "cacheWrite": 0
139
103
  }
140
104
  },
141
105
  {
142
- "id": "google/gemini-3.5-flash-lite",
143
- "name": "Gemini 3.5 Flash Lite",
106
+ "id": "moonshotai/Kimi-K2.5",
107
+ "name": "Kimi K2.5",
144
108
  "reasoning": true,
145
109
  "input": ["text", "image"],
146
- "contextWindow": 1048576,
110
+ "contextWindow": 262144,
147
111
  "maxTokens": 65536,
148
112
  "cost": {
149
- "input": 0.3,
150
- "output": 2.5,
151
- "cacheRead": 0.03,
113
+ "input": 0,
114
+ "output": 0,
115
+ "cacheRead": 0,
152
116
  "cacheWrite": 0
153
117
  }
154
118
  },
155
119
  {
156
- "id": "anthropic/claude-sonnet-5",
157
- "name": "Claude Sonnet 5",
158
- "reasoning": true,
120
+ "id": "google/gemini-3.1-flash-lite",
121
+ "name": "Gemini 3.1 Flash Lite",
122
+ "reasoning": false,
159
123
  "input": ["text", "image"],
160
- "contextWindow": 409600,
161
- "maxTokens": 128000,
124
+ "contextWindow": 1048576,
125
+ "maxTokens": 65536,
162
126
  "cost": {
163
- "input": 2,
164
- "output": 10,
165
- "cacheRead": 0.2,
127
+ "input": 0,
128
+ "output": 0,
129
+ "cacheRead": 0,
166
130
  "cacheWrite": 0
167
- },
168
- "compat": {
169
- "codeMode": "capable"
170
131
  }
171
132
  },
172
133
  {
173
134
  "id": "anthropic/claude-sonnet-4.6",
174
135
  "name": "Claude Sonnet 4.6",
175
- "status": "deprecated",
176
- "replacedBy": "anthropic/claude-sonnet-5",
177
- "reasoning": true,
136
+ "reasoning": false,
178
137
  "input": ["text", "image"],
179
- "contextWindow": 409600,
138
+ "contextWindow": 200000,
180
139
  "maxTokens": 64000,
181
140
  "cost": {
182
- "input": 3,
183
- "output": 15,
184
- "cacheRead": 0.3,
141
+ "input": 0,
142
+ "output": 0,
143
+ "cacheRead": 0,
185
144
  "cacheWrite": 0
186
145
  }
187
146
  },
188
147
  {
189
- "id": "openai/gpt-5.6-sol",
190
- "name": "GPT-5.6 Sol",
148
+ "id": "openai/gpt-5.4",
149
+ "name": "GPT-5.4",
191
150
  "reasoning": true,
192
151
  "input": ["text", "image"],
193
- "contextWindow": 1050000,
152
+ "contextWindow": 400000,
194
153
  "maxTokens": 128000,
195
154
  "cost": {
196
- "input": 5,
197
- "output": 30,
198
- "cacheRead": 0.5,
199
- "cacheWrite": 6.25
200
- },
201
- "compat": {
202
- "codeMode": "capable"
155
+ "input": 0,
156
+ "output": 0,
157
+ "cacheRead": 0,
158
+ "cacheWrite": 0
203
159
  }
204
160
  }
205
161
  ]
206
162
  }
207
- },
208
- "discovery": {
209
- "gmi": "refreshable"
210
163
  }
211
164
  }
212
165
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/gmi-provider",
3
- "version": "2026.7.2-beta.7",
3
+ "version": "2026.7.33",
4
4
  "description": "OpenClaw GMI Cloud provider plugin.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,10 +18,10 @@
18
18
  "minHostVersion": ">=2026.6.8"
19
19
  },
20
20
  "compat": {
21
- "pluginApi": ">=2026.7.2-beta.7"
21
+ "pluginApi": ">=2026.7.33"
22
22
  },
23
23
  "build": {
24
- "openclawVersion": "2026.7.2-beta.7",
24
+ "openclawVersion": "2026.7.33",
25
25
  "bundledDist": false
26
26
  },
27
27
  "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": {