Communitygithub.com

zz-mv-gongzuotai

MV-Projekt-Skill: Erzeugt aus Lyrics/Story-Script eine statische workbench.html, plant Musik, Assets, Storyboard und Videosegmente für jedes MV und generiert sowie überprüft diese iterativ – Endprodukt ist ein lokales Verzeichnis pro MV (Musik/Assets/Videosegmente + Handoff).

Was ist zz-mv-gongzuotai?

Dieses Skill dient als zentraler Einstiegspunkt für die Produktion von Musikvideos (MVs). Es erstellt aus vom Auftraggeber gelieferten Lyrics oder Story-Scripts eine statische HTML-Workbench (`workbench.html`) – kein Hintergrunddienst, nur eine lokale Datei. Der gesamte Generierungsprozess ist in vier strikte Schritte gegliedert: 0 – Initialisierung (Projektparameter erfragen), 1 – Quellmaterial (Texte/Stories einlesen), 3 – Rahmenplan (Framework mit Musik-, Asset- und Segmentplan erstellen), 4 – Generierung & Review (Musik, Assets, Videosegmente nacheinander erzeugen und prüfen). Der Workflow endet mit einem `handoff_v1.json` pro MV, das die fertigen Videosegmente an den Schnitt weitergibt – kein Rohschnitt, kein Zusammenschnitt. Das Skill unterstützt verschiedene Modelle (ACE-Step, MOSS, H3, Muse, S2V) und die Router-/RunningHub-Integration für Cloud-Generierung. Das Key-Management läuft rein über die CLI (`mvwb keys import`); Keys werden nie in HTML/Logs geschrieben und nach Import gelöscht. Jeder Schritt hat feste Prüfungen (`mvwb check`), und die Workbench zeigt den Status jedes Schritts farbig an (grau/grün/orange/rot). Fehler oder Blockaden werden über ein einheitliches Alert-System (`scripts/alerts.py`) gemeldet, das der Student direkt an den Lehrer weiterleitet.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/zhouchengke2046/mv-workbench/tree/HEAD

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

zz-mv-gongzuotai · Skill für MV-Projektkoordination

Positionierung

  • Dieses Skill ist der einzige Einstiegspunkt für das gesamte MV-Projekt.
  • Die Workbench dient nur der Anzeige und Koordination; die Generierung erfolgt durch den Agenten mithilfe der scripts/ dieses Skills.
  • Der Workflow endet mit den Videosegmenten: kein Rohschnitt, kein Zusammenschnitt, kein fertiges Video; Videosegmente + Handoff werden an die nächste Phase (Schnitt) übergeben.

mvwb in den Befehlen bezieht sich auf den nach der Installation global verfügbaren Befehl. Falls ~/.local/bin nicht im PATH ist, verwende ~/.agents/skills/zz-mv-gongzuotai/start/mvwb (wurde bei der Installation kopiert und mit Ausführungsberechtigung versehen). Falls auch das nicht funktioniert, verwende python3 ~/.agents/skills/zz-mv-gongzuotai/scripts/mvwb.py.

Workbench & Keys (harte Regeln)

  • Die Workbench ist die statische workbench.html im Projekt: direkt per Doppelklick / im Browser über file://... öffnen; keinen Hintergrunddienst starten.
  • Verboten: mvwb server, python -m http.server, Ports, serverbasierte Version. Die Workbench ist eine reine Anzeigeseite, ohne Konfigurationsschnittstelle.
  • Wenn der Benutzer sagt „Workbench öffnen“, führe mvwb open [--workspace NAME] aus – es öffnet nur die lokale HTML-Datei.
  • Anfangs nur Router-Key ausgeben: Der Student legt die vom Lehrer erhaltene zz-keys.json in das Projektverzeichnis (enthält meist nur {"router": "..."}); der Agent führt mvwb keys import --file <Projekt>/zz-keys.json --delete-source aus. Einmaliger Import, global gültig; die ausgegebene Datei wird nach Import gelöscht.
  • Keys gehen nicht über die Workbench: Der Benutzer importiert zz-keys.json, doppelklickt start/setup-keys.* oder verwendet das Terminal (mvwb keys set); der Agent führt mvwb keys import --file <Pfad> --delete-source aus. Der Agent leitet nur an, fordert keine Keys an; keys set nicht in nicht-interaktiven Umgebungen aufrufen.
  • Reserve-Key läuft über B001-Benachrichtigung: Wenn der Router innerhalb von 10 Minuten 3 oder mehr Fehler in Folge hat und kein Reserve-Key konfiguriert ist, generiert der Agent einen B001-Benachrichtigungsblock; der Student leitet den Originaltext der Benachrichtigung an den Lehrer weiter, der dann entscheidet, ob eine Reserve-zz-keys.json (mit runninghub/apimart-Feldern) ausgegeben wird. Nach Ausgabe importieren und aktivieren, dann Guthaben/Workbench aktualisieren. Der Agent kann mvwb keys watch für einen zweiten Dialog ohne erneute Abfrage verwenden.
  • Einheitliches Benachrichtigungsformat: Alle Fehler/Blockaden/Warnungen laufen über scripts/alerts.py (Code-Tabelle in references/alerts.md); der Student leitet den gesamten Block des Benachrichtigungstextes weiter. Verboten, direkt zu sagen „Frag den Lehrer nach einem Reserve-Key“; Reserve-Keys werden ausschließlich über B001-Benachrichtigungen vom Lehrer entschieden.
  • Keys werden nicht in DATA, HTML, Skripte, Logs oder Screenshots geschrieben; heruntergeladene Importdateien müssen nach dem Import gelöscht werden. Wenn der Benutzer Keys bereits im Chat geteilt hat, weise ihn an, diese zu widerrufen und neu zu senden.
  • Guthaben/Kosten nur für Router (CNY) anzeigen: Oben nur das Router-Guthaben anzeigen; alle Kosten werden in ¥ umgerechnet in DATA geschrieben (Wechselkurs RunningHub-Coins → CNY in config/models.json unter fx.rh_coin, wird vom Lehrer gepflegt).
  • Nach jeder Dateigenerierung/-ersetzung: data.json aktualisieren → mvwb build → mvwb check --data .... Wenn check Fehlendes meldet, wird es in der Workbench nicht angezeigt und gilt nicht als abgeschlossen.

Endgültige Lieferung

Ein Verzeichnis pro MV mit Musik, Assets und Videosegmenten:

workspaces/<projekt>/
├─ original/
│  ├─ lyric_original.md      Originaltext des Liedtextes vom Auftraggeber
│  ├─ story_script.md        Original-Story-Script vom Auftraggeber (nicht in Szenen aufgeteilt)
│  └─ lyric.json             L01… Zeilenzuordnung
├─ workbench.html            Projekt-Workbench (nur lesbar + lokaler Key-Import)
├─ data.json                 Datenquelle der Workbench (vom Agenten aktualisiert)
└─ MV001/
   ├─ mv_manifest.json       Phasenstatus/Version/Kosten
   ├─ 00_framework.md        Plan für Musik/Assets/Segmente
   ├─ 01_music/
   │  ├─ song_v1.mp3
   │  └─ timeline_v1.json    Start-/Endzeit jeder Zeile (für Segmentierung/Lieferung)
   ├─ 02_assets/
   │  ├─ assets_v1.json
   │  ├─ role_xxx.png
   │  ├─ scene_xxx.png
   │  └─ prop_xxx.png
   ├─ 03_segments/
   │  ├─ segments_v1.json    G1/G2… aktuelle Version + Historie
   │  ├─ G1_v1.mp4
   │  ├─ G1_v2.mp4           Historie nach erneuter Generierung
   │  └─ G2_v1.mp4 …
   └─ handoff_v1.json        Liste für den Schnitt

handoff_v1.json enthält nur die Felder, die der Schnitt benötigt:

{
  "mv_id": "MV001",
  "status": "ready",
  "segments": [
    {
      "segment_id": "G1",
      "line_ids": ["L01", "L02"],
      "music_start": 0.0,
      "music_end": 6.0,
      "duration": 6.0,
      "video_file": "03_segments/G1_v1.mp4",
      "model": "muse-video-ext",
      "resolution": "720x1280",
      "notes": "Aktuelle, freigegebene Version"
    }
  ]
}

Ausführungsvertrag (jeder Schritt obligatorisch)

Detaillierte Ein-/Ausgaben und Selbstprüfung siehe references/step-contract.md. Jeder Schritt besteht aus fünf festen Punkten:

SchrittZuerst fragen (nur bei fehlenden Angaben)ErgebnisSelbstprüfungTor
0 InitialisierungProjektname, Anzahl, Länge, Stil, Seitenverhältnis, BudgetWorkspace + data.json + workbench.htmlmvwb check = 0 FehlendeParameter-Bestätigung
1 QuellmaterialLyrik-/Script-Dateienoriginal/* + lyric.jsonZeilenanzahl/id lückenlos/nicht in Szenen aufgeteiltQuellmaterial-Prüfung
2 Leere WorkbenchBatch-ParameterDATA + statisches HTMLbuild + check + per Doppelklick öffnenWorkbench-Bestätigung
3 RahmenPrüfungsanmerkungenManifest + Framework + SegmenteDauer/fehlende Zeilen/Segmente ≤10sRahmen-Bestätigung + Preisangebot
4 GenerierenZu erzeugende Elemente benennenMusik/Assets/Videosegmente/HandoffDatei vorhanden/Dauer/QA/ZeitachseEinzeln locked
  • Dialogausgabe einheitlich: „Ergebnis + Pfad des Ergebnisses + Ergebnis der Selbstprüfung + Bestätigung erforderlich“, kein vollständiges JSON einfügen.
  • Selbstprüfung muss tatsächlich ausgeführt werden und auf die Ergebnisse verweisen; bei Fehler im aktuellen Schritt anhalten, nicht stillschweigend zum nächsten Schritt übergehen.

Vier Schritte

Schritt 1 · Quellmaterial

  1. Zuerst in original/, kunde/, input/ nach Lyrik-/Script-Dateien suchen; Dateinamen enthalten lyric, lyrik, script.
  2. Falls gefunden, nur einlesen und ablegen, nicht umschreiben, nicht umbrechen, nicht „optimieren”.
  3. Falls nicht gefunden: Benutzer fragen, ob Kundendaten vorhanden sind; falls nicht, anhand von Produkt/Geschichte/Charakter/Stil/Dauer/Referenzen eine Vorlage erstellen.
  4. Ablegen:
original/lyric_original.md   Songtitel/Strophe/Refrain, Originaltext
original/story_script.md     Original-Story-Script, nicht in Szenen aufgeteilt
original/lyric.json          L01… Zeilenzuordnung

Tor: Quellmaterial-Bestätigung. Nachdem der Benutzer „Okay/nimm diese Version“ gesagt hat, wird gesperrt; Änderung des Quellmaterials = Workbench neu erstellen.

Schritt 2 · Leere Workbench

mvwb init my_project          # Leeres Projekt: original/ noch auszufüllen, mvs=[], workbench.html bereits erstellt
mvwb init demo_project --demo # Falls Beispiel benötigt: vollständiges Demo kopieren
# Nachdem original/ im workspace gefüllt wurde, Agent die leere Workbench generieren lassen

Agent erstellt mit templates/workbench.html + DATA.json neu:

python3 scripts/build_workbench.py \
  --template templates/workbench.html \
  --data workspaces/my_project/data.json \
  --out workspaces/my_project/workbench.html

Statische Workbench öffnen:

mvwb open --workspace my_project

Nach der Erstellung anhalten und fragen (nur Fehlendes erfragen, Standardwerte angeben):

  1. Wie heißt das Projekt? Standard: Kundenname/Datum.
  2. Wie viele werden auf einmal erstellt? Standard: 1 Muster (empfohlen zuerst 1–5).
  3. Wie lang ist jedes? Standard: 30 s (15/30/45/60 s).
  4. Welcher Stil? Standard: Nach Referenzpaket (3D Pixar / Realtalk / Japan süß / Kundenreferenz).
  5. Seitenverhältnis? Standard: 9:16 Hochformat (1080×1920).
  6. Referenzen für Figuren/Szenen/Produkte? Bilder falls vorhanden, sonst Textbeschreibung.
  7. Budget-Obergrenze? Falls nicht angegeben, erst Angebot einholen, nicht absenden.

Ausgabe nur: Pfad des Ergebnisses + Ergebnis der Selbstprüfung + Bestätigung dieser 7 Punkte. Tor: Batch-Parameter Bestätigung. Dieser Schritt kostet kein Geld.

Dauer-Vertrag (Benutzerziel vs. tatsächliche Musik)

DauerWer legt festVerwendung
target_durationBenutzer in Schritt 2 (z. B. 45 s)Sekunden für Musik-Request, Gesamtziel-Länge des MV, Budget/Segmentzahl, Rahmenplan
actual_duration / timeline_v1.jsonNach Musikerzeugung auslesenTatsächliche Dauer der Storyboard-/Videosegmente, Muse seconds, H3-Frames, Handoff
  • Gesamtdauer nach Benutzervorgabe: Bei Musikerzeugung wird target_duration an ACE 116:value übergeben; Gesamtdauer, Segmentanzahl und Budget des Rahmens werden danach geplant.
  • Dauer jedes Segments nach tatsächlicher Musik: Nachdem die Musik fertig ist, actual_duration und zeilenweise timeline auslesen, duration der Storyboard-/Videosegmente aktualisieren; Videosegmente nach tatsächlicher Zeilenlänge erzeugen, nicht nach geplanter Dauer hart schneiden.
  • Abweichungsbehandlung: Wenn tatsächliche Dauer mehr als 1 s oder mehr als 2 % von der Ziel-Dauer abweicht, anhalten und Benutzer wählen lassen: „Tatsächliche akzeptieren / Musik neu generieren / im Schnitt kürzen”. Nicht stillschweigend mit der geplanten Dauer Videos generieren.
  • Nur Video, keine Musik: Zuerst provisorischen Plan mit target_duration erstellen; nachdem Musik hinzugefügt wurde, alle Videosegmente als stale markieren und nach tatsächlicher Zeitachse neu generieren.
  • So wird sowohl die vom Benutzer festgelegte Gesamtdauer respektiert als auch sichergestellt, dass Bild und Musik zeilenweise synchron sind.

Schritt 3 · MV-Text-Rahmen

MV001…MV00N erstellen, für jedes:

  • Seitenverhältnis standardmäßig 9:16 Hochformat (Workbench nach 1080×1920, Muse-Ausgabe 720×1280); nur bei expliziter Angabe des Benutzers ändern.

  • Zuerst Genome schreiben: cast_id/outfit_id/face_seed, story_id, music, visual, edit; Regeln siehe references/variation.md. Je zwei beliebige einer Charge müssen sich in mindestens 3 Dimensionen unterscheiden, verboten: gleiche Rolle + gleiche Kleidung, gleicher Story-Konflikt, gleiches Genre+BPM+vocal, gleiches Szenenpaket.

  • Eine Differenzierungstabelle ausgeben (Cast/Story/Music/Visual/Edit für jedes); bei doppelter Kombination anhalten, nächste aus dem Pool nehmen, nicht starten.

  • mv_manifest.json: stages alle not_started; genome, cost/spent=0.

  • 00_framework.md: Musikplan, Asset-Liste, Standard-Storyboard, Videosegment-Plan; die duration hier ist der Planwert, mit target_duration als Gesamtziel.

  • Asset-Liste ist zur Freigabe durch den Benutzer: Figuren-Dreiviertelansicht/Szenenleeraufnahme/Requisiten, um die Konsistenz der nachfolgenden Videos zu gewährleisten; kein optionaler Punkt. Dem Benutzer erklären: „Ohne Asset-Bilder werden die Figuren/Szenen in jedem Video abweichen.”

  • 03_segments/segments_v1.json: Zuerst Plan schreiben, videos: [].

  • DATA.mvs aktualisieren: Musik/Assets leer, Storyboard/Segmente haben Plan; keys-Snapshot behalten.

Dem Benutzer die Rahmen-Zusammenfassung zeigen:

Gibt es am Rahmen etwas zu ändern? Welches MV, welche Einstellung, welche Zeile soll geändert werden? Nur die von dir genannten Teile ändern.

Tor: Rahmen-Freigabe + Bestätigung des Generierungsumfangs/Preises.

Schritt 4 · Generierung & Prüfung

4.0 Vorprüfung

mvwb keys status
mvwb keys import --file workspaces/my_project/zz-keys.json --delete-source
mvwb keys watch --timeout 600 --data workspaces/my_project/data.json
mvwb keys balance --data workspaces/my_project/data.json
mvwb quote --model muse-video-ext --seconds 2

Key fehlt / Guthaben unzureichend / Abfrage fehlgeschlagen: Anhalten. Preis = Anzahl × Stückpreis; erst nach Benutzerbestätigung ausführen.

4.1 Reihenfolge: Musik → Zeitachse → Assets → Videosegmente

SchrittBefehlErgebnis
Musikmvwb rh --app 2075301815628943362 ...01_music/song_v1.mp3
Zeitachsemvwb timeline ...01_music/timeline_v1.json
Assetsmvwb rh --app 2116462203997081601 ...02_assets/* + assets_v1.json
H3-Videomvwb rh --wf 2110943749894402050 ...03_segments/G*_v1.mp4
Muse-Videomvwb muse --prompt ... --seconds N --size 720x1280 --out ...03_segments/G*_v1.mp4
Musik/Assets (Router)`tokentech_task.py musicimage ...` (Protokoll siehe references/providers/router.md)
Lieferunghandoff_v1.json schreibenFür den Schnitt
  • Musik zuerst sperren; nach Auslesen der tatsächlichen duration/timeline die Segmentdauer aktualisieren; Assets nach Referenzpaket; Videosegmente nach tatsächlicher Zeilenlänge einzeln generieren.
  • Assets nach Figurenkarte generieren: Figuren-Dreiviertelansicht mit Vorlage aus references/prompts/casting-style.md + Stilpaket; MOSS-Regel: linkes Panel Gesicht, mittleres Panel Ganzkörper aber Kopf vollständig aus dem Bild, rechtes Panel Rückansicht. Für jede Figur zuerst 4 Kandidaten generieren, 1 auswählen und dann sperren.
  • Gleiche MV-Figur konsistent: Alle Assets/Videosegmente referenzieren dieselbe cast_id-Figurenkarte und outfit_id; Kleidungswechsel nur bei storytechnischer Notwendigkeit und Protokollierung.
  • Keine Wiederholung über MVs hinweg: cast_id, Geschichte, Musik, Szenenpaket derselben Charge nach Genome differenzieren; vor dem Sperren von Assets zwei Stichproben prüfen, um „gleiche Person, andere Kleidung = neues MV“ zu vermeiden.
  • Pro Segment können mehrere Videos generiert werden: aktuelles erstes, Historie anhängen mit G1_v2.mp4.
  • Neue Versionen als *_v{n+1}.json schreiben, alte nicht überschreiben.
  • stages/status/spent aktualisieren, DATA neu erstellen.
  • Nach dem Neuerstellen zwingend Selbstprüfung: mvwb build --data ... --out ... && mvwb check --data ...; Anzahl fehlender Dateien muss 0 sein, sonst Pfade korrigieren oder neu generieren.
  • Die Seite ist statisch file://, relative Pfade basieren auf dem Verzeichnis von workbench.html; nicht manuell in absolute Pfade ändern.

4.2 Prüfschleife

Generierung abgeschlossen. Was soll geändert werden? Welche MV, welches Videosegment, welches Bild/welcher Song?

  • Nur die genannten Elemente neu generieren; neue Version + Historie.
  • Musik nach locked nicht mehr änderbar; Musikwechsel = neues MV erstellen.
  • Musik derselben Charge zuerst auf ungefähre Duplikate prüfen: genre + BPM-Stufe + vocal dürfen nicht alle identisch sein; wenn die ersten 10 Sekunden wie derselbe Song klingen, music_id wechseln.
  • Asset qa: pass / warn / fail: fail muss neu generiert werden; warn erst nach Benutzerbestätigung verwenden.
  • Asset-Änderung → abhängige Videosegmente als stale markieren.
  • Storyboard/Videosegment-Plan-Änderung → entsprechende Videosegmente als stale markieren.
  • Benutzer sagt „Final/Freigabe” → entsprechende Stufe locked.

4.3 Lieferung

Nachdem alle Videosegmente locked sind:

  • handoff_v1.json (oder handoff_v1.csv) schreiben.
  • Jedes Segment prüfen: video_file existiert, duration ≤10 s, music_start/end stimmt mit Zeitachse überein.
  • Projekt abgeschlossen; Schnitt erhält Videosegmente und Handoff für die nächste Phase.

Nächstes MV: Innerhalb derselben Workbench mit MV002 fortfahren, bereits gesperrte Musik-/Asset-Regeln wiederverwenden, zuerst Rahmen erstellen und dann generieren; bei Lyrik-/Kundenwechsel mit mvwb init <Projektname> neuen Workspace erstellen, alte Projekte nicht überschreiben.

Prüf-/Versionsregeln

StatusBedeutungUI
not_startedNicht generiertGrauer Ring
draftErgebnis vorhanden, muss geprüft werdenBernstein-Ring
lockedEndgültig freigegebenGrüner Ring
staleVorgänger geändert, muss neu generiert werdenOranger Ring
failedFehlgeschlagenRoter Ring
  • Wenn Vorgänger nicht locked ist, wird Nachfolger nicht gestartet.
  • Nur die genannten Stellen ändern; andere wortwörtlich beibehalten.
  • Historie nicht überschreiben; spent summiert historische Kosten.
  • Workbench zeigt nur Ringfarben, nicht den Statustext.

Modell- und Prompt-Routing

PhaseStandardWelches Reference
Musik ACE-Step2075301815628943362references/prompts/ace.md
Asset MOSS2116462203997081601references/prompts/moss.md
H3 Multi-Parameter-Video2110943749894402050references/prompts/h3.md
Muse-Video (Router)muse-video-extreferences/prompts/muse.md
S2V-Mundbewegung1979183169033375745references/prompts/h3.md
RunningHub API—references/providers/runninghub.md
Router API/Guthaben—references/providers/router.md
Workbench DATA-Vertrag—references/workbench-contract.md
Vier-Schritte-Ausführungsvertrag—references/step-contract.md
Variante/Differenzierung/Deduplizierung—references/variation.md
Key-Ausgabe/Import—references/key-distribution.md
Benachrichtigungs-/Alarm-Code-Tabelle—references/alerts.md
Figurenkarte/Stil/Schönheit/heilender Stil—references/prompts/casting-style.md
Lieferungsfelder—references/handoff.md
  • Videomodelle pro Segment bestätigen; verschiedene Segmente können verschiedene Modelle verwenden, aber Stilpaket/Farbabstimmung innerhalb desselben MV einheitlich.
  • Mehrere Referenzbilder: Figuren-Dreiviertelansicht (keine Vierfachansicht)/Szenenboard/Requisiten/Produktfotos; ein Bild pro Zweck; zuerst 1 Segment als Muster generieren.

Key

  • Einzige echte Quelle: ~/.config/mv-workbench/keys.json (0600).
  • Konfiguration: mvwb keys set runninghub, mvwb keys set router (Terminal, verdeckte Eingabe).
  • Guthaben: mvwb keys balance --data workspaces/<projekt>/data.json → mvwb build.
  • Rohe Keys nicht in HTML/DATA/Logs; DATA.keys enthält nur Masken und Guthaben-Snapshot.
  • Generierungsbefehle einheitlich über mv_keys.py exec injizieren; nicht auf Shell-Überreste von Keys verlassen.

Häufig verwendete Befehle

mvwb doctor
mvwb open
mvwb open --workspace my_project
mvwb init my_project
mvwb keys status
mvwb keys import --file workspaces/my_project/zz-keys.json --delete-source
mvwb keys watch --timeout 600 --data workspaces/my_project/data.json
mvwb keys balance --data workspaces/my_project/data.json
mvwb quote --model muse-video-ext --seconds 2
mvwb build --data workspaces/my_project/data.json --out workspaces/my_project/workbench.html
mvwb check --data workspaces/my_project/data.json
mvwb rh --app <id> --name <tag> --overrides <json> --out <dir>
mvwb muse --prompt "..." --seconds 2 --size 720x1280 --out out.mp4
python3 scripts/providers/tokentech_task.py image --prompt "..." --seed 123 --out out.png
python3 scripts/providers/tokentech_task.py music --lyrics "..." --style "..." --seconds 60 --out out.mp3
mvwb timeline <lyric.json> <audio.mp3> --out <dir>

Was nicht zu tun ist

  • Kein Rohschnitt, kein Zusammenschnitt, keine Untertitel/Mischung/Fertigvideo.
  • Keine automatische Prüfung; nach Änderungswunsch des Benutzers nur die genannten Elemente neu generieren.
  • Keine Kundenlyrik/-scripts/-materialien in öffentliche Repositories hochladen.

Dateien

SKILL.md          Agenten-Einstieg (diese Datei)
start/            Menschlicher Einstieg: Installation, mvwb-Befehl, One-Key-Key-Konfiguration
scripts/          mvwb, keys, alerts, build, timeline, providers
references/       Workbench-Vertrag, Step-Vertrag, Benachrichtigungs-Code-Tabelle, Prompts, Provider
templates/        workbench.html
contracts/        Timeline/Storyboard/Segmente/MV-Vertrag
demo/             Original-Demo (direkt geöffnet werden kann)
config/           Modellpreise / fx-Wechselkurs / Keys-Beispiel
workspaces/       Studentenprojekte (ein Verzeichnis pro Projekt)

Version

  • v0.4.4 (2026-11-14): Router-Task-Protokoll praktisch durchgängig getestet (Moss-Bild/ACE-Musik): POST /v1/responses + metadata.nodeInfoList direkt an RunningHub-Knoten; neu scripts/providers/tokentech_task.py; Dauer/BPM/Lyrik/Stil/Negativ/Seed vollständig steuerbar; Abrechnung nach tatsächlicher RH-Laufzeit.
  • v0.4.3 (2026-11-14): Workbench-UI verschlankt – Key-Konfiguration innerhalb der Seite entfernt; Guthaben nur noch Zahl ohne Maske; MV-Header-Kumulativ-Logo entfernt; Leerzustände von Musik/Assets ausgerichtet; „Nur-Lesen”-Text auf der Seite vollständig entfernt; Reihenfolge der oberen Leiste: Generierungszeit → Guthaben.
  • v0.4.2 (2026-11-14): Verzeichnis-Neuordnung – Einstiegsklasse (Installation/mvwb/setup-keys) in start/ verschoben, Entwicklerdateien in dev/ und docs/; Key-Beispiel umbenannt in config/zz-keys.example.json; Stammverzeichnis enthält nur noch SKILL/README/LICENSE/NOTICE.
  • v0.4.2 (2026-11-14): Verzeichnis-Klassifizierung – Einstiegsklasse in start/, Entwicklerdateien in dev/, docs/; Stammverzeichnis nur 4 Dateien; Key-Beispiel umbenannt in config/zz-keys.example.json.
  • v0.4.1 (2026-11-14): Einheitliches Benachrichtigungsformat (scripts/alerts.py + references/alerts.md Code-Tabelle); Reserve-Key geändert zu B001-Benachrichtigung, die an den Lehrer weitergeleitet wird; keys/providers/check/build vollständig integriert; Handbuch ergänzt um „Leite den Originaltext der Benachrichtigung an den Lehrer weiter”. (2026-11-14): Router-Hauptkette + Reserve-Key nach Bedarf ausgeben; oben nur Router-Guthaben anzeigen; Kosten einheitlich in ¥ umrechnen (fx.rh_coin); keys-Ebene unterstützt apimart separaten Abschnitt; quote gibt in RMB umgerechneten Wert aus.
  • v0.3.9 (2026-11-14): Vom Lehrer ausgegebene Key-Datei einheitlich zz-keys.json genannt; Watcher erkennt sowohl mv-keys-import*.json als auch zz-keys.json.
  • v0.3.8 (2026-11-14): Ausgegebenes Key-JSON auf zwei Felder vereinfacht: {"runninghub":"...","router":"..."}; issued_to/expires_at/mv_keys_import optional, nur für Registrierung oder automatisches Aufnehmen durch Watcher erforderlich.
  • v0.3.7 (2026-11-14): Neuer Standard für vom Lehrer ausgegebene Keys: zz-keys.json in das Projektstammverzeichnis legen, keys import --delete-source; Formatbeispiel und Ausgaberegeln siehe references/key-distribution.md.
  • v0.3.6 (2026-11-14): Neuer Befehl mvwb keys watch; Agent überwacht zuerst das Download-Verzeichnis; nachdem Benutzer Key in der Workbench eingegeben und heruntergeladen hat, automatisch importieren/löschen, optional Guthaben aktualisieren und Workbench neu erstellen.
  • v0.3.5 (2026-11-14): In der Workbench oben rechts „Key konfigurieren” → Key lokal eingeben → mv-keys-import.json herunterladen → Agent keys import --delete-source; kein Dienst, kein Netzwerk.
  • v0.3.4 (2026-11-14): One-Key setup-keys (Mac/Win); keys set in nicht-interaktiven Umgebungen verweigert statt Traceback; Workbench-Video-Thumbnail zeigt erstes Frame; keys init-Hinweis auf --data geändert.
  • v0.3.3 (2026-11-14): Neue Varianten-/Differenzierungsregeln und Figuren-Stil-Prompt-Pakete (Xiaohongshu-Outfit / Japan süß / Koreanisch cool / Heilender Film / Schönheit); Schritt 3 erfordert Genome und Differenzierungstabelle.
  • v0.3.2 (2026-11-14): Mit Benutzerhandbuch abgestimmt: Key wird lokal vom Benutzer eingegeben; Projektnamen-/Drei-Schritte-Bestätigung, Musik-Sperrung und Dauerabweichung, Asset-QA, große Änderungen Preisangebot, data.json-Verzeichnis ergänzt.
  • v0.3.1 (2026-11-14): Installation/Upgrade behält Workspaces; init standardmäßig leeres Projekt (--demo kopiert Demo); build/check relative Pfade fallen zurück auf Skill-Stammverzeichnis; Paketdokumente verschlankt.
  • v0.3.0 (2026-11-14): Hintergrunddienst entfernt, Workbench wieder rein statisch; Key/Guthaben auf CLI umgestellt; Neuer Vier-Schritte-Ausführungsvertrag und mvwb check; Parameterweitergabe korrigiert.

Verwandte Skills