@openclaw/novita-provider 0.0.0 → 2026.8.1-beta.2

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
@@ -1,3 +1,15 @@
1
- # @openclaw/novita-provider
1
+ # OpenClaw NovitaAI provider
2
2
 
3
- Reserved placeholder for the official OpenClaw plugin package. Use a published release version instead.
3
+ Official OpenClaw provider plugin for NovitaAI's OpenAI-compatible API.
4
+
5
+ ## Install
6
+
7
+ ```sh
8
+ openclaw plugins install @openclaw/novita-provider
9
+ openclaw gateway restart
10
+ ```
11
+
12
+ ## Docs
13
+
14
+ See `docs/providers/novita.md` in the OpenClaw repository, or the published
15
+ docs at `https://docs.openclaw.ai/providers/novita`.
package/dist/index.js ADDED
@@ -0,0 +1,217 @@
1
+ import { readConfiguredProviderCatalogEntries } from "openclaw/plugin-sdk/provider-catalog-shared";
2
+ import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry";
3
+ import { buildProviderReplayFamilyHooks } from "openclaw/plugin-sdk/provider-model-shared";
4
+ import { buildProviderToolCompatFamilyHooks } from "openclaw/plugin-sdk/provider-tools";
5
+ //#region extensions/novita/openclaw.plugin.json
6
+ var openclaw_plugin_default = {
7
+ id: "novita",
8
+ activation: { "onStartup": false },
9
+ enabledByDefault: true,
10
+ providers: [
11
+ "novita",
12
+ "novita-ai",
13
+ "novitaai"
14
+ ],
15
+ providerAuthAliases: {
16
+ "novita-ai": "novita",
17
+ "novitaai": "novita"
18
+ },
19
+ providerEndpoints: [{
20
+ "endpointClass": "novita-native",
21
+ "hosts": ["api.novita.ai"]
22
+ }],
23
+ providerRequest: { "providers": {
24
+ "novita": { "family": "novita" },
25
+ "novita-ai": { "family": "novita" },
26
+ "novitaai": { "family": "novita" }
27
+ } },
28
+ setup: { "providers": [{
29
+ "id": "novita",
30
+ "envVars": ["NOVITA_API_KEY"]
31
+ }] },
32
+ providerAuthChoices: [{
33
+ "provider": "novita",
34
+ "method": "api-key",
35
+ "choiceId": "novita-api-key",
36
+ "appGuidedSecret": true,
37
+ "choiceLabel": "NovitaAI API key",
38
+ "choiceHint": "OpenAI-compatible NovitaAI endpoint",
39
+ "groupId": "novita",
40
+ "groupLabel": "NovitaAI",
41
+ "groupHint": "OpenAI-compatible NovitaAI endpoint",
42
+ "optionKey": "novitaApiKey",
43
+ "cliFlag": "--novita-api-key",
44
+ "cliOption": "--novita-api-key <key>",
45
+ "cliDescription": "NovitaAI API key"
46
+ }],
47
+ configSchema: {
48
+ "type": "object",
49
+ "additionalProperties": false,
50
+ "properties": {}
51
+ },
52
+ modelCatalog: {
53
+ "aliases": {
54
+ "novita-ai": { "provider": "novita" },
55
+ "novitaai": { "provider": "novita" }
56
+ },
57
+ "providers": { "novita": {
58
+ "baseUrl": "https://api.novita.ai/openai/v1",
59
+ "api": "openai-completions",
60
+ "defaultModel": "deepseek/deepseek-v4-pro",
61
+ "models": [
62
+ {
63
+ "id": "moonshotai/kimi-k3",
64
+ "name": "Kimi K3",
65
+ "reasoning": true,
66
+ "input": ["text", "image"],
67
+ "contextWindow": 1048576,
68
+ "maxTokens": 1048576,
69
+ "cost": {
70
+ "input": 3,
71
+ "output": 15,
72
+ "cacheRead": .3,
73
+ "cacheWrite": 0
74
+ },
75
+ "compat": { "codeMode": "capable" }
76
+ },
77
+ {
78
+ "id": "moonshotai/kimi-k2.7-code",
79
+ "name": "Kimi K2.7 Code",
80
+ "reasoning": true,
81
+ "input": ["text", "image"],
82
+ "contextWindow": 262144,
83
+ "maxTokens": 262144,
84
+ "cost": {
85
+ "input": .95,
86
+ "output": 4,
87
+ "cacheRead": .19,
88
+ "cacheWrite": 0
89
+ }
90
+ },
91
+ {
92
+ "id": "minimax/minimax-m3",
93
+ "name": "MiniMax M3",
94
+ "reasoning": true,
95
+ "input": ["text", "image"],
96
+ "contextWindow": 1e6,
97
+ "maxTokens": 131072,
98
+ "cost": {
99
+ "input": .3,
100
+ "output": 1.2,
101
+ "cacheRead": .06,
102
+ "cacheWrite": 0
103
+ }
104
+ },
105
+ {
106
+ "id": "zai-org/glm-5.2",
107
+ "name": "GLM-5.2",
108
+ "reasoning": true,
109
+ "input": ["text"],
110
+ "contextWindow": 1048576,
111
+ "maxTokens": 131072,
112
+ "cost": {
113
+ "input": 1.4,
114
+ "output": 4.4,
115
+ "cacheRead": .26,
116
+ "cacheWrite": 0
117
+ },
118
+ "compat": { "codeMode": "capable" }
119
+ },
120
+ {
121
+ "id": "deepseek/deepseek-v4-pro",
122
+ "name": "DeepSeek V4 Pro",
123
+ "reasoning": true,
124
+ "input": ["text"],
125
+ "contextWindow": 1048576,
126
+ "maxTokens": 393216,
127
+ "cost": {
128
+ "input": 1.6,
129
+ "output": 3.2,
130
+ "cacheRead": .135,
131
+ "cacheWrite": 0
132
+ },
133
+ "compat": { "codeMode": "capable" }
134
+ },
135
+ {
136
+ "id": "deepseek/deepseek-v4-flash",
137
+ "name": "DeepSeek V4 Flash",
138
+ "reasoning": true,
139
+ "input": ["text"],
140
+ "contextWindow": 1048576,
141
+ "maxTokens": 393216,
142
+ "cost": {
143
+ "input": .14,
144
+ "output": .28,
145
+ "cacheRead": .028,
146
+ "cacheWrite": 0
147
+ },
148
+ "compat": { "codeMode": "capable" }
149
+ },
150
+ {
151
+ "id": "qwen/qwen3.7-max",
152
+ "name": "Qwen3.7-Max",
153
+ "reasoning": true,
154
+ "input": ["text"],
155
+ "contextWindow": 1e6,
156
+ "maxTokens": 65536,
157
+ "cost": {
158
+ "input": 1.25,
159
+ "output": 3.75,
160
+ "cacheRead": .25,
161
+ "cacheWrite": 0
162
+ }
163
+ },
164
+ {
165
+ "id": "minimax/minimax-m2.7",
166
+ "name": "MiniMax M2.7",
167
+ "status": "deprecated",
168
+ "replacedBy": "minimax/minimax-m3",
169
+ "reasoning": true,
170
+ "input": ["text"],
171
+ "contextWindow": 204800,
172
+ "maxTokens": 131072,
173
+ "cost": {
174
+ "input": .3,
175
+ "output": 1.2,
176
+ "cacheRead": .06,
177
+ "cacheWrite": 0
178
+ }
179
+ }
180
+ ]
181
+ } },
182
+ "discovery": { "novita": "refreshable" }
183
+ }
184
+ };
185
+ //#endregion
186
+ //#region extensions/novita/index.ts
187
+ const PROVIDER_ID = "novita";
188
+ var novita_default = defineSingleProviderPluginEntry({
189
+ id: PROVIDER_ID,
190
+ name: "NovitaAI Provider",
191
+ description: "Official OpenClaw NovitaAI provider plugin",
192
+ manifest: openclaw_plugin_default,
193
+ provider: {
194
+ label: "NovitaAI",
195
+ docsPath: "/providers/novita",
196
+ aliases: ["novita-ai", "novitaai"],
197
+ manifestAuth: {
198
+ noteTitle: "NovitaAI",
199
+ noteMessage: "Manage API keys at https://novita.ai/settings/key-management"
200
+ },
201
+ catalog: {
202
+ allowExplicitBaseUrl: true,
203
+ liveModelDiscovery: true
204
+ },
205
+ augmentModelCatalog: ({ config }) => readConfiguredProviderCatalogEntries({
206
+ config,
207
+ providerId: PROVIDER_ID
208
+ }),
209
+ ...buildProviderReplayFamilyHooks({
210
+ family: "openai-compatible",
211
+ dropReasoningFromHistory: false
212
+ }),
213
+ ...buildProviderToolCompatFamilyHooks("openai")
214
+ }
215
+ });
216
+ //#endregion
217
+ export { novita_default as default };
@@ -0,0 +1,209 @@
1
+ {
2
+ "id": "novita",
3
+ "activation": {
4
+ "onStartup": false
5
+ },
6
+ "enabledByDefault": true,
7
+ "providers": ["novita", "novita-ai", "novitaai"],
8
+ "providerAuthAliases": {
9
+ "novita-ai": "novita",
10
+ "novitaai": "novita"
11
+ },
12
+ "providerEndpoints": [
13
+ {
14
+ "endpointClass": "novita-native",
15
+ "hosts": ["api.novita.ai"]
16
+ }
17
+ ],
18
+ "providerRequest": {
19
+ "providers": {
20
+ "novita": {
21
+ "family": "novita"
22
+ },
23
+ "novita-ai": {
24
+ "family": "novita"
25
+ },
26
+ "novitaai": {
27
+ "family": "novita"
28
+ }
29
+ }
30
+ },
31
+ "setup": {
32
+ "providers": [
33
+ {
34
+ "id": "novita",
35
+ "envVars": ["NOVITA_API_KEY"]
36
+ }
37
+ ]
38
+ },
39
+ "providerAuthChoices": [
40
+ {
41
+ "provider": "novita",
42
+ "method": "api-key",
43
+ "choiceId": "novita-api-key",
44
+ "appGuidedSecret": true,
45
+ "choiceLabel": "NovitaAI API key",
46
+ "choiceHint": "OpenAI-compatible NovitaAI endpoint",
47
+ "groupId": "novita",
48
+ "groupLabel": "NovitaAI",
49
+ "groupHint": "OpenAI-compatible NovitaAI endpoint",
50
+ "optionKey": "novitaApiKey",
51
+ "cliFlag": "--novita-api-key",
52
+ "cliOption": "--novita-api-key <key>",
53
+ "cliDescription": "NovitaAI API key"
54
+ }
55
+ ],
56
+ "configSchema": {
57
+ "type": "object",
58
+ "additionalProperties": false,
59
+ "properties": {}
60
+ },
61
+ "modelCatalog": {
62
+ "aliases": {
63
+ "novita-ai": {
64
+ "provider": "novita"
65
+ },
66
+ "novitaai": {
67
+ "provider": "novita"
68
+ }
69
+ },
70
+ "providers": {
71
+ "novita": {
72
+ "baseUrl": "https://api.novita.ai/openai/v1",
73
+ "api": "openai-completions",
74
+ "defaultModel": "deepseek/deepseek-v4-pro",
75
+ "models": [
76
+ {
77
+ "id": "moonshotai/kimi-k3",
78
+ "name": "Kimi K3",
79
+ "reasoning": true,
80
+ "input": ["text", "image"],
81
+ "contextWindow": 1048576,
82
+ "maxTokens": 1048576,
83
+ "cost": {
84
+ "input": 3,
85
+ "output": 15,
86
+ "cacheRead": 0.3,
87
+ "cacheWrite": 0
88
+ },
89
+ "compat": {
90
+ "codeMode": "capable"
91
+ }
92
+ },
93
+ {
94
+ "id": "moonshotai/kimi-k2.7-code",
95
+ "name": "Kimi K2.7 Code",
96
+ "reasoning": true,
97
+ "input": ["text", "image"],
98
+ "contextWindow": 262144,
99
+ "maxTokens": 262144,
100
+ "cost": {
101
+ "input": 0.95,
102
+ "output": 4,
103
+ "cacheRead": 0.19,
104
+ "cacheWrite": 0
105
+ }
106
+ },
107
+ {
108
+ "id": "minimax/minimax-m3",
109
+ "name": "MiniMax M3",
110
+ "reasoning": true,
111
+ "input": ["text", "image"],
112
+ "contextWindow": 1000000,
113
+ "maxTokens": 131072,
114
+ "cost": {
115
+ "input": 0.3,
116
+ "output": 1.2,
117
+ "cacheRead": 0.06,
118
+ "cacheWrite": 0
119
+ }
120
+ },
121
+ {
122
+ "id": "zai-org/glm-5.2",
123
+ "name": "GLM-5.2",
124
+ "reasoning": true,
125
+ "input": ["text"],
126
+ "contextWindow": 1048576,
127
+ "maxTokens": 131072,
128
+ "cost": {
129
+ "input": 1.4,
130
+ "output": 4.4,
131
+ "cacheRead": 0.26,
132
+ "cacheWrite": 0
133
+ },
134
+ "compat": {
135
+ "codeMode": "capable"
136
+ }
137
+ },
138
+ {
139
+ "id": "deepseek/deepseek-v4-pro",
140
+ "name": "DeepSeek V4 Pro",
141
+ "reasoning": true,
142
+ "input": ["text"],
143
+ "contextWindow": 1048576,
144
+ "maxTokens": 393216,
145
+ "cost": {
146
+ "input": 1.6,
147
+ "output": 3.2,
148
+ "cacheRead": 0.135,
149
+ "cacheWrite": 0
150
+ },
151
+ "compat": {
152
+ "codeMode": "capable"
153
+ }
154
+ },
155
+ {
156
+ "id": "deepseek/deepseek-v4-flash",
157
+ "name": "DeepSeek V4 Flash",
158
+ "reasoning": true,
159
+ "input": ["text"],
160
+ "contextWindow": 1048576,
161
+ "maxTokens": 393216,
162
+ "cost": {
163
+ "input": 0.14,
164
+ "output": 0.28,
165
+ "cacheRead": 0.028,
166
+ "cacheWrite": 0
167
+ },
168
+ "compat": {
169
+ "codeMode": "capable"
170
+ }
171
+ },
172
+ {
173
+ "id": "qwen/qwen3.7-max",
174
+ "name": "Qwen3.7-Max",
175
+ "reasoning": true,
176
+ "input": ["text"],
177
+ "contextWindow": 1000000,
178
+ "maxTokens": 65536,
179
+ "cost": {
180
+ "input": 1.25,
181
+ "output": 3.75,
182
+ "cacheRead": 0.25,
183
+ "cacheWrite": 0
184
+ }
185
+ },
186
+ {
187
+ "id": "minimax/minimax-m2.7",
188
+ "name": "MiniMax M2.7",
189
+ "status": "deprecated",
190
+ "replacedBy": "minimax/minimax-m3",
191
+ "reasoning": true,
192
+ "input": ["text"],
193
+ "contextWindow": 204800,
194
+ "maxTokens": 131072,
195
+ "cost": {
196
+ "input": 0.3,
197
+ "output": 1.2,
198
+ "cacheRead": 0.06,
199
+ "cacheWrite": 0
200
+ }
201
+ }
202
+ ]
203
+ }
204
+ },
205
+ "discovery": {
206
+ "novita": "refreshable"
207
+ }
208
+ }
209
+ }
package/package.json CHANGED
@@ -1,14 +1,49 @@
1
1
  {
2
2
  "name": "@openclaw/novita-provider",
3
- "version": "0.0.0",
4
- "description": "Reserved package name for an official OpenClaw plugin.",
5
- "license": "MIT",
3
+ "version": "2026.8.1-beta.2",
4
+ "description": "OpenClaw NovitaAI provider plugin",
6
5
  "repository": {
7
6
  "type": "git",
8
- "url": "git+https://github.com/openclaw/openclaw.git"
7
+ "url": "https://github.com/openclaw/openclaw"
9
8
  },
10
- "publishConfig": {
11
- "access": "public",
12
- "tag": "placeholder"
13
- }
9
+ "type": "module",
10
+ "openclaw": {
11
+ "extensions": [
12
+ "./index.ts"
13
+ ],
14
+ "install": {
15
+ "clawhubSpec": "clawhub:@openclaw/novita-provider",
16
+ "npmSpec": "@openclaw/novita-provider",
17
+ "defaultChoice": "npm",
18
+ "minHostVersion": ">=2026.7.2"
19
+ },
20
+ "compat": {
21
+ "pluginApi": ">=2026.8.1-beta.2"
22
+ },
23
+ "build": {
24
+ "openclawVersion": "2026.8.1-beta.2",
25
+ "bundledDist": false
26
+ },
27
+ "release": {
28
+ "publishToClawHub": true,
29
+ "publishToNpm": true
30
+ },
31
+ "runtimeExtensions": [
32
+ "./dist/index.js"
33
+ ]
34
+ },
35
+ "files": [
36
+ "dist/**",
37
+ "openclaw.plugin.json",
38
+ "README.md"
39
+ ],
40
+ "peerDependencies": {
41
+ "openclaw": ">=2026.8.1-beta.2"
42
+ },
43
+ "peerDependenciesMeta": {
44
+ "openclaw": {
45
+ "optional": true
46
+ }
47
+ },
48
+ "bundledDependencies": []
14
49
  }