65c2ea3d50
- install: clone app source, create venv, install deps + torch + models - start: daemon uvicorn on 127.0.0.1 with auto-captured URL - reset: remove venv/cache/models but keep source - update: pull both launcher and app, then re-install - sanitized: no local env details, no TODO/DONE - icon.png included
95 lines
2.3 KiB
JavaScript
95 lines
2.3 KiB
JavaScript
// Multi-TTS-Server Pinokio launcher
|
|
// One-click install/start for hermes/multi-tts-server
|
|
module.exports = {
|
|
version: "1.0.0",
|
|
title: "Multi-TTS-Server",
|
|
description: "XTTS + F5-TTS server with OpenAI-compatible API, Gradio Web UI, and MultiTTS Android export.",
|
|
icon: "icon.png",
|
|
menu: async (kernel, info) => {
|
|
// Marker: app/venv exists after install
|
|
let installed = info.exists("app/venv/Scripts/python.exe") ||
|
|
info.exists("app/venv/bin/python")
|
|
|
|
let running = {
|
|
install: info.running("install.js"),
|
|
start: info.running("start.js"),
|
|
update: info.running("update.js"),
|
|
reset: info.running("reset.js"),
|
|
}
|
|
|
|
if (running.install) {
|
|
return [{
|
|
default: true,
|
|
icon: "fa-solid fa-plug",
|
|
text: "Installing",
|
|
href: "install.js",
|
|
}]
|
|
}
|
|
|
|
if (running.start) {
|
|
let local = info.local("start.js")
|
|
if (local && local.url) {
|
|
return [{
|
|
default: true,
|
|
icon: "fa-solid fa-rocket",
|
|
text: "Open Web UI",
|
|
href: local.url,
|
|
}, {
|
|
icon: "fa-solid fa-terminal",
|
|
text: "Terminal",
|
|
href: "start.js",
|
|
}]
|
|
}
|
|
return [{
|
|
default: true,
|
|
icon: "fa-solid fa-terminal",
|
|
text: "Starting",
|
|
href: "start.js",
|
|
}]
|
|
}
|
|
|
|
if (running.update) {
|
|
return [{
|
|
default: true,
|
|
icon: "fa-solid fa-terminal",
|
|
text: "Updating",
|
|
href: "update.js",
|
|
}]
|
|
}
|
|
|
|
if (running.reset) {
|
|
return [{
|
|
default: true,
|
|
icon: "fa-solid fa-terminal",
|
|
text: "Resetting",
|
|
href: "reset.js",
|
|
}]
|
|
}
|
|
|
|
if (installed) {
|
|
return [{
|
|
default: true,
|
|
icon: "fa-solid fa-power-off",
|
|
text: "Start",
|
|
href: "start.js",
|
|
}, {
|
|
icon: "fa-solid fa-plug",
|
|
text: "Update",
|
|
href: "update.js",
|
|
}, {
|
|
icon: "fa-regular fa-circle-xmark",
|
|
text: "<div><strong>Reset</strong><div>Revert to pre-install state</div></div>",
|
|
href: "reset.js",
|
|
confirm: "Are you sure you wish to reset the app? This deletes the venv and any downloaded models.",
|
|
}]
|
|
}
|
|
|
|
return [{
|
|
default: true,
|
|
icon: "fa-solid fa-plug",
|
|
text: "Install",
|
|
href: "install.js",
|
|
}]
|
|
}
|
|
}
|