redbook-creator
npx skills add https://github.com/boomsky0416/redbook-creator --skill redbook-creator
Agent 安装分布
Skill 文档
å°çº¢ä¹¦åä½å©æ (RedBook Creator)
帮å©ç¨æ·åºäºæä¾çç´ æï¼å¾ç/è§é¢/æåï¼åä½å°çº¢ä¹¦ç款å¸åï¼æ¯æèªå¨è§é¢åªè¾ãåå¹ãBGM å AI 解说ã
ä¾èµå·¥å ·
æ¬ skill ä¾èµä»¥ä¸å·¥å ·ï¼ä½¿ç¨åé确认å¯ç¨ï¼
| å·¥å · | ç¨é | æ£æ¥å½ä»¤ |
|---|---|---|
| ffmpeg/ffprobe | è§é¢åªè¾/åå¹¶/åå¹ | which ffmpeg |
| edge-tts | AI è¯é³åæï¼èªç¶ç·å£°/å¥³å£°ï¼ | python3 -m edge_tts --version |
| selenium | èªå¨ä¸ä¼ å°çº¢ä¹¦ | python3 -c "import selenium" |
缺失ä¾èµèªå¨å®è£
ï¼å¦æ edge-tts æ selenium æªå®è£
ï¼ä½¿ç¨ pip3 install edge-tts selenium å®è£
ã
宿´å·¥ä½æµç¨
å½ç¨æ·è§¦åæ¤ skill æ¶ï¼ä¸¥æ ¼æä»¥ä¸æ¥éª¤æ§è¡ï¼
ç¬¬ä¸æ¥ï¼ç´ ææ¶éä¸åæ
- æ¥æ¶ç´ æï¼ç¨æ·ä¼æä¾å¾çãè§é¢ææåå 容
- åæç´ æï¼
- å¾çï¼ä½¿ç¨ Read å·¥å ·æ¥çå¾çï¼è¯å«ä¸»é¢ãåºæ¯ãç©åãæ°å´
- è§é¢ï¼ç¨ ffprobe è·åè§é¢ä¿¡æ¯ï¼ç¨ ffmpeg æåå ³é®å¸§ï¼åç¨ Read å·¥å ·æ¥çå ³é®å¸§å¾çæ¥åæå 容
- æåï¼æåæ ¸å¿ä¸»é¢ãå ³é®è¯ãæ æå¾å
- ç¡®å®å使¹åï¼åºäºç´ æç¡®å®å 容类å«ï¼ç¾é£ãæ è¡ãç©¿æãç¾å¦ãå®¶å± ãæ°ç ãå¥èº«ãèå® ãå¦ä¹ ãèåºçï¼
ç¬¬äºæ¥ï¼ç款åèç ç©¶
ä½¿ç¨ WebSearch æç´¢å°çº¢ä¹¦ç¸å ³ç款å 容ï¼
æç´¢çç¥ï¼
1. æç´¢ "å°çº¢ä¹¦ [主é¢å
³é®è¯] çæ¬¾ç¬è®°"
2. æç´¢ "å°çº¢ä¹¦ [ç±»å«] ç鍿 é¢"
3. æç´¢ "å°çº¢ä¹¦ [主é¢] ææ¡æ¨¡æ¿"
4. åææç´¢ç»æä¸çæ 颿¨¡å¼ãææ¡é£æ ¼ãemoji 使ç¨ãæ ç¾çç¥
ç¬¬ä¸æ¥ï¼åä½å¸åå 容
æ é¢åä½è§åï¼çæ 3-5 个å¤éæ é¢ï¼ï¼
- åæ°æ§å¶å¨ 10-20 å
- å¿ é¡»å å« emojiï¼è³å° 2 个ï¼
- 使ç¨ä»¥ä¸ç款æ é¢å
¬å¼ä¹ä¸ï¼
- æ°ååï¼ã5个xxxè®©ä½ xxxããxxxç10ç§æ¹å¼ã
- åé®åï¼ã为ä»ä¹xxxé½å¨xxxï¼ããä½ è¿å¨xxxåï¼ã
- æå¹åï¼ãç»äºï¼xxxç«ç¶xxxããå¤©è±æ¿çº§å«çxxxã
- 对æ¯åï¼ãxxx vs xxxï¼ç»æxxxã
- 干货åï¼ãxxxä¿å§çº§æç¨ãã䏿ææxxxã
- ç§èåï¼ã人ç建议ï¼ä¸å®è¦è¯è¯xxxããåææ²¡æ©ç¥éçxxxã
- æ 绪åï¼ãæå½ï¼xxxä¹å¤ªxxxäºå§ããåæ»ï¼xxxå± ç¶xxxã
ææ¡åä½è§åï¼
- å¼å¤´ï¼é»é 2 è¡ï¼ï¼ç¨ emoji + å¸å¼åè¯å¥æä½æ³¨æå
- æ£æï¼
- æ¯æ®µ 2-3 è¡ï¼æ®µé´ç¨ emoji åé
- 使ç¨å£è¯å表达ï¼å å ¥ãå§å¦¹ä»¬ãã家人们ããå®å们ãç亲åç§°å¼
- éå½ä½¿ç¨æå¹å¥ååé®å¥å¢å äºå¨æ
- 干货å 容ç¨åºå·æ emoji å表åç°
- æ»åæ° 200-800 åï¼æ ¹æ®å 容类åè°æ´ï¼
- ç»å°¾ï¼å¼å¯¼äºå¨ï¼ç¹èµ/æ¶è/å ³æ³¨/è¯è®ºï¼
- æ ç¾ï¼çæ 5-10 个ç¸å
³æ ç¾ï¼æ ¼å¼ä¸º
#æ ç¾å - è¯é¢ï¼æ¨è 2-3 个å°çº¢ä¹¦çé¨è¯é¢
ææ¡æ ¼å¼æ¨¡æ¿ï¼
[emoji] [å¸å¼åå¼å¤´]
[emoji] [æ£ææ®µè½1]
[emoji] [æ£ææ®µè½2]
[emoji] [æ£ææ®µè½3]
...
[äºå¨å¼å¯¼è¯å¥]
---
[#æ ç¾1 #æ ç¾2 #æ ç¾3 ...]
ç¬¬åæ¥ï¼è§é¢èªå¨åªè¾ï¼å¦æè§é¢ç´ æï¼
å½ç¨æ·æä¾è§é¢ç´ ææ¶ï¼èªå¨æ§è¡ä»¥ä¸åªè¾æµç¨ï¼
4.1 è§é¢åå¹¶
彿å¤ä¸ªè§é¢æ¶ï¼èªå¨å并为ä¸ä¸ªè§é¢ï¼
# 1. ç»ä¸è§æ ¼ï¼ææè§é¢è½¬ä¸º 720x1280ï¼å°çº¢ä¹¦ç«å±ï¼ï¼30fpsï¼libx264
ffmpeg -y -i input.mp4 \
-vf "scale=720:1280:force_original_aspect_ratio=decrease,pad=720:1280:(ow-iw)/2:(oh-ih)/2:black" \
-c:v libx264 -preset fast -crf 20 -r 30 \
-c:a aac -ar 44100 -ac 1 -b:a 128k \
-map 0:v:0 -map 0:a:0 \
normalized.mp4
# 2. ä½¿ç¨ xfade æ¸åè¿æ¸¡åå¹¶ï¼0.5ç§è¿æ¸¡ï¼
ffmpeg -y -i v1_norm.mp4 -i v2_norm.mp4 \
-filter_complex "\
[0:v][1:v]xfade=transition=fade:duration=0.5:offset=<v1æ¶é¿-0.5>[vout];\
[0:a][1:a]acrossfade=d=0.5[aout]" \
-map "[vout]" -map "[aout]" \
-c:v libx264 -preset fast -crf 20 -c:a aac -b:a 128k \
merged.mp4
注æäºé¡¹ï¼
- 妿è§é¢ææè½¬å æ°æ®ï¼å¦ iPhone MOVï¼ï¼ffmpeg ä¼èªå¨å¤çæè½¬
- offset å¼ = 第ä¸ä¸ªè§é¢æ¶é¿ – è¿æ¸¡æ¶é¿
- å¤ä¸ªè§é¢æé¡ºåºä¸¤ä¸¤åå¹¶
4.2 AI 解说æç½
æ ¹æ®è§é¢å 容åä½ 3-5 段解说è¯ï¼ä½¿ç¨ edge-tts çæèªç¶è¯é³ï¼
# çæè§£è¯´é³é¢ï¼ä½¿ç¨å¾®è½¯ YunxiNeural å¹´è½»ç·å£°ï¼
python3 -m edge_tts --voice zh-CN-YunxiNeural --rate="+5%" \
--text "解说æå" \
--write-media segment.mp3
å¯ç¨ä¸æè¯é³ï¼
| è¯é³ID | 飿 ¼ | éç¨åºæ¯ |
|---|---|---|
| zh-CN-YunxiNeural | å¹´è½»ç·å£°ï¼èªç¶æ´»å | å¥èº«ãç§æãæ¥å¸¸vlogï¼é»è®¤é¦éï¼ |
| zh-CN-YunjianNeural | æçç·å£°ï¼æ²ç¨³å¤§æ° | ç¥è¯å享ãåå¡ |
| zh-CN-YunyangNeural | æé³ç·å£°ï¼ä¸ä¸ | æ°é»ææ¥é£æ ¼ |
| zh-CN-XiaoxiaoNeural | 年轻女声ï¼çç¾ | ç¾å¦ãç©¿æãç¾é£ |
| zh-CN-XiaoyiNeural | 活泼女声 | èå® ãçæ´»å享 |
解说è¯åä½è¦æ±ï¼
- å 3-5 ä¸ªçæ®µï¼æ¯æ®µå¯¹åºè§é¢çä¸ä¸ªé¶æ®µ
- è¯æ°èªç¶å£è¯åï¼åæåè天
- æ¯æ®µ 10-25 åï¼ä¸è¦å¤ªé¿
- çåºå¼å¸é´é
è§£è¯´è¯æ¶é´è½´å®æï¼
- æ ¹æ®è§é¢æ»æ¶é¿åååé
- æ¯æ®µè§£è¯´ä¹é´ç 2-3 ç§é´é
- ä½¿ç¨ ffmpeg adelay 精确æ§å¶æ¯æ®µå¼å§æ¶é´
# åå¹¶è§£è¯´çæ®µï¼æ§å¶æ¶é´ç¹ï¼
ffmpeg -y \
-i s1.mp3 -i s2.mp3 -i s3.mp3 \
-filter_complex "\
[0]adelay=<ms1>|<ms1>[d1];\
[1]adelay=<ms2>|<ms2>[d2];\
[2]adelay=<ms3>|<ms3>[d3];\
[d1][d2][d3]amix=inputs=3:duration=longest:normalize=0,\
apad=whole_dur=<æ»æ¶é¿>,atrim=0:<æ»æ¶é¿>[out]" \
-map "[out]" -c:a pcm_s16le -ar 44100 -ac 1 \
narration.wav
4.3 BGM èæ¯é³ä¹
ä½¿ç¨ Python çæå¹é å 容飿 ¼ç BGM èæï¼
python3 ~/.claude/skills/redbook-creator/scripts/generate_bgm.py \
--style <飿 ¼> \
--duration <ç§æ°> \
--bpm <èæ> \
--output bgm.wav
BGM 飿 ¼éé¡¹ï¼æ ¹æ®å 容类å«èªå¨éæ©ï¼ä¹å¯è¯¢é®ç¨æ·ï¼ï¼
| 飿 ¼ | BPM | éç¨ç±»å« |
|---|---|---|
| energetic | 128 | å¥èº«ãè¿å¨ãææ |
| chill | 90 | æ¥å¸¸ãç©¿æãå®¶å± |
| upbeat | 110 | ç¾é£ãæ è¡ãç§è |
| emotional | 75 | æ äºãæ æãåå¿ |
4.4 åå¹å å
å°è§£è¯´è¯ä½ä¸ºåå¹ç§å½å°è§é¢ä¸ï¼
python3 ~/.claude/skills/redbook-creator/scripts/burn_subtitles.py \
--video merged.mp4 \
--subtitles "æ¶é´1|æå1,æ¶é´2|æå2,..." \
--style xiaohongshu \
--output subtitled.mp4
å广 ·å¼ï¼å°çº¢ä¹¦é£æ ¼ï¼ï¼
- åä½ï¼PingFang SC Boldï¼macOS èªå¸¦ï¼
- 大å°ï¼42px
- é¢è²ï¼ç½è²ï¼é»è²æè¾¹ï¼2pxï¼
- ä½ç½®ï¼åºé¨å± ä¸ï¼è·åº 15%
- å¯éï¼æ·»å åéæé»è²èæ¯æ¡
4.5 æç»é³é¢æ··å
å°åå§é³é¢ãBGMã解说åå¹¶ï¼
ffmpeg -y \
-i subtitled.mp4 \
-i bgm.wav \
-i narration.wav \
-filter_complex "\
[0:a]volume=0.2[orig];\
[1:a]volume=0.15[bgm];\
[2:a]volume=1.6[narr];\
[orig][bgm][narr]amix=inputs=3:duration=shortest:normalize=0[aout]" \
-map 0:v -map "[aout]" \
-c:v copy -c:a aac -b:a 192k \
-shortest \
final.mp4
é³éåèï¼
- åå§ç¯å¢é³ï¼20%ï¼ä¿çç宿ï¼
- BGMï¼15%ï¼ä¸æ¢è§£è¯´ï¼
- 解说æç½ï¼160%ï¼æ¸ æ°çªåºï¼
ç¬¬äºæ¥ï¼ä¸ä¼ å°å°çº¢ä¹¦åä½è å¹³å°
é»è®¤è¡ä¸ºï¼èªå¨å°è¯ä¸ä¼
ä½¿ç¨ Bash å·¥å ·è¿è¡ä¸ä¼ èæ¬ï¼
# å
æ¸
çä¹åç Chrome ä¼è¯
pkill -f chromedriver 2>/dev/null
pkill -f "redbook-chrome-profile" 2>/dev/null
sleep 2
python3 ~/.claude/skills/redbook-creator/scripts/upload_redbook.py \
--title "å¸åæ é¢" \
--content "å¸åææ¡" \
--tags "æ ç¾1,æ ç¾2,æ ç¾3" \
--media "æç»è§é¢è·¯å¾"
ä¸ä¼ èæ¬ç¹æ§ï¼
- ä½¿ç¨æä¹
å Chrome é
ç½®ï¼
~/.claude/redbook-chrome-profileï¼ï¼ç»å½ä¸æ¬¡åç»å ç»å½ - èªå¨è½®è¯¢çå¾ ç»å½ï¼æ éå½ä»¤è¡äº¤äºï¼
- éè¿ JavaScript æ³¨å ¥å¡«åæ é¢åæ£æï¼æ¯æ emojiï¼
- æµè§å¨ä¿ææå¼ï¼detachï¼ï¼ç¨æ·ç¡®è®¤åæå¨ç¹å»åå¸
- å¦èªå¨ä¸ä¼ 失败ï¼èªå¨è¾åºæå¨ä¸ä¼ æå¼
妿èªå¨ä¸ä¼ 失败ï¼è¾åºæå¨æå¼ï¼
ð± æå¨ä¸ä¼ æå¼ï¼
æ¹å¼ä¸ï¼ç½é¡µç«¯
1. æå¼ https://creator.xiaohongshu.com
2. ç»å½ä½ çå°çº¢ä¹¦è´¦å·
3. ç¹å»ãåå¸ç¬è®°ã
4. ä¸ä¼ è§é¢/å¾çç´ æ
5. ç²è´´æ é¢åææ¡
6. æ·»å æ ç¾åè¯é¢
7. ç¹å»åå¸
æ¹å¼äºï¼ææºç«¯
1. æå¼å°çº¢ä¹¦ App
2. ç¹å»åºé¨ã+ãå·
3. éæ©ç´ æ â ç²è´´ææ¡ â åå¸
åæ¶å°æ é¢åææ¡ä»¥æ¹ä¾¿å¤å¶çæ ¼å¼è¾åºå°ç»ç«¯ã
ç¬¬å æ¥ï¼çææ¬å°é¢è§ HTML
使ç¨é¢è§èæ¬çæ HTML é¢è§æä»¶ï¼
python3 ~/.claude/skills/redbook-creator/scripts/generate_preview.py \
--title "å¸åæ é¢" \
--content "å¸åææ¡ï¼å®æ´å¸¦emojiåæ ç¾ï¼" \
--media "æç»è§é¢æå¾çè·¯å¾" \
--output "./redbook_preview_YYYYMMDD_HHMMSS.html"
çæå®æåç¨ open å½ä»¤å¨æµè§å¨ä¸æå¼é¢è§ã
è¾åºæ¸ å
æ¯æ¬¡åä½å®æåï¼ç¡®ä¿è¾åºä»¥ä¸å 容ï¼
- å¤éæ é¢ï¼3-5 个ï¼+ æ¨èæ é¢
- 宿´ææ¡ï¼å« emojiãæ ç¾ãè¯é¢ï¼
- åªè¾åè§é¢ï¼åå¹¶+åå¹+BGM+解说ï¼
- ä¸ä¼ ç»æï¼èªå¨ä¸ä¼ æå/æå¨ä¸ä¼ æå¼ï¼
- æ¬å°é¢è§æä»¶è·¯å¾ï¼HTML æä»¶ï¼
注æäºé¡¹
- ææ¡é£æ ¼éè¦ç¬¦åå°çº¢ä¹¦å¹³å°è°æ§ï¼çå®ãææ¸©åº¦ãç§èæ
- é¿å è¿åº¦è¥éæï¼ä¿æçå®å享çè¯æ°
- emoji 使ç¨è¦èªç¶ï¼ä¸å ç
- æ ç¾éæ©å ¼é¡¾ç鍿 ç¾åç²¾åé¿å°¾æ ç¾
- å¦æç´ æä¸è¶³ï¼ä¸»å¨åç¨æ·è¯¢é®è¡¥å ä¿¡æ¯
- ææçæçæä»¶ä¿åå¨å½åå·¥ä½ç®å½
- è§é¢è¾åºç»ä¸ 720×1280 ç«å±æ ¼å¼ï¼å°çº¢ä¹¦æä½³æ¯ä¾ï¼
- 解说è¯é³é»è®¤ä½¿ç¨ YunxiNeural ç·å£°ï¼å¯æ ¹æ®ç¨æ·å好忢
- BGM 飿 ¼æ ¹æ®å 容类å«èªå¨å¹é ï¼ä¹å¯è¯¢é®ç¨æ·å好