From 0e45518e6ea380039766bf88debce41a2a1a2620 Mon Sep 17 00:00:00 2001 From: Mikei386 <44135113+Mikei386@users.noreply.github.com> Date: Wed, 9 Sep 2026 22:03:31 +0200 Subject: [PATCH] Remove Seed-VC after failed German quality test --- README.md | 5 +- compose.yaml | 3 - dev/test_dashboard_modes.py | 7 --- docs/CONTAINER_INVENTORY.md | 1 - docs/OPERATING_MODES.md | 16 +----- docs/TESTED_MODELS.md | 3 +- experiments/seed-vc/Dockerfile | 25 --------- experiments/seed-vc/README.md | 16 ------ experiments/seed-vc/compose.yaml | 40 ------------- .../profile-controller/profile_controller.py | 56 ------------------- .../docker/wireguard-gateway/entrypoint.sh | 1 - platform/llama-dashboard/app.py | 14 ++--- router/ai_profile_router.py | 23 ++------ 13 files changed, 16 insertions(+), 194 deletions(-) delete mode 100644 experiments/seed-vc/Dockerfile delete mode 100644 experiments/seed-vc/README.md delete mode 100644 experiments/seed-vc/compose.yaml diff --git a/README.md b/README.md index 4953871..0e86065 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Bild- und Sprachausgabe. **Hermes und die Fach-MCPs laufen auf Unraid.** - Whisper.cpp `ggml-small` auf der CPU für lokale deutsche Spracherkennung - Live-Dashboard mit 21 Tagen Detailhistorie auf Port 8099 - Dashboard-Umschaltung zwischen LLM-Betrieb, ACE-Step-Musikstudio, - BS-RoFormer-Stimmtrennung, OmniVoice, X-VC, Seed-VC und Applio/RVC + BS-RoFormer-Stimmtrennung, OmniVoice, X-VC und Applio/RVC - Portainer CE als optionale Container-Ansicht auf Port 9443 - WireGuard-Gateway, Datenbackup und Athena-Operator - keine produktive Hermes-, OpenWebUI- oder portable Fach-MCP-Instanz @@ -127,12 +127,11 @@ Details, Installation, Prüfung und Rollback stehen in - Spuren trennen (BS-RoFormer + Demucs, 2/4/6 Stems): `http://192.168.1.212:8007` - Voice Studio (OmniVoice, Text zu Stimme): `http://192.168.1.212:8008` - Voice Changer (X-VC, Audio zu Audio; native 16 kHz plus optional restaurierte 44,1 kHz): `http://192.168.1.212:8009` -- Seed-VC (Zero-Shot Sprache/Gesang zu Referenzstimme): `http://192.168.1.212:8010` - Applio (RVC-Inferenz, Modelle und Training): `http://192.168.1.212:8011` Der Betriebsmodus lässt sich dort direkt umschalten. In Hermes funktionieren außerdem `/athena music`, `/athena stems`, `/athena voice`, -`/athena voicechange`, `/athena seedvc`, `/athena applio`, `/athena llm` und `/athena status`; Details stehen in +`/athena voicechange`, `/athena applio`, `/athena llm` und `/athena status`; Details stehen in [docs/OPERATING_MODES.md](docs/OPERATING_MODES.md). Der Router stellt Sprache OpenAI-kompatibel bereit: Sprachausgabe über diff --git a/compose.yaml b/compose.yaml index 460dd19..dddf706 100644 --- a/compose.yaml +++ b/compose.yaml @@ -573,7 +573,6 @@ services: SEPARATOR_WORKER: bs-roformer VOICE_WORKER: vevo2 VOICE_CHANGE_WORKER: xvc - SEED_VC_WORKER: seed-vc APPLIO_WORKER: applio networks: [control] security_opt: ["no-new-privileges:true"] @@ -634,7 +633,6 @@ services: ENABLE_MUSIC_MODE: "true" MUSIC_START_TIMEOUT: "600" VOICE_CHANGE_START_TIMEOUT: "600" - SEED_VC_START_TIMEOUT: "900" APPLIO_START_TIMEOUT: "900" STT_WORKER_URL: http://whisper:8084 STT_TIMEOUT: "300" @@ -869,7 +867,6 @@ services: SEPARATOR_UI_URL: "${SEPARATOR_UI_URL:-http://192.168.1.212:8007/}" VOICE_UI_URL: "${VOICE_UI_URL:-http://192.168.1.212:8008/}" VOICE_CHANGE_UI_URL: "${VOICE_CHANGE_UI_URL:-http://192.168.1.212:8009/}" - SEED_VC_UI_URL: "${SEED_VC_UI_URL:-http://192.168.1.212:8010/}" APPLIO_UI_URL: "${APPLIO_UI_URL:-http://192.168.1.212:8011/}" HOST_PROC: /host/proc HOST_DATA: /host/data diff --git a/dev/test_dashboard_modes.py b/dev/test_dashboard_modes.py index c2b3126..8c72175 100644 --- a/dev/test_dashboard_modes.py +++ b/dev/test_dashboard_modes.py @@ -70,13 +70,6 @@ class DashboardModeTests(unittest.TestCase): request = urlopen.call_args.args[0] self.assertEqual(json.loads(request.data), {"mode": "voicechange"}) - def test_seed_vc_mode_is_forwarded_to_router(self): - with patch.object(self.dashboard.urllib.request, "urlopen", return_value=_Response()) as urlopen: - status, body = self.dashboard.change_mode("seedvc") - self.assertEqual(status, 202) - self.assertEqual(body, {"status": "accepted"}) - self.assertEqual(json.loads(urlopen.call_args.args[0].data), {"mode": "seedvc"}) - def test_applio_mode_is_forwarded_to_router(self): with patch.object(self.dashboard.urllib.request, "urlopen", return_value=_Response()) as urlopen: status, body = self.dashboard.change_mode("applio") diff --git a/docs/CONTAINER_INVENTORY.md b/docs/CONTAINER_INVENTORY.md index a167d3a..90a811b 100644 --- a/docs/CONTAINER_INVENTORY.md +++ b/docs/CONTAINER_INVENTORY.md @@ -28,7 +28,6 @@ nicht automatisch ein ungenutzter Rest. | `mike-ai-profile-controller` | kein Modell | Startet und stoppt ausschließlich freigegebene Modellprofile und Spezialworker in einer sicheren Reihenfolge. | | `mike-ai-qwen3-tts` | `Qwen/Qwen3-TTS-12Hz-1.7B-Base`, Stimme Serena | Hochwertige deutsche Sprachausgabe auf der RTX 3060 im LLM-Betrieb. | | `mike-ai-router` | kein eigenes Modell | Einzige OpenAI-kompatible Modelladresse; koordiniert Profile, Bildaufträge, Sprache und Betriebsarten. | -| `mike-ai-seed-vc-studio` | Seed-VC V1; Gewichte werden beim ersten Modusstart vollständig geladen | Zero-Shot-Sprach- und Gesangswandlung anhand einer Referenzaufnahme auf der RTX 5080. Der Dienst gilt erst nach geladenen Teilmodellen als bereit; Gewichte bleiben persistent. | | `mike-ai-stem-separator` | BS-RoFormer Viperx 1297, `htdemucs_ft`, `htdemucs_6s`, `MossFormer2_SE_48K` | Trennt Gesang, Instrumente oder Sprache/Hintergrundgeräusche im exklusiven Separationsmodus. | | `mike-ai-tts-gateway` | kein eigenes Modell | Normalisiert Text, leitet TTS an Qwen3-TTS weiter und fällt bei Bedarf auf Piper zurück. | | `mike-ai-voice-studio` | `k2-fsa/OmniVoice` 0.2.1 mit Whisper-ASR | Erzeugt Text-to-Speech mit einer Referenzstimme; kein Audio-to-Audio-Voice-Changer. | diff --git a/docs/OPERATING_MODES.md b/docs/OPERATING_MODES.md index 7149d32..8f5d629 100644 --- a/docs/OPERATING_MODES.md +++ b/docs/OPERATING_MODES.md @@ -1,6 +1,6 @@ # Athena-Betriebsmodi -Athena besitzt sieben gegenseitig exklusive Betriebsmodi: +Athena besitzt sechs gegenseitig exklusive Betriebsmodi: - `llm`: ein llama.cpp-Profil und Qwen3-TTS laufen; Spezialdienste sind gestoppt. - `music`: ACE-Step 1.5 XL-SFT läuft; alle LLM-, Bild-, TTS- und Separator-Worker sind gestoppt. @@ -11,8 +11,6 @@ Athena besitzt sieben gegenseitig exklusive Betriebsmodi: - `voicechange`: X-VC überträgt eine vorhandene Sprachaufnahme auf eine Referenzstimme und bewahrt dabei Inhalt und Timing. Alle anderen GPU-Dienste sind gestoppt. -- `seedvc`: Seed-VC V1 wandelt Sprache oder Gesang ohne Training anhand einer - Referenzaufnahme um. Alle anderen GPU-Dienste sind gestoppt. - `applio`: Applio stellt RVC-Inferenz, Modellverwaltung und Training bereit. Alle anderen GPU-Dienste sind gestoppt. @@ -23,7 +21,7 @@ wird persistent gespeichert und beim Verlassen eines Spezialmodus wieder geladen ## Bedienung Im Athena-Dashboard stehen **LLM-Betrieb**, **Musikstudio**, **Audio trennen**, -**Voice Studio**, **X-VC**, **Seed-VC** und **Applio / RVC** bereit. Im Musikmodus werden zwei Oberflächen angeboten: +**Voice Studio**, **X-VC** und **Applio / RVC** bereit. Im Musikmodus werden zwei Oberflächen angeboten: - **Original UI · stabil** öffnet die zum laufenden ACE-Step-Image gehörende Gradio-Oberfläche. Sie ist für Cover, Remix und erweiterte Workflows der @@ -75,11 +73,6 @@ des verwendeten GLM-4-Voice-Tokenizers ist Chinesisch und Englisch; Deutsch bleibt deshalb bis zur Hörabnahme ein Qualitätstest und kein zugesagter Produktionspfad. X-VC läuft ausschließlich auf der RTX 5080. -Seed-VC ist unter `http://192.168.1.212:8010` erreichbar. Die gepinnte V1- -Oberfläche unterstützt Zero-Shot-Sprach- und Gesangswandlung. Der Code ist auf -den archivierten Upstream-Commit `51383efd921027683c89e5348211d93ff12ac2a8` -fixiert; Gewichte werden beim ersten Auftrag persistent zwischengespeichert. - Applio ist unter `http://192.168.1.212:8011` erreichbar. Der RVC-Pfad besitzt eine eigene Modellbibliothek, Inferenz und Training. Hochwertige Inferenz benötigt zwingend ein zuvor importiertes oder trainiertes RVC-Stimmenmodell @@ -95,7 +88,6 @@ Router lokal beantwortet, auch wenn gerade kein LLM geladen ist: /athena stems /athena voice /athena voicechange -/athena seedvc /athena applio /athena llm /athena status @@ -109,7 +101,6 @@ POST /mode {"mode":"music"} POST /mode {"mode":"separation"} POST /mode {"mode":"voice"} POST /mode {"mode":"voicechange"} -POST /mode {"mode":"seedvc"} POST /mode {"mode":"applio"} POST /mode {"mode":"llm"} ``` @@ -119,8 +110,7 @@ Der Wechsel läuft asynchron. Fortschritt und Fehler stehen unter `mode` in `com.mike-ai.music-worker=acestep` beziehungsweise `com.mike-ai.stem-separator=bs-roformer` oder `com.mike-ai.voice-worker=vevo2` beziehungsweise -`com.mike-ai.voice-change-worker=xvc`, -`com.mike-ai.seed-vc-worker=seed-vc` oder +`com.mike-ai.voice-change-worker=xvc` oder `com.mike-ai.applio-worker=applio` markierten Container; freie Container- oder Docker-Befehle werden nicht entgegengenommen. diff --git a/docs/TESTED_MODELS.md b/docs/TESTED_MODELS.md index 44f685d..12b7827 100644 --- a/docs/TESTED_MODELS.md +++ b/docs/TESTED_MODELS.md @@ -61,8 +61,7 @@ Titelgenerierung und Kontextkompression in Hermes. | 09.09.2026 | `k2-fsa/OmniVoice` 0.2.1 | Offizielle Gradio-UI auf RTX 5080 gestartet; Modell plus Whisper-ASR belegen rund 3,7 GiB VRAM. `omnivoice-triton` 0.1.0 ist kompatibel im Image vorhanden, für den ersten Hörtest aber bewusst noch nicht aktiviert | **technischer Starttest bestanden**, Hörabnahme und Basis-vs.-Triton-Messung offen; Gewichte CC BY-NC und daher nur nichtkommerziell einsetzen | | 09.09.2026 | `chenxie95/X-VC`, Code `49df8c591eafc48b096e466d96f9839f9c0dd739`, UI-Basis `d761cd6421e85376b2656dfefd8471d7f35a42be` | Offizielles Beispiel Ende-zu-Ende gewandelt: 5,20 s Audio in 1,07 s (RTF 0,21), gültiges 16-kHz-Mono-PCM-WAV; Modell belegt rund 2,9 GiB auf der RTX 5080. GLM-4-Voice-Tokenizer dokumentiert Chinesisch und Englisch | **technischer Start- und Konvertierungstest bestanden**; deutsche Hörabnahme offen | | 09.09.2026 | Resemble Enhance 0.0.1, Modellrevision `4e3510ce4a8391159f665903544c5150bee7b2cb` | 14,56 s native X-VC-Ausgabe bei 16 kHz wurden auf der RTX 5080 in 3,55 s zu 44,1-kHz-PCM-WAV restauriert. 3,27 % der gemessenen Signalenergie lagen danach oberhalb 8 kHz; damit ist der Pfad keine bloße Neuabtastung. Wegen der alten Upstream-Pins läuft die reine Inferenz mit NumPy 1.26.4/SciPy 1.11.4 auf dem bestehenden Torch-2.8/CUDA-12.8-Unterbau | **technisch produktiv als optionaler A/B-Pfad**; Hörabnahme entscheidet, ob die rekonstruierten Höhen subjektiv besser oder künstlicher klingen | -| 09.09.2026 | `Plachtaa/seed-vc` V1, Code `51383efd921027683c89e5348211d93ff12ac2a8` | Gepinntes CUDA-12.8-/Torch-2.7.1-Image auf RTX 5080 gestartet; offizielle Gradio-Oberfläche und Healthcheck antworten. Gewichte folgen beim ersten echten Auftrag in den persistenten Hugging-Face-Cache | **technischer Starttest bestanden**; Konvertierungs- und Hörtest offen | -| 09.09.2026 | Seed-VC V1, Code `51383efd921027683c89e5348211d93ff12ac2a8` | Sämtliche V1-Teilmodelle werden nun vor Freigabe der Oberfläche geladen und persistent gespeichert. Reale Beispielwandlung mit 10 Diffusionsschritten auf der RTX 5080 abgeschlossen; vollständige WAV erzeugt, etwa 3,6 GiB VRAM belegt | **technischer Start-, Persistenz- und Konvertierungstest bestanden**; der erste Start benötigt wegen der Downloads mehrere Minuten, spätere Starts verwenden den Cache | +| 09.09.2026 | `Plachtaa/seed-vc` V1, Code `51383efd921027683c89e5348211d93ff12ac2a8` | Technisch vollständig lauffähig: gepinntes CUDA-Image, persistente Gewichte und reale WAV-Konvertierung mit etwa 3,6 GiB VRAM. Im deutschen Hörtest erhielt die Ausgabe jedoch einen deutlich chinesischen Akzent | **qualitativ verworfen und vollständig entfernt**; nicht erneut für deutsche Sprachwandlung einplanen | | 09.09.2026 | `IAHispano/Applio`, Code `7fa68ec2166ab1331c539704159fa14901e94e5a` | Gepinntes CUDA-12.8-fähiges Image auf RTX 5080 gestartet; vollständige Applio/RVC-Oberfläche antwortet und CUDA ist verfügbar. Rund 1,8 GiB Basisgewichte und die Konfiguration wurden persistent ausgelagert. Es ist kein Zielstimmenmodell installiert; Applio kann aus einer Referenzaufnahme allein kein Modell ableiten | **technischer Start- und Persistenztest bestanden**; Konvertierung erst nach Import oder Training einer `.pth`-Stimme möglich | ## Musikgenerierung diff --git a/experiments/seed-vc/Dockerfile b/experiments/seed-vc/Dockerfile deleted file mode 100644 index 89ef4fe..0000000 --- a/experiments/seed-vc/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -FROM nvidia/cuda:12.8.1-cudnn-runtime-ubuntu22.04 - -ARG SEED_VC_COMMIT=51383efd921027683c89e5348211d93ff12ac2a8 -ENV DEBIAN_FRONTEND=noninteractive \ - PIP_DISABLE_PIP_VERSION_CHECK=1 \ - HF_HOME=/models/huggingface \ - PYTHONUNBUFFERED=1 - -RUN apt-get update && apt-get install -y --no-install-recommends \ - build-essential ca-certificates curl ffmpeg git libsndfile1 python3 python3-dev python3-pip \ - && rm -rf /var/lib/apt/lists/* - -WORKDIR /app -RUN git clone https://github.com/Plachtaa/seed-vc.git . \ - && git checkout "$SEED_VC_COMMIT" \ - && sed -i '/^torch\($\|[= <>=]\)/d;/^torchvision\($\|[= <>=]\)/d;/^torchaudio\($\|[= <>=]\)/d' requirements.txt \ - && python3 -m pip install --no-cache-dir \ - torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 \ - --index-url https://download.pytorch.org/whl/cu128 \ - && python3 -m pip install --no-cache-dir -r requirements.txt \ - && sed -i 's/demo\.launch()/demo.launch(server_name="0.0.0.0", server_port=7860)/' app.py \ - && sed -i '/if args.enable_v1:/a\ print("Loading V1 models...", flush=True)\n from seed_vc_wrapper import SeedVCWrapper\n vc_wrapper_v1 = SeedVCWrapper()\n print("V1 models ready.", flush=True)' app.py - -EXPOSE 7860 -CMD ["python3", "app.py", "--enable-v1"] diff --git a/experiments/seed-vc/README.md b/experiments/seed-vc/README.md deleted file mode 100644 index 0667521..0000000 --- a/experiments/seed-vc/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Seed-VC Studio - -Reproduzierbarer, experimenteller Seed-VC-v2-Worker mit der offiziellen -Gradio-Oberfläche. Der Build ist auf Upstream-Commit -`51383efd921027683c89e5348211d93ff12ac2a8` festgeschrieben. - -- Dashboard-Modus: `Seed-VC` -- WireGuard-URL: `http://192.168.1.212:8010/` -- GPU: RTX 5080, exklusiv zu LLM, Musik- und anderen Voice-Modi -- Persistenz: Hugging-Face-Cache unter `/data/huggingface` - -Das Image enthält den Programmcode. Beim Moduswechsel werden sämtliche -V1-Teilmodelle geladen, bevor der Healthcheck den Dienst als bereit meldet. Die -benötigten Modellgewichte bleiben unter `/data/voice/seed-vc/checkpoints` -erhalten; dadurch blockiert nicht mehr der erste Konvertierungsauftrag scheinbar -ohne Fortschritt. diff --git a/experiments/seed-vc/compose.yaml b/experiments/seed-vc/compose.yaml deleted file mode 100644 index a7900e8..0000000 --- a/experiments/seed-vc/compose.yaml +++ /dev/null @@ -1,40 +0,0 @@ -services: - seed-vc-studio: - build: . - image: mike-ai/seed-vc-studio:51383efd - container_name: mike-ai-seed-vc-studio - restart: "no" - labels: - com.mike-ai.seed-vc-worker: seed-vc - environment: - NVIDIA_VISIBLE_DEVICES: ${VOICE_GPU_UUID:?set VOICE_GPU_UUID to the RTX 5080 UUID} - NVIDIA_DRIVER_CAPABILITIES: compute,utility - HF_HOME: /models/huggingface - PYTORCH_CUDA_ALLOC_CONF: expandable_segments:True - ports: - - "127.0.0.1:8010:7860" - volumes: - - /data/voice/seed-vc/huggingface:/models/huggingface - - /data/voice/seed-vc/checkpoints:/app/checkpoints - - /data/voice/seed-vc/output:/app/results - healthcheck: - test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:7860/ >/dev/null"] - interval: 5s - timeout: 3s - start_period: 900s - retries: 3 - deploy: - resources: - reservations: - devices: - - driver: nvidia - device_ids: ["${VOICE_GPU_UUID:?set VOICE_GPU_UUID to the RTX 5080 UUID}"] - capabilities: [gpu] - networks: - frontend: - aliases: [seed-vc-studio] - -networks: - frontend: - name: mike-ai_frontend - external: true diff --git a/platform/docker/profile-controller/profile_controller.py b/platform/docker/profile-controller/profile_controller.py index 7ef6f9d..e0d9f83 100644 --- a/platform/docker/profile-controller/profile_controller.py +++ b/platform/docker/profile-controller/profile_controller.py @@ -36,8 +36,6 @@ VOICE_LABEL_KEY = "com.mike-ai.voice-worker" VOICE_WORKER = os.environ.get("VOICE_WORKER", "").strip() VOICE_CHANGE_LABEL_KEY = "com.mike-ai.voice-change-worker" VOICE_CHANGE_WORKER = os.environ.get("VOICE_CHANGE_WORKER", "").strip() -SEED_VC_LABEL_KEY = "com.mike-ai.seed-vc-worker" -SEED_VC_WORKER = os.environ.get("SEED_VC_WORKER", "").strip() APPLIO_LABEL_KEY = "com.mike-ai.applio-worker" APPLIO_WORKER = os.environ.get("APPLIO_WORKER", "").strip() LOCK = threading.Lock() @@ -152,17 +150,6 @@ def voice_change_container() -> dict: return matches[0] -def seed_vc_container() -> dict: - if not SEED_VC_WORKER: - raise RuntimeError("Seed-VC worker is not configured") - matches = [item for item in labelled_containers(SEED_VC_LABEL_KEY) - if item.get("Labels", {}).get(SEED_VC_LABEL_KEY) == SEED_VC_WORKER] - if len(matches) != 1: - raise RuntimeError( - f"expected exactly one Seed-VC worker {SEED_VC_WORKER!r}, found {len(matches)}") - return matches[0] - - def applio_container() -> dict: if not APPLIO_WORKER: raise RuntimeError("Applio worker is not configured") @@ -194,11 +181,6 @@ def stop_voice_change_if_configured() -> None: stop_container(voice_change_container(), timeout=30) -def stop_seed_vc_if_configured() -> None: - if SEED_VC_WORKER: - stop_container(seed_vc_container(), timeout=30) - - def stop_applio_if_configured() -> None: if APPLIO_WORKER: stop_container(applio_container(), timeout=30) @@ -209,8 +191,6 @@ def stop_voice_tools(except_kind: str | None = None) -> None: stop_voice_if_configured() if except_kind != "voicechange": stop_voice_change_if_configured() - if except_kind != "seedvc": - stop_seed_vc_if_configured() if except_kind != "applio": stop_applio_if_configured() @@ -348,26 +328,6 @@ def set_voice_change_worker(running: bool) -> dict: "state": "running" if running else "stopped"} -def set_seed_vc_worker(running: bool) -> dict: - """Start Seed-VC exclusively, or stop it before another mode is loaded.""" - with LOCK: - item = seed_vc_container() - if running: - for profile_item in containers().values(): - stop_container(profile_item) - for worker in image_containers(): - stop_container(worker, timeout=20) - stop_container(tts_container(), timeout=30) - stop_music_if_configured() - stop_separator_if_configured() - stop_voice_tools("seedvc") - start_container(item) - else: - stop_container(item, timeout=30) - return {"seed_vc_worker": SEED_VC_WORKER, - "state": "running" if running else "stopped"} - - def set_applio_worker(running: bool) -> dict: """Start Applio exclusively, or stop it before another mode is loaded.""" with LOCK: @@ -498,13 +458,6 @@ class Handler(BaseHTTPRequestHandler): "unhealthy" if "(unhealthy)" in voice_change_status else "starting" if voice_change.get("State") == "running" else "stopped") - seed_vc = seed_vc_container() if SEED_VC_WORKER else {} - seed_vc_status = seed_vc.get("Status", "") - seed_vc_health = ("disabled" if not SEED_VC_WORKER else - "healthy" if "(healthy)" in seed_vc_status else - "unhealthy" if "(unhealthy)" in seed_vc_status else - "starting" if seed_vc.get("State") == "running" else - "stopped") applio = applio_container() if APPLIO_WORKER else {} applio_status = applio.get("Status", "") applio_health = ("disabled" if not APPLIO_WORKER else @@ -521,8 +474,6 @@ class Handler(BaseHTTPRequestHandler): "voice_health": voice_health, "voice_change_worker": voice_change.get("State", "disabled"), "voice_change_health": voice_change_health, - "seed_vc_worker": seed_vc.get("State", "disabled"), - "seed_vc_health": seed_vc_health, "applio_worker": applio.get("State", "disabled"), "applio_health": applio_health, "profiles": {name: items.get(name, {}).get( @@ -570,13 +521,6 @@ class Handler(BaseHTTPRequestHandler): log.exception("voice-change worker transition failed") self.reply(503, {"error": str(exc)}) return - if self.path in {"/workers/seed-vc/start", "/workers/seed-vc/stop"}: - try: - self.reply(200, set_seed_vc_worker(self.path.endswith("/start"))) - except Exception as exc: - log.exception("Seed-VC worker transition failed") - self.reply(503, {"error": str(exc)}) - return if self.path in {"/workers/applio/start", "/workers/applio/stop"}: try: self.reply(200, set_applio_worker(self.path.endswith("/start"))) diff --git a/platform/docker/wireguard-gateway/entrypoint.sh b/platform/docker/wireguard-gateway/entrypoint.sh index ad18bd0..a924d5c 100644 --- a/platform/docker/wireguard-gateway/entrypoint.sh +++ b/platform/docker/wireguard-gateway/entrypoint.sh @@ -83,7 +83,6 @@ start_proxy 7862 music-worker:7860 start_proxy 8007 stem-separator:8080 start_proxy 8008 voice-studio:8008 start_proxy 8009 xvc-studio:8009 -start_proxy 8010 seed-vc-studio:7860 start_proxy 8011 applio-studio:6969 start_proxy 8202 mcp-athena-operator:8000 start_proxy 9443 portainer:9443 diff --git a/platform/llama-dashboard/app.py b/platform/llama-dashboard/app.py index e846819..612c240 100644 --- a/platform/llama-dashboard/app.py +++ b/platform/llama-dashboard/app.py @@ -30,7 +30,6 @@ MUSIC_ORIGINAL_UI_URL = os.getenv( SEPARATOR_UI_URL = os.getenv("SEPARATOR_UI_URL", "http://192.168.1.212:8007/") VOICE_UI_URL = os.getenv("VOICE_UI_URL", "http://192.168.1.212:8008/") VOICE_CHANGE_UI_URL = os.getenv("VOICE_CHANGE_UI_URL", "http://192.168.1.212:8009/") -SEED_VC_UI_URL = os.getenv("SEED_VC_UI_URL", "http://192.168.1.212:8010/") APPLIO_UI_URL = os.getenv("APPLIO_UI_URL", "http://192.168.1.212:8011/") HOST_PROC = Path(os.getenv("HOST_PROC", "/host/proc")) HOST_DATA = os.getenv("HOST_DATA", "/host/data") @@ -281,7 +280,7 @@ def router_status() -> tuple[dict[str, Any], str | None]: def change_mode(mode: str) -> tuple[int, dict[str, Any]]: - if mode not in {"llm", "music", "separation", "voice", "voicechange", "seedvc", "applio"}: + if mode not in {"llm", "music", "separation", "voice", "voicechange", "applio"}: return 400, {"error": "invalid mode"} headers = {"Accept": "application/json", "Content-Type": "application/json"} if ROUTER_API_KEY: @@ -639,7 +638,7 @@ HTML = r'''