From 8f909b6b1d5797dec17fe00e30a02eff35112a74 Mon Sep 17 00:00:00 2001 From: Mateusz Charytoniuk Date: Wed, 20 Aug 2025 16:57:46 +0200 Subject: [PATCH] Local apps: Add Paddler --- packages/tasks/src/local-apps.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/packages/tasks/src/local-apps.ts b/packages/tasks/src/local-apps.ts index f6632e0e60..8d1d53e8fa 100644 --- a/packages/tasks/src/local-apps.ts +++ b/packages/tasks/src/local-apps.ts @@ -340,6 +340,20 @@ const snippetLemonade = (model: ModelData, filepath?: string): LocalAppSnippet[] ]; }; +const snippetPaddler = (): LocalAppSnippet[] => { + return [ + { + title: "Run Paddler cluster", + setup: "# Install Paddler: https://paddler.intentee.com/docs/introduction/installation/", + content: [ + "# Run the management server\npaddler balancer --management-addr 127.0.0.1:8060 --web-admin-panel-addr 127.0.0.1:8062", + "# Run Paddler agents to scale your setup\npaddler agent --management-addr 127.0.0.1:8060 --name agent-1", + "# Use `Model` tab in the Paddler admin panel to paste the link to this model\n# More info: https://paddler.intentee.com/docs/starting-out/model-swapping/", + ], + }, + ]; +}; + /** * Add your new local app here. * @@ -524,6 +538,13 @@ export const LOCAL_APPS = { displayOnModelPage: isLlamaCppGgufModel, snippet: snippetLemonade, }, + paddler: { + prettyLabel: "Paddler (self-hosted cluster)", + docsUrl: "https://paddler.intentee.com", + mainTask: "text-generation", + displayOnModelPage: isLlamaCppGgufModel, + snippet: snippetPaddler, + }, } satisfies Record; export type LocalAppKey = keyof typeof LOCAL_APPS;