
=== 2026-04-20 00:44:51 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/pipeline.py /srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3/_input.json -o /srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3 -cg 2 -cs 2 --skip-feishu --profile __runtime_batch-20260420-004451-785be3 --step1-only ===
[profile] ✅ Loaded profile '__runtime_batch-20260420-004451-785be3' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/__runtime_batch-20260420-004451-785be3.yaml
[   INFO   ] MusicExtractorSVM: no classifier models were configured by default
[   INFO   ] On connection Flux::flux → IIR::signal:
[   INFO   ] BUFFER SIZE MISMATCH: max=0 - asked for read size 4096
[   INFO   ] resizing buffer to 36040/4505
[   INFO   ] FrameCutter: dropping incomplete frame
/usr/local/lib/python3.13/dist-packages/scipy/cluster/hierarchy.py:810: ClusterWarning: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix
  return linkage(y, method='ward', metric='euclidean')
[   INFO   ] On connection Flux::flux → IIR::signal:
[   INFO   ] BUFFER SIZE MISMATCH: max=0 - asked for read size 4096
[   INFO   ] resizing buffer to 36040/4505
[   INFO   ] FrameCutter: dropping incomplete frame
/usr/local/lib/python3.13/dist-packages/scipy/cluster/hierarchy.py:810: ClusterWarning: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix
  return linkage(y, method='ward', metric='euclidean')

======================================================================
music-pipeline3000 v2 | 2 songs
======================================================================
Gemini concurrency: 2 | Suno concurrency: 2
Output: /srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3
Skip Suno: False | Step1 only: True | Version: v4
======================================================================

[00:44:53] 🏥 Health check...
[00:44:56] ✅ qishui: OK
[00:44:56] ✅ netease: OK
[00:44:56] ✅ qq: OK

[00:44:56] 🔍 [01_我喜欢_20260420] Step 0: Fetching...
[00:44:56] 🔍 [02_彩虹_20260420] Step 0: Fetching...
[00:44:59] ✅ [02_彩虹_20260420] Step 0: netease | 300c
[00:44:59] ⬇️  [02_彩虹_20260420] Step 0.5: Download from netease...
[00:45:06] ✅ [01_我喜欢_20260420] Step 0: qq | 496c
[00:45:06] ⬇️  [01_我喜欢_20260420] Step 0.5: Download from qq...
[00:45:11] ✅ [02_彩虹_20260420] Step 0.5: 5866853 bytes | 308.8s
[00:45:11] 🔬 [02_彩虹_20260420] Step 0.75: Audio features...
[00:45:55] ✅ [02_彩虹_20260420] Step 0.75: BPM=136.57 Key=C major (44.3s)
[00:45:55] 🧠 [02_彩虹_20260420] Step 1: Gemini (queuing)...
[00:46:12] ✅ [01_我喜欢_20260420] Step 0.5: 5408834 bytes | 237.4s
[00:46:12] 🔬 [01_我喜欢_20260420] Step 0.75: Audio features...
  📊 Gemini official: 37s | prompt_tokens=13192 completion=1129
[00:46:32] ✅ [02_彩虹_20260420] Step 1: 37.4s | prompt=765c | prompt_ok=True lyrics_ok=True
[00:46:46] ✅ [01_我喜欢_20260420] Step 0.75: BPM=128.33 Key=D major (34.1s)
[00:46:46] 🧠 [01_我喜欢_20260420] Step 1: Gemini (queuing)...
  📊 Gemini official: 42s | prompt_tokens=11014 completion=1319
[00:47:28] ✅ [01_我喜欢_20260420] Step 1: 42.1s | prompt=903c | prompt_ok=True lyrics_ok=True

======================================================================
SUMMARY | 152s (2.5min)
======================================================================
✅ Done: 2 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0
[MasterDB] ✅ 批次 batch-20260420-004451-785be3 → +0 新增, ~0 更新 | 总计 554 首
[exit 0]

=== 2026-04-20 00:47:29 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/orchestrate_phase2.py /srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3 --profile base --resume-mode each --skip-feishu ===
[phase2] batch=batch-20260420-004451-785be3 pending=2 groups=1
[phase2] group 1/1 -> 01_我喜欢_20260420, 02_彩虹_20260420
[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.yaml
[phase2] 🌐 01_我喜欢_20260420: target_language=auto
[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.yaml
[phase2] 🌐 02_彩虹_20260420: 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-20260420-004451-785be3/_manifest.json --resume /srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3 --profile base --skip-feishu
[00:47:30] 🌐 [01_我喜欢_20260420] Step 2: target_language=auto → lang_mode=AUTO
[00:47:30] 🤖 [01_我喜欢_20260420] Step 2 API: 27171 chars ≈ 6792 tokens → claude-sonnet-4-6
[00:47:30] 🌐 [02_彩虹_20260420] Step 2: target_language=auto → lang_mode=AUTO
[00:47:30] 🤖 [02_彩虹_20260420] Step 2 API: 26415 chars ≈ 6603 tokens → claude-sonnet-4-6
[00:47:59] ⚠️  [02_彩虹_20260420] Step 2 API: originality 83% < 85% | 0 copied phrases
[00:47:59] 🔄 [02_彩虹_20260420] Step 2 API: originality retry 1/3...
[00:48:12] ⚠️  [01_我喜欢_20260420] Step 2 API: originality 80% < 85% | 1 copied phrases
          ❗ ", gentle, answered by female harmonies , building slightly in dynamics)" ~ ", gentle, answered by female harmonies , building slightly in dynamics)" (100%)
[00:48:12] 🔄 [01_我喜欢_20260420] Step 2 API: originality retry 1/3...
[00:48:41] ⚠️  [02_彩虹_20260420] Step 2 API retry 1: originality 83%
[00:48:41] 🔄 [02_彩虹_20260420] Step 2 API: originality retry 2/3...
[00:48:56] ⚠️  [01_我喜欢_20260420] Step 2 API originality retry 1 failed: Expecting value: line 1 column 1 (char 0)
[00:48:56] ⚠️  [01_我喜欢_20260420] Step 2 API: best originality 80% after 3 retries
[00:48:56] ✅ [01_我喜欢_20260420] Step 2 API: 《薄荷雨》 | 42.4s | in=14982 out=2431 | ~$0.081
[00:49:22] ⚠️  [02_彩虹_20260420] Step 2 API originality retry 2 failed: Expecting value: line 1 column 1 (char 0)
[00:49:22] ⚠️  [02_彩虹_20260420] Step 2 API: best originality 83% after 3 retries
[00:49:22] ✅ [02_彩虹_20260420] Step 2 API: 《麦田信》 | 71.2s | in=31701 out=4097 | ~$0.157
{"timestamp": "2026-04-20T00:47:29.880730+08:00", "batch_dir": "/srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3", "profile": "base", "concurrency": 3, "resume_mode": "each", "pending_song_count": 2, "groups": [{"group_index": 1, "songs": ["/srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3/01_我喜欢_20260420", "/srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3/02_彩虹_20260420"], "success_count": 2, "failed_count": 0, "results": [{"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3/01_我喜欢_20260420", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3/01_我喜欢_20260420/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-20260420-004451-785be3/01_我喜欢_20260420", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3/01_我喜欢_20260420/step2_json_b.json", "agent_summary": "API direct: 薄荷雨", "returncode": 0, "stderr": "", "attempt": 1}]}, {"status": "success", "song_dir": "/srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3/02_彩虹_20260420", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3/02_彩虹_20260420/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-20260420-004451-785be3/02_彩虹_20260420", "step2_file": "/srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3/02_彩虹_20260420/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-20260420-004451-785be3\nSkip Suno: False | Step1 only: False | Version: v4\n======================================================================\n\n[00:49:24] 🏥 Health check...\n[00:49:25] ✅ qishui: OK\n[00:49:25] ✅ netease: OK\n[00:49:25] ✅ qq: OK\n\n  📝 [01_我喜欢_20260420] lyrics stripped: 3216c → 3210c\n[00:49:25] 🎵 [01_我喜欢_20260420] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[00:49:25] 🎨 [01_我喜欢_20260420] Step 4: SeeDream cover (parallel)...\n  📝 [02_彩虹_20260420] lyrics stripped: 2509c → 2502c\n[00:49:25] 🎵 [02_彩虹_20260420] Step 3: Suno generation (weirdness=50, style_influence=50)...\n[00:49:25] 🎨 [02_彩虹_20260420] Step 4: SeeDream cover (parallel)...\n  ✅ submitted: ['641535ff', '7fcdd68a']\n  🎵 641535ff... → submitted\n  🎵 7fcdd68a... → submitted\n  ✅ submitted: ['1f00bc0c', '31191133']\n  🎵 1f00bc0c... → submitted\n  🎵 31191133... → submitted\n  🎵 1f00bc0c... → queued\n  🎵 31191133... → queued\n  🎵 641535ff... → queued\n  🎵 7fcdd68a... → queued\n  🎵 1f00bc0c... → streaming\n  🎵 31191133... → streaming\n  🎵 641535ff... → streaming\n  🎵 7fcdd68a... → streaming\n  🎵 31191133... → complete\n  🎵 7fcdd68a... → complete\n  🎵 1f00bc0c... → complete\n[00:52:10]    🎧 [01_我喜欢_20260420] Song 1: https://cdn1.suno.ai/1f00bc0c-4791-4be1-85de-bc05706bd9da.mp3\n[00:52:10]    🎧 [01_我喜欢_20260420] Song 2: https://cdn1.suno.ai/31191133-651f-432c-9853-8870b488c16b.mp3\n[00:52:10] 🎛️ [01_我喜欢_20260420] Step 3.5: 混音...\n[00:52:36]    🎚️ [01_我喜欢_20260420] Song 1: pop | 低49/中50/高1%\n  🎵 641535ff... → complete\n[00:52:36]    🎧 [02_彩虹_20260420] Song 1: https://cdn1.suno.ai/641535ff-169e-4415-a909-bb7ce2fc8f07.mp3\n[00:52:36]    🎧 [02_彩虹_20260420] Song 2: https://cdn1.suno.ai/7fcdd68a-1659-4950-a5ae-c85ff71cae3d.mp3\n[00:52:36] 🎛️ [02_彩虹_20260420] Step 3.5: 混音...\n[00:52:56]    🎚️ [01_我喜欢_20260420] Song 2: pop | 低24/中75/高0%\n[00:52:56] ✅ [01_我喜欢_20260420] Step 3.5: 46.0s | 2 songs mixed\n[00:53:19]    🎚️ [02_彩虹_20260420] Song 1: pop | 低63/中35/高2%\n[00:53:43]    🎚️ [02_彩虹_20260420] Song 2: pop | 低28/中69/高3%\n[00:53:43] ✅ [02_彩虹_20260420] Step 3.5: 66.3s | 2 songs mixed\n[00:53:43] ⚠️  [01_我喜欢_20260420] Cover download failed: \n[00:53:43] ✅ [01_我喜欢_20260420] Step 4: 15.8s | https://platform.cdn.acedata.cloud/seedream/a1c4c8aa-fd44-45dd-b70e-c9c8ca58ba8b.jpg\n[00:53:44] ✅ [02_彩虹_20260420] Step 4: 19.0s | /srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3/02_彩虹_20260420/cover_seedream.jpg\n\n======================================================================\nSUMMARY | 259s (4.3min)\n======================================================================\n✅ Done: 2 | ⏳ Awaiting Step 2: 0 | ❌ Failed: 0\n[MasterDB] ✅ 批次 batch-20260420-004451-785be3 → +2 新增, ~0 更新 | 总计 556 首\n", "stderr_tail": "[profile] ✅ Loaded profile 'base' from /srv/repos/3000music-platform-next/services/music-pipeline/scripts/profiles/base.yaml\n", "summary": {"timestamp": "2026-04-20T00:53:44.365887+08:00", "wall_clock": 258.8, "total": 2, "success": 2, "awaiting_step2": 0, "failed": 0}}, "status": "success"}
[exit 0]

=== 2026-04-20 00:53:45 exec: /usr/bin/python3 /srv/current/3000music-platform-next/services/music-pipeline/scripts/steps/step5_feishu.py /srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3 ===
[Feishu] ✅ Exported 2 songs to: https://ccnu62373cgc.feishu.cn/sheets/YS3rsq3FVho1A6th9yHc8lKenhK
[Feishu] 📐 Expanded master sheet from 495 to 597 rows
[Feishu] ✅ Appended 2 new songs to master sheet (rows 496-497)
[MasterDB] ✅ 批次 batch-20260420-004451-785be3 → +2 新增, ~0 更新 | 总计 497 首
[Feishu IM] ✅ Text sent: 📊 本批次结果表格：https://ccnu62373cgc.feishu.cn/sheets/YS3rsq3FVho1
[00:53:52] 📨 Step 5: Sending files to Feishu IM...
[Feishu IM] ✅ [薄荷雨] topic head sent (message_id=om_x100b5164c4de54a4b20e678ea30a1ef)
[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 IM] ✅ [麦田信] topic head sent (message_id=om_x100b5164c549d4a0b258a71332724c1)
[Feishu IM] ✅ [麦田信] cover replied
[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-20260420-004451-785be3
[Feishu] ✅ Archived to GDrive: /mnt/gdrive/music-pipeline/batch-20260420-004451-785be3
[Feishu] 📦 Local files kept at: /srv/music-files-platform-next/pipeline/batch-20260420-004451-785be3

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