
=== 2026-05-12 21:51:40 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420 -cg 2 -cs 2 --skip-feishu --profile base --step1-only ===
[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.yaml
[step075] cache hit: song_pgc.mp3 → e213902a041d

======================================================================
music-pipeline3000 v2 | 2 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[21:51:42] 🏥 Health check...
[21:51:45] ✅ qishui: OK
[21:51:45] ✅ netease: OK
[21:51:45] ✅ qq: OK

[21:51:45] 🔍 [01_恋人_20260512] Step 0: Fetching...
[21:51:45] 🔍 [02_给我一瓶魔法药水_20260512] Step 0: Fetching...
[21:51:47] ✅ [01_恋人_20260512] Step 0: qishui | 392c lyrics
[21:51:47] ⬇️  [01_恋人_20260512] Step 0.5: Download from qishui...
[21:51:48] ⚠️  [qishui] Name mismatch: requested '给我一瓶魔法药水' got '给你一瓶魔法药水', skipping
[21:51:49] ⚠️  [01_恋人_20260512] Step 0.5: Only 60.0s preview (expected 275s)
[21:51:49] 🔄 [01_恋人_20260512] Step 0.5: Trying fallback netease...
[21:51:51] ⚠️  [netease] Name mismatch: requested '给我一瓶魔法药水' got '给你一瓶魔法药水', skipping
[21:51:54] ⚠️  [qq] No match in search results for '给我一瓶魔法药水'
[21:51:54] 🔄 [02_给我一瓶魔法药水_20260512] Step 0: retry 1/2 in 5s...
[21:51:59] ✅ [01_恋人_20260512] Step 0.5: Fallback netease → 276.0s full audio
[21:51:59] ✅ [01_恋人_20260512] Step 0.5: 5867228 bytes | 276.0s
[21:51:59] 🔬 [01_恋人_20260512] Step 0.75: Audio features...
[21:51:59] ✅ [01_恋人_20260512] Step 0.75: BPM=139.81 Key=D# major (56.0s)
[21:51:59] 🧠 [01_恋人_20260512] Step 1: Gemini (queuing)...
{"__trace__": true, "ts": "2026-05-12T13:51:59.697Z", "trace_id": "batch-20260512-215140-df6420", "song_key": "01_恋人_20260512", "step": "step1", "type": "step_start", "inputs": {"audio": "/srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420/01_恋人_20260512/song_pgc.mp3", "has_features": true}}
[step1] cache hit: song_pgc.mp3 → 45e270a3f0b1 (saving 1 Gemini call)
{"__trace__": true, "ts": "2026-05-12T13:51:59.751Z", "trace_id": "batch-20260512-215140-df6420", "song_key": "01_恋人_20260512", "step": "step1", "type": "api_call", "provider": "gemini", "model": "gemini-2.5-pro", "duration_sec": 55.6, "cost_usd": null, "status": "success"}
{"__trace__": true, "ts": "2026-05-12T13:51:59.751Z", "trace_id": "batch-20260512-215140-df6420", "song_key": "01_恋人_20260512", "step": "step1", "type": "step_end", "status": "success", "duration_sec": 0.054}
[21:51:59] ✅ [01_恋人_20260512] Step 1: 55.6s | prompt=871c | prompt_ok=True lyrics_ok=True
[21:52:03] ⚠️  [qishui] Name mismatch: requested '给我一瓶魔法药水' got '给你一瓶魔法药水', skipping
[21:52:06] ⚠️  [netease] Name mismatch: requested '给我一瓶魔法药水' got '给你一瓶魔法药水', skipping
[21:52:06] ⚠️  [qq] No match in search results for '给我一瓶魔法药水'
[21:52:06] 🔄 [02_给我一瓶魔法药水_20260512] Step 0: retry 2/2 in 10s...
[21:52:20] ⚠️  [qishui] Name mismatch: requested '给我一瓶魔法药水' got '给你一瓶魔法药水', skipping
[21:52:23] ⚠️  [netease] Name mismatch: requested '给我一瓶魔法药水' got '给你一瓶魔法药水', skipping
[21:52:23] ⚠️  [qq] No match in search results for '给我一瓶魔法药水'
[21:52:23] ❌ [02_给我一瓶魔法药水_20260512] Step 0: No audio URL

======================================================================
SUMMARY | 38s (0.6min)
======================================================================
✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 1
[MasterDB] ✅ 批次 batch-20260512-215140-df6420 → +0 新增, ~0 更新 | 总计 702 首
[exit 0]

=== 2026-05-12 21:52:24 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420 --profile base --resume-mode each --skip-feishu ===
[phase2] batch=batch-20260512-215140-df6420 pending=1 groups=1
[phase2] group 1/1 -> 01_恋人_20260512
[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.yaml
[phase2] 🌐 01_恋人_20260512: target_language=auto
[phase2] resume -> /usr/bin/python3 /srv/repos/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420/_manifest.json --resume /srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420 --profile base --skip-feishu
[21:52:24] 🎨 [01_恋人_20260512] Step 2 Turn 1: generating creative brief...
[21:52:34] 🎨 [01_恋人_20260512] Step 2 brief: 9.8s | in=3760 out=381
[21:52:34] ✅ [01_恋人_20260512] Step 2 brief: engine=G theme=翻相册翻到某一张，手指停住不敢往下翻
[21:52:34] 🌐 [01_恋人_20260512] Step 2: target_language=auto → lang_mode=AUTO | multi-turn
[21:52:34] 🤖 [01_恋人_20260512] Step 2 Turn 2: 15063 chars ≈ 3765 tokens → claude-sonnet-4-6
[21:53:15] ⚠️  [01_恋人_20260512] Step 2 API: originality 83% < 85% | 0 copied phrases
[21:53:15] 🔄 [01_恋人_20260512] Step 2 API: originality retry 1/3...
[21:53:51] ⚠️  [01_恋人_20260512] Step 2 API retry 1: originality 83%
[21:53:51] 🔄 [01_恋人_20260512] Step 2 API: originality retry 2/3...
[21:54:30] ⚠️  [01_恋人_20260512] Step 2 API retry 2: originality 83%
[21:54:30] 🔄 [01_恋人_20260512] Step 2 API: originality retry 3/3...
[21:55:15] ⚠️  [01_恋人_20260512] Step 2 API originality retry 3 failed: Expecting value: line 1 column 1 (char 0)
[21:55:15] ⚠️  [01_恋人_20260512] Step 2 API: best originality 83% after 3 retries
[21:55:15] ✅ [01_恋人_20260512] Step 2 API: 《那一页》 | 116.5s | in=40971 out=7539 | ~$0.236
{"timestamp": "2026-05-12T21:52:24.245717+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420", "profile": "base", "concurrency": 3, "resume_mode": "each", "pending_song_count": 1, "groups": [{"group_index": 1, "songs": ["/srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420/01_恋人_20260512"], "success_count": 1, "failed_count": 0, "results": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420/01_恋人_20260512", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420/01_恋人_20260512/step2_json_b.json", "agent_summary": "API direct: 那一页", "returncode": 0, "stderr": "", "attempt": 1, "attempts": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420/01_恋人_20260512", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420/01_恋人_20260512/step2_json_b.json", "agent_summary": "API direct: 那一页", "returncode": 0, "stderr": "", "attempt": 1}]}]}], "resume": {"status": "success", "returncode": 0, "stdout_tail": "\n======================================================================\nmusic-pipeline3000 v2 | 2 songs\n======================================================================\nGemini concurrency: 2 | Suno concurrency: 3\nOutput: /srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420\nSkip Suno: False | Step1 only: False | Version: v4\n======================================================================\n\n[21:55:16] 🏥 Health check...\n[21:55:18] ✅ qishui: OK\n[21:55:18] ✅ netease: OK\n[21:55:18] ✅ qq: OK\n\n[21:55:18] 🔍 [02_给我一瓶魔法药水_20260512] Step 0: Fetching...\n  📝 [01_恋人_20260512] lyrics stripped: 3896c → 3890c\n[21:55:18] 🎵 [01_恋人_20260512] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[21:55:18] 🎨 [01_恋人_20260512] Step 4: SeeDream cover (parallel)...\n  ✅ submitted: ['81660a30', 'b41428ba']\n  🎵 81660a30... → submitted\n  🎵 b41428ba... → submitted\n[21:55:22] ⚠️  [qishui] Name mismatch: requested '给我一瓶魔法药水' got '给你一瓶魔法药水', skipping\n[21:55:26] ⚠️  [netease] Name mismatch: requested '给我一瓶魔法药水' got '给你一瓶魔法药水', skipping\n[21:55:26] ⚠️  [qq] No match in search results for '给我一瓶魔法药水'\n[21:55:26] 🔄 [02_给我一瓶魔法药水_20260512] Step 0: retry 1/2 in 5s...\n  🎵 81660a30... → queued\n  🎵 b41428ba... → queued\n[21:55:33] ⚠️  [qishui] Name mismatch: requested '给我一瓶魔法药水' got '给你一瓶魔法药水', skipping\n[21:55:36] ⚠️  [netease] Name mismatch: requested '给我一瓶魔法药水' got '给你一瓶魔法药水', skipping\n[21:55:36] ⚠️  [qq] No match in search results for '给我一瓶魔法药水'\n[21:55:36] 🔄 [02_给我一瓶魔法药水_20260512] Step 0: retry 2/2 in 10s...\n  🎵 81660a30... → streaming\n[21:55:51] ⚠️  [qishui] Name mismatch: requested '给我一瓶魔法药水' got '给你一瓶魔法药水', skipping\n  🎵 b41428ba... → streaming\n[21:55:54] ⚠️  [netease] Name mismatch: requested '给我一瓶魔法药水' got '给你一瓶魔法药水', skipping\n[21:55:54] ⚠️  [qq] No match in search results for '给我一瓶魔法药水'\n[21:55:54] ❌ [02_给我一瓶魔法药水_20260512] Step 0: No audio URL\n  🎵 81660a30... → complete\n  🎵 b41428ba... → complete\n[21:59:29]    🎧 [01_恋人_20260512] Song 1: https://cdn1.suno.ai/81660a30-eb4c-4cd1-8ead-7beba9b3a022.mp3\n[21:59:29]    🎧 [01_恋人_20260512] Song 2: https://cdn1.suno.ai/b41428ba-ebd5-4083-b7e3-96dee88f0624.mp3\n[21:59:29] 🎛️ [01_恋人_20260512] Step 3.5: 混音...\n[21:59:50]    🎚️ [01_恋人_20260512] Song 1: pop | 低57/中40/高4%\n[22:00:07]    🎚️ [01_恋人_20260512] Song 2: hip_hop | 低68/中30/高2%\n[22:00:07] ✅ [01_恋人_20260512] Step 3.5: 38.0s | 2 songs mixed\n[22:00:07] ⚠️  [01_恋人_20260512] Step 4: http_403 (non-fatal)\n\n======================================================================\nSUMMARY | 289s (4.8min)\n======================================================================\n✅ Done: 1 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 1\n[MasterDB] ✅ 批次 batch-20260512-215140-df6420 → +1 新增, ~0 更新 | 总计 703 首\n", "stderr_tail": "[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.yaml\n", "summary": {"timestamp": "2026-05-12T22:00:07.942082+08:00", "wall_clock": 289.2, "total": 2, "success": 1, "awaiting_step2": 0, "failed": 1}}, "status": "success"}
[exit 0]

=== 2026-05-12 22:00:08 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420 ===
[Feishu] ✅ Exported 1 songs to: https://ccnu62373cgc.feishu.cn/sheets/XpmTsvu01h0kvctEGW8cOzCfnOB
[Feishu] 📐 Expanded master sheet from 641 to 742 rows
[Feishu] ✅ Appended 1 new songs to master sheet (rows 642-642)
[MasterDB] ✅ 批次 batch-20260512-215140-df6420 → +1 新增, ~0 更新 | 总计 642 首
[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/XpmTsvu01h0k
[22:00:17] 📨 Step 5: Sending files to Feishu IM...
[Feishu IM] ✅ [那一页] topic head sent (message_id=om_x100b6f0769d1cd38b39357ff5880a4b)
[Feishu IM] ✅ [那一页] 那一页_V1_raw.mp3 replied
[Feishu IM] ✅ [那一页] 那一页_V1_mixed.mp3 replied
[Feishu IM] ✅ [那一页] 那一页_V2_raw.mp3 replied
[Feishu IM] ✅ [那一页] 那一页_V2_mixed.mp3 replied
[Feishu] ✅ Already on file server: /srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420
[Feishu] ✅ Archived to GDrive: /mnt/gdrive/music-pipeline/batch-20260512-215140-df6420
[Feishu] 📦 Local files kept at: /srv/music-files-platform-next/pipeline/batch-20260512-215140-df6420

📊 https://ccnu62373cgc.feishu.cn/sheets/XpmTsvu01h0kvctEGW8cOzCfnOB
[exit 0]
