diff --git a/packages/tasks/src/local-apps.ts b/packages/tasks/src/local-apps.ts index 7f9aeb6c43..0b0c40b159 100644 --- a/packages/tasks/src/local-apps.ts +++ b/packages/tasks/src/local-apps.ts @@ -94,6 +94,10 @@ function isAmdRyzenModel(model: ModelData) { return model.tags.includes("ryzenai-hybrid") || model.tags.includes("ryzenai-npu"); } +function isCactusModel(model: ModelData) { + return model.tags.includes("cactus"); +} + function isMlxModel(model: ModelData) { return model.tags.includes("mlx"); } @@ -361,6 +365,21 @@ const snippetLemonade = (model: ModelData, filepath?: string): LocalAppSnippet[] ]; }; +const snippetCactus = (model: ModelData, filepath?: string): LocalAppSnippet[] => { + return [ + { + title: "Install Cactus for Flutter", + setup: "flutter pub get cactus", + content: "Follow the documentation", + }, + { + title: "Install Cactus for React Native", + setup: "npm install cactus-react-native", + content: "Follow the documentation", + }, + ]; +}; + /** * Add your new local app here. * @@ -545,6 +564,13 @@ export const LOCAL_APPS = { displayOnModelPage: (model) => isLlamaCppGgufModel(model) || isAmdRyzenModel(model), snippet: snippetLemonade, }, + cactus: { + prettyLabel: "Cactus", + docsUrl: "https://cactuscompute.com/docs", + mainTask: "text-generation", + displayOnModelPage: isCactusModel, + snippet: snippetCactus + }, } satisfies Record; export type LocalAppKey = keyof typeof LOCAL_APPS;