Skip to main content
Glama
M-T-D-N

koharu-hy-qwen-pipeline

by M-T-D-N

Koharu Hy-MT2 + Qwen pipeline

Eine unabhängige, experimentelle japanisch-koreanische Manga-Übersetzungspipeline für Koharu. Dieses Repository ist kein offizielles Koharu-Projekt und kein Upstream-Beitragsgesuch.

Das Repository enthält:

  • einen Patch, der an den Koharu-Commit a81c5829ea99a45e04580ff97fd6affa81b2db34 gebunden ist und eine reine Loopback-Headless-Web-UI, eine HTTP-API und einen MCP-Endpunkt hinzufügt;

  • einen OpenAI-kompatiblen Übersetzungs-Sidecar, der einen gebundenen Hy-MT2-Erstdurchlauf ausführt, ihn entlädt, einen extern verwalteten Qwen-Reviewer startet, einen gezielten Reparaturdurchlauf erlaubt und bei unaufgelösten Bereichen sicher fehlschlägt;

  • Prozess-Wrapper, die die exakte Prozessidentität aufzeichnen und später verifizieren, bevor Koharu oder der Sidecar gestoppt oder neu gestartet wird.

Es enthält keine Modellgewichte, Mangaseiten, OCR-Korpora, generierte Übersetzungen, private Auswertungsergebnisse oder eine Qwen-Laufzeitumgebung. Eine private Pilotstudie mit 512 Seiten / 6.525 Bereichen hat die Entwicklung informiert, aber keines dieser Quellmaterialien oder detaillierten Ergebnisse wird hier veröffentlicht.

Architektur und Grenzen

Koharu pipeline
  -> loopback OpenAI-compatible sidecar
  -> pinned Hy-MT2-7B first translation (CUDA only)
  -> Hy-MT2 process exits and releases VRAM
  -> externally owned Qwen lifecycle starts the reviewer
  -> sparse review, then at most one targeted repair
  -> deterministic validation and Koharu typography update
  -> Qwen lifecycle stops the reviewer

Der Sidecar bindet standardmäßig an Loopback. Er verweigert den CPU-Fallback für Hy-MT2, verweigert die Übersetzung, während Qwen bereits läuft, verlangt, dass der Qwen-Prozess meldet, dass er von der aktuellen Anfrage gestartet wurde, serialisiert GPU-Aufträge und gibt einen Fehler zurück, anstatt unaufgelöste Ausgaben stillschweigend zu akzeptieren.

Voraussetzungen

  • Windows 11 und PowerShell 7

  • Python 3.13

  • Rust-Toolchain und die von Koharu benötigten Build-Abhängigkeiten

  • eine CUDA-fähige NVIDIA-GPU; die Entwicklungskonfiguration verwendete eine 32-GB-RTX-5090

  • einen CUDA-fähigen PyTorch-Build, der mit dem lokalen Treiber kompatibel ist

  • curl.exe

  • einen externen OpenAI-kompatiblen Qwen-Server und ein unten beschriebenes Lebenszyklus-Skript

Der Code verwendet standardmäßig die Qwen-Modell-ID dirk-qwen3.8-27b-q5 unter http://127.0.0.1:8000/v1. Beide Werte sind konfigurierbar. Modellgewichte und deren Lizenzen bleiben in der Verantwortung des Betreibers.

Koharu vorbereiten

Klonen Sie die exakte Upstream-Revision in das repository-lokale Verzeichnis vendor/koharu und wenden Sie den gebundenen Patch an:

git clone https://github.com/mayocream/koharu.git vendor/koharu
git -C vendor/koharu checkout a81c5829ea99a45e04580ff97fd6affa81b2db34
pwsh -File .\scripts\apply-koharu-patch.ps1 -KoharuCheckout .\vendor\koharu
cargo build --manifest-path .\vendor\koharu\Cargo.toml -p koharu

Das Anwendungsskript lehnt einen anderen Commit, einen unsauberen Checkout oder einen Patch ab, der git apply --check nicht besteht.

Python und Hy-MT2 vorbereiten

Erstellen Sie eine repository-eigene virtuelle Umgebung. Installieren Sie einen CUDA-PyTorch-Build mit dem für den lokalen Treiber geeigneten Befehl und installieren Sie dann die übrigen gebundenen Pakete:

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
# Install a compatible CUDA build of PyTorch here.
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe .\scripts\download-model.py hy-mt2-7b

download-model.py lädt nur die in config/model-lock.json aufgezeichnete Revision herunter und schreibt ein lokales SHA-256-Manifest. Das Modellverzeichnis wird von Git ignoriert.

Qwen-Lebenszyklus-Vertrag

Das Argument -QwenLifecycleScript ist obligatorisch und maschinenspezifisch. Sein Skript muss Folgendes unterstützen:

  • -Operation status -Summary, das JSON zurückgibt, dessen Felder qwen.state und comfyui vor dem Pipeline-Start off melden;

  • -Operation start-qwen, das JSON mit started_by_request: true nur dann zurückgibt, wenn diese Anfrage den gestarteten Qwen-Prozess besitzt;

  • -Operation stop-qwen, das nur diesen eigenen Prozess stoppt und JSON zurückgibt.

Die Lebenszyklus-Implementierung ist bewusst nicht gebündelt, da sich Qwen-Laufzeitumgebungen, Startbefehle, Modellspeicherorte und die GPU-Freigaberichtlinie je nach Maschine unterscheiden.

Konfigurieren und ausführen

Konfigurieren Sie in Koharu den OpenAI-kompatiblen Anbieter so, dass er das Modell koharu-hy-qwen-v1 und die Basis-URL http://127.0.0.1:4020/v1 verwendet. Dies kann einmal über die normale Einstellungs-UI von Koharu gespeichert werden, bevor der Headless-Modus verwendet wird.

Starten Sie sowohl den Sidecar als auch das gepatchte Koharu:

pwsh -File .\scripts\start.ps1 `
  -QwenLifecycleScript C:\path\to\your\Invoke-QwenLifecycle.ps1

Öffnen Sie dann http://127.0.0.1:4010/. Die JSON-API ist unter /api/v1 erreichbar, und der MCP-JSON-RPC-Endpunkt ist /mcp.

Stoppen Sie nur die von diesem Repository aufgezeichneten Prozesse:

pwsh -File .\scripts\stop.ps1

stop.ps1 validiert jeden aufgezeichneten ausführbaren Pfad, die Startzeit, die übergeordnete PID, die Erstellungszeit und die vollständige Befehlszeile, bevor eine PID angefasst wird. Wenn sich die Identität geändert hat, behält es den Zustand bei und verweigert den Stopp.

Verifizierung

Führen Sie die portablen Prüfungen aus:

.\.venv\Scripts\python.exe -m unittest service.test_server

$scripts = Get-ChildItem .\scripts -Filter *.ps1
foreach ($script in $scripts) {
  $tokens = $null
  $errors = $null
  [void][System.Management.Automation.Language.Parser]::ParseFile($script.FullName, [ref]$tokens, [ref]$errors)
  if ($errors.Count) { throw ($errors | Out-String) }
}

Für den gepatchten Koharu-Checkout:

cargo test --manifest-path .\vendor\koharu\Cargo.toml -p koharu-app api::tests
cargo test --manifest-path .\vendor\koharu\Cargo.toml -p koharu-pipeline onomatopoeia_becomes_a_sound_effect_text_layer
cargo test --manifest-path .\vendor\koharu\Cargo.toml -p koharu-translator serializes_optional_koharu_region_metadata
cargo build --manifest-path .\vendor\koharu\Cargo.toml -p koharu

Der CI-Workflow führt die portablen Python-Tests, die Python-Kompilierung und PowerShell-Parser-Prüfungen aus. Vollständige Koharu-Builds und GPU-/Modelltests bleiben lokal, da sie plattformspezifische native und Modell-Eingaben erfordern.

Einschränkungen

  • Der Patch ist absichtlich an einen einzigen Koharu-Commit gebunden; es wird nicht behauptet, dass er auf spätere Revisionen anwendbar ist.

  • Die Pipeline zielt derzeit auf japanisch-koreanischen Text und eine feste Lettering-Rollenrichtlinie ab.

  • Der End-to-End-Betrieb erfordert eine vom Betreiber bereitgestellte Qwen-Lebenszyklus-Implementierung und ein Modell.

  • Automatisierte und Live-Funktionsvalidierung ersetzen keine manuelle Quellcode-Prüfung oder ein unabhängiges Sicherheitsaudit.

Offenlegung der KI-Entwicklung

Die meisten nachgelagerten Änderungen wurden von OpenAI Codex aus benutzerbereitgestellten Anforderungen und iterativen Abnahmeanfragen generiert und überarbeitet. Der Repository-Inhaber hat den Quellcode nicht manuell überprüft. Die Validierung basiert auf automatisierten Tests und Live-Funktionstests in der Windows-/Codex-Umgebung des Inhabers. Es wurde kein unabhängiges Drittanbieter-Code- oder Sicherheitsaudit durchgeführt.

Kurz gesagt: KI-generiert, benutzergetestet, nicht manuell codegeprüft.

Upstream-Zuordnung und Lizenz

Der Koharu-Patch basiert auf Koharu von mayocream und Mitwirkenden am oben genannten exakten Commit. Siehe THIRD_PARTY_NOTICES.md für Abhängigkeitsgrenzen und Zuordnung. Dieses Repository wird unter Ihrer Wahl der Apache License 2.0 oder der MIT License angeboten; siehe LICENSE-APACHE und LICENSE-MIT.

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • LibreTranslate MCP — open-source machine translation (BYO endpoint)

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • MCP server for Hailuo (MiniMax) AI video generation

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/M-T-D-N/koharu-hy-qwen-pipeline'

If you have feedback or need assistance with the MCP directory API, please join our Discord server