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.
mvwbin den Befehlen bezieht sich auf den nach der Installation global verfügbaren Befehl. Falls~/.local/binnicht 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, verwendepython3 ~/.agents/skills/zz-mv-gongzuotai/scripts/mvwb.py.
Workbench & Keys (harte Regeln)
- Die Workbench ist die statische
workbench.htmlim Projekt: direkt per Doppelklick / im Browser überfile://...ö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.jsonin das Projektverzeichnis (enthält meist nur{"router": "..."}); der Agent führtmvwb keys import --file <Projekt>/zz-keys.json --delete-sourceaus. 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, doppelklicktstart/setup-keys.*oder verwendet das Terminal (mvwb keys set); der Agent führtmvwb keys import --file <Pfad> --delete-sourceaus. Der Agent leitet nur an, fordert keine Keys an;keys setnicht 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(mitrunninghub/apimart-Feldern) ausgegeben wird. Nach Ausgabe importieren und aktivieren, dann Guthaben/Workbench aktualisieren. Der Agent kannmvwb keys watchfür einen zweiten Dialog ohne erneute Abfrage verwenden. - Einheitliches Benachrichtigungsformat: Alle Fehler/Blockaden/Warnungen laufen über
scripts/alerts.py(Code-Tabelle inreferences/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.jsonunterfx.rh_coin, wird vom Lehrer gepflegt). - Nach jeder Dateigenerierung/-ersetzung:
data.jsonaktualisieren →mvwb build→mvwb check --data .... WenncheckFehlendes 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:
| Schritt | Zuerst fragen (nur bei fehlenden Angaben) | Ergebnis | Selbstprüfung | Tor |
|---|---|---|---|---|
| 0 Initialisierung | Projektname, Anzahl, Länge, Stil, Seitenverhältnis, Budget | Workspace + data.json + workbench.html | mvwb check = 0 Fehlende | Parameter-Bestätigung |
| 1 Quellmaterial | Lyrik-/Script-Dateien | original/* + lyric.json | Zeilenanzahl/id lückenlos/nicht in Szenen aufgeteilt | Quellmaterial-Prüfung |
| 2 Leere Workbench | Batch-Parameter | DATA + statisches HTML | build + check + per Doppelklick öffnen | Workbench-Bestätigung |
| 3 Rahmen | Prüfungsanmerkungen | Manifest + Framework + Segmente | Dauer/fehlende Zeilen/Segmente ≤10s | Rahmen-Bestätigung + Preisangebot |
| 4 Generieren | Zu erzeugende Elemente benennen | Musik/Assets/Videosegmente/Handoff | Datei vorhanden/Dauer/QA/Zeitachse | Einzeln 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
- Zuerst in
original/,kunde/,input/nach Lyrik-/Script-Dateien suchen; Dateinamen enthaltenlyric,lyrik,script. - Falls gefunden, nur einlesen und ablegen, nicht umschreiben, nicht umbrechen, nicht „optimieren”.
- Falls nicht gefunden: Benutzer fragen, ob Kundendaten vorhanden sind; falls nicht, anhand von Produkt/Geschichte/Charakter/Stil/Dauer/Referenzen eine Vorlage erstellen.
- 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):
- Wie heißt das Projekt? Standard: Kundenname/Datum.
- Wie viele werden auf einmal erstellt? Standard: 1 Muster (empfohlen zuerst 1–5).
- Wie lang ist jedes? Standard: 30 s (15/30/45/60 s).
- Welcher Stil? Standard: Nach Referenzpaket (3D Pixar / Realtalk / Japan süß / Kundenreferenz).
- Seitenverhältnis? Standard: 9:16 Hochformat (1080×1920).
- Referenzen für Figuren/Szenen/Produkte? Bilder falls vorhanden, sonst Textbeschreibung.
- 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)
| Dauer | Wer legt fest | Verwendung |
|---|---|---|
target_duration | Benutzer in Schritt 2 (z. B. 45 s) | Sekunden für Musik-Request, Gesamtziel-Länge des MV, Budget/Segmentzahl, Rahmenplan |
actual_duration / timeline_v1.json | Nach Musikerzeugung auslesen | Tatsächliche Dauer der Storyboard-/Videosegmente, Muse seconds, H3-Frames, Handoff |
- Gesamtdauer nach Benutzervorgabe: Bei Musikerzeugung wird
target_durationan ACE116:valueübergeben; Gesamtdauer, Segmentanzahl und Budget des Rahmens werden danach geplant. - Dauer jedes Segments nach tatsächlicher Musik: Nachdem die Musik fertig ist,
actual_durationund zeilenweisetimelineauslesen,durationder 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_durationerstellen; nachdem Musik hinzugefügt wurde, alle Videosegmente alsstalemarkieren 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 siehereferences/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 allenot_started; genome, cost/spent=0. -
00_framework.md: Musikplan, Asset-Liste, Standard-Storyboard, Videosegment-Plan; diedurationhier ist der Planwert, mittarget_durationals 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.mvsaktualisieren: 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
| Schritt | Befehl | Ergebnis |
|---|---|---|
| Musik | mvwb rh --app 2075301815628943362 ... | 01_music/song_v1.mp3 |
| Zeitachse | mvwb timeline ... | 01_music/timeline_v1.json |
| Assets | mvwb rh --app 2116462203997081601 ... | 02_assets/* + assets_v1.json |
| H3-Video | mvwb rh --wf 2110943749894402050 ... | 03_segments/G*_v1.mp4 |
| Muse-Video | mvwb muse --prompt ... --seconds N --size 720x1280 --out ... | 03_segments/G*_v1.mp4 |
| Musik/Assets (Router) | `tokentech_task.py music | image ...` (Protokoll siehe references/providers/router.md) |
| Lieferung | handoff_v1.json schreiben | Für den Schnitt |
- Musik zuerst sperren; nach Auslesen der tatsächlichen
duration/timelinedie 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 undoutfit_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}.jsonschreiben, alte nicht überschreiben. stages/status/spentaktualisieren,DATAneu 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 vonworkbench.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
lockednicht mehr änderbar; Musikwechsel = neues MV erstellen. - Musik derselben Charge zuerst auf ungefähre Duplikate prüfen:
genre + BPM-Stufe + vocaldürfen nicht alle identisch sein; wenn die ersten 10 Sekunden wie derselbe Song klingen,music_idwechseln. - Asset
qa: pass / warn / fail:failmuss neu generiert werden;warnerst nach Benutzerbestätigung verwenden. - Asset-Änderung → abhängige Videosegmente als
stalemarkieren. - Storyboard/Videosegment-Plan-Änderung → entsprechende Videosegmente als
stalemarkieren. - Benutzer sagt „Final/Freigabe” → entsprechende Stufe
locked.
4.3 Lieferung
Nachdem alle Videosegmente locked sind:
handoff_v1.json(oderhandoff_v1.csv) schreiben.- Jedes Segment prüfen:
video_fileexistiert,duration≤10 s,music_start/endstimmt 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
| Status | Bedeutung | UI |
|---|---|---|
not_started | Nicht generiert | Grauer Ring |
draft | Ergebnis vorhanden, muss geprüft werden | Bernstein-Ring |
locked | Endgültig freigegeben | Grüner Ring |
stale | Vorgänger geändert, muss neu generiert werden | Oranger Ring |
failed | Fehlgeschlagen | Roter Ring |
- Wenn Vorgänger nicht
lockedist, wird Nachfolger nicht gestartet. - Nur die genannten Stellen ändern; andere wortwörtlich beibehalten.
- Historie nicht überschreiben;
spentsummiert historische Kosten. - Workbench zeigt nur Ringfarben, nicht den Statustext.
Modell- und Prompt-Routing
| Phase | Standard | Welches Reference |
|---|---|---|
| Musik ACE-Step | 2075301815628943362 | references/prompts/ace.md |
| Asset MOSS | 2116462203997081601 | references/prompts/moss.md |
| H3 Multi-Parameter-Video | 2110943749894402050 | references/prompts/h3.md |
| Muse-Video (Router) | muse-video-ext | references/prompts/muse.md |
| S2V-Mundbewegung | 1979183169033375745 | references/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.keysenthält nur Masken und Guthaben-Snapshot. - Generierungsbefehle einheitlich über
mv_keys.py execinjizieren; 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.nodeInfoListdirekt an RunningHub-Knoten; neuscripts/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 indev/unddocs/; Key-Beispiel umbenannt inconfig/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 indev/,docs/; Stammverzeichnis nur 4 Dateien; Key-Beispiel umbenannt inconfig/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.jsongenannt; Watcher erkennt sowohlmv-keys-import*.jsonals auchzz-keys.json. - v0.3.8 (2026-11-14): Ausgegebenes Key-JSON auf zwei Felder vereinfacht:
{"runninghub":"...","router":"..."};issued_to/expires_at/mv_keys_importoptional, 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.jsonin das Projektstammverzeichnis legen,keys import --delete-source; Formatbeispiel und Ausgaberegeln siehereferences/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.jsonherunterladen → Agentkeys import --delete-source; kein Dienst, kein Netzwerk. - v0.3.4 (2026-11-14): One-Key
setup-keys(Mac/Win);keys setin nicht-interaktiven Umgebungen verweigert statt Traceback; Workbench-Video-Thumbnail zeigt erstes Frame;keys init-Hinweis auf--datageä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;
initstandardmäßig leeres Projekt (--demokopiert 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.