@huggingface/tasks 0.21.18 → 0.21.20
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/dist/commonjs/agent-harnesses.d.ts +6 -0
- package/dist/commonjs/agent-harnesses.d.ts.map +1 -1
- package/dist/commonjs/agent-harnesses.js +6 -0
- package/dist/commonjs/inference-providers.d.ts +1 -1
- package/dist/commonjs/inference-providers.d.ts.map +1 -1
- package/dist/commonjs/inference-providers.js +0 -2
- package/dist/commonjs/local-apps.d.ts +7 -0
- package/dist/commonjs/local-apps.d.ts.map +1 -1
- package/dist/commonjs/local-apps.js +36 -0
- package/dist/commonjs/local-apps.spec.js +44 -0
- package/dist/commonjs/model-libraries.d.ts +9 -1
- package/dist/commonjs/model-libraries.d.ts.map +1 -1
- package/dist/commonjs/model-libraries.js +8 -0
- package/dist/esm/agent-harnesses.d.ts +6 -0
- package/dist/esm/agent-harnesses.d.ts.map +1 -1
- package/dist/esm/agent-harnesses.js +6 -0
- package/dist/esm/inference-providers.d.ts +1 -1
- package/dist/esm/inference-providers.d.ts.map +1 -1
- package/dist/esm/inference-providers.js +0 -2
- package/dist/esm/local-apps.d.ts +7 -0
- package/dist/esm/local-apps.d.ts.map +1 -1
- package/dist/esm/local-apps.js +36 -0
- package/dist/esm/local-apps.spec.js +44 -0
- package/dist/esm/model-libraries.d.ts +9 -1
- package/dist/esm/model-libraries.d.ts.map +1 -1
- package/dist/esm/model-libraries.js +8 -0
- package/package.json +1 -1
- package/src/agent-harnesses.ts +6 -0
- package/src/inference-providers.ts +0 -2
- package/src/local-apps.spec.ts +48 -0
- package/src/local-apps.ts +38 -0
- package/src/model-libraries.ts +8 -0
|
@@ -154,6 +154,12 @@ export declare const AGENT_HARNESSES: {
|
|
|
154
154
|
HERMES_SESSION_ID: string;
|
|
155
155
|
};
|
|
156
156
|
};
|
|
157
|
+
hi: {
|
|
158
|
+
prettyLabel: string;
|
|
159
|
+
repoUrl: string;
|
|
160
|
+
docsUrl: string;
|
|
161
|
+
description: string;
|
|
162
|
+
};
|
|
157
163
|
"kilo-code": {
|
|
158
164
|
prettyLabel: string;
|
|
159
165
|
repoUrl: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-harnesses.d.ts","sourceRoot":"","sources":["../../src/agent-harnesses.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,gCAAiC,CAAC;AAEtE;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"agent-harnesses.d.ts","sourceRoot":"","sources":["../../src/agent-harnesses.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,gCAAiC,CAAC;AAEtE;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkKY,CAAC;AAGzC,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,eAAe,CAAC"}
|
|
@@ -94,6 +94,12 @@ exports.AGENT_HARNESSES = {
|
|
|
94
94
|
description: "Nous Research's self-improving, multi-provider terminal AI agent.",
|
|
95
95
|
envVars: { HERMES_SESSION_ID: "*" },
|
|
96
96
|
},
|
|
97
|
+
hi: {
|
|
98
|
+
prettyLabel: "hi",
|
|
99
|
+
repoUrl: "https://github.com/PipeNetwork/hi",
|
|
100
|
+
docsUrl: "https://github.com/PipeNetwork/hi#readme",
|
|
101
|
+
description: "Rust terminal coding agent with verification-in-the-loop.",
|
|
102
|
+
},
|
|
97
103
|
"kilo-code": {
|
|
98
104
|
prettyLabel: "Kilo Code",
|
|
99
105
|
repoUrl: "https://github.com/Kilo-Org/kilocode",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const INFERENCE_PROVIDERS: readonly ["cerebras", "cohere", "deepinfra", "fal-ai", "fireworks-ai", "hf-inference", "
|
|
1
|
+
declare const INFERENCE_PROVIDERS: readonly ["cerebras", "cohere", "deepinfra", "fal-ai", "fireworks-ai", "hf-inference", "ovhcloud", "replicate", "together"];
|
|
2
2
|
export type SnippetInferenceProvider = (typeof INFERENCE_PROVIDERS)[number] | string;
|
|
3
3
|
export declare const HF_HUB_INFERENCE_PROXY_TEMPLATE = "https://router.huggingface.co/{{PROVIDER}}";
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inference-providers.d.ts","sourceRoot":"","sources":["../../src/inference-providers.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"inference-providers.d.ts","sourceRoot":"","sources":["../../src/inference-providers.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,mBAAmB,6HAUf,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAErF,eAAO,MAAM,+BAA+B,+CAA+C,CAAC;AAE5F;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,wBAAwB,GAAG,MAAM,CAGxE"}
|
|
@@ -11,10 +11,8 @@ const INFERENCE_PROVIDERS = [
|
|
|
11
11
|
"fal-ai",
|
|
12
12
|
"fireworks-ai",
|
|
13
13
|
"hf-inference",
|
|
14
|
-
"hyperbolic",
|
|
15
14
|
"ovhcloud",
|
|
16
15
|
"replicate",
|
|
17
|
-
"sambanova",
|
|
18
16
|
"together",
|
|
19
17
|
];
|
|
20
18
|
exports.HF_HUB_INFERENCE_PROXY_TEMPLATE = `https://router.huggingface.co/{{PROVIDER}}`;
|
|
@@ -252,6 +252,13 @@ export declare const LOCAL_APPS: {
|
|
|
252
252
|
displayOnModelPage: typeof isToolCallingLocalAgentModel;
|
|
253
253
|
snippet: (model: ModelData, filepath?: string) => LocalAppSnippet[];
|
|
254
254
|
};
|
|
255
|
+
openclaw: {
|
|
256
|
+
prettyLabel: string;
|
|
257
|
+
docsUrl: string;
|
|
258
|
+
mainTask: "text-generation";
|
|
259
|
+
displayOnModelPage: typeof isToolCallingLocalAgentModel;
|
|
260
|
+
snippet: (model: ModelData, filepath?: string) => LocalAppSnippet[];
|
|
261
|
+
};
|
|
255
262
|
};
|
|
256
263
|
export type LocalAppKey = keyof typeof LOCAL_APPS;
|
|
257
264
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-apps.d.ts","sourceRoot":"","sources":["../../src/local-apps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKnD,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACpG;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;CAClD,GAAG,CACD;IACA;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CACtD,GACD;IACA;;;;OAIG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,eAAe,GAAG,eAAe,EAAE,CAAC;CACzG,CACH,CAAC;AAsBF,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE7C;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAE5C;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAU9C;AAED,iBAAS,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE3D;AA0BD,iBAAS,cAAc,CAAC,KAAK,EAAE,SAAS,WAEvC;AAED,iBAAS,4BAA4B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAM/D;
|
|
1
|
+
{"version":3,"file":"local-apps.d.ts","sourceRoot":"","sources":["../../src/local-apps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKnD,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACpG;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;CAClD,GAAG,CACD;IACA;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CACtD,GACD;IACA;;;;OAIG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,eAAe,GAAG,eAAe,EAAE,CAAC;CACzG,CACH,CAAC;AAsBF,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE7C;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAE5C;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAU9C;AAED,iBAAS,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE3D;AA0BD,iBAAS,cAAc,CAAC,KAAK,EAAE,SAAS,WAEvC;AAED,iBAAS,4BAA4B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAM/D;AA4dD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU;;;;;;yBA1dS,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAiDzC,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBA2F3D,SAAS,KAAG,eAAe,EAAE;;;;;;oCAwW3B,SAAS;yBAlTT,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAoF9B,SAAS,KAAG,eAAe,EAAE;;;;;;;yBA7B/B,SAAS,KAAG,eAAe,EAAE;;;;;;;;;;;;;;yBApIzB,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAtDjD,SAAS,aAAa,MAAM,KAAG,MAAM;;;;;;;yBAIpC,SAAS,KAAG,eAAe,EAAE;;;;;;;yBAgWnB,SAAS,aAAa,MAAM,KAAG,MAAM;;;;;;;yBAM9C,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAlGtD,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBAkCvC,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;;;;;;yBA2BnD,SAAS,aAAa,MAAM,KAAG,eAAe,EAAE;;CAqS5C,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,UAAU,CAAC"}
|
|
@@ -427,6 +427,35 @@ const snippetHermesAgent = (model, filepath) => {
|
|
|
427
427
|
},
|
|
428
428
|
];
|
|
429
429
|
};
|
|
430
|
+
const snippetOpenClaw = (model, filepath) => {
|
|
431
|
+
const isMLX = isMlxModel(model);
|
|
432
|
+
const providerId = isMLX ? "mlx-lm" : "llama-cpp";
|
|
433
|
+
const modelId = isMLX ? model.id : `${model.id}${getQuantTag(filepath)}`;
|
|
434
|
+
const serverStep = getLocalServerStep(model, filepath);
|
|
435
|
+
return [
|
|
436
|
+
serverStep,
|
|
437
|
+
{
|
|
438
|
+
title: "Configure OpenClaw",
|
|
439
|
+
setup: "# Install OpenClaw:\nnpm install -g openclaw@latest",
|
|
440
|
+
content: [
|
|
441
|
+
"# Register the local server and set it as the default model:",
|
|
442
|
+
"openclaw onboard --non-interactive --mode local \\",
|
|
443
|
+
" --auth-choice custom-api-key \\",
|
|
444
|
+
" --custom-base-url http://127.0.0.1:8080/v1 \\",
|
|
445
|
+
` --custom-model-id "${modelId}" \\`,
|
|
446
|
+
` --custom-provider-id ${providerId} \\`,
|
|
447
|
+
" --custom-compatibility openai \\",
|
|
448
|
+
" --custom-text-input \\",
|
|
449
|
+
" --accept-risk \\",
|
|
450
|
+
" --skip-health",
|
|
451
|
+
].join("\n"),
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
title: "Run OpenClaw",
|
|
455
|
+
content: `openclaw agent --local --agent main --message "Hello from Hugging Face"`,
|
|
456
|
+
},
|
|
457
|
+
];
|
|
458
|
+
};
|
|
430
459
|
const snippetDockerModelRunner = (model, filepath) => {
|
|
431
460
|
// Only add quant tag for GGUF models, not safetensors
|
|
432
461
|
const quantTag = isLlamaCppGgufModel(model) ? getQuantTag(filepath) : "";
|
|
@@ -677,4 +706,11 @@ exports.LOCAL_APPS = {
|
|
|
677
706
|
displayOnModelPage: isToolCallingLocalAgentModel,
|
|
678
707
|
snippet: snippetHermesAgent,
|
|
679
708
|
},
|
|
709
|
+
openclaw: {
|
|
710
|
+
prettyLabel: "OpenClaw",
|
|
711
|
+
docsUrl: "https://github.com/openclaw/openclaw",
|
|
712
|
+
mainTask: "text-generation",
|
|
713
|
+
displayOnModelPage: isToolCallingLocalAgentModel,
|
|
714
|
+
snippet: snippetOpenClaw,
|
|
715
|
+
},
|
|
680
716
|
};
|
|
@@ -181,6 +181,50 @@ curl -X POST "http://localhost:8000/v1/chat/completions" \\
|
|
|
181
181
|
(0, vitest_1.expect)(snippet[1].content).toContain("hermes config set model.default mlx-community/Llama-3.2-3B-Instruct-mlx");
|
|
182
182
|
(0, vitest_1.expect)(snippet[2].content).toContain("hermes");
|
|
183
183
|
});
|
|
184
|
+
(0, vitest_1.it)("openclaw", async () => {
|
|
185
|
+
const { snippet: snippetFunc } = local_apps_js_1.LOCAL_APPS.openclaw;
|
|
186
|
+
const model = {
|
|
187
|
+
id: "bartowski/Llama-3.2-3B-Instruct-GGUF",
|
|
188
|
+
tags: ["conversational"],
|
|
189
|
+
gguf: { total: 1, context_length: 4096, chat_template: "{% if tools %}" },
|
|
190
|
+
inference: "",
|
|
191
|
+
};
|
|
192
|
+
const snippet = snippetFunc(model);
|
|
193
|
+
(0, vitest_1.expect)(snippet[0].content).toContain(`llama-server -hf bartowski/Llama-3.2-3B-Instruct-GGUF:{{QUANT_TAG}}`);
|
|
194
|
+
(0, vitest_1.expect)(snippet[1].setup).toContain("npm install -g openclaw@latest");
|
|
195
|
+
(0, vitest_1.expect)(snippet[1].content).toContain("openclaw onboard --non-interactive --mode local");
|
|
196
|
+
(0, vitest_1.expect)(snippet[1].content).toContain("--auth-choice custom-api-key");
|
|
197
|
+
(0, vitest_1.expect)(snippet[1].content).toContain("--custom-base-url http://127.0.0.1:8080/v1");
|
|
198
|
+
(0, vitest_1.expect)(snippet[1].content).toContain('--custom-model-id "bartowski/Llama-3.2-3B-Instruct-GGUF:{{QUANT_TAG}}"');
|
|
199
|
+
(0, vitest_1.expect)(snippet[1].content).toContain("--custom-provider-id llama-cpp");
|
|
200
|
+
(0, vitest_1.expect)(snippet[1].content).toContain("--custom-compatibility openai");
|
|
201
|
+
(0, vitest_1.expect)(snippet[1].content).not.toContain("--custom-api-key");
|
|
202
|
+
(0, vitest_1.expect)(snippet[1].content).toContain("--custom-text-input");
|
|
203
|
+
(0, vitest_1.expect)(snippet[1].content).toContain("--accept-risk");
|
|
204
|
+
(0, vitest_1.expect)(snippet[1].content).toContain("--skip-health");
|
|
205
|
+
(0, vitest_1.expect)(snippet[2].content).toContain('openclaw agent --local --agent main --message "Hello from Hugging Face"');
|
|
206
|
+
});
|
|
207
|
+
(0, vitest_1.it)("openclaw - mlx", async () => {
|
|
208
|
+
const { snippet: snippetFunc } = local_apps_js_1.LOCAL_APPS.openclaw;
|
|
209
|
+
const model = {
|
|
210
|
+
id: "mlx-community/Llama-3.2-3B-Instruct-mlx",
|
|
211
|
+
tags: ["mlx", "conversational"],
|
|
212
|
+
pipeline_tag: "text-generation",
|
|
213
|
+
config: {
|
|
214
|
+
tokenizer_config: {
|
|
215
|
+
chat_template: "{% if tools %}...{% endif %}",
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
inference: "",
|
|
219
|
+
};
|
|
220
|
+
const snippet = snippetFunc(model);
|
|
221
|
+
(0, vitest_1.expect)(snippet[0].setup).toContain("uv tool install mlx-lm");
|
|
222
|
+
(0, vitest_1.expect)(snippet[1].content).toContain("openclaw onboard --non-interactive --mode local");
|
|
223
|
+
(0, vitest_1.expect)(snippet[1].content).toContain('--custom-model-id "mlx-community/Llama-3.2-3B-Instruct-mlx"');
|
|
224
|
+
(0, vitest_1.expect)(snippet[1].content).toContain("--custom-provider-id mlx-lm");
|
|
225
|
+
(0, vitest_1.expect)(snippet[1].content).toContain("--custom-text-input");
|
|
226
|
+
(0, vitest_1.expect)(snippet[2].content).toContain('openclaw agent --local --agent main --message "Hello from Hugging Face"');
|
|
227
|
+
});
|
|
184
228
|
(0, vitest_1.it)("docker model runner", async () => {
|
|
185
229
|
const { snippet: snippetFunc } = local_apps_js_1.LOCAL_APPS["docker-model-runner"];
|
|
186
230
|
const model = {
|
|
@@ -1175,6 +1175,14 @@ export declare const MODEL_LIBRARIES_UI_ELEMENTS: {
|
|
|
1175
1175
|
filter: false;
|
|
1176
1176
|
countDownloads: string;
|
|
1177
1177
|
};
|
|
1178
|
+
rwkv: {
|
|
1179
|
+
prettyLabel: string;
|
|
1180
|
+
repoName: string;
|
|
1181
|
+
repoUrl: string;
|
|
1182
|
+
docsUrl: string;
|
|
1183
|
+
filter: false;
|
|
1184
|
+
countDownloads: string;
|
|
1185
|
+
};
|
|
1178
1186
|
saelens: {
|
|
1179
1187
|
prettyLabel: string;
|
|
1180
1188
|
repoName: string;
|
|
@@ -1693,5 +1701,5 @@ export declare const MODEL_LIBRARIES_UI_ELEMENTS: {
|
|
|
1693
1701
|
};
|
|
1694
1702
|
export type ModelLibraryKey = keyof typeof MODEL_LIBRARIES_UI_ELEMENTS;
|
|
1695
1703
|
export declare const ALL_MODEL_LIBRARY_KEYS: ModelLibraryKey[];
|
|
1696
|
-
export declare const ALL_DISPLAY_MODEL_LIBRARY_KEYS: ("acestep" | "adapter-transformers" | "allennlp" | "anemoi" | "araclip" | "aviation-ner" | "asteroid" | "audiocraft" | "audioseal" | "bagel-mot" | "bboxmaskpose" | "ben2" | "bertopic" | "big_vision" | "bionemo" | "birder" | "birefnet" | "bm25s" | "boltzgen" | "cancertathomev2" | "cartesia_pytorch" | "cartesia_mlx" | "champ" | "chatterbox" | "chaossim" | "chat_tts" | "chexmix" | "chronos-forecasting" | "clara" | "clipscope" | "cloud-agents" | "collectorvision" | "colipri" | "cosyvoice" | "cotracker" | "colpali" | "comet" | "cosmos" | "cxr-foundation" | "deepforest" | "depth-anything-v2" | "depth-pro" | "derm-foundation" | "describe-anything" | "dia-tts" | "dia2" | "diff-interpretation-tuning" | "diffree" | "diffusers" | "diffusionkit" | "docking-at-home" | "doctr" | "edsnlp" | "elm" | "encoderfile" | "espnet" | "eupe" | "fairseq" | "fastai" | "fastprint" | "fasttext" | "fixer" | "flair" | "fme" | "gemma.cpp" | "geometry-crafter" | "gliner" | "gliner2" | "glm-tts" | "glyph-byt5" | "granite-library" | "grok" | "habibi-tts" | "hallo" | "hermes" | "holomotion" | "hezar" | "htrflow" | "hunyuan-dit" | "hunyuan3d-2" | "hunyuanworld-voyager" | "hy-worldplay" | "hy-world-2" | "image-matching-models" | "imstoucan" | "index-tts" | "infinitetalk" | "infinite-you" | "intellifold" | "ising-decoding" | "keras" | "tf-keras" | "keras-hub" | "kernels" | "kimi-audio" | "kittentts" | "kronos" | "k2" | "lyra-2.0" | "lagernvs" | "lightning-ir" | "litert" | "litert-lm" | "lerobot" | "lightglue" | "liveportrait" | "longcat-video-avatar-1.5" | "llama-cpp-python" | "mini-omni2" | "mindspore" | "magi-1" | "magenta-realtime" | "magenta-realtime-2" | "mamba-ssm" | "manas-1" | "mars5-tts" | "matanyone" | "mesh-anything" | "merlin" | "medvae" | "mitie" | "ml-agents" | "ml-sharp" | "mlx" | "mlx-image" | "mlc-llm" | "model2vec" | "moshi" | "mtvcraft" | "multimolecule" | "nemo" | "nv-medtech" | "open-oasis" | "open_clip" | "openpeerllm" | "open-sora" | "outetts" | "paddlenlp" | "PaddleOCR" | "peft" | "perception-encoder" | "phantom-wan" | "pocket-tts" | "pruna-ai" | "pxia" | "pyannote-audio" | "py-feat" | "pythae" | "quantumpeer" | "qwen3_tts" | "recurrentgemma" | "relik" | "refiners" | "renderformer" | "reverb" | "rkllm" | "robo-orchard-lab" | "saelens" | "scail-2" | "sam2" | "sam-3d-body" | "sam-3d-objects" | "same" | "sample-factory" | "sap-rpt-1-oss" | "sapiens" | "sapiens2" | "seedvr" | "self-forcing" | "sentence-transformers" | "setfit" | "sklearn" | "spacy" | "span-marker" | "speechbrain" | "ssr-speech" | "stable-audio-3" | "stable-audio-tools" | "monkeyocr" | "diffusion-single-file" | "seed-story" | "skala" | "soloaudio" | "songbloom" | "stable-baselines3" | "stanza" | "supertonic" | "swarmformer" | "synthefy-migas" | "f5-tts" | "genmo" | "tencent-song-generation" | "tensorflowtts" | "tensorrt" | "tabpfn" | "terratorch" | "tic-clip" | "timesfm" | "timm" | "tirex" | "torchgeo" | "transformers" | "transformers.js" | "trellis" | "trellis2" | "tunejury" | "ultralytics" | "univa" | "uni-3dar" | "unity-sentis" | "sana" | "videoprism" | "vfi-mamba" | "vismatch" | "lvface" | "voicecraft" | "voxcpm" | "vui" | "vibevoice" | "videox_fun" | "wan2.2" | "wham" | "whisperkit" | "yolov10" | "yolov26" | "zonos" | "3dtopia-xl")[];
|
|
1704
|
+
export declare const ALL_DISPLAY_MODEL_LIBRARY_KEYS: ("acestep" | "adapter-transformers" | "allennlp" | "anemoi" | "araclip" | "aviation-ner" | "asteroid" | "audiocraft" | "audioseal" | "bagel-mot" | "bboxmaskpose" | "ben2" | "bertopic" | "big_vision" | "bionemo" | "birder" | "birefnet" | "bm25s" | "boltzgen" | "cancertathomev2" | "cartesia_pytorch" | "cartesia_mlx" | "champ" | "chatterbox" | "chaossim" | "chat_tts" | "chexmix" | "chronos-forecasting" | "clara" | "clipscope" | "cloud-agents" | "collectorvision" | "colipri" | "cosyvoice" | "cotracker" | "colpali" | "comet" | "cosmos" | "cxr-foundation" | "deepforest" | "depth-anything-v2" | "depth-pro" | "derm-foundation" | "describe-anything" | "dia-tts" | "dia2" | "diff-interpretation-tuning" | "diffree" | "diffusers" | "diffusionkit" | "docking-at-home" | "doctr" | "edsnlp" | "elm" | "encoderfile" | "espnet" | "eupe" | "fairseq" | "fastai" | "fastprint" | "fasttext" | "fixer" | "flair" | "fme" | "gemma.cpp" | "geometry-crafter" | "gliner" | "gliner2" | "glm-tts" | "glyph-byt5" | "granite-library" | "grok" | "habibi-tts" | "hallo" | "hermes" | "holomotion" | "hezar" | "htrflow" | "hunyuan-dit" | "hunyuan3d-2" | "hunyuanworld-voyager" | "hy-worldplay" | "hy-world-2" | "image-matching-models" | "imstoucan" | "index-tts" | "infinitetalk" | "infinite-you" | "intellifold" | "ising-decoding" | "keras" | "tf-keras" | "keras-hub" | "kernels" | "kimi-audio" | "kittentts" | "kronos" | "k2" | "lyra-2.0" | "lagernvs" | "lightning-ir" | "litert" | "litert-lm" | "lerobot" | "lightglue" | "liveportrait" | "longcat-video-avatar-1.5" | "llama-cpp-python" | "mini-omni2" | "mindspore" | "magi-1" | "magenta-realtime" | "magenta-realtime-2" | "mamba-ssm" | "manas-1" | "mars5-tts" | "matanyone" | "mesh-anything" | "merlin" | "medvae" | "mitie" | "ml-agents" | "ml-sharp" | "mlx" | "mlx-image" | "mlc-llm" | "model2vec" | "moshi" | "mtvcraft" | "multimolecule" | "nemo" | "nv-medtech" | "open-oasis" | "open_clip" | "openpeerllm" | "open-sora" | "outetts" | "paddlenlp" | "PaddleOCR" | "peft" | "perception-encoder" | "phantom-wan" | "pocket-tts" | "pruna-ai" | "pxia" | "pyannote-audio" | "py-feat" | "pythae" | "quantumpeer" | "qwen3_tts" | "recurrentgemma" | "relik" | "refiners" | "renderformer" | "reverb" | "rkllm" | "robo-orchard-lab" | "rwkv" | "saelens" | "scail-2" | "sam2" | "sam-3d-body" | "sam-3d-objects" | "same" | "sample-factory" | "sap-rpt-1-oss" | "sapiens" | "sapiens2" | "seedvr" | "self-forcing" | "sentence-transformers" | "setfit" | "sklearn" | "spacy" | "span-marker" | "speechbrain" | "ssr-speech" | "stable-audio-3" | "stable-audio-tools" | "monkeyocr" | "diffusion-single-file" | "seed-story" | "skala" | "soloaudio" | "songbloom" | "stable-baselines3" | "stanza" | "supertonic" | "swarmformer" | "synthefy-migas" | "f5-tts" | "genmo" | "tencent-song-generation" | "tensorflowtts" | "tensorrt" | "tabpfn" | "terratorch" | "tic-clip" | "timesfm" | "timm" | "tirex" | "torchgeo" | "transformers" | "transformers.js" | "trellis" | "trellis2" | "tunejury" | "ultralytics" | "univa" | "uni-3dar" | "unity-sentis" | "sana" | "videoprism" | "vfi-mamba" | "vismatch" | "lvface" | "voicecraft" | "voxcpm" | "vui" | "vibevoice" | "videox_fun" | "wan2.2" | "wham" | "whisperkit" | "yolov10" | "yolov26" | "zonos" | "3dtopia-xl")[];
|
|
1697
1705
|
//# sourceMappingURL=model-libraries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-libraries.d.ts","sourceRoot":"","sources":["../../src/model-libraries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,EAAE,CAAC;IAC1C;;;;;OAKG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,2BAA2B
|
|
1
|
+
{"version":3,"file":"model-libraries.d.ts","sourceRoot":"","sources":["../../src/model-libraries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1176,6 +1176,14 @@ exports.MODEL_LIBRARIES_UI_ELEMENTS = {
|
|
|
1176
1176
|
filter: false,
|
|
1177
1177
|
countDownloads: `path_extension:"safetensors"`,
|
|
1178
1178
|
},
|
|
1179
|
+
rwkv: {
|
|
1180
|
+
prettyLabel: "RWKV",
|
|
1181
|
+
repoName: "RWKV-LM",
|
|
1182
|
+
repoUrl: "https://github.com/BlinkDL/RWKV-LM",
|
|
1183
|
+
docsUrl: "https://rwkv.com/",
|
|
1184
|
+
filter: false,
|
|
1185
|
+
countDownloads: `path_extension:"pth"`,
|
|
1186
|
+
},
|
|
1179
1187
|
saelens: {
|
|
1180
1188
|
prettyLabel: "SAELens",
|
|
1181
1189
|
repoName: "SAELens",
|
|
@@ -154,6 +154,12 @@ export declare const AGENT_HARNESSES: {
|
|
|
154
154
|
HERMES_SESSION_ID: string;
|
|
155
155
|
};
|
|
156
156
|
};
|
|
157
|
+
hi: {
|
|
158
|
+
prettyLabel: string;
|
|
159
|
+
repoUrl: string;
|
|
160
|
+
docsUrl: string;
|
|
161
|
+
description: string;
|
|
162
|
+
};
|
|
157
163
|
"kilo-code": {
|
|
158
164
|
prettyLabel: string;
|
|
159
165
|
repoUrl: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-harnesses.d.ts","sourceRoot":"","sources":["../../src/agent-harnesses.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,gCAAiC,CAAC;AAEtE;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"agent-harnesses.d.ts","sourceRoot":"","sources":["../../src/agent-harnesses.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,gCAAiC,CAAC;AAEtE;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkKY,CAAC;AAGzC,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,eAAe,CAAC"}
|
|
@@ -91,6 +91,12 @@ export const AGENT_HARNESSES = {
|
|
|
91
91
|
description: "Nous Research's self-improving, multi-provider terminal AI agent.",
|
|
92
92
|
envVars: { HERMES_SESSION_ID: "*" },
|
|
93
93
|
},
|
|
94
|
+
hi: {
|
|
95
|
+
prettyLabel: "hi",
|
|
96
|
+
repoUrl: "https://github.com/PipeNetwork/hi",
|
|
97
|
+
docsUrl: "https://github.com/PipeNetwork/hi#readme",
|
|
98
|
+
description: "Rust terminal coding agent with verification-in-the-loop.",
|
|
99
|
+
},
|
|
94
100
|
"kilo-code": {
|
|
95
101
|
prettyLabel: "Kilo Code",
|
|
96
102
|
repoUrl: "https://github.com/Kilo-Org/kilocode",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const INFERENCE_PROVIDERS: readonly ["cerebras", "cohere", "deepinfra", "fal-ai", "fireworks-ai", "hf-inference", "
|
|
1
|
+
declare const INFERENCE_PROVIDERS: readonly ["cerebras", "cohere", "deepinfra", "fal-ai", "fireworks-ai", "hf-inference", "ovhcloud", "replicate", "together"];
|
|
2
2
|
export type SnippetInferenceProvider = (typeof INFERENCE_PROVIDERS)[number] | string;
|
|
3
3
|
export declare const HF_HUB_INFERENCE_PROXY_TEMPLATE = "https://router.huggingface.co/{{PROVIDER}}";
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inference-providers.d.ts","sourceRoot":"","sources":["../../src/inference-providers.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"inference-providers.d.ts","sourceRoot":"","sources":["../../src/inference-providers.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,mBAAmB,6HAUf,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAErF,eAAO,MAAM,+BAA+B,+CAA+C,CAAC;AAE5F;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,wBAAwB,GAAG,MAAM,CAGxE"}
|
|
@@ -7,10 +7,8 @@ const INFERENCE_PROVIDERS = [
|
|
|
7
7
|
"fal-ai",
|
|
8
8
|
"fireworks-ai",
|
|
9
9
|
"hf-inference",
|
|
10
|
-
"hyperbolic",
|
|
11
10
|
"ovhcloud",
|
|
12
11
|
"replicate",
|
|
13
|
-
"sambanova",
|
|
14
12
|
"together",
|
|
15
13
|
];
|
|
16
14
|
export const HF_HUB_INFERENCE_PROXY_TEMPLATE = `https://router.huggingface.co/{{PROVIDER}}`;
|
package/dist/esm/local-apps.d.ts
CHANGED
|
@@ -252,6 +252,13 @@ export declare const LOCAL_APPS: {
|
|
|
252
252
|
displayOnModelPage: typeof isToolCallingLocalAgentModel;
|
|
253
253
|
snippet: (model: ModelData, filepath?: string) => LocalAppSnippet[];
|
|
254
254
|
};
|
|
255
|
+
openclaw: {
|
|
256
|
+
prettyLabel: string;
|
|
257
|
+
docsUrl: string;
|
|
258
|
+
mainTask: "text-generation";
|
|
259
|
+
displayOnModelPage: typeof isToolCallingLocalAgentModel;
|
|
260
|
+
snippet: (model: ModelData, filepath?: string) => LocalAppSnippet[];
|
|
261
|
+
};
|
|
255
262
|
};
|
|
256
263
|
export type LocalAppKey = keyof typeof LOCAL_APPS;
|
|
257
264
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-apps.d.ts","sourceRoot":"","sources":["../../src/local-apps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKnD,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACpG;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;CAClD,GAAG,CACD;IACA;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CACtD,GACD;IACA;;;;OAIG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,eAAe,GAAG,eAAe,EAAE,CAAC;CACzG,CACH,CAAC;AAsBF,iBAAS,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE7C;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,SAAS,WAE5C;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAU9C;AAED,iBAAS,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE3D;AA0BD,iBAAS,cAAc,CAAC,KAAK,EAAE,SAAS,WAEvC;AAED,iBAAS,4BAA4B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAM/D;
|
|
1
|
+
{"version":3,"file":"local-apps.d.ts","sourceRoot":"","sources":["../../src/local-apps.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/local-apps.js
CHANGED
|
@@ -424,6 +424,35 @@ const snippetHermesAgent = (model, filepath) => {
|
|
|
424
424
|
},
|
|
425
425
|
];
|
|
426
426
|
};
|
|
427
|
+
const snippetOpenClaw = (model, filepath) => {
|
|
428
|
+
const isMLX = isMlxModel(model);
|
|
429
|
+
const providerId = isMLX ? "mlx-lm" : "llama-cpp";
|
|
430
|
+
const modelId = isMLX ? model.id : `${model.id}${getQuantTag(filepath)}`;
|
|
431
|
+
const serverStep = getLocalServerStep(model, filepath);
|
|
432
|
+
return [
|
|
433
|
+
serverStep,
|
|
434
|
+
{
|
|
435
|
+
title: "Configure OpenClaw",
|
|
436
|
+
setup: "# Install OpenClaw:\nnpm install -g openclaw@latest",
|
|
437
|
+
content: [
|
|
438
|
+
"# Register the local server and set it as the default model:",
|
|
439
|
+
"openclaw onboard --non-interactive --mode local \\",
|
|
440
|
+
" --auth-choice custom-api-key \\",
|
|
441
|
+
" --custom-base-url http://127.0.0.1:8080/v1 \\",
|
|
442
|
+
` --custom-model-id "${modelId}" \\`,
|
|
443
|
+
` --custom-provider-id ${providerId} \\`,
|
|
444
|
+
" --custom-compatibility openai \\",
|
|
445
|
+
" --custom-text-input \\",
|
|
446
|
+
" --accept-risk \\",
|
|
447
|
+
" --skip-health",
|
|
448
|
+
].join("\n"),
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
title: "Run OpenClaw",
|
|
452
|
+
content: `openclaw agent --local --agent main --message "Hello from Hugging Face"`,
|
|
453
|
+
},
|
|
454
|
+
];
|
|
455
|
+
};
|
|
427
456
|
const snippetDockerModelRunner = (model, filepath) => {
|
|
428
457
|
// Only add quant tag for GGUF models, not safetensors
|
|
429
458
|
const quantTag = isLlamaCppGgufModel(model) ? getQuantTag(filepath) : "";
|
|
@@ -674,4 +703,11 @@ export const LOCAL_APPS = {
|
|
|
674
703
|
displayOnModelPage: isToolCallingLocalAgentModel,
|
|
675
704
|
snippet: snippetHermesAgent,
|
|
676
705
|
},
|
|
706
|
+
openclaw: {
|
|
707
|
+
prettyLabel: "OpenClaw",
|
|
708
|
+
docsUrl: "https://github.com/openclaw/openclaw",
|
|
709
|
+
mainTask: "text-generation",
|
|
710
|
+
displayOnModelPage: isToolCallingLocalAgentModel,
|
|
711
|
+
snippet: snippetOpenClaw,
|
|
712
|
+
},
|
|
677
713
|
};
|
|
@@ -179,6 +179,50 @@ curl -X POST "http://localhost:8000/v1/chat/completions" \\
|
|
|
179
179
|
expect(snippet[1].content).toContain("hermes config set model.default mlx-community/Llama-3.2-3B-Instruct-mlx");
|
|
180
180
|
expect(snippet[2].content).toContain("hermes");
|
|
181
181
|
});
|
|
182
|
+
it("openclaw", async () => {
|
|
183
|
+
const { snippet: snippetFunc } = LOCAL_APPS.openclaw;
|
|
184
|
+
const model = {
|
|
185
|
+
id: "bartowski/Llama-3.2-3B-Instruct-GGUF",
|
|
186
|
+
tags: ["conversational"],
|
|
187
|
+
gguf: { total: 1, context_length: 4096, chat_template: "{% if tools %}" },
|
|
188
|
+
inference: "",
|
|
189
|
+
};
|
|
190
|
+
const snippet = snippetFunc(model);
|
|
191
|
+
expect(snippet[0].content).toContain(`llama-server -hf bartowski/Llama-3.2-3B-Instruct-GGUF:{{QUANT_TAG}}`);
|
|
192
|
+
expect(snippet[1].setup).toContain("npm install -g openclaw@latest");
|
|
193
|
+
expect(snippet[1].content).toContain("openclaw onboard --non-interactive --mode local");
|
|
194
|
+
expect(snippet[1].content).toContain("--auth-choice custom-api-key");
|
|
195
|
+
expect(snippet[1].content).toContain("--custom-base-url http://127.0.0.1:8080/v1");
|
|
196
|
+
expect(snippet[1].content).toContain('--custom-model-id "bartowski/Llama-3.2-3B-Instruct-GGUF:{{QUANT_TAG}}"');
|
|
197
|
+
expect(snippet[1].content).toContain("--custom-provider-id llama-cpp");
|
|
198
|
+
expect(snippet[1].content).toContain("--custom-compatibility openai");
|
|
199
|
+
expect(snippet[1].content).not.toContain("--custom-api-key");
|
|
200
|
+
expect(snippet[1].content).toContain("--custom-text-input");
|
|
201
|
+
expect(snippet[1].content).toContain("--accept-risk");
|
|
202
|
+
expect(snippet[1].content).toContain("--skip-health");
|
|
203
|
+
expect(snippet[2].content).toContain('openclaw agent --local --agent main --message "Hello from Hugging Face"');
|
|
204
|
+
});
|
|
205
|
+
it("openclaw - mlx", async () => {
|
|
206
|
+
const { snippet: snippetFunc } = LOCAL_APPS.openclaw;
|
|
207
|
+
const model = {
|
|
208
|
+
id: "mlx-community/Llama-3.2-3B-Instruct-mlx",
|
|
209
|
+
tags: ["mlx", "conversational"],
|
|
210
|
+
pipeline_tag: "text-generation",
|
|
211
|
+
config: {
|
|
212
|
+
tokenizer_config: {
|
|
213
|
+
chat_template: "{% if tools %}...{% endif %}",
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
inference: "",
|
|
217
|
+
};
|
|
218
|
+
const snippet = snippetFunc(model);
|
|
219
|
+
expect(snippet[0].setup).toContain("uv tool install mlx-lm");
|
|
220
|
+
expect(snippet[1].content).toContain("openclaw onboard --non-interactive --mode local");
|
|
221
|
+
expect(snippet[1].content).toContain('--custom-model-id "mlx-community/Llama-3.2-3B-Instruct-mlx"');
|
|
222
|
+
expect(snippet[1].content).toContain("--custom-provider-id mlx-lm");
|
|
223
|
+
expect(snippet[1].content).toContain("--custom-text-input");
|
|
224
|
+
expect(snippet[2].content).toContain('openclaw agent --local --agent main --message "Hello from Hugging Face"');
|
|
225
|
+
});
|
|
182
226
|
it("docker model runner", async () => {
|
|
183
227
|
const { snippet: snippetFunc } = LOCAL_APPS["docker-model-runner"];
|
|
184
228
|
const model = {
|
|
@@ -1175,6 +1175,14 @@ export declare const MODEL_LIBRARIES_UI_ELEMENTS: {
|
|
|
1175
1175
|
filter: false;
|
|
1176
1176
|
countDownloads: string;
|
|
1177
1177
|
};
|
|
1178
|
+
rwkv: {
|
|
1179
|
+
prettyLabel: string;
|
|
1180
|
+
repoName: string;
|
|
1181
|
+
repoUrl: string;
|
|
1182
|
+
docsUrl: string;
|
|
1183
|
+
filter: false;
|
|
1184
|
+
countDownloads: string;
|
|
1185
|
+
};
|
|
1178
1186
|
saelens: {
|
|
1179
1187
|
prettyLabel: string;
|
|
1180
1188
|
repoName: string;
|
|
@@ -1693,5 +1701,5 @@ export declare const MODEL_LIBRARIES_UI_ELEMENTS: {
|
|
|
1693
1701
|
};
|
|
1694
1702
|
export type ModelLibraryKey = keyof typeof MODEL_LIBRARIES_UI_ELEMENTS;
|
|
1695
1703
|
export declare const ALL_MODEL_LIBRARY_KEYS: ModelLibraryKey[];
|
|
1696
|
-
export declare const ALL_DISPLAY_MODEL_LIBRARY_KEYS: ("acestep" | "adapter-transformers" | "allennlp" | "anemoi" | "araclip" | "aviation-ner" | "asteroid" | "audiocraft" | "audioseal" | "bagel-mot" | "bboxmaskpose" | "ben2" | "bertopic" | "big_vision" | "bionemo" | "birder" | "birefnet" | "bm25s" | "boltzgen" | "cancertathomev2" | "cartesia_pytorch" | "cartesia_mlx" | "champ" | "chatterbox" | "chaossim" | "chat_tts" | "chexmix" | "chronos-forecasting" | "clara" | "clipscope" | "cloud-agents" | "collectorvision" | "colipri" | "cosyvoice" | "cotracker" | "colpali" | "comet" | "cosmos" | "cxr-foundation" | "deepforest" | "depth-anything-v2" | "depth-pro" | "derm-foundation" | "describe-anything" | "dia-tts" | "dia2" | "diff-interpretation-tuning" | "diffree" | "diffusers" | "diffusionkit" | "docking-at-home" | "doctr" | "edsnlp" | "elm" | "encoderfile" | "espnet" | "eupe" | "fairseq" | "fastai" | "fastprint" | "fasttext" | "fixer" | "flair" | "fme" | "gemma.cpp" | "geometry-crafter" | "gliner" | "gliner2" | "glm-tts" | "glyph-byt5" | "granite-library" | "grok" | "habibi-tts" | "hallo" | "hermes" | "holomotion" | "hezar" | "htrflow" | "hunyuan-dit" | "hunyuan3d-2" | "hunyuanworld-voyager" | "hy-worldplay" | "hy-world-2" | "image-matching-models" | "imstoucan" | "index-tts" | "infinitetalk" | "infinite-you" | "intellifold" | "ising-decoding" | "keras" | "tf-keras" | "keras-hub" | "kernels" | "kimi-audio" | "kittentts" | "kronos" | "k2" | "lyra-2.0" | "lagernvs" | "lightning-ir" | "litert" | "litert-lm" | "lerobot" | "lightglue" | "liveportrait" | "longcat-video-avatar-1.5" | "llama-cpp-python" | "mini-omni2" | "mindspore" | "magi-1" | "magenta-realtime" | "magenta-realtime-2" | "mamba-ssm" | "manas-1" | "mars5-tts" | "matanyone" | "mesh-anything" | "merlin" | "medvae" | "mitie" | "ml-agents" | "ml-sharp" | "mlx" | "mlx-image" | "mlc-llm" | "model2vec" | "moshi" | "mtvcraft" | "multimolecule" | "nemo" | "nv-medtech" | "open-oasis" | "open_clip" | "openpeerllm" | "open-sora" | "outetts" | "paddlenlp" | "PaddleOCR" | "peft" | "perception-encoder" | "phantom-wan" | "pocket-tts" | "pruna-ai" | "pxia" | "pyannote-audio" | "py-feat" | "pythae" | "quantumpeer" | "qwen3_tts" | "recurrentgemma" | "relik" | "refiners" | "renderformer" | "reverb" | "rkllm" | "robo-orchard-lab" | "saelens" | "scail-2" | "sam2" | "sam-3d-body" | "sam-3d-objects" | "same" | "sample-factory" | "sap-rpt-1-oss" | "sapiens" | "sapiens2" | "seedvr" | "self-forcing" | "sentence-transformers" | "setfit" | "sklearn" | "spacy" | "span-marker" | "speechbrain" | "ssr-speech" | "stable-audio-3" | "stable-audio-tools" | "monkeyocr" | "diffusion-single-file" | "seed-story" | "skala" | "soloaudio" | "songbloom" | "stable-baselines3" | "stanza" | "supertonic" | "swarmformer" | "synthefy-migas" | "f5-tts" | "genmo" | "tencent-song-generation" | "tensorflowtts" | "tensorrt" | "tabpfn" | "terratorch" | "tic-clip" | "timesfm" | "timm" | "tirex" | "torchgeo" | "transformers" | "transformers.js" | "trellis" | "trellis2" | "tunejury" | "ultralytics" | "univa" | "uni-3dar" | "unity-sentis" | "sana" | "videoprism" | "vfi-mamba" | "vismatch" | "lvface" | "voicecraft" | "voxcpm" | "vui" | "vibevoice" | "videox_fun" | "wan2.2" | "wham" | "whisperkit" | "yolov10" | "yolov26" | "zonos" | "3dtopia-xl")[];
|
|
1704
|
+
export declare const ALL_DISPLAY_MODEL_LIBRARY_KEYS: ("acestep" | "adapter-transformers" | "allennlp" | "anemoi" | "araclip" | "aviation-ner" | "asteroid" | "audiocraft" | "audioseal" | "bagel-mot" | "bboxmaskpose" | "ben2" | "bertopic" | "big_vision" | "bionemo" | "birder" | "birefnet" | "bm25s" | "boltzgen" | "cancertathomev2" | "cartesia_pytorch" | "cartesia_mlx" | "champ" | "chatterbox" | "chaossim" | "chat_tts" | "chexmix" | "chronos-forecasting" | "clara" | "clipscope" | "cloud-agents" | "collectorvision" | "colipri" | "cosyvoice" | "cotracker" | "colpali" | "comet" | "cosmos" | "cxr-foundation" | "deepforest" | "depth-anything-v2" | "depth-pro" | "derm-foundation" | "describe-anything" | "dia-tts" | "dia2" | "diff-interpretation-tuning" | "diffree" | "diffusers" | "diffusionkit" | "docking-at-home" | "doctr" | "edsnlp" | "elm" | "encoderfile" | "espnet" | "eupe" | "fairseq" | "fastai" | "fastprint" | "fasttext" | "fixer" | "flair" | "fme" | "gemma.cpp" | "geometry-crafter" | "gliner" | "gliner2" | "glm-tts" | "glyph-byt5" | "granite-library" | "grok" | "habibi-tts" | "hallo" | "hermes" | "holomotion" | "hezar" | "htrflow" | "hunyuan-dit" | "hunyuan3d-2" | "hunyuanworld-voyager" | "hy-worldplay" | "hy-world-2" | "image-matching-models" | "imstoucan" | "index-tts" | "infinitetalk" | "infinite-you" | "intellifold" | "ising-decoding" | "keras" | "tf-keras" | "keras-hub" | "kernels" | "kimi-audio" | "kittentts" | "kronos" | "k2" | "lyra-2.0" | "lagernvs" | "lightning-ir" | "litert" | "litert-lm" | "lerobot" | "lightglue" | "liveportrait" | "longcat-video-avatar-1.5" | "llama-cpp-python" | "mini-omni2" | "mindspore" | "magi-1" | "magenta-realtime" | "magenta-realtime-2" | "mamba-ssm" | "manas-1" | "mars5-tts" | "matanyone" | "mesh-anything" | "merlin" | "medvae" | "mitie" | "ml-agents" | "ml-sharp" | "mlx" | "mlx-image" | "mlc-llm" | "model2vec" | "moshi" | "mtvcraft" | "multimolecule" | "nemo" | "nv-medtech" | "open-oasis" | "open_clip" | "openpeerllm" | "open-sora" | "outetts" | "paddlenlp" | "PaddleOCR" | "peft" | "perception-encoder" | "phantom-wan" | "pocket-tts" | "pruna-ai" | "pxia" | "pyannote-audio" | "py-feat" | "pythae" | "quantumpeer" | "qwen3_tts" | "recurrentgemma" | "relik" | "refiners" | "renderformer" | "reverb" | "rkllm" | "robo-orchard-lab" | "rwkv" | "saelens" | "scail-2" | "sam2" | "sam-3d-body" | "sam-3d-objects" | "same" | "sample-factory" | "sap-rpt-1-oss" | "sapiens" | "sapiens2" | "seedvr" | "self-forcing" | "sentence-transformers" | "setfit" | "sklearn" | "spacy" | "span-marker" | "speechbrain" | "ssr-speech" | "stable-audio-3" | "stable-audio-tools" | "monkeyocr" | "diffusion-single-file" | "seed-story" | "skala" | "soloaudio" | "songbloom" | "stable-baselines3" | "stanza" | "supertonic" | "swarmformer" | "synthefy-migas" | "f5-tts" | "genmo" | "tencent-song-generation" | "tensorflowtts" | "tensorrt" | "tabpfn" | "terratorch" | "tic-clip" | "timesfm" | "timm" | "tirex" | "torchgeo" | "transformers" | "transformers.js" | "trellis" | "trellis2" | "tunejury" | "ultralytics" | "univa" | "uni-3dar" | "unity-sentis" | "sana" | "videoprism" | "vfi-mamba" | "vismatch" | "lvface" | "voicecraft" | "voxcpm" | "vui" | "vibevoice" | "videox_fun" | "wan2.2" | "wham" | "whisperkit" | "yolov10" | "yolov26" | "zonos" | "3dtopia-xl")[];
|
|
1697
1705
|
//# sourceMappingURL=model-libraries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-libraries.d.ts","sourceRoot":"","sources":["../../src/model-libraries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,EAAE,CAAC;IAC1C;;;;;OAKG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,2BAA2B
|
|
1
|
+
{"version":3,"file":"model-libraries.d.ts","sourceRoot":"","sources":["../../src/model-libraries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1140,6 +1140,14 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = {
|
|
|
1140
1140
|
filter: false,
|
|
1141
1141
|
countDownloads: `path_extension:"safetensors"`,
|
|
1142
1142
|
},
|
|
1143
|
+
rwkv: {
|
|
1144
|
+
prettyLabel: "RWKV",
|
|
1145
|
+
repoName: "RWKV-LM",
|
|
1146
|
+
repoUrl: "https://github.com/BlinkDL/RWKV-LM",
|
|
1147
|
+
docsUrl: "https://rwkv.com/",
|
|
1148
|
+
filter: false,
|
|
1149
|
+
countDownloads: `path_extension:"pth"`,
|
|
1150
|
+
},
|
|
1143
1151
|
saelens: {
|
|
1144
1152
|
prettyLabel: "SAELens",
|
|
1145
1153
|
repoName: "SAELens",
|
package/package.json
CHANGED
package/src/agent-harnesses.ts
CHANGED
|
@@ -130,6 +130,12 @@ export const AGENT_HARNESSES = {
|
|
|
130
130
|
description: "Nous Research's self-improving, multi-provider terminal AI agent.",
|
|
131
131
|
envVars: { HERMES_SESSION_ID: "*" },
|
|
132
132
|
},
|
|
133
|
+
hi: {
|
|
134
|
+
prettyLabel: "hi",
|
|
135
|
+
repoUrl: "https://github.com/PipeNetwork/hi",
|
|
136
|
+
docsUrl: "https://github.com/PipeNetwork/hi#readme",
|
|
137
|
+
description: "Rust terminal coding agent with verification-in-the-loop.",
|
|
138
|
+
},
|
|
133
139
|
"kilo-code": {
|
|
134
140
|
prettyLabel: "Kilo Code",
|
|
135
141
|
repoUrl: "https://github.com/Kilo-Org/kilocode",
|
package/src/local-apps.spec.ts
CHANGED
|
@@ -201,6 +201,54 @@ curl -X POST "http://localhost:8000/v1/chat/completions" \\
|
|
|
201
201
|
expect(snippet[2].content).toContain("hermes");
|
|
202
202
|
});
|
|
203
203
|
|
|
204
|
+
it("openclaw", async () => {
|
|
205
|
+
const { snippet: snippetFunc } = LOCAL_APPS.openclaw;
|
|
206
|
+
const model: ModelData = {
|
|
207
|
+
id: "bartowski/Llama-3.2-3B-Instruct-GGUF",
|
|
208
|
+
tags: ["conversational"],
|
|
209
|
+
gguf: { total: 1, context_length: 4096, chat_template: "{% if tools %}" },
|
|
210
|
+
inference: "",
|
|
211
|
+
};
|
|
212
|
+
const snippet = snippetFunc(model);
|
|
213
|
+
|
|
214
|
+
expect(snippet[0].content).toContain(`llama-server -hf bartowski/Llama-3.2-3B-Instruct-GGUF:{{QUANT_TAG}}`);
|
|
215
|
+
expect(snippet[1].setup).toContain("npm install -g openclaw@latest");
|
|
216
|
+
expect(snippet[1].content).toContain("openclaw onboard --non-interactive --mode local");
|
|
217
|
+
expect(snippet[1].content).toContain("--auth-choice custom-api-key");
|
|
218
|
+
expect(snippet[1].content).toContain("--custom-base-url http://127.0.0.1:8080/v1");
|
|
219
|
+
expect(snippet[1].content).toContain('--custom-model-id "bartowski/Llama-3.2-3B-Instruct-GGUF:{{QUANT_TAG}}"');
|
|
220
|
+
expect(snippet[1].content).toContain("--custom-provider-id llama-cpp");
|
|
221
|
+
expect(snippet[1].content).toContain("--custom-compatibility openai");
|
|
222
|
+
expect(snippet[1].content).not.toContain("--custom-api-key");
|
|
223
|
+
expect(snippet[1].content).toContain("--custom-text-input");
|
|
224
|
+
expect(snippet[1].content).toContain("--accept-risk");
|
|
225
|
+
expect(snippet[1].content).toContain("--skip-health");
|
|
226
|
+
expect(snippet[2].content).toContain('openclaw agent --local --agent main --message "Hello from Hugging Face"');
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
it("openclaw - mlx", async () => {
|
|
230
|
+
const { snippet: snippetFunc } = LOCAL_APPS.openclaw;
|
|
231
|
+
const model: ModelData = {
|
|
232
|
+
id: "mlx-community/Llama-3.2-3B-Instruct-mlx",
|
|
233
|
+
tags: ["mlx", "conversational"],
|
|
234
|
+
pipeline_tag: "text-generation",
|
|
235
|
+
config: {
|
|
236
|
+
tokenizer_config: {
|
|
237
|
+
chat_template: "{% if tools %}...{% endif %}",
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
inference: "",
|
|
241
|
+
};
|
|
242
|
+
const snippet = snippetFunc(model);
|
|
243
|
+
|
|
244
|
+
expect(snippet[0].setup).toContain("uv tool install mlx-lm");
|
|
245
|
+
expect(snippet[1].content).toContain("openclaw onboard --non-interactive --mode local");
|
|
246
|
+
expect(snippet[1].content).toContain('--custom-model-id "mlx-community/Llama-3.2-3B-Instruct-mlx"');
|
|
247
|
+
expect(snippet[1].content).toContain("--custom-provider-id mlx-lm");
|
|
248
|
+
expect(snippet[1].content).toContain("--custom-text-input");
|
|
249
|
+
expect(snippet[2].content).toContain('openclaw agent --local --agent main --message "Hello from Hugging Face"');
|
|
250
|
+
});
|
|
251
|
+
|
|
204
252
|
it("docker model runner", async () => {
|
|
205
253
|
const { snippet: snippetFunc } = LOCAL_APPS["docker-model-runner"];
|
|
206
254
|
const model: ModelData = {
|
package/src/local-apps.ts
CHANGED
|
@@ -546,6 +546,37 @@ const snippetHermesAgent = (model: ModelData, filepath?: string): LocalAppSnippe
|
|
|
546
546
|
];
|
|
547
547
|
};
|
|
548
548
|
|
|
549
|
+
const snippetOpenClaw = (model: ModelData, filepath?: string): LocalAppSnippet[] => {
|
|
550
|
+
const isMLX = isMlxModel(model);
|
|
551
|
+
const providerId = isMLX ? "mlx-lm" : "llama-cpp";
|
|
552
|
+
const modelId = isMLX ? model.id : `${model.id}${getQuantTag(filepath)}`;
|
|
553
|
+
const serverStep = getLocalServerStep(model, filepath);
|
|
554
|
+
|
|
555
|
+
return [
|
|
556
|
+
serverStep,
|
|
557
|
+
{
|
|
558
|
+
title: "Configure OpenClaw",
|
|
559
|
+
setup: "# Install OpenClaw:\nnpm install -g openclaw@latest",
|
|
560
|
+
content: [
|
|
561
|
+
"# Register the local server and set it as the default model:",
|
|
562
|
+
"openclaw onboard --non-interactive --mode local \\",
|
|
563
|
+
" --auth-choice custom-api-key \\",
|
|
564
|
+
" --custom-base-url http://127.0.0.1:8080/v1 \\",
|
|
565
|
+
` --custom-model-id "${modelId}" \\`,
|
|
566
|
+
` --custom-provider-id ${providerId} \\`,
|
|
567
|
+
" --custom-compatibility openai \\",
|
|
568
|
+
" --custom-text-input \\",
|
|
569
|
+
" --accept-risk \\",
|
|
570
|
+
" --skip-health",
|
|
571
|
+
].join("\n"),
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
title: "Run OpenClaw",
|
|
575
|
+
content: `openclaw agent --local --agent main --message "Hello from Hugging Face"`,
|
|
576
|
+
},
|
|
577
|
+
];
|
|
578
|
+
};
|
|
579
|
+
|
|
549
580
|
const snippetDockerModelRunner = (model: ModelData, filepath?: string): string => {
|
|
550
581
|
// Only add quant tag for GGUF models, not safetensors
|
|
551
582
|
const quantTag = isLlamaCppGgufModel(model) ? getQuantTag(filepath) : "";
|
|
@@ -801,6 +832,13 @@ export const LOCAL_APPS = {
|
|
|
801
832
|
displayOnModelPage: isToolCallingLocalAgentModel,
|
|
802
833
|
snippet: snippetHermesAgent,
|
|
803
834
|
},
|
|
835
|
+
openclaw: {
|
|
836
|
+
prettyLabel: "OpenClaw",
|
|
837
|
+
docsUrl: "https://github.com/openclaw/openclaw",
|
|
838
|
+
mainTask: "text-generation",
|
|
839
|
+
displayOnModelPage: isToolCallingLocalAgentModel,
|
|
840
|
+
snippet: snippetOpenClaw,
|
|
841
|
+
},
|
|
804
842
|
} satisfies Record<string, LocalApp>;
|
|
805
843
|
|
|
806
844
|
export type LocalAppKey = keyof typeof LOCAL_APPS;
|
package/src/model-libraries.ts
CHANGED
|
@@ -1184,6 +1184,14 @@ export const MODEL_LIBRARIES_UI_ELEMENTS = {
|
|
|
1184
1184
|
filter: false,
|
|
1185
1185
|
countDownloads: `path_extension:"safetensors"`,
|
|
1186
1186
|
},
|
|
1187
|
+
rwkv: {
|
|
1188
|
+
prettyLabel: "RWKV",
|
|
1189
|
+
repoName: "RWKV-LM",
|
|
1190
|
+
repoUrl: "https://github.com/BlinkDL/RWKV-LM",
|
|
1191
|
+
docsUrl: "https://rwkv.com/",
|
|
1192
|
+
filter: false,
|
|
1193
|
+
countDownloads: `path_extension:"pth"`,
|
|
1194
|
+
},
|
|
1187
1195
|
saelens: {
|
|
1188
1196
|
prettyLabel: "SAELens",
|
|
1189
1197
|
repoName: "SAELens",
|