wechat-draft-publisher
npx skills add https://github.com/bnd-1/wechat_article_skills --skill wechat-draft-publisher
Agent 安装分布
Skill 文档
å¾®ä¿¡å ¬ä¼å·è稿åå¸å¨
èªå¨å° HTML æ ¼å¼çæç« åå¸å°å¾®ä¿¡å ¬ä¼å·èç¨¿ç®±ï¼æ¯æå°é¢å¾ä¸ä¼ ãæ é¢ãä½è åæè¦çå æ°æ®ç®¡çã
â¡ å¿«éå¼å§
æç®åçç¨æ³ï¼
python publisher.py --title "æç« æ é¢" --content article.html
宿´åæ°ï¼
python publisher.py \
--title "æ é¢" \
--content article.html \
--author "ä½è
å" \
--cover cover.png \
--digest "æç« æè¦"
é»è®¤å¼ï¼
- ä½è
ï¼
YanG - å°é¢å¾ï¼
cover.png
ð æ§è¡æ¥éª¤
åå¸æç« å°å¾®ä¿¡è稿箱ç宿´æµç¨ï¼
-
æ¥æ¾ HTML æä»¶
- ä¼å
æ¥æ¾
*_formatted.htmlï¼formatter è¾åºï¼ - åéå°ææ°ç
.htmlæä»¶
- ä¼å
æ¥æ¾
-
æåæç« æ é¢
- ä» HTML 注éæåï¼
<!-- Title: xxx --> - 仿件åæå
- 询é®ç¨æ·
- ä» HTML 注éæåï¼
-
æ£æ¥å°é¢å¾
- æ¥æ¾
cover.png - å¦ç¼ºå¤±åè¦åä½ç»§ç»åå¸
- æ¥æ¾
-
è°ç¨åå¸èæ¬
python publisher.py --title "xxx" --content xxx.html --cover xxx.png -
éªè¯ç»æ
- 确认è稿å建æå
- è·åè稿 media_id
-
æç¤ºç¨æ·
- æä¾å¾®ä¿¡åå°é¾æ¥
- 说æä¸ä¸æ¥æä½
ð§ é ç½®è¦æ±
馿¬¡ä½¿ç¨
å·¥å ·ä¼å¨é¦æ¬¡è¿è¡æ¶å¼å¯¼é ç½®ï¼
-
è·åå¾®ä¿¡å ¬ä¼å·åè¯
- è®¿é® https://mp.weixin.qq.com
- è¿å ¥ 设置 â åºæ¬é ç½®
- å¤å¶ AppID å AppSecret
-
è¿è¡åå¸å¨
python publisher.py --title "æµè¯" --content test.html -
æ·»å æå¡å¨ IP å°ç½ååï¼å¦éè¦ï¼
é ç½®æä»¶
ä½ç½®ï¼ ~/.wechat-publisher/config.json
æ ¼å¼ï¼
{
"appid": "wx1234567890abcdef",
"appsecret": "your_secret_here"
}
â¨ æ ¸å¿åè½
- â access_token èªå¨ç¼åï¼æææ 7200 ç§ï¼
- â å°é¢å¾ä¸ä¼ å管ç
- â HTML å 容èªå¨ä¼åï¼éé 微信ï¼
- â åæ®µé¿åº¦èªå¨æªæï¼æ é¢/ä½è /æè¦ï¼
- â é误å¤çåéè¯æºå¶
- â 䏿é误æç¤ºåè§£å³æ¹æ¡
- â äº¤äºæ¨¡å¼åå½ä»¤è¡æ¨¡å¼
ð ï¸ å·¥ä½æµéæ
ä¸å ¶ä» skill ååå·¥ä½ï¼
宿´å·¥ä½æµï¼
wechat-tech-writerâ çææç« ï¼xxx_article.md+cover.pngï¼wechat-article-formatterâ æ ¼å¼å HTMLï¼xxx_formatted.htmlï¼wechat-draft-publisherâ åå¸å°å¾®ä¿¡èç¨¿ç®±ï¼æ¬ skillï¼
èªå¨æ£æµæºå¶ï¼
- èªå¨æ¥æ¾
*_formatted.htmlæä»¶ - èªå¨æ¥æ¾
cover.pngå°é¢å¾ - èªå¨è¯å«å 容å¾ç
ð¨ 常è§é®é¢
é误ï¼IP ä¸å¨ç½åå
çç¶ï¼ invalid ip not in whitelist
è§£å³ï¼
- ç»å½å¾®ä¿¡å ¬ä¼å·åå°
- è¿å ¥ 设置 â åºæ¬é ç½®
- æ·»å æå¡å¨ IP å°ç½åå
é误ï¼AppSecret é误
çç¶ï¼ AppSecret error
è§£å³ï¼
- æ£æ¥é
ç½®æä»¶ï¼
~/.wechat-publisher/config.json - éªè¯ AppID 以 “wx” å¼å¤´ï¼18 个å符ï¼
- 确认 AppSecret æ£ç¡®
éè¯¯ï¼æ é¢/ä½è è¶ åºéå¶
çç¶ï¼ title/author size out of limit
è§£å³ï¼
- å·¥å ·ä¼èªå¨æªæï¼æ é¢ï¼32 åèï¼ä½è ï¼20 åèï¼
- å¦éè°æ´ï¼ä¿®æ¹
publisher.py
ð æä»¶ç»æ
wechat-draft-publisher/
âââ SKILL.md # æ¬æä»¶
âââ publisher.py # æ ¸å¿åå¸èæ¬
âââ scripts/ # å·¥å
·èæ¬
â âââ fix-wechat-style.py # HTML ä¼åå¨
â âââ optimize-html.py # HTML å缩工å
·
â âââ publish-workflow.sh # 宿´å·¥ä½æµ
â âââ install.sh # å®è£
婿
â âââ test.sh # æµè¯èæ¬
âââ examples/ # ç¤ºä¾æä»¶
â âââ config.json.example # é
置示ä¾
â âââ example.html # HTML 示ä¾
âââ README.md # 详ç»è±æææ¡£
ð¡ 使ç¨ç¤ºä¾
ç¤ºä¾ 1ï¼æ ååå¸
python publisher.py \
--title "VSCode æ´åäºä»¶" \
--content article.html
ç¤ºä¾ 2ï¼å®æ´å æ°æ®
python publisher.py \
--title "ææ¯æç« " \
--content article.html \
--author "YanG" \
--cover images/cover.png \
--digest "è¿æ¯ä¸ç¯å
³äº..."
ç¤ºä¾ 3ï¼äº¤äºæ¨¡å¼
python publisher.py --interactive
ð± åå¸åæä½
å叿ååï¼
- ç»å½å¾®ä¿¡å ¬ä¼å·åå°
- è¿å ¥”è稿箱”
- é¢è§ææ
- 确认ååå¸
注æäºé¡¹ï¼
- â ï¸ è稿ä¿åå¨å¾®ä¿¡åå°ï¼ä¸ä¼ç«å³åå¸
- â ï¸ å¯ä»¥å¨è稿箱ä¸ç¼è¾åååå¸
- â ï¸ å°é¢å¾ä¼å¨é¢è§æ¶æ¾ç¤º
ð ç¸å ³ææ¡£
- è¯¦ç»ææ¡£ï¼ README.mdï¼è±æï¼
- å®è£ æåï¼ scripts/install.sh
- HTML å¤çï¼ scripts/fix-wechat-style.py