diff options
| author | Agando <roduccomm@gmail.com> | 2026-06-04 06:01:04 +0200 |
|---|---|---|
| committer | Agando <roduccomm@gmail.com> | 2026-06-04 06:01:04 +0200 |
| commit | a5023e61be61f2f2287342039addab6bb28ad2fd (patch) | |
| tree | 9b1b3c166869cd6fee91bffe1f4134513005b8b1 /modules/core/module-ollamamodels.js | |
| parent | 301f75ab03302a05b3c35950a3b0ab49f9f69ed6 (diff) | |
auto: 2026-06-04_06:00 changes
Diffstat (limited to 'modules/core/module-ollamamodels.js')
| -rw-r--r-- | modules/core/module-ollamamodels.js | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/modules/core/module-ollamamodels.js b/modules/core/module-ollamamodels.js deleted file mode 100644 index 9a7763a..0000000 --- a/modules/core/module-ollamamodels.js +++ /dev/null @@ -1,87 +0,0 @@ -// Extracted from newOS4 index.html — OllamaModelsModule - class OllamaModelsModule { - constructor() { this.commands = {}; this.terminal = null; } - getHelpInfo() { - return { - 'models': 'models — List all available Ollama models', - 'model-info': 'model-info <model-name> — Show details about a specific model', - 'model-pull': 'model-pull <model-name> — Pull a model from Ollama registry', - 'model-delete': 'model-delete <model-name> — Delete a model from local storage', - 'model-run': 'model-run <model-name> [prompt] — Run inference with a model' - }; - } - registerCommands() { - this.commands['models'] = () => this.listModels(); - this.commands['model-info'] = (args) => this.modelInfo(args); - this.commands['model-pull'] = (args) => this.pullModel(args); - this.commands['model-delete'] = (args) => this.deleteModel(args); - this.commands['model-run'] = (args) => this.runModel(args); - } - async listModels() { - const endpoint = localStorage.getItem('webx11_ollama_endpoint') || 'http://localhost:11434'; - try { - const response = await fetch(`${endpoint}/api/tags`); - if (!response.ok) throw new Error(`HTTP ${response.status}`); - const data = await response.json(); - const models = data.models || []; - if (models.length === 0) { - this.terminal.print("No models found. Run 'ollama pull <model>' first.", "warning"); return; - } - this.terminal.print("=== Available Ollama Models ===", "info"); - this.terminal.printHTML(`<table style="width: 100%; border-collapse: collapse; margin: 10px 0;"> - <tr style="border-bottom: 1px solid #005500;"> - <th style="text-align: left; padding: 5px;">Name</th> - <th style="text-align: left; padding: 5px;">Size</th> - <th style="text-align: left; padding: 5px;">Family</th> - </tr>`); - models.forEach(m => { - const sizeGB = (m.size / 1e9).toFixed(2); - this.terminal.printHTML(`<tr style="border-bottom: 1px solid #111;"> - <td style="padding: 5px; color: #00ff00;">${m.name}</td> - <td style="padding: 5px; color: #888888;">${sizeGB} GB</td> - <td style="padding: 5px; color: #00aaff;">${m.details?.family || 'N/A'}</td> - </tr>`); - }); - this.terminal.printHTML(`</table>`); - } catch (e) { - this.terminal.print(`Failed to fetch models: ${e.message}`, "error"); - } - } - async modelInfo(args) { - if (!args[0]) { - this.terminal.print("Usage: model-info <model-name>", "warning"); return; - } - const endpoint = localStorage.getItem('webx11_ollama_endpoint') || 'http://localhost:11434'; - try { - const response = await fetch(`${endpoint}/api/show`, { - method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ name: args[0] }) - }); - if (!response.ok) throw new Error(`HTTP ${response.status}`); - const data = await response.json(); - this.terminal.print(`=== ${args[0]} ===`, "info"); - this.terminal.print(`License: ${data.license || 'N/A'}`); - this.terminal.print(`Parameters: ${data.details?.parameter_size || 'N/A'}`); - this.terminal.print(`Family: ${data.details?.family || 'N/A'}`); - } catch (e) { - this.terminal.print(`Failed to get model info: ${e.message}`, "error"); - } - } - pullModel(args) { - this.terminal.print("⚠️ Model pulling must be done via Ollama CLI", "warning"); - this.terminal.print(`Run: ollama pull ${args[0] || '<model-name>'}`, "info"); - } - deleteModel(args) { - this.terminal.print("⚠️ Model deletion must be done via Ollama CLI", "warning"); - this.terminal.print(`Run: ollama rm ${args[0] || '<model-name>'}`, "info"); - } - async runModel(args) { - if (!args[0]) { - this.terminal.print("Usage: model-run <model-name> [prompt]", "warning"); return; - } - const model = args[0]; - const prompt = args.slice(1).join(' ') || 'Hello!'; - this.terminal.print(`Running ${model}...`, "info"); - await this.terminal.ollamaManager.chat(prompt, model); - } - } |