mp-weixin-skills
npx skills add https://github.com/liangxp1990/mp-wechat-skills --skill mp-weixin-skills
Agent 安装分布
Skill 文档
å¾®ä¿¡å ¬ä¼å·æç« 管ç Skill
æ¦è¿°
è¿æ¯ä¸ä¸ªä¸é¨ç¨äºç®¡çå¾®ä¿¡å ¬ä¼å·æç« åå¸ç Skillã彿¨éè¦å°æç« åå¸å°å¾®ä¿¡å ¬ä¼å·æ¶ï¼æ¤ Skill ä¼ï¼
- é¦å è¦æ± AI å°æç« è½¬æ¢ä¸ºå¾®ä¿¡å ¬ä¼å·æ ¼å¼ç HTML
- ç¶åä½¿ç¨ Python èæ¬ä¸ä¼ ç´ æåå建è稿
æ ¸å¿ååï¼
- AI è´è´£ï¼ææ¡£è½¬æ¢ï¼Markdown/Word/PDF â å¾®ä¿¡å ¬ä¼å· HTMLï¼
- Skill è´è´£ï¼å¾®ä¿¡ API æä½ï¼ä¸ä¼ ç´ æãè稿管çï¼
å¿«éå¼å§
使ç¨ååå¤
- é ç½®å¾®ä¿¡å ¬ä¼å· API åè¯
å¨ skills ç®å½ä¸æé¡¹ç®æ ¹ç®å½å建 .env æä»¶ï¼
# 微信å
¬ä¼å·é
ç½®ï¼å¿
éï¼
WECHAT_APP_ID=your_app_id_here
WECHAT_APP_SECRET=your_app_secret_here
# è¾åºé
ç½®ï¼å¯éï¼
OUTPUT_DIR=./output
TEMP_DIR=./temp
# æ ·å¼é
ç½®ï¼å¯éï¼
TEMPLATE_NAME=default
THEME_COLOR=#07c160
- å®è£ ä¾èµ
pip install -e .
åºæ¬ä½¿ç¨
åºæ¯ 1: å叿°æç«
请å°è¿ç¯æç« åå¸å°å¾®ä¿¡å
¬ä¼å·è稿箱
AI ä¼èªå¨ï¼
- å°ææ¡£è½¬æ¢ä¸ºå¾®ä¿¡å ¬ä¼å·æ ¼å¼ç HTML
- çæå°é¢å¾ç
- ä¸ä¼ å°å¾®ä¿¡è稿箱
åºæ¯ 2: ä» è½¬æ¢æ ¼å¼ï¼ä¸ä¸ä¼ ï¼
python3 scripts/cli.py publish article.md --no-api
çæç HTML æä»¶ä¿åå¨ output/ ç®å½
åºæ¯ 3: æ´æ°å·²æè稿
python3 scripts/cli.py update <media_id>
åºæ¯ 4: ä¸ä¼ å¾çç´ æ
# ä¸ä¼ åå¼ å¾ç
python3 scripts/cli.py upload-image image.jpg
# æ¹éä¸ä¼
python3 scripts/cli.py upload-images ./images
工使µç¨
宿´å叿µç¨
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â ç¬¬ä¸æ¥ï¼AI ææ¡£è½¬æ¢ â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â 1. 读åæç« å
容ï¼Markdown/Word/PDFï¼ â
â 2. ææ ·å¼è§è转æ¢ä¸º HTML â
â 3. åºç¨å
èæ ·å¼ï¼æ é¢ã段è½ã代ç åçï¼ â
â 4. çæç¬¦å微信é
读ä½éªç宿´ HTML â
â â
â è¾åºï¼å¸¦æå
èæ ·å¼ç HTML å符串 â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â ç¬¬äºæ¥ï¼å¾®ä¿¡è稿管çï¼Python èæ¬ï¼ â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â 1. æ¥æ¶ AI çæç HTML â
â 2. æ«æå¹¶æåæç« ä¸çå¾çå¼ç¨ â
â 3. ä¸è½½è¿ç¨å¾çå°ä¸´æ¶ç®å½ï¼å¦éç¨ï¼ â
â 4. æ¹éä¸ä¼ ææå¾çå°å¾®ä¿¡ç´ æåº â
â 5. æ¿æ¢ HTML ä¸çå¾ç龿¥ä¸ºå¾®ä¿¡ CDN URL â
â 6. çæå°é¢å¾çï¼æ¨¡æ¿çææä½¿ç¨ AI çæçå¾çï¼ â
â 7. ä¸ä¼ å°é¢å°å¾®ä¿¡ç´ æåº â
â 8. è°ç¨å¾®ä¿¡å
¬ä¼å· API å建è稿 â
â 9. è¿åè稿 media_id ç¨äºåç»æ´æ° â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
å¾çå¤çæµç¨ï¼èªå¨ï¼
å½æç« å å«å¾çæ¶ï¼èæ¬ä¼èªå¨æ§è¡ä»¥ä¸æ¥éª¤ï¼
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â å¾çæåä¸ä¸ä¼ â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â æ«ææç« â è¯å«å¾çç±»å â å¤çå¾ç â ä¸ä¼ ç´ æåº â æ¿æ¢é¾æ¥ â
â â
â å¾çç±»åå¤çï¼ â
â ⢠æ¬å°å¾ç â ç´æ¥ä¸ä¼ â
â ⢠ç¸å¯¹è·¯å¾ â è§£æä¸ºå®æ´è·¯å¾åä¸ä¼ â
â ⢠è¿ç¨å¾ç â ä¸è½½å° temp/ åä¸ä¼ â
â ⢠已åå¨å¾®ä¿¡ â è·³è¿ï¼å¯æ©å±ï¼ â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
å¾çå¤çç¹æ§ï¼
- â èªå¨æ«æ Markdown/HTML ä¸çå¾çå¼ç¨
- â æ¯ææ¬å°å¾çåè¿ç¨ URL
- â èªå¨ä¸è½½è¿ç¨å¾çå°ä¸´æ¶ç®å½
- â æ¹éä¸ä¼ å°å¾®ä¿¡ç´ æåº
- â èªå¨æ¿æ¢ HTML ä¸ç龿¥ä¸ºå¾®ä¿¡ CDN URL
- â æ¾ç¤ºä¸ä¼ è¿åº¦åç»æç»è®¡
为ä»ä¹è¿æ ·è®¾è®¡ï¼
| ä¼å¿ | 说æ |
|---|---|
| èè´£å离 | AI æ é¿å 容çè§£åæ ·å¼åºç¨ï¼èæ¬ä¸æ³¨ API æä½ |
| è´¨éæ´é« | AI è½çè§£è¯ä¹ï¼çææ´ç¬¦åå ¬ä¼å·é£æ ¼çå 容 |
| ç»´æ¤ç®å | ä¸éè¦ç»´æ¤å¤æçææ¡£è§£æé»è¾ï¼èæ¬åªå API è°ç¨ |
| çµæ´»æ©å± | å¯ä»¥è½»æ¾æ´æ¢ AI æä¾åæè½¬æ¢æ¹å¼ |
CLI å½ä»¤
å叿ç«
# ä½¿ç¨ API ä¸ä¼ å°è稿箱
python3 scripts/cli.py publish article.md
# ä»
çæ HTML æä»¶
python3 scripts/cli.py publish article.md --no-api
# ä½¿ç¨æå®æ¨¡æ¿
python3 scripts/cli.py publish article.md --template fancy
æ´æ°è稿
# æ´æ°å·²æè稿
python3 scripts/cli.py update <media_id>
# æå®æ°çæºæä»¶
python3 scripts/cli.py update <media_id> --source new-article.md
# éæ°çæå°é¢
python3 scripts/cli.py update <media_id> --regenerate-cover
ä¸ä¼ å¾ç
# ä¸ä¼ åå¼ å¾ç
python3 scripts/cli.py upload-image cover.jpg
# ä¸ä¼ 为缩ç¥å¾
python3 scripts/cli.py upload-image cover.jpg --type thumb
# æ¹éä¸ä¼ æä»¶å¤¹ä¸çå¾ç
python3 scripts/cli.py upload-images ./images
# æå®æä»¶æ¨¡å¼
python3 scripts/cli.py upload-images ./photos --pattern "*.png"
# ä¸ä¼ 为缩ç¥å¾
python3 scripts/cli.py upload-images ./covers --type thumb
æ ·å¼è§è
èªå¨åºç¨çæ ·å¼
| å ç´ | æ ·å¼ç¹ç¹ |
|---|---|
| ä¸çº§æ é¢ | 主é¢è²æ¸åèæ¯ãç½è²æåãåè§é´å½± |
| äºçº§æ é¢ | 左侧主é¢è²è£ 饰æ¡ï¼4pxï¼ã12px å·¦å è¾¹è· |
| æ®µè½ | è¡é« 1.75ãåå· 15pxãä¸¤ç«¯å¯¹é½ |
| 代ç å | æ·±è²èæ¯ï¼#2d2d2dï¼ãæ¯ææ¨ªåæ»å¨ãåå· 13px |
| å è代ç | æµ ç°èæ¯ï¼#f0f0f0ï¼ãç²è²æåï¼#d63384ï¼ |
| å¼ç¨å | 左侧主é¢è²è¾¹æ¡ãæµ ç°èæ¯ |
| è¡¨æ ¼ | 表头主é¢è²èæ¯ãç½è²æåãè¾¹æ¡åå¹¶ |
主é¢è²æ¨è
| è²å¼ | éç¨åºæ¯ |
|---|---|
#07c160 |
ç§æãæçï¼é»è®¤ï¼ |
#ff6b6b |
çæ´»ãæ æ |
#4a90e2 |
åä¸ãèåº |
#f5a623 |
æè²ãå¹è® |
#9013fe |
åæã设计 |
è¯¦ç»ææ¡£
æ¤ SKILL éµå¾ª Progressive Disclosure ååï¼è¯¦ç»ææ¡£æéå è½½ï¼
| ææ¡£ | å 容 | 使¶é 读 |
|---|---|---|
| å¹³å°ç¹å¾åè | ç¨æ·ç»åãå å®¹è°æ§ãé 读è¡ä¸º | éè¦äºè§£å ¬ä¼å·å¹³å°ç¹å¾æ¶ |
| 转æ¢è§ååè | æ é¢ä¼åãå¼å¤´æ ¼å¼ãæ£æç»æãè§è§å ç´ | AI è½¬æ¢ææ¡£æ¶ |
| æ ·å¼è§èåè | 宿´æ ·å¼é ç½®ãç§»å¨ç«¯ä¼å | éè¦èªå®ä¹æ ·å¼æ¶ |
| å°é¢çæåè | å°é¢è§æ ¼ãçææ¹å¼ã设计åå | éè¦çæå°é¢æ¶ |
| å¾çä¸ä¼ åè | å¾çæ ¼å¼ãæ¹éä¸ä¼ ãä¼å建议 | éè¦ä¸ä¼ å¾çæ¶ |
| 工使µåè | 宿´å·¥ä½æµãåºæ¯ç¤ºä¾ãèªå¨åèæ¬ | éè¦äºè§£å®æ´æµç¨æ¶ |
å¾çç´ æä¸ä¼
å½æç« å 嫿¬å°å¾çæ¶ï¼
- AI ä¼èªå¨ï¼æ«æå¾çå¼ç¨ï¼æ¹éä¸ä¼ å°ç´ æåº
- æå¨ä¸ä¼ ï¼ä½¿ç¨
upload-imageså½ä»¤ - å¾çè§èï¼
- æ ¼å¼ï¼JPG, PNG
- 大å°ï¼thumb ⤠2MBï¼image ⤠5MB
- æ¨è尺寸ï¼å®½åº¦ ⤠900px
详ç»è¯´æè¯·æ¥ç å¾çä¸ä¼ åè
å°é¢å¾çæ
èªå¨å°é¢è§æ ¼ï¼
- 尺寸ï¼1080Ã460 (2.35:1)
- æ ¼å¼ï¼JPEG
- è´¨éï¼95%
- åä½ï¼åæé»ä½ï¼æ¯æä¸æï¼
å°é¢çææ¹å¼ï¼
| æ¹å¼ | 说æ | éç¨åºæ¯ |
|---|---|---|
| æç´¢å å·¥ï¼é»è®¤ï¼ | ä» Unsplash/Pexels æç´¢é«è´¨éå¾çï¼æ·»å æ¸åé®ç½©åæ 颿å | éç¨äºæææç« |
| AI çæ | ä½¿ç¨ Claude/Midjourney/DALL·E çæ | éè¦æç« ãåç建设 |
| 模æ¿çæ | èªå¨ä½¿ç¨æç« æ é¢çæï¼æ¸åèæ¯ | ç½ç»ä¸å¯ç¨æ¶çå¤é |
详ç»è¯´æè¯·æ¥ç å°é¢çæåè
ç§»å¨ç«¯å好设计
代ç åï¼ç§»å¨ç«¯ä¼åï¼
å ³é®ç¹æ§ï¼
- æ·±è²èæ¯ï¼#2d2d2dï¼ä¿æ¤ç¼ç
- åå· 13px éåææºé 读
- æ¨ªåæ»å¨ï¼overflow-x: autoï¼
- ä¸å¼ºå¶æ¢è¡ï¼white-space: preï¼
- iOS å¹³æ»æ»å¨ï¼-webkit-overflow-scrolling: touchï¼
设计ååï¼
- ä¸ç ´å代ç ç»æ
- æ¯ææ¨ªåæ»å¨æ¥çé¿ä»£ç
- è§¦æ§æ»å¨ä½éªæµç
å¾çä¼å
ç§»å¨ç«¯å»ºè®®ï¼
- åå¼ å¾ç ⤠500KB
- 宽度 ⤠900px
- ä½¿ç¨æ¸è¿å¼ JPEG
- èèå¾çæå è½½
常è§é®é¢
Q: 转æ¢åç HTML å¨åªï¼
A: ä½¿ç¨ --no-api åæ°æ¶ï¼HTML ä¿åå¨ output/ ç®å½
Q: å¦ä½è·å media_idï¼
A: å叿ååä¼è¿å media_idï¼ä¹å¯ä»¥å¨å¾®ä¿¡å ¬ä¼å·åå°æ¥ç
Q: å¾çä¸ä¼ 失败æä¹åï¼
A: æ£æ¥å¾ç大å°ï¼image ⤠5MBï¼thumb ⤠2MBï¼ï¼ä½¿ç¨ TinyPNG å缩åéè¯
Q: 代ç å卿æºä¸æ¾ç¤ºä¸å ¨ï¼
A: è¿æ¯æ£å¸¸çï¼ä»£ç åæ¯ææ¨ªåæ»å¨ï¼ä¸ä¼å¼ºå¶æ¢è¡ç ´å代ç ç»æ
项ç®ç»æ
mp-weixin-skills/
âââ SKILL.md # 主æä»¶ï¼304 è¡ï¼<500 è¡ â
ï¼
âââ skills.json # Skill å
æ°æ®
âââ .env.example # ç¯å¢é
置示ä¾
â
âââ scripts/ # 坿§è¡èæ¬ï¼æ ¸å¿åè½ï¼
â âââ cli.py # å½ä»¤è¡æ¥å£ï¼ä¸»å
¥å£ï¼
â âââ config.py # é
置管ç
â âââ exceptions.py # èªå®ä¹å¼å¸¸
â â
â âââ wechat/ # 微信 API æä½ï¼æ ¸å¿ï¼â
â â âââ __init__.py
â â âââ api_client.py
â â
â âââ covers/ # å°é¢çæï¼æ ¸å¿ï¼â
â â âââ __init__.py
â â âââ base.py
â â âââ template_maker.py
â â
â âââ converters/ # HTML å¤çï¼å¯éï¼
â â âââ __init__.py
â â âââ html_builder.py
â â âââ style_manager.py
â â
â âââ parsers/ # ææ¡£è§£æï¼å¯éï¼AI 主è¦å¤çï¼
â â âââ __init__.py
â â âââ base.py
â â âââ markdown.py
â â âââ pdf.py
â â âââ word.py
â â
â âââ utils/ # å·¥å
·å½æ°
â âââ __init__.py
â âââ logger.py
â
âââ references/ # è¯¦ç»ææ¡£ï¼æéå è½½ï¼ð
â âââ platform-guide.md # å¹³å°ç¹å¾
â âââ conversion-rules.md # 转æ¢è§åï¼AI è½¬æ¢æ¶ï¼
â âââ style-specs.md # æ ·å¼è§è
â âââ cover-guide.md # å°é¢æå
â âââ image-upload.md # å¾çä¸ä¼
â âââ workflows.md # 工使µç¨
â
âââ examples/ # ç¤ºä¾æç«
âââ tests/ # æµè¯æä»¶ï¼å¯éï¼
âââ output/ # è¾åºç®å½ï¼çæï¼
âââ temp/ # ä¸´æ¶æä»¶ï¼çæï¼
æ ¸å¿åè½è¯´æï¼
- â wechat/ – å¾®ä¿¡å ¬ä¼å· API æä½ï¼ä¸ä¼ ç´ æãå建/æ´æ°è稿ï¼
- â covers/ – èªå¨å°é¢çæï¼1080Ã460ï¼
- ð references/ – Progressive Disclosure ææ¡£ï¼æéå è½½
许å¯è¯
MIT License