pw-image-generation
npx skills add https://github.com/plugins-world/pw-skills --skill pw-image-generation
Agent 安装分布
Skill 文档
Image-Generation – AI å¾åçæå·¥ä½æµ
æ ¸å¿ç念: åæé£æ ¼ â 设计æç¤ºè¯ â ç¨æ·ç¡®è®¤ â çæå¾åï¼é¿å é¢åº¦æµªè´¹
æ ¸å¿åè½
å¾åçæ:
- æçå¾: æ ¹æ®ææ¬æè¿°çæå¾å
- å¾çå¾: åºäºåèå¾ççæç±»ä¼¼é£æ ¼çå¾å
- æ¹éçæ: ä½¿ç¨æç¤ºè¯æ¨¡æ¿æ¹éçæå¤å¼ å¾å
- 飿 ¼ä¸è´: ä¿æç³»åå¾åçè§è§é£æ ¼ç»ä¸
å¾åå¤ç:
- é¿å¾åå¹¶: å°ç³»åå¾çåç´æ¼æ¥ä¸ºä¸å¼ é¿å¾
- PPT æå : å°ç³»åå¾çæå 为 PPT æä»¶ (æ¯å¼ å¾çä¸é¡µ)
- å¾åºç®¡ç: ä¸ä¼ å¾çå°å¾åºå¹¶ç®¡çå é¤é¾æ¥
ä½¿ç¨æ¶æº
éç¨åºæ¯:
- ç¨æ·æç¡®è¦æ± “çæå¾å”ã”å建é å¾”ã”å¶ä½æç»”
- ç¨æ·æä¾ææ¬æè¿°å¹¶éè¦è§è§ååç°
- ç¨æ·æä¾åèå¾çå¹¶è¦æ±çæç±»ä¼¼é£æ ¼çå¾å
- ç¨æ·éè¦ä¸ºæç« ãPPTã社交åªä½å¶ä½é å¾
- ç¨æ·éè¦æ¹éçæé£æ ¼ä¸è´çç³»åå¾å
- ç¨æ·éè¦å°å¤å¼ å¾çå并为é¿å¾æ PPT
ä¸éç¨åºæ¯:
- ç¨æ·åªæ¯è¯¢é®å¦ä½çæå¾å (æä¾å»ºè®®å³å¯)
- ç¨æ·éè¦ç¼è¾ç°æå¾ç (使ç¨å¾çç¼è¾å·¥å ·)
- ç¨æ·éè¦å¾åè¯å«æåæ (使ç¨è§è§åæå·¥å ·)
- ç¨æ·éè¦æªå¾æå±å¹å½å¶ (使ç¨ç³»ç»å·¥å ·)
工使µç¨
åæé£æ ¼ â 设计æç¤ºè¯ â å®è£
ä¾èµ â é
ç½®API â ç¡®è®¤çæ â ä¿åå¾å
â â â â â â
飿 ¼æä»¶ æç¤ºè¯æä»¶ node-fetch secrets.md éå¼ ç¡®è®¤ images/
èæ¬ç®å½
ææèæ¬ä½äº ~/.claude/skills/pw-image-generation/scripts/ ç®å½ä¸ã
Agent æ§è¡è¯´æ:
- ç¡®å®æ¤ SKILL.md æä»¶çç®å½è·¯å¾ä¸º
SKILL_DIR - èæ¬è·¯å¾ =
${SKILL_DIR}/scripts/<script-name>.ts - å°æ¬ææ¡£ä¸çææ
${SKILL_DIR}æ¿æ¢ä¸ºå®é è·¯å¾
å¯ç¨èæ¬:
| èæ¬ | åè½ | åæ° |
|---|---|---|
generate-image.ts |
çæå¾å (éå¼ ç¡®è®¤) | [è¾åºç®å½] |
upload-image.ts |
ä¸ä¼ å¾çå°å¾åº | <å¾çè·¯å¾> |
delete-image.ts |
管çå¾åºå¾ç | list|delete <ç´¢å¼>|delete-all |
merge-to-long-image.ts |
å并为é¿å¾ | <å¾çç®å½> <è¾åºæä»¶> |
merge-to-pptx.ts |
æå 为 PPT | <å¾çç®å½> <è¾åºæä»¶> |
analyze-image.ts |
åæå¾å飿 ¼ | <å¾åURLæè·¯å¾> |
å¿«éå¼å§
Step 1: å建项ç®ç®å½
mkdir my-image-project && cd my-image-project
Step 2: å¤å¶é 置模æ¿ï¼å¯éï¼
cp -r ~/.claude/skills/pw-image-generation/config.example ./config
cp ~/.claude/skills/pw-image-generation/references/.gitignore.template ./.gitignore
# ç¼è¾ config/secrets.md èªå®ä¹ API å¯é¥ï¼å¯éï¼
Step 3: å建æç¤ºè¯
mkdir -p prompts
cp ~/.claude/skills/pw-image-generation/references/prompt-templates/æç¤ºè¯æ¨¡æ¿.md ./prompts/æçæç¤ºè¯.md
vim ./prompts/æçæç¤ºè¯.md
åè references/style-library.md éæ©åéç飿 ¼ã
Step 4: çæå¾å
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
èæ¬ä¼éå¼ è¯¢é®ç¡®è®¤ï¼é¿å 浪费é¢åº¦ã
å·¥å ·èæ¬è¯¦è§£
1. çæå¾å
å½ä»¤:
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts [è¾åºç®å½]
åæ°è¯´æ:
[è¾åºç®å½]: å¯éï¼æå®å¾åä¿åç®å½ï¼é»è®¤ä¸º./images
工使µç¨:
- 读å
prompts/ç®å½ä¸çæææç¤ºè¯æä»¶ - éå¼ æ¾ç¤ºæç¤ºè¯å 容
- è¯¢é®æ¯å¦çæè¯¥å¾å (y/n/q)
- çæå¾åå¹¶ä¿åå°è¾åºç®å½
- æ¯æä¸æåæ¢å¤
确认é项:
y(yes): çæå½åå¾ån(no): è·³è¿å½åå¾åï¼ç»§ç»ä¸ä¸å¼q(quit): éåºçææµç¨
示ä¾:
# 使ç¨é»è®¤è¾åºç®å½
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
# æå®è¾åºç®å½
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts ./my-images
2. ä¸ä¼ å¾çå°å¾åº
å½ä»¤:
npx -y bun ~/.claude/skills/pw-image-generation/scripts/upload-image.ts <å¾çè·¯å¾>
åæ°è¯´æ:
<å¾çè·¯å¾>: å¿ éï¼è¦ä¸ä¼ çæ¬å°å¾çæä»¶è·¯å¾
åè½ç¹æ§:
- èªå¨ä¸ä¼ å° freeimage.host (æ°¸ä¹ åå¨)
- è¿åå¯ç¨çå¾ç URL
- èªå¨ä¿åå é¤é¾æ¥å°
.upload-history.json - ç¨äºå¾çå¾çåèå¾ä¸ä¼
示ä¾:
# ä¸ä¼ åå¼ å¾ç
npx -y bun ~/.claude/skills/pw-image-generation/scripts/upload-image.ts ./template/åèå¾.png
# ä¸ä¼ åä¼è¿å:
# - å¾ç URL (ç¨äºæç¤ºè¯ä¸ç image_url)
# - å é¤é¾æ¥ (ä¿åå¨åå²è®°å½ä¸)
è¾åºç¤ºä¾:
ä¸ä¼ æå!
å¾ç URL: https://iili.io/xxx.png
å é¤é¾æ¥å·²ä¿åå° .upload-history.json
3. 管çå¾åºå¾ç
å½ä»¤:
# ååºææä¸ä¼ çå¾ç
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts list
# å 餿å®ç´¢å¼çå¾ç
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete <ç´¢å¼>
# å 餿æå¾ç
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete-all
åæ°è¯´æ:
list: ååºææä¸ä¼ è®°å½delete <ç´¢å¼>: å 餿å®ç´¢å¼çå¾ç (ç´¢å¼ä» 0 å¼å§)delete-all: å 餿æå¾ç
åè½ç¹æ§:
- æ¥çä¸ä¼ åå²åå é¤é¾æ¥
- åä¸ªææ¹éå é¤å¾ç
- èªå¨æ´æ°åå²è®°å½æä»¶
示ä¾:
# æ¥çä¸ä¼ åå²
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts list
# è¾åº:
# 0: åèå¾.png - https://iili.io/xxx.png (2024-01-15)
# 1: é
å¾1.png - https://iili.io/yyy.png (2024-01-16)
# å é¤ç´¢å¼ä¸º 0 çå¾ç
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete 0
# å 餿æå¾ç (ä¼è¦æ±ç¡®è®¤)
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete-all
详ç»è¯´æè§ references/å¾åºä¸ä¼ .md
4. åå¹¶é¿å¾
å½ä»¤:
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-long-image.ts <å¾çç®å½> <è¾åºæä»¶>
åæ°è¯´æ:
<å¾çç®å½>: å¿ éï¼å å«è¦åå¹¶çå¾ççç®å½<è¾åºæä»¶>: å¿ éï¼è¾åºçé¿å¾æä»¶å
åè½ç¹æ§:
- åç´æ¼æ¥å¤å¼ å¾ç
- èªå¨è¯å« jpg/png/gif/webp æ ¼å¼
- ææä»¶åæ°åæåº
- ä¿æåå¾å®½åº¦ï¼èªå¨è®¡ç®é«åº¦
ä¾èµè¦æ±: éè¦å®è£ ImageMagick:
brew install imagemagick
示ä¾:
# åå¹¶ images ç®å½ä¸çææå¾ç
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-long-image.ts ./images é¿å¾.png
# æå®å
¶ä»ç®å½
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-long-image.ts ./my-images åé.jpg
使ç¨åºæ¯:
- å¶ä½å°çº¢ä¹¦/å¾®ä¿¡å ¬ä¼å·é¿å¾
- åå¹¶ç³»åæç¨æªå¾
- å¶ä½å¾çåéå±ç¤º
5. å并为 PPT
å½ä»¤:
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-pptx.ts <å¾çç®å½> <è¾åºæä»¶>
åæ°è¯´æ:
<å¾çç®å½>: å¿ éï¼å å«è¦æå çå¾ççç®å½<è¾åºæä»¶>: å¿ éï¼è¾åºç PPT æä»¶å
åè½ç¹æ§:
- æ¯å¼ å¾çå ä¸é¡µ
- èªå¨è¯å« jpg/png/gif/webp æ ¼å¼
- ææä»¶åæ°åæåº
- 16:9 æ¯ä¾ï¼èªå¨éåºé¡µé¢å¤§å°
- å¾çå± ä¸æ¾ç¤º
示ä¾:
# æå
images ç®å½ä¸çå¾ç为 PPT
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-pptx.ts ./images é
å¾.pptx
# æå®å
¶ä»ç®å½
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-pptx.ts ./my-images å±ç¤º.pptx
使ç¨åºæ¯:
- å¿«éå¶ä½å¾çæ¼ç¤º PPT
- æå ç³»åé å¾ç¨äºå享
- å°çæçå¾åæ´çææ¼ç¤ºææ¡£
6. åæå¾å飿 ¼
å½ä»¤:
# ä» URL åæ
npx -y bun ~/.claude/skills/pw-image-generation/scripts/analyze-image.ts <å¾åURL>
# 仿¬å°æä»¶åæ
npx -y bun ~/.claude/skills/pw-image-generation/scripts/analyze-image.ts <æ¬å°è·¯å¾>
åæ°è¯´æ:
<å¾åURLæè·¯å¾>: å¿ éï¼è¦åæçå¾å URL ææ¬å°æä»¶è·¯å¾
åè½ç¹æ§:
- åæå¾åçè§è§é£æ ¼
- çæéåçæç¤ºè¯å»ºè®®
- è¯å«é¢è²ãæå¾ãèºæ¯é£æ ¼
- ä¿ååæç»æå°
analysis/ç®å½
示ä¾:
# åæå¨çº¿å¾ç
npx -y bun ~/.claude/skills/pw-image-generation/scripts/analyze-image.ts https://example.com/image.jpg
# åææ¬å°å¾ç
npx -y bun ~/.claude/skills/pw-image-generation/scripts/analyze-image.ts ./template/åèå¾.png
使ç¨åºæ¯:
- å¦ä¹ åèå¾çç飿 ¼ç¹å¾
- 为å¾çå¾åå¤æç¤ºè¯
- äºè§£å¦ä½æè¿°ç¹å®è§è§é£æ ¼
æä»¶ç»æ
项ç®ç®å½ç»æ
my-image-project/
âââ config/
â âââ secrets.md # API é
ç½®ï¼å¯éï¼
âââ template/ # PDF 模æ¿å¾ç
âââ prompts/ # æç¤ºè¯æä»¶
âââ analysis/ # 飿 ¼åæï¼å¯éï¼
âââ images/ # çæçå¾å
âââ .gitignore
Skill ç®å½ç»æ
pw-image-generation/
âââ SKILL.md # æ¬æä»¶ï¼æ ¸å¿ææ¡£ï¼
âââ config.example/ # é
置模æ¿
â âââ README.md # é
置说æ
â âââ secrets.md # API é
置模æ¿
âââ references/ # åèææ¡£
â âââ .gitignore.template # Git å¿½ç¥æä»¶æ¨¡æ¿
â âââ å¾åºä¸ä¼ .md # å¾åºä¸ä¼ æå
â âââ style-library.md # 飿 ¼åºï¼9ç§é¢è®¾é£æ ¼ï¼
â âââ prompt-templates/
â âââ æç¤ºè¯æ¨¡æ¿.md # æç¤ºè¯æ¨¡æ¿
âââ scripts/
âââ analyze-image.ts # åæå¾å飿 ¼
âââ generate-image.ts # çæå¾åï¼æ¯æç¡®è®¤åè·³è¿ï¼
âââ upload-image.ts # ä¸ä¼ å¾çå°å¾åº
âââ delete-image.ts # 管çåå é¤å¾åºå¾ç
âââ merge-to-long-image.ts # åå¹¶é¿å¾
âââ merge-to-pptx.ts # æå
为 PPT
常è§é®é¢åé误å¤ç
1. çæå¾å失败
é®é¢: å¾åçæå¤±è´¥æè¿åé误
å¯è½åå :
- API å¯é¥æªé ç½®ææ æ
- æç¤ºè¯æ ¼å¼ä¸æ£ç¡®
- ç½ç»è¿æ¥é®é¢
- API é¢åº¦ä¸è¶³
è§£å³æ¹æ¡:
# æ£æ¥é
ç½®æä»¶
cat config/secrets.md
# éªè¯æç¤ºè¯æ ¼å¼
cat prompts/æç¤ºè¯.md
# æµè¯ç½ç»è¿æ¥
curl -I https://api.openai.com
# æ¥ç详ç»éè¯¯ä¿¡æ¯ (èæ¬ä¼èªå¨æ¾ç¤º)
2. å¾åºä¸ä¼ 失败
é®é¢: ä¸ä¼ å¾çå°å¾åºå¤±è´¥
å¯è½åå :
- å¾çæä»¶ä¸åå¨æè·¯å¾é误
- å¾çæ ¼å¼ä¸æ¯æ
- å¾çæä»¶è¿å¤§ (è¶ è¿ 10MB)
- ç½ç»è¿æ¥é®é¢
è§£å³æ¹æ¡:
# æ£æ¥æä»¶æ¯å¦åå¨
ls -lh ./template/å¾ç.png
# æ£æ¥æä»¶å¤§å°
du -h ./template/å¾ç.png
# 妿æä»¶è¿å¤§ï¼å缩å¾ç
# ä½¿ç¨ ImageMagick å缩
convert ./template/å¾ç.png -quality 85 -resize 2000x2000\> ./template/å¾ç_compressed.png
3. åå¹¶é¿å¾å¤±è´¥
é®é¢: åå¹¶é¿å¾æ¶æ¥é “ImageMagick not found”
å¯è½åå :
- æªå®è£ ImageMagick
- ImageMagick æªæ·»å å° PATH
è§£å³æ¹æ¡:
# macOS å®è£
brew install imagemagick
# éªè¯å®è£
convert --version
# 妿ä»ç¶å¤±è´¥ï¼æ£æ¥ PATH
which convert
4. PPT çæå¤±è´¥
é®é¢: çæ PPT æ¶æ¥éæ PPT æ æ³æå¼
å¯è½åå :
- å¾çç®å½ä¸ºç©ºæä¸åå¨
- å¾çæ ¼å¼ä¸æ¯æ
- è¾åºæä»¶è·¯å¾æ æ
è§£å³æ¹æ¡:
# æ£æ¥å¾çç®å½
ls -la ./images
# æ£æ¥å¾çæ ¼å¼ (æ¯æ jpg/png/gif/webp)
file ./images/*.png
# ç¡®ä¿è¾åºç®å½åå¨
mkdir -p ./output
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-pptx.ts ./images ./output/é
å¾.pptx
5. æç¤ºè¯ä¸çæ
é®é¢: çæçå¾åä¸æç¤ºè¯æè¿°ä¸ç¬¦
å¯è½åå :
- æç¤ºè¯æè¿°ä¸å¤å ·ä½
- æç¤ºè¯è¯è¨æ··ä¹± (ä¸è±ææ··ç¨)
- æç¤ºè¯è¿é¿æè¿ç
- 飿 ¼æè¿°ä¸æç¡®
è§£å³æ¹æ¡:
# ä¸å¥½çæç¤ºè¯
ä¸å¼ å¾ç
# 好çæç¤ºè¯
æ°´å½©é£æ ¼ï¼æ¸©é¦¨çåå¡é¦åºæ¯ï¼æåçå
çº¿ï¼æè²è°ï¼æç»è´¨æ
# 使ç¨é£æ ¼åº
åè references/style-library.md éæ©åéç飿 ¼æè¿°
6. æ¹éçæä¸æ
é®é¢: æ¹éçæè¿ç¨ä¸æå¤ä¸æ
å¯è½åå :
- ç½ç»ä¸ç¨³å®
- ç¨æ·æå¨ä¸æ (Ctrl+C)
- API éæµ
è§£å³æ¹æ¡:
- èæ¬ä¼èªå¨è·³è¿å·²çæçå¾å
- éæ°è¿è¡çæå½ä»¤å³å¯ç»§ç»
- å·²çæçå¾åä¸ä¼éå¤çæ
- 使ç¨
né项跳è¿ä¸éè¦çå¾å
7. é ç½®æä»¶é®é¢
é®é¢: é ç½®æä»¶ä¸çæææ¾ä¸å°
å¯è½åå :
- é ç½®æä»¶è·¯å¾é误
- é ç½®æä»¶æ ¼å¼ä¸æ£ç¡®
- æªå¤å¶é 置模æ¿
è§£å³æ¹æ¡:
# å¤å¶é
置模æ¿
cp -r ~/.claude/skills/pw-image-generation/config.example ./config
# æ£æ¥é
ç½®æä»¶
cat config/secrets.md
# é
ç½®æä»¶æ ¼å¼ç¤ºä¾
# API_BASE_URL=https://api.openai.com/v1
# API_KEY=sk-xxx
æä½³å®è·µ
å¾å尺寸è§è
æ ¹æ®ä¸å使ç¨åºæ¯éæ©åéçå¾å尺寸:
| åºæ¯ | æ¯ä¾ | æ¨èåç´ | 说æ |
|---|---|---|---|
| æç« é å¾ | 16:9 | 1920Ã1080 | 髿¸ æ å, éé 大å±é 读 |
| å ¬ä¼å·å°é¢ | 2.35:1 | 900Ã383 | å¾®ä¿¡å®æ¹æ¨è尺寸 |
| å°çº¢ä¹¦å°é¢/é å¾ | 3:4 | 1242Ã1660 | å°çº¢ä¹¦æ¨è, éé iPhone å±å¹ |
| X æç« å°é¢ | 5:2 | 1500Ã600 | X Articles 宿¹æ¨è |
| 论æé å¾ | 16:9 | 1920Ã1080 | 髿¸ æ å |
è¡¥å 说æ:
- å°çº¢ä¹¦ä¹æ¯æ 1:1 (1080Ã1080) å 4:3 (1440Ã1080)
- å ¬ä¼å·æ¬¡å¾å°é¢å¯ç¨ 200Ã200 (1:1)
使ç¨å»ºè®®:
- å¨æç¤ºè¯ä¸æå®å°ºå¯¸:
size: 1920x1080æaspect_ratio: 16:9 - ä¼å ä½¿ç¨æ¨è尺寸, é¿å åæè£åªå¯¼è´æå¾å¤±è¡¡
- ä¸åå¹³å°çå°ºå¯¸è¦æ±ä¸å, çæåç¡®è®¤ç®æ å¹³å°
æç¤ºè¯è®¾è®¡
åºæ¬åå:
- å ·ä½æç¡®: è¯¦ç»æè¿°åºæ¯ã飿 ¼ãé¢è²ãæå¾
- 飿 ¼ç»ä¸: 使ç¨é£æ ¼åºä¸çé¢è®¾é£æ ¼æè¿°
- è¯è¨ä¸è´: å ¨è±ææå ¨ä¸æï¼é¿å æ··ç¨
- é¿åº¦éä¸: 50-200 å为å®ï¼è¿ç缺ä¹ç»èï¼è¿é¿å®¹ææ··ä¹±
æ¨èç»æ:
[飿 ¼] + [主ä½] + [åºæ¯] + [æ°å´] + [ææ¯ç»è]
示ä¾:
æ°´å½©é£æ ¼ï¼ä¸åªå¯ç±çå°ç«ï¼åå¨çªå°ä¸ï¼æ¸©æçååé³å
ï¼æåçè²å½©ï¼æç»è´¨æ
åèèµæº:
references/style-library.md: 9 ç§é¢è®¾é£æ ¼references/prompt-templates/æç¤ºè¯æ¨¡æ¿.md: æç¤ºè¯æ¨¡æ¿
å¾åçææµç¨
æ¨èæ¥éª¤:
- å çæ 1-2 å¼ æµè¯å¾åï¼éªè¯æç¤ºè¯ææ
- æ ¹æ®æµè¯ç»æè°æ´æç¤ºè¯
- ç¡®è®¤æææ»¡æåï¼æ¹éçæå©ä½å¾å
- 使ç¨ç¡®è®¤æºå¶ï¼é¿å 浪费 API é¢åº¦
- 宿å¤ä»½çæçå¾å
é¿å 浪费:
- æ¯æ¬¡çæåä»ç»æ£æ¥æç¤ºè¯
- 使ç¨
né项跳è¿ä¸éè¦çå¾å - 使ç¨
qé项忶éåº - ä¸è¦ç²ç®æ¹éçæ
å¾ç徿巧
ä¸ä¼ åèå¾:
# 1. ä¸ä¼ åèå¾å°å¾åº
npx -y bun ~/.claude/skills/pw-image-generation/scripts/upload-image.ts ./template/åèå¾.png
# 2. å¤å¶è¿åç URL
# 3. å¨æç¤ºè¯ä¸ä½¿ç¨
# image_url: https://iili.io/xxx.png
# prompt: ç±»ä¼¼é£æ ¼çåºæ¯ï¼ä¿æè²è°åæå¾
注æäºé¡¹:
- åèå¾å°ºå¯¸å»ºè®® 1024×1024 ææ´å¤§
- åè徿¸ æ°åº¦è¦é«
- æç¤ºè¯è¦æç¡®è¯´æä¿çåªäºç¹å¾
- å¯ä»¥å¤æ¬¡å°è¯ä¸åçæç¤ºè¯ç»å
æä»¶ç®¡ç
ç®å½ç»æå»ºè®®:
my-image-project/
âââ config/ # é
ç½®æä»¶ (ä¸æäº¤å° git)
âââ template/ # åèå¾ç
âââ prompts/ # æç¤ºè¯æä»¶
â âââ 01-å°é¢.md
â âââ 02-å
容1.md
â âââ 03-å
容2.md
âââ images/ # çæçå¾å
â âââ 01-å°é¢.png
â âââ 02-å
容1.png
â âââ 03-å
容2.png
âââ output/ # æç»è¾åº (é¿å¾/PPT)
å½åè§è:
- æç¤ºè¯æä»¶: ä½¿ç¨æ°ååç¼æåº (01-, 02-, 03-)
- çæçå¾å: èªå¨ä½¿ç¨æç¤ºè¯æä»¶å
- ä¾¿äºæ¹éå¤çåæåº
æ§è½ä¼å
æé«çæé度:
- 使ç¨è¾å°çå¾å尺寸 (1024×1024 èé 2048×2048)
- é¿å è¿äºå¤æçæç¤ºè¯
- åç使ç¨å¾çå¾ (æ¯æç徿´å¿«)
èç API é¢åº¦:
- 使ç¨ç¡®è®¤æºå¶ï¼ä¸è¦è·³è¿ç¡®è®¤
- å æµè¯åå¼ ï¼åæ¹éçæ
- ä¿å好çæç¤ºè¯ä½ä¸ºæ¨¡æ¿å¤ç¨
- å®ææ¸ çå¾åºä¸ä¸éè¦çå¾ç
è´¨éæ§å¶
æ£æ¥æ¸ å:
- æç¤ºè¯æè¿°æ¸ æ°å ·ä½
- 飿 ¼æè¿°ç»ä¸ä¸è´
- æµè¯å¾åæææ»¡æ
- å¾åå°ºå¯¸åæ ¼å¼æ£ç¡®
- æä»¶å½åè§èæåº
- å¤ä»½éè¦å¾å
常è§é®é¢:
- å¾å飿 ¼ä¸ä¸è´: æ£æ¥æç¤ºè¯ä¸ç飿 ¼æè¿°
- å¾åè´¨éä¸ä½³: å¢å ææ¯ç»èæè¿° (å¦ “髿¸ ”ã”ç»è丰寔)
- å¾åå 容åå·®: æç¤ºè¯æ´å ·ä½ï¼å¢å çº¦ææ¡ä»¶
éè¦æç¤º
é¿å é¢åº¦æµªè´¹
- æ¯æ¬¡çæåé½ä¼è¯¢é®ç¡®è®¤
- æ¯æè·³è¿å·²çæçå¾å
- ä¸å¼ ä¸å¼ çæï¼é¿å æ¹éæ¶èé¢åº¦
é 置管ç
- é
ç½®æä»¶
config/secrets.mdæ¯å¯éç - æªé ç½®æ¶ä½¿ç¨é»è®¤é ç½® (éè¦è®¾ç½®ç¯å¢åé API_KEY)
- é ç½®æä»¶ä¸ä¼æäº¤å°çæ¬æ§å¶ (å·²å¨ .gitignore ä¸)
- æ¯æèªå®ä¹ API 端ç¹å模å
è¿è¡ç¯å¢
èæ¬ä½¿ç¨ Bun è¿è¡ï¼æ 鿬å°å®è£ ä¾èµ:
# ç´æ¥è¿è¡ï¼Bun ä¼èªå¨å¤çä¾èµ
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
ç³»ç»è¦æ±:
- Node.js æ Bun è¿è¡æ¶
- macOS/Linux/Windows (WSL)
- åå¹¶é¿å¾éè¦ ImageMagick
é 置说æ
æ¥ç config.example/secrets.md äºè§£é
ç½®é项:
å¯é 置项:
API_BASE_URL: API åºç¡ URL (é»è®¤: OpenAI API)ANALYSIS_MODEL_ID: å¾ååææ¨¡å (é»è®¤: gpt-4-vision-preview)GENERATION_MODEL_ID: å¾åçææ¨¡å (é»è®¤: dall-e-3)API_KEY: API å¯é¥ (å¿ é)
é 置示ä¾:
# config/secrets.md
API_BASE_URL=https://api.openai.com/v1
ANALYSIS_MODEL_ID=gpt-4-vision-preview
GENERATION_MODEL_ID=dall-e-3
API_KEY=sk-your-api-key-here
飿 ¼åº
Skill æä¾ 9 ç§é¢è®¾é£æ ¼ï¼ä¿è¯å¾å飿 ¼ä¸è´æ§:
- æ°´å½©é£æ ¼ (watercolor) – æå温馨
- æå¹³å设计 (flat-design) – ç°ä»£ç®æ´
- 3D 渲æ (3d-render) – ç«ä½çå®
- æ²¹ç»é£æ ¼ (oil-painting) – èºæ¯ç»å ¸
- èµåæå (cyberpunk) – ç§å¹»æªæ¥
- åç´ èºæ¯ (pixel-art) – å¤å¤ææ§
- æç»æç» (hand-drawn) – 温æä¸ªæ§
- ç §çåå® (photorealistic) – é«åº¦çå®
- æ½è±¡èºæ¯ (abstract) – æ æè¡¨è¾¾
æ¥ç references/style-library.md äºè§£æ¯ç§é£æ ¼ç详ç»è¯´æå使ç¨åºæ¯ã
使ç¨å»ºè®®
Agent ä½¿ç¨æå
å½ç¨æ·è¯·æ±çæå¾åæ¶:
- ç¡®è®¤éæ±: 询é®ç¨æ·å¾åç¨éã飿 ¼åå¥½ãæ°é
- åå¤ç¯å¢: å¼å¯¼ç¨æ·å建项ç®ç®å½åé ç½®
- 设计æç¤ºè¯: æ ¹æ®éæ±è®¾è®¡æç¤ºè¯ï¼åè飿 ¼åº
- çææµè¯: å çæ 1-2 å¼ æµè¯å¾å
- æ¹éçæ: 确认ææåæ¹éçæ
- åæå¤ç: æ ¹æ®éè¦åå¹¶é¿å¾ææå PPT
å ¸å工使µ
åºæ¯ 1: æç« é å¾
# 1. å建项ç®
mkdir article-images && cd article-images
# 2. åå¤æç¤ºè¯
mkdir prompts
# å建 prompts/01-å°é¢.md, 02-é
å¾1.md ç
# 3. çæå¾å
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
# 4. åå¹¶é¿å¾ (å¯é)
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-long-image.ts ./images é¿å¾.png
åºæ¯ 2: PPT é å¾
# 1. å建项ç®
mkdir ppt-images && cd ppt-images
# 2. åå¤æç¤ºè¯ (æé¡µé¢é¡ºåºå½å)
mkdir prompts
# å建 prompts/01-æ é¢é¡µ.md, 02-å
容1.md ç
# 3. çæå¾å
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
# 4. æå
为 PPT
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-pptx.ts ./images é
å¾.pptx
åºæ¯ 3: å¾çå¾
# 1. ä¸ä¼ åèå¾
npx -y bun ~/.claude/skills/pw-image-generation/scripts/upload-image.ts ./template/åèå¾.png
# 2. å¨æç¤ºè¯ä¸ä½¿ç¨è¿åç URL
# prompts/01-ç±»ä¼¼é£æ ¼.md:
# image_url: https://iili.io/xxx.png
# prompt: ç±»ä¼¼é£æ ¼çåºæ¯ï¼ä¿æè²è°åæå¾
# 3. çæå¾å
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts
å½ä»¤éæ¥
# çæå¾å
npx -y bun ~/.claude/skills/pw-image-generation/scripts/generate-image.ts [è¾åºç®å½]
# ä¸ä¼ å¾ç
npx -y bun ~/.claude/skills/pw-image-generation/scripts/upload-image.ts <å¾çè·¯å¾>
# 管çå¾åº
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts list
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete <ç´¢å¼>
npx -y bun ~/.claude/skills/pw-image-generation/scripts/delete-image.ts delete-all
# åå¹¶é¿å¾
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-long-image.ts <å¾çç®å½> <è¾åºæä»¶>
# æå
PPT
npx -y bun ~/.claude/skills/pw-image-generation/scripts/merge-to-pptx.ts <å¾çç®å½> <è¾åºæä»¶>
# åæå¾å
npx -y bun ~/.claude/skills/pw-image-generation/scripts/analyze-image.ts <å¾åURLæè·¯å¾>