social-media-automation
npx skills add https://github.com/garfield-bb/hap-skills-collection --skill social-media-automation
Agent 安装分布
Skill 文档
èªåªä½è¿è¥èªå¨åæè½
è§¦åæ¡ä»¶
å½ç¨æ·æå°ä»¥ä¸å 容æ¶èªå¨è§¦åï¼
- “çæå°çº¢ä¹¦ç¬è®°”
- “åå¸å°å°çº¢ä¹¦”
- “çæèªåªä½å 容”
- “åå¸å°æé³/å ¬ä¼å·/è§é¢å·”
- “èªåªä½è¿è¥”
- “社交åªä½å å®¹çæ”
- “æ¹éçæå 容”
- “æ¯æ¥çç¹æ¨è”
- “çç¹å 容æ¨è”
- “æ ¹æ®çç¹çæå 容”
MCP é 置说æ
éè¦åå
æ¬ Skill æ¯éç¨çï¼ä¸å å«ä»»ä½ç¡¬ç¼ç ç MCP é ç½®æå¯é¥ä¿¡æ¯ã
MCP ä½¿ç¨æµç¨
-
ç¨æ·æä¾ MCP é ç½®
- ç¨æ·ä¼æä¾ HAP åºç¨ç MCP é 置信æ¯
- MCP é
ç½®æ ¼å¼ï¼
{"hap-mcp-{åºç¨åç§°}": {"url": "https://api.mingdao.com/mcp?HAP-Appkey=...&HAP-Sign=..."}} - æç¨æ·æç¡®æå®ä½¿ç¨åªä¸ª MCP
-
确认å½åè¿æ¥ç MCP
- æ§è¡æä½åï¼å¿
é¡»å
è°ç¨
mcp_hap-mcp-_get_app_info()确认å½åè¿æ¥ç HAP åºç¨ - å¦æç¨æ·æä¾äº MCP é ç½®ï¼éè¦ç¡®è®¤æ¯å¦å¹é
- æ§è¡æä½åï¼å¿
é¡»å
è°ç¨
-
ä» HAP å¨æè¯»åé ç½®
- ææ API å¯é¥åé ç½®é½åå¨å¨ HAP “APIæå¡é ç½®” 表ä¸
- ä½¿ç¨æ¶å¨æä»è¡¨ä¸è¯»åï¼ä¸å¨ä»£ç ä¸ç¡¬ç¼ç
- éè¿
get_app_worksheets_list()卿è·åå·¥ä½è¡¨å表 - ä¼å éè¿å«åï¼aliasï¼å¹é å·¥ä½è¡¨ï¼å¦æå«åä¸åå¨å使ç¨åç§°ï¼nameï¼å¹é
- ç»å¯¹ä¸è¦ä½¿ç¨ç¡¬ç¼ç çå·¥ä½è¡¨ ID
-
å·¥ä½è¡¨å¨æè¯å«ï¼éè¦ï¼
- ä¸å设工ä½è¡¨ ID æ¯åºå®çï¼å¿ é¡»éè¿å«åæåç§°å¹é
- éè¿
get_app_worksheets_list()è·åå·¥ä½è¡¨å表 - ä¼å
éè¿
aliasåæ®µå¹é ï¼å¦æä¸åå¨å使ç¨nameåæ®µå¹é - éè¿
get_worksheet_structure()è·åå·¥ä½è¡¨ç»æ - éè¿å段åç§°æå«åå¹é æéåæ®µ
MCP 确认æµç¨
ç¨æ·è¯·æ±
â
1. è¯å«ç¨æ·æä¾ç MCP é
ç½®ææå®ç MCP
â
2. è°ç¨ get_app_info() 确认å½åè¿æ¥ç MCP åºç¨
â
3. 对æ¯ï¼å½åè¿æ¥ vs ç¨æ·æå®ç MCP
â
4. 妿ä¸å¹é
â ä¸ç¨æ·ç¡®è®¤
â
5. ç¡®è®¤åæ§è¡æä½
æ ¸å¿è½å
1. å å®¹çææµç¨
宿´å·¥ä½æµ
ç¨æ·è¾å
¥ä¸»é¢
â
Step 1: ä» HAP "APIæå¡é
ç½®" è¡¨å¨æè¯»åæç´¢ API é
ç½®ï¼Tavily/Serperï¼
â
Step 2: è°ç¨æç´¢ API è·å主é¢ç¸å
³èµæï¼Tavily APIï¼
â
Step 3: **ã强å¶è¦æ±ãä» HAP "è´¦å·äººè®¾" 表读åè´¦å·äººè®¾é
ç½®ï¼å¿
é¡»å¨çæå
容ä¹åæ§è¡ï¼**
- **ç¦æ¢ä½¿ç¨æ¬å°æä»¶**ï¼ç»å¯¹ä¸å
è®¸ä½¿ç¨ `AGENTS.md` æå
¶ä»æ¬å°æä»¶ä½ä¸ºè´¦å·äººè®¾æ¥æº
- **å¿
é¡»è°ç¨ HAP MCP**ï¼å¿
é¡»éè¿ MCP è°ç¨ `get_record_list()` ä» HAP "è´¦å·äººè®¾" 表读å
- **è¯»åæµç¨**ï¼
1. 确认å½åè¿æ¥ç HAP MCP åºç¨ï¼éè¿ `get_app_info()`ï¼
2. 卿è·å"è´¦å·äººè®¾"表ç IDï¼éè¿å«å `account_persona` æåç§° `è´¦å·äººè®¾` å¹é
ï¼
3. æ ¹æ® `platform_type` æ¥è¯¢å¯¹åºå¹³å°çè´¦å·äººè®¾ï¼å¦ï¼å°çº¢ä¹¦ï¼
4. **è¯»åææå¿
éåæ®µ**ï¼
- è´¦å·å®ä½ï¼positioningï¼
- ç®æ åä¼ï¼target_audienceï¼
- å
容æ¹åï¼content_directionï¼
- å
容飿 ¼ï¼content_styleï¼**ãå¿
é¡»ä¸¥æ ¼éµå¾ªã**
- å
容ååï¼content_principlesï¼**ãå¿
é¡»ä¸¥æ ¼éµå®ã**
- å¾ççææç¤ºè¯ï¼image_generation_promptï¼
- **éªè¯è¦æ±**ï¼å¦ææªæ¾å°è´¦å·äººè®¾é
ç½®ï¼å¿
é¡»æåºå¼å¸¸ï¼ä¸å
许继ç»çæå
容
â
Step 4: æ ¹æ®æç´¢ç»æåè´¦å·äººè®¾æ°åå
容
- **ä¸¥æ ¼éµå¾ªè´¦å·äººè®¾**ï¼å¿
é¡»ä¸¥æ ¼æç
§ä» HAP 读åç `content_style` å `content_principles` çæå
容
- **ç¦æ¢ä½¿ç¨æ¬å°äººè®¾**ï¼ä¸å
许åèæä½¿ç¨æ¬å° `AGENTS.md` æä»¶ä¸çå
容
- **ç»åæç´¢èµæ**ï¼å°æç´¢å°çèµæä¸ä» HAP 读åçè´¦å·äººè®¾ç»åï¼çæç¬¦åè´¦å·å®ä½çå
容
- **ç¡®ä¿ç¬¦å人设**ï¼ç¡®ä¿å
容符åç®æ åä¼ãå
容æ¹ååè´¦å·å®ä½
â
Step 5: çæå°é¢æ é¢ï¼5-10个å¤éï¼
- æ ¹æ®è´¦å·äººè®¾çå
容飿 ¼çææ é¢
- 符åè´¦å·å®ä½åç®æ åä¼
â
Step 6: éæ©è¯é¢æ ç¾ï¼ä» HAP è¯é¢åºï¼
- æ ¹æ®å
容主é¢åè´¦å·äººè®¾çå
容æ¹åéæ©
â
Step 7: çæé
å¾å»ºè®®
- ç»åè´¦å·äººè®¾çå¾ççææç¤ºè¯é£æ ¼
- æ ¹æ®å
容主é¢çæé
å¾å»ºè®®
â
Step 8: ä¿åå°æ¬å°æä»¶ï¼é¢è§ï¼æç¬è®°ç®å½ç»æç»ç»ï¼
â
Step 9: ä¸ç¨æ·ç¡®è®¤å
å®¹ãæ é¢ãå¾ç
â
Step 10: ç¨æ·ç¡®è®¤åï¼ä» HAP "è´¦å·äººè®¾" 表读åå¾ççææç¤ºè¯ï¼å¾ç飿 ¼ï¼
â
Step 11: ä» HAP "APIæå¡é
ç½®" è¡¨å¨æè¯»åå¾ççæåè½é
ç½®
â
Step 12: ç»åå¾ç飿 ¼æç¤ºè¯åé
å¾å»ºè®®ï¼çæå®æ´æç¤ºè¯
â
Step 13: æåå¯é¥ï¼çæå¾çï¼å¯éï¼ä½¿ç¨é
ç½®ç API æå¡ï¼
â
Step 14: ä¸ç¨æ·ç¡®è®¤æ¯å¦ç´æ¥åå¸è³å°çº¢ä¹¦
â
Step 15: ä¸ç¨æ·ç¡®è®¤æ¯å¦åæ¥å° HAPï¼ç¡®è®¤åæä¸ä¼
- **å°çº¢ä¹¦ç¬è®°**ï¼åªä¸ä¼ å¾ç URLï¼å°é¢å¾åå
¶ä»é
å¾ï¼ï¼ä¸ä¸ä¼ Markdown ææ¡£
- **å
¶ä»å¹³å°**ï¼æ ¹æ®å¹³å°éæ±ä¸ä¼ å¾çåææ¡£
- **å
³èéé¢ï¼å¦æéç¨ï¼**ï¼
- 妿å
容æ¯åºäºéé¢åºä¸çéé¢åä½çï¼å¨å建å
å®¹è®°å½æ¶å
³è对åºçéé¢ï¼`related_topic` åæ®µï¼
- 妿å
容䏿¯åºäºéé¢åä½çï¼ä¸å
³èéé¢
â
Step 16: åå¸å°ç®æ å¹³å°ï¼ä½¿ç¨ Playwright MCPï¼å¦ç¨æ·ç¡®è®¤ï¼
æ¯æ¥çç¹å 容æ¨è工使µ
ç¨æ·è¯·æ±çç¹å
容æ¨è
â
Step 1: ä» HAP "çç¹å¹³å°å
³æ³¨è¡¨" 读åç¨æ·å
³æ³¨çå¹³å°ï¼is_followed = 1ï¼
- æä¼å
级ï¼priorityï¼æåº
- è·åå¹³å°ä»£ç ï¼platform_codeï¼
â
Step 2: ä» HAP "APIæå¡é
ç½®" 表读åçç¹æ°é» API é
ç½®
- åè½åç§°ï¼çç¹æ°é»API
- æå¡ç±»åï¼çç¹æ°é»
- Endpoint URL: https://orz.ai/api/v1/dailynews
â
Step 3: è°ç¨çç¹æ°é» API è·ååå¹³å°çç¹
- 对æ¯ä¸ªå
³æ³¨çå¹³å°è°ç¨ï¼GET https://orz.ai/api/v1/dailynews/?platform={platform_code}
- è·åçç¹æ é¢ãURLãè¯åãæè¿°çä¿¡æ¯
- åå¹¶ææå¹³å°ççç¹æ°æ®
â
Step 4: ä» HAP "è´¦å·äººè®¾" 表读åè´¦å·äººè®¾é
ç½®
- è´¦å·å®ä½ï¼positioningï¼
- ç®æ åä¼ï¼target_audienceï¼
- å
容æ¹åï¼content_directionï¼
- å
容飿 ¼ï¼content_styleï¼
- å
容ååï¼content_principlesï¼
â
Step 5: åºäºçç¹åè´¦å·äººè®¾åæéé¢
- çéä¸è´¦å·å®ä½åå
容æ¹åç¸å
³ççç¹
- åææ¯ä¸ªçç¹çéé¢ä»·å¼ï¼ç度ãç¸å
³æ§ãå¯å使§ï¼
- çæ 5-10 个éé¢å»ºè®®ï¼æ¯ä¸ªéé¢å
å«ï¼
- é颿 é¢
- æ¥æºå¹³å°
- éé¢è§åº¦ï¼å¦ä½ç»åè´¦å·äººè®¾ï¼
- 颿å
容æ¹å
- æ¨èçç±
- ç¸å
³åº¦è¯åï¼1-10åï¼
- **æç¸å
³åº¦è¯åæåºï¼æ æ³¨ææ¨èçéé¢**
â
Step 6: 以 Markdown è¡¨æ ¼å½¢å¼å±ç¤ºéé¢å»ºè®®ï¼ä¾ç¨æ·éæ©
- **å¿
é¡»ä½¿ç¨ Markdown è¡¨æ ¼æ ¼å¼å±ç¤º**ï¼æ´å ç´è§
- **è¡¨æ ¼ç»æ**ï¼
- ææ¨èéé¢è¡¨æ ¼ï¼AI ç¸å
³æè¯å 10/10 çéé¢ï¼
- å
¶ä»æ¨èéé¢è¡¨æ ¼ï¼è¯å 6-9/10 çéé¢ï¼
- **è¡¨æ ¼å**ï¼åºå·ãé颿 é¢ãæ¥æºå¹³å°ãéé¢è§åº¦ãæ¨èçç±ãç¸å
³åº¦è¯å
- **æç¡®æ æ³¨ææ¨èçéé¢**ï¼å¦ï¼â ææ¨èéé¢ï¼
- å±ç¤ºææéé¢å»ºè®®
- ç¨æ·éæ©ä¸ä¸ªæå¤ä¸ªéé¢
â
Step 6.5: 询é®ç¨æ·æ¯å¦å°éé¢å å
¥éé¢åº
- **询é®ç¨æ·**ï¼æ¯å¦å°æ¨èçéé¢å å
¥ HAP "éé¢åº" 表
- **è¯¢é®æ¹å¼**ï¼å¨å±ç¤ºéé¢å»ºè®®åï¼è¯¢é®"æ¯å¦å°è¿äºéé¢å å
¥éé¢åºï¼"
- å¦æç¨æ·ç¡®è®¤ï¼å°ç¨æ·éæ©çéé¢ä¿åå° HAP "éé¢åº" 表ï¼
- `topic_title`: é颿 é¢
- `source_platform`: æ¥æºå¹³å°ï¼å
³èçç¹å¹³å°å
³æ³¨è¡¨ï¼ä½¿ç¨å¹³å°è®°å½ç rowidï¼
- `topic_angle`: éé¢è§åº¦
- `recommendation_reason`: æ¨èçç±
- `relevance_score`: ç¸å
³åº¦è¯å
- `source_url`: åæé¾æ¥
- `content_preview`: å
容é¢è§
- `topic_status`: éé¢ç¶æï¼é»è®¤ï¼å¾
åä½ï¼
- å¦æç¨æ·ä¸å å
¥ï¼è·³è¿æ¤æ¥éª¤
- **æ¹éä¿å**ï¼å¦æç¨æ·éæ©äºå¤ä¸ªéé¢ï¼ä½¿ç¨ `batch_create_records` æ¹éä¿å
â
Step 7: ç¨æ·éæ©éé¢åï¼æ·±åº¦æç´¢ç¸å
³èµæ
- ä» HAP "APIæå¡é
ç½®" 表读åæç´¢ API é
ç½®ï¼Tavilyï¼
- åºäºé颿 é¢åè§åº¦ï¼è°ç¨æç´¢ API è·åæ·±åº¦èµæ
- ç»åçç¹æ°é»ä¸çåå§ä¿¡æ¯
â
Step 8: åºäºçç¹ä¿¡æ¯åæç´¢èµæçæå
容
- ç»åçç¹ä¿¡æ¯ï¼åå§æ é¢ãæè¿°ãURLï¼
- ç»åæç´¢å°çæ·±åº¦èµæ
- ä¸¥æ ¼éµå¾ªè´¦å·äººè®¾ä¸çå
容飿 ¼åå
容åå
- çæç¬¦åè´¦å·å®ä½çå
容
â
Step 9: åç»æµç¨ä¸æ åå
å®¹çææµç¨ç¸å
- çæå°é¢æ é¢ï¼5-10个å¤éï¼
- éæ©è¯é¢æ ç¾ï¼ä» HAP è¯é¢åºï¼
- çæé
å¾å»ºè®®
- ä¿åå°æ¬å°æä»¶ï¼é¢è§ï¼
- ä¸ç¨æ·ç¡®è®¤å
å®¹ãæ é¢ãå¾ç
- çæå¾çï¼ç¨æ·ç¡®è®¤åï¼
- åæ¥å° HAPï¼ç¨æ·ç¡®è®¤åï¼ï¼
- **妿å
容æ¯åºäºéé¢åºä¸çéé¢åä½ç**ï¼
- å¨å建å
å®¹è®°å½æ¶ï¼å
³è对åºçéé¢ï¼`related_topic` åæ®µï¼
- æ´æ°éé¢ç¶æä¸º"åä½ä¸"æ"å·²åä½"
- éé¢åºä¸ç `related_content` åæ®µä¼èªå¨å
³èå·²åä½çå
容ï¼ååå
³èï¼
- **妿å
容䏿¯åºäºéé¢åä½ç**ï¼
- ä¸å
³èéé¢ï¼`related_topic` åæ®µç空
- åå¸å°ç®æ å¹³å°ï¼ç¨æ·ç¡®è®¤åï¼
çç¹æ°é» API 使ç¨è¯´æï¼
API å°åï¼ https://orz.ai/api/v1/dailynews
è¯·æ±æ¹å¼ï¼ GET
åæ°ï¼
platform: å¹³å°ä»£ç ï¼å¿ éï¼ï¼æ¯æçå¹³å°ä»£ç è§”çç¹å¹³å°å ³æ³¨è¡¨”说æ
请æ±ç¤ºä¾ï¼
GET https://orz.ai/api/v1/dailynews/?platform=baidu
GET https://orz.ai/api/v1/dailynews/?platform=weibo
GET https://orz.ai/api/v1/dailynews/?platform=zhihu
ååºæ ¼å¼ï¼
{
"status": "200",
"data": [
{
"title": "çç¹æ é¢",
"url": "çç¹é¾æ¥",
"score": "ç度è¯å",
"desc": "çç¹æè¿°"
}
],
"msg": "success"
}
é 置说æï¼
- å¨ HAP “APIæå¡é
ç½®” è¡¨ä¸æ·»å 䏿¡è®°å½ï¼
- åè½åç§°ï¼çç¹æ°é»APIï¼æ é¢å段ï¼
- æå¡æä¾åï¼orz.ai
- æå¡ç±»åï¼çç¹æ°é»ï¼ä»ä¸æåè¡¨éæ©ï¼
- Endpoint URLï¼https://orz.ai/api/v1/dailynewsï¼**å¿ éå¡«å**ï¼
- ç¨é说æï¼ç¨äºè·ååå¹³å°ççç¹æ°é»æ°æ®ï¼æ¯ææ¯æ¥çç¹å 容æ¨è
- é ç½®ç¶æï¼å¯ç¨
çç¹å¹³å°å ³æ³¨è¡¨é ç½®ï¼
- ç¨æ·éè¦å¨ HAP “çç¹å¹³å°å ³æ³¨è¡¨” 䏿·»å å ³æ³¨çå¹³å°
- 设置
is_followed = 1ï¼å¾éï¼è¡¨ç¤ºå ³æ³¨æ¤å¹³å° - 设置
priorityï¼ä¼å 级ï¼1-10ï¼æ§å¶è·åé¡ºåº platform_codeå¿ é¡»ä¸çç¹æ°é» API æ¯æçå¹³å°ä»£ç ä¸è´
éé¢å»ºè®®å±ç¤ºæ ¼å¼ï¼éè¦ï¼ï¼
- å¿ é¡»ä½¿ç¨ Markdown è¡¨æ ¼æ ¼å¼å±ç¤ºéé¢å»ºè®®ï¼æ´å ç´è§
- è¡¨æ ¼ç»æç¤ºä¾ï¼
## â ææ¨èéé¢ï¼AI ç¸å ³ï¼å¼ºçæ¨èï¼ | åºå· | é颿 é¢ | æ¥æºå¹³å° | éé¢è§åº¦ | æ¨èçç± | |------|---------|---------|---------|---------| | 1 | é颿 é¢1 | å¹³å°1 | AI ææ¯ç§æ® | 符åè´¦å·å®ä½... | ## ð å ¶ä»æ¨èéé¢ | åºå· | é颿 é¢ | æ¥æºå¹³å° | éé¢è§åº¦ | æ¨èçç± | ç¸å ³åº¦ | |------|---------|---------|---------|---------|--------| | 1 | é颿 é¢2 | å¹³å°2 | ææ¯è¶å¿è§£è¯» | 符åå 容æ¹å... | 8/10 | - å¿ é¡»æç¡®æ æ³¨ææ¨èçéé¢ï¼å¦ï¼â ææ¨èéé¢ãç¸å ³åº¦è¯å 10/10ï¼
- æç¸å ³åº¦è¯åæåºï¼ææ¨èçé颿¾å¨æåé¢
- æ¯ä¸ªéé¢å å«ï¼æ é¢ãæ¥æºå¹³å°ãéé¢è§åº¦ãæ¨èçç±ãç¸å ³åº¦è¯å
- ä¸è¦å¨å¯¹è¯ä¸çææä»¶ï¼ç´æ¥å¨å¯¹è¯ä¸ä»¥ Markdown è¡¨æ ¼å½¢å¼å±ç¤º
2. 平尿¯æ
å°çº¢ä¹¦
å å®¹æ ¼å¼ï¼
- æ é¢ï¼10å以å ï¼çé®å¼/æ°åå¼/çç¹å¼/åå·®å¼
- æ£æï¼300-400åï¼æ äºåå¼å¤´ï¼ç»ææ¸ æ°
- è¯é¢æ ç¾ï¼5-8个ï¼ä» HAP è¯é¢åºéå
- å¾çï¼å°é¢å¾ + 2-3å¼ é å¾
å叿µç¨ï¼
- 导èªå°
https://creator.xiaohongshu.com/publish/publish?type=image_text - ä¸ä¼ å¾çï¼ä½¿ç¨
setInputFilesï¼ - å¡«åæ é¢
- 填忣æï¼å å«è¯é¢æ ç¾ï¼
- ç¹å»åå¸
HAP å·¥ä½è¡¨ï¼
- å·¥ä½è¡¨åï¼
å 容管çï¼éç¨è¡¨ï¼æ¯æå¤å¹³å°ï¼ - åæ®µï¼
platform_type: å¹³å°ç±»åï¼SingleSelect: å°çº¢ä¹¦/æé³/å¾®ä¿¡å ¬ä¼å·/è§é¢å·/å ¶ä»ï¼content_title: å 容æ é¢ï¼æ é¢å段ï¼cover_title: å°é¢æ é¢content: æ£æå 容tags: è¯é¢æ ç¾ï¼ç©ºæ ¼åéï¼cover_image: å°é¢å¾ï¼éä»¶ï¼other_images: å ¶ä»é å¾ï¼éä»¶ï¼markdown_doc: Markdown ææ¡£ï¼éä»¶ï¼publish_status: åå¸ç¶æï¼è稿/å¾ åå¸/å·²åå¸/已忶ï¼publish_time: å叿¶é´note_url: å 容龿¥ï¼åå¸åæ´æ°ï¼ä¸åå¹³å°å¯è½å«æ³ä¸åï¼views: æµè§élikes: ç¹èµæ°collections: æ¶èæ°comments: è¯è®ºæ°
æé³
å å®¹æ ¼å¼ï¼
- è§é¢æ¶é¿ï¼15-60ç§
- ææ¡ï¼ä¸è¶ è¿50å
- è¯é¢æ ç¾ï¼3-5个
å叿µç¨ï¼
- 导èªå°
https://creator.douyin.com/ - ä¸ä¼ è§é¢
- å¡«åææ¡
- æ·»å è¯é¢
- ç¹å»åå¸
å¾®ä¿¡å ¬ä¼å·
å å®¹æ ¼å¼ï¼
- æ é¢ï¼ä¸è¶ è¿64å
- æ£æï¼2000-5000åï¼HTMLæ ¼å¼ï¼
- æè¦ï¼æç« æè¦
- å°é¢ï¼å°é¢å¾ç
å叿µç¨ï¼
- 导èªå°
https://mp.weixin.qq.com/ - ç¹å»”åæ°æç« “
- å¡«åæ é¢ãæ£æãæè¦
- 设置å°é¢å¾
- ç¹å»åå¸
è§é¢å·
å å®¹æ ¼å¼ï¼
- è§é¢æ¶é¿ï¼30ç§-30åé
- ææ¡ï¼ä¸è¶ è¿1000å
- è¯é¢ï¼3-5个
å叿µç¨ï¼
- ç»å½è§é¢å·ç®¡çåå°
- ç¹å»”åå¸è§é¢”
- ä¸ä¼ è§é¢
- å¡«åææ¡åè¯é¢
- ç¹å»åå¸
3. æç´¢èµæï¼Tavily APIï¼
ä½¿ç¨ Tavily API æç´¢ç¸å ³èµæ
API æå¡é 置管çï¼
æç´¢ API é ç½®ç»ä¸åå¨å¨ HAP “APIæå¡é ç½®” 表ä¸ï¼æåè½åç±»ï¼æ¯ä¸ªåè½ä¸æ¡è®°å½å 嫿æé ç½®åæ®µã
éè¦ï¼é ç½®æ¯å¨æè·åçï¼ä¸ç¡¬ç¼ç
é ç½®è¯»åæµç¨ï¼
- 确认 MCP è¿æ¥ï¼å
确认å½åè¿æ¥ç HAP åºç¨ MCPï¼éè¿
get_app_info()ï¼ - æ¥è¯¢é ç½®ï¼ä» HAP “APIæå¡é ç½®” 表æ¥è¯¢æç´¢ API é ç½®
- å¹é
é
ç½®ï¼æ ¹æ®
function_nameï¼åè½åç§°ï¼å¦”Tavily æç´¢API”ï¼æservice_typeï¼æå¡ç±»åï¼æç´¢APIï¼å¹é é ç½® - éªè¯ç¶æï¼éªè¯
config_statusï¼é ç½®ç¶æï¼ä¸º”å¯ç¨” - 读åé ç½®ï¼è¯»å该åè½çææé ç½®åæ®µï¼API KeyãBase URL çï¼
Tavily API é 置示ä¾ï¼
# Step 1: 确认å½åè¿æ¥ç MCP åºç¨
current_app = mcp_hap-mcp-_get_app_info()
current_app_name = current_app['data']['name']
# Step 2: 卿è·åå·¥ä½è¡¨å表ï¼éè¿å«åå¹é
æ¾å°"APIæå¡é
置"表
# éè¦ï¼ä¼å
使ç¨å«åï¼aliasï¼å¹é
ï¼ä¸è¦ä½¿ç¨ç¡¬ç¼ç ç ID
worksheets = mcp_hap-mcp-_get_app_worksheets_list()
api_config_worksheet_id = None
for ws in worksheets:
# ä¼å
éè¿å«åå¹é
ï¼å¦æå«åä¸åå¨å使ç¨åç§°å¹é
if ws.get('alias') == 'api_service_config' or ws.get('name') == 'APIæå¡é
ç½®':
api_config_worksheet_id = ws['id']
break
if not api_config_worksheet_id:
raise Exception(f"å¨åºç¨ã{current_app_name}ã䏿ªæ¾å°ãAPIæå¡é
ç½®ã表ï¼å«åï¼api_service_configï¼")
# Step 3: æ¥è¯¢ Tavily æç´¢ API é
ç½®
configs = mcp_hap-mcp-_get_record_list(
worksheet_id=api_config_worksheet_id,
filter={
"type": "group",
"logic": "AND",
"children": [
{
"type": "condition",
"field": "function_name",
"operator": "contains",
"value": ["Tavily"]
},
{
"type": "condition",
"field": "config_status",
"operator": "eq",
"value": ["å¯ç¨"]
}
]
}
)
# Step 4: æåé
置并è°ç¨ API
if configs and len(configs) > 0:
config = configs[0]
api_key = config.get('api_key') # Tavily API Keyï¼å¿
éï¼
endpoint_url = config.get('endpoint_url') # Endpoint URLï¼å¿
éï¼
# éªè¯å¿
éåæ®µ
if not api_key:
raise Exception("Tavily API Key æªé
ç½®ï¼è¯·å¨ HAP 'APIæå¡é
ç½®' 表ä¸å¡«å api_key åæ®µ")
if not endpoint_url:
raise Exception("Endpoint URL æªé
ç½®ï¼è¯·å¨ HAP 'APIæå¡é
ç½®' 表ä¸å¡«å endpoint_url åæ®µ")
# è°ç¨ Tavily API æç´¢
import requests
response = requests.post(
f"{endpoint_url}/search",
headers={"Content-Type": "application/json"},
json={
"api_key": api_key,
"query": topic, # ç¨æ·è¾å
¥ç主é¢
"search_depth": "basic",
"max_results": 5,
"topic": "general",
"include_answer": False,
"include_raw_content": False,
"include_images": False
}
)
search_results = response.json().get('results', [])
# ä½¿ç¨æç´¢ç»æçæå
容
Tavily API é ç½®åæ®µè¯´æï¼å¿ éåæ®µï¼ï¼
function_name: åè½åç§°ï¼Textï¼æ é¢å段ï¼å¦ï¼”Tavily æç´¢API”ï¼provider: æå¡æä¾åï¼Textï¼å¦ï¼”Tavily”ï¼service_type: æå¡ç±»åï¼SingleSelect: æç´¢API/å¾ççæ/å 容çæ/æ°æ®åæ/å ¶ä»ï¼api_key: API Keyï¼Textï¼å¿ éï¼ – Tavily API Keyï¼å¦ï¼tvly-dev-xxx…- 使¶å¡«åï¼æç´¢ APIï¼TavilyãSerper çï¼å¿ 须填忤忮µ
endpoint_url: Endpoint URLï¼Textï¼å¿ éï¼ – API åºç¡å°åï¼å¦ï¼https://api.tavily.com- 使¶å¡«åï¼ææ API æå¡é½éè¦å¡«åæ¤å段ï¼ç¨äºæå® API ç访é®å°å
config_status: é ç½®ç¶æï¼SingleSelect: å¯ç¨/ç¦ç¨ï¼purpose: ç¨é说æï¼Textï¼å¦ï¼”ç¨äºæç´¢ä¸»é¢ç¸å ³èµæ”ï¼
æç´¢æµç¨ï¼
- 读åé ç½®ï¼ä» HAP “APIæå¡é ç½®” 表读å Tavily æç´¢ API é ç½®
- è°ç¨ APIï¼ä½¿ç¨é ç½®ä¸ç API Key è°ç¨ Tavily API æç´¢ä¸»é¢ç¸å ³èµæ
- å¤çç»æï¼æåæç´¢ç»æä¸çå ³é®ä¿¡æ¯ï¼æ é¢ãå 容ãURL çï¼
- 读åè´¦å·äººè®¾ï¼éè¦ï¼å¿ é¡»å¨çæå 容ä¹åï¼ï¼ä» HAP “è´¦å·äººè®¾” 表读åè´¦å·å®ä½ãå 容飿 ¼ãå 容ååç
- çæå 容ï¼å°æç´¢ç»æä¸è´¦å·äººè®¾ç»åï¼ä¸¥æ ¼éµå¾ªè´¦å·äººè®¾ä¸çå 容飿 ¼åå 容ååï¼çæé«è´¨éå 容
æç´¢åæ°è¯´æï¼
query: æç´¢ä¸»é¢ï¼ç¨æ·è¾å ¥ï¼search_depth: æç´¢æ·±åº¦ï¼basic/advancedï¼æ¨è basicï¼max_results: æå¤§ç»ææ°ï¼æ¨è 5ï¼topic: 主é¢ç±»åï¼general/tech/business çï¼include_answer: æ¯å¦å å«çæ¡æè¦ï¼Falseï¼include_raw_content: æ¯å¦å å«åå§å 容ï¼Falseï¼include_images: æ¯å¦å å«å¾çï¼Falseï¼
åè½é 置示ä¾ï¼HAP 表ä¸ï¼ï¼
- åè½åç§°ï¼Tavily æç´¢APIï¼æ é¢å段ï¼
- æå¡æä¾åï¼Tavily
- æå¡ç±»åï¼æç´¢APIï¼ä»ä¸æåè¡¨éæ©ï¼
- ç¨é说æï¼ç¨äºæç´¢ä¸»é¢ç¸å ³èµæï¼è·åææ°ä¿¡æ¯
- API Keyï¼tvly-dev-xxx…ï¼å¿ éå¡«åï¼Tavily API Keyï¼
- Endpoint URLï¼https://api.tavily.comï¼**å¿ éå¡«å**ï¼API åºç¡å°åï¼
- é ç½®ç¶æï¼å¯ç¨ï¼ä»ä¸æåè¡¨éæ©ï¼
çç¹æ°é» API é 置示ä¾ï¼HAP 表ä¸ï¼ï¼
- åè½åç§°ï¼çç¹æ°é»APIï¼æ é¢å段ï¼
- æå¡æä¾åï¼orz.ai
- æå¡ç±»åï¼çç¹æ°é»ï¼ä»ä¸æåè¡¨éæ©ï¼
- ç¨é说æï¼ç¨äºè·ååå¹³å°ççç¹æ°é»æ°æ®ï¼æ¯ææ¯æ¥çç¹å 容æ¨è
- Endpoint URLï¼https://orz.ai/api/v1/dailynewsï¼**å¿ éå¡«å**ï¼API åºç¡å°åï¼
- é ç½®ç¶æï¼å¯ç¨ï¼ä»ä¸æåè¡¨éæ©ï¼
éè¦æç¤ºï¼
api_keyåendpoint_urlæ¯æç´¢ API çå¿ éåæ®µï¼å¿ 须填åapi_keyç¨äº API 认è¯endpoint_urlç¨äºæå® API ç访é®å°åï¼æ ¼å¼å¦ï¼https://api.tavily.com- çç¹æ°é» API ä¸éè¦
api_keyï¼åªéè¦å¡«åendpoint_url
4. å 容çæè§è
è´¦å·äººè®¾é ç½®ï¼éè¦ï¼å¿ é¡»å 读åï¼
å¿ é¡»ä» HAP “è´¦å·äººè®¾” 表读åè´¦å·äººè®¾é ç½®ï¼
éè¦ååï¼çæå 容ä¹åï¼å¿ é¡»å ä» HAP “è´¦å·äººè®¾” 表读åè´¦å·äººè®¾é ç½®ï¼ä¸¥æ ¼éµå¾ªè´¦å·å®ä½åå 容è§åã
强å¶è¦æ±ï¼
- ç¦æ¢ä½¿ç¨æ¬å°æä»¶ï¼ç»å¯¹ä¸å
许使ç¨
AGENTS.mdæå ¶ä»æ¬å°æä»¶ä½ä¸ºè´¦å·äººè®¾æ¥æº - å¿
é¡»ä» HAP 读åï¼å¿
é¡»éè¿ HAP MCP è°ç¨
get_record_list()ä» HAP “è´¦å·äººè®¾” 表读å - å¿ é¡»å¨çæå 容ä¹åæ§è¡ï¼å¦ææªè¯»åå°è´¦å·äººè®¾é ç½®ï¼å¿ é¡»æåºå¼å¸¸ï¼ä¸å 许继ç»çæå 容
- å¿
é¡»ä¸¥æ ¼éµå¾ªï¼çæå
容æ¶å¿
é¡»ä¸¥æ ¼æç
§ä» HAP 读åç
content_styleåcontent_principlesæ§è¡
è¯»åæµç¨ï¼
- 确认å½åè¿æ¥ç MCP åºç¨
- 卿è·å”è´¦å·äººè®¾”表ç IDï¼éè¿å«åå¹é ï¼
- æ ¹æ®
platform_nameæplatform_typeæ¥è¯¢å¯¹åºå¹³å°çè´¦å·äººè®¾ - è¯»åææå¿
éåæ®µï¼
- è´¦å·å®ä½ï¼positioningï¼ï¼äºè§£è´¦å·çæ ¸å¿å®ä½
- ç®æ åä¼ï¼target_audienceï¼ï¼äºè§£å 容é¢åçåä¼ç¾¤ä½
- å 容æ¹åï¼content_directionï¼ï¼äºè§£å 容çä¸»è¦æ¹å
- å 容飿 ¼ï¼content_styleï¼ï¼äºè§£å 容åºè¯¥éç¨ç飿 ¼ï¼å¿ é¡»ä¸¥æ ¼éµå¾ªï¼
- å 容ååï¼content_principlesï¼ï¼äºè§£å 容åä½çåååæ³¨æäºé¡¹ï¼å¿ é¡»ä¸¥æ ¼éµå®ï¼
- å¾ççææç¤ºè¯ï¼image_generation_promptï¼ï¼äºè§£å¾ç飿 ¼è¦æ±
- åºç¨å°å 容çæï¼å¨çæå 容æ¶ï¼ä¸¥æ ¼éµå¾ªè´¦å·äººè®¾ä¸çå 容飿 ¼åå 容åå
è´¦å·äººè®¾è¡¨å段ï¼
platform_name: å¹³å°åç§°ï¼Textï¼æ é¢å段ï¼platform_type: å¹³å°ç±»åï¼SingleSelect: å°çº¢ä¹¦/æé³/å¾®ä¿¡å ¬ä¼å·/è§é¢å·ï¼positioning: è´¦å·å®ä½ï¼Textï¼å¿ éï¼ – è´¦å·çæ ¸å¿å®ä½ï¼ç¨äºæå¯¼å 容æ¹åtarget_audience: ç®æ åä¼ï¼Textï¼å¿ éï¼ – å 容é¢åçåä¼ç¾¤ä½ï¼ç¨äºè°æ´å 容飿 ¼å深度content_direction: å 容æ¹åï¼Textï¼å¿ éï¼ – å 容çä¸»è¦æ¹åï¼ç¨äºç¡®å®å 容主é¢åèå´content_style: å 容飿 ¼ï¼Textï¼å¿ éï¼ – å 容åºè¯¥éç¨ç飿 ¼ï¼å¿ é¡»ä¸¥æ ¼éµå¾ª- 示ä¾ï¼ä¸ä¸ä½ä¸é«å·ï¼ç¨éä¿ææçè¯è¨è§£é夿æ¦å¿µãç®åç´ç½ï¼é¿å ä¸ä¸æ¯è¯å ç ï¼å¿ è¦æ¶ç¨ç±»æ¯åä¾å说æã
content_principles: å 容ååï¼Textï¼å¿ éï¼ – å 容åä½çåååæ³¨æäºé¡¹ï¼å¿ é¡»ä¸¥æ ¼éµå®- 示ä¾ï¼â ç¨ç®åè¯è¨è§£éå¤æææ¯ï¼è®©éææ¯äººåä¹è½çè§£ï¼â é¿å è¿åº¦ä½¿ç¨ä¸ä¸æ¯è¯
image_generation_prompt: å¾ççææç¤ºè¯ï¼Textï¼ – ç¨äºçæå¾çç飿 ¼æç¤ºè¯- ç¨éï¼ç¨äºçæå¾çç飿 ¼æç¤ºè¯ï¼å¯ä»¥è®¾ç½®å¾ççæ´ä½é£æ ¼ãè²å½©ãæå¾ç
- ä½¿ç¨æ¹å¼ï¼çæå¾çæ¶ï¼å°æ¤æç¤ºè¯ä¸å ·ä½å¾çå 容æè¿°ç»å
- 示ä¾ï¼ä¸ææåä¿¡æ¯æµ·æ¥é£æ ¼æç»ï¼çºµåæå¾ï¼å¥¶æ²¹ç³»æµ è²åºï¼å¯ç±æ²»æãè½»æ¾å¹½é»çç§æ®è§è§è¯è¨
使ç¨ç¤ºä¾ï¼å¿ é¡»ä¸¥æ ¼æç §æ¤æµç¨æ§è¡ï¼ï¼
# Step 1: 确认å½åè¿æ¥ç HAP MCP åºç¨
current_app = mcp_hap-mcp-_get_app_info()
current_app_name = current_app['data']['name']
print(f"å½åè¿æ¥ç HAP åºç¨ï¼{current_app_name}")
# Step 2: éè¿å«åå¹é
æ¾å°"è´¦å·äººè®¾"表ï¼ä¸è¦ä½¿ç¨ç¡¬ç¼ç IDï¼
worksheets = mcp_hap-mcp-_get_app_worksheets_list()
persona_worksheet_id = None
for ws in worksheets:
# ä¼å
éè¿å«åå¹é
ï¼å¦æå«åä¸åå¨å使ç¨åç§°å¹é
if ws.get('alias') == 'account_persona' or ws.get('name') == 'è´¦å·äººè®¾':
persona_worksheet_id = ws['id']
break
if not persona_worksheet_id:
raise Exception(f"å¨åºç¨ã{current_app_name}ã䏿ªæ¾å°ãè´¦å·äººè®¾ã表ï¼å«åï¼account_personaï¼ãè¯·ç¡®ä¿ HAP åºç¨ä¸å卿¤è¡¨ã")
# Step 3: æ¥è¯¢å°çº¢ä¹¦è´¦å·äººè®¾ï¼éè¦ï¼å¿
é¡»å¨çæå
容ä¹å读åï¼
personas = mcp_hap-mcp-_get_record_list(
worksheet_id=persona_worksheet_id, # 使ç¨éè¿å«åå¹é
è·åç ID
filter={
"type": "group",
"logic": "AND",
"children": [
{
"type": "condition",
"field": "platform_type",
"operator": "eq",
"value": ["å°çº¢ä¹¦"]
}
]
}
)
# Step 4: éªè¯æ¯å¦è¯»åå°è´¦å·äººè®¾ï¼å¼ºå¶è¦æ±ï¼
if not personas or len(personas) == 0:
raise Exception(f"å¨åºç¨ã{current_app_name}ãçãè´¦å·äººè®¾ãè¡¨ä¸æªæ¾å°å°çº¢ä¹¦è´¦å·äººè®¾é
ç½®ã请å
å¨ HAP 䏿·»å è´¦å·äººè®¾è®°å½ã")
persona = personas[0]
# Step 5: è¯»åææè´¦å·äººè®¾å段ï¼å¿
éï¼
positioning = persona.get('positioning') # è´¦å·å®ä½
target_audience = persona.get('target_audience') # ç®æ åä¼
content_direction = persona.get('content_direction') # å
容æ¹å
content_style = persona.get('content_style') # å
容飿 ¼ï¼å¿
é¡»ä¸¥æ ¼éµå¾ªï¼
content_principles = persona.get('content_principles') # å
容ååï¼å¿
é¡»ä¸¥æ ¼éµå®ï¼
image_prompt_base = persona.get('image_generation_prompt', '') # å¾ç飿 ¼åºç¡æç¤ºè¯
# Step 6: éªè¯å¿
éåæ®µæ¯å¦åå¨
if not content_style:
raise Exception(f"è´¦å·äººè®¾é
ç½®ä¸ç¼ºå°ãå
容飿 ¼ãï¼content_styleï¼åæ®µï¼æ æ³çæå
容ã")
if not content_principles:
raise Exception(f"è´¦å·äººè®¾é
ç½®ä¸ç¼ºå°ãå
容ååãï¼content_principlesï¼åæ®µï¼æ æ³çæå
容ã")
# Step 7: æå°è´¦å·äººè®¾ä¿¡æ¯ï¼ç¨äºç¡®è®¤ï¼
print(f"\nâ
å·²ä» HAP 读åè´¦å·äººè®¾é
ç½®ï¼")
print(f" - è´¦å·å®ä½ï¼{positioning}")
print(f" - ç®æ åä¼ï¼{target_audience}")
print(f" - å
容æ¹åï¼{content_direction}")
print(f" - å
容飿 ¼ï¼{content_style[:100]}...")
print(f" - å
容ååï¼{content_principles[:100]}...")
# Step 8: æ ¹æ®è´¦å·äººè®¾åæç´¢ç»æçæå
容
# **å¿
é¡»ä¸¥æ ¼éµå¾ªä» HAP 读åç content_style å content_principles**
# **ç¦æ¢ä½¿ç¨æ¬å° AGENTS.md æä»¶æå
¶ä»æ¬å°æä»¶**
# çæå
容示ä¾ï¼
# 1. æ ¹æ® content_style ç¡®å®åä½é£æ ¼ï¼å¦ï¼éä¿ææãä¸ä¸ä½ä¸é«å·çï¼
# 2. æ ¹æ® content_principles ç¡®å®å
容ååï¼å¦ï¼ç¨ç®åè¯è¨è§£éå¤æææ¯ãé¿å
ä¸ä¸æ¯è¯å ç çï¼
# 3. æ ¹æ® positioning ç¡®å®å
容å®ä½ï¼å¦ï¼ITå
¬å¸äº§åç»çè§è§ï¼
# 4. æ ¹æ® target_audience è°æ´å
容深度å表达æ¹å¼
# 5. æ ¹æ® content_direction ç¡®å®å
容主é¢åèå´
# 6. ç»åæç´¢ç»æä¸çèµæï¼çæç¬¦åè´¦å·äººè®¾çå
容
# çææ 颿¶ï¼ä¹è¦éµå¾ªä» HAP 读åç content_style å positioning
# çæé
å¾å»ºè®®æ¶ï¼è¦ç»åä» HAP 读åç image_prompt_base
# çæå¾çæ¶ï¼å°ä» HAP 读åç image_prompt_base ä¸å
·ä½å
容ç»å
å 容æ°åè¦æ±ï¼éè¦ï¼å¿ é¡»éµå¾ªè´¦å·äººè®¾ï¼
å å®¹çææµç¨ï¼
- å 读åè´¦å·äººè®¾ï¼ä» HAP “è´¦å·äººè®¾” 表读åè´¦å·å®ä½ãå 容飿 ¼ãå 容ååçï¼å¿ é¡»å¨çæå 容ä¹åï¼
- ç»åæç´¢èµæï¼å°æç´¢å°çèµæä¸è´¦å·äººè®¾ç»å
- ä¸¥æ ¼éµå¾ªè´¦å·äººè®¾ï¼
- å¿
é¡»æç
§
content_styleï¼å 容飿 ¼ï¼æ¥æ°å - å¿
é¡»éµå®
content_principlesï¼å 容ååï¼ - ç¡®ä¿å
容符å
positioningï¼è´¦å·å®ä½ï¼ - ç¡®ä¿å
容éå
target_audienceï¼ç®æ åä¼ï¼ - ç¡®ä¿å
容符å
content_directionï¼å 容æ¹åï¼
- å¿
é¡»æç
§
å°çº¢ä¹¦ç¬è®°ï¼300-400åï¼éç¨è¦æ±ï¼
- å¼åºå¸å¼ï¼æ äºåå¼å¤´ï¼å¸¦æ æè²å½©ï¼å ´å¥/好å¥/æèï¼ï¼ç¨äº§åç»ççè§è§
- ææ¯ç§æ®ï¼ç¨ç®åè¯è¨è§£é夿æ¦å¿µï¼é¿å ä¸ä¸æ¯è¯å ç
- 产åè§è§ï¼åæææ¯å¯¹è¡ä¸åç¨æ·çå½±å
- æ»ç»ååï¼è¡å¨å»ºè®®/æèå¯å
å å®¹çææµç¨ï¼åè wechat-article-writer skillï¼ï¼
- Step 1: æç´¢èµæï¼Tavily APIï¼
- Step 2: æ°åæç« ï¼å¿ é¡»å 读åè´¦å·äººè®¾ï¼
- Step 3: çææ é¢ï¼5-10个å¤éï¼åèå°çº¢ä¹¦ç款æ é¢é£æ ¼ï¼
- Step 4: æçä¼å + é å¾å»ºè®®
å¾®ä¿¡å ¬ä¼å·æç« ï¼2000-5000åï¼éç¨è¦æ±ï¼
- æ é¢ï¼å¸å¼ç¼çï¼ä¸è¶ è¿64å
- æè¦ï¼æç« æ ¸å¿è§ç¹
- æ£æï¼HTMLæ ¼å¼ï¼ç»ææ¸
æ°
- å¼è¨
- 主ä½å 容ï¼åç« èï¼
- æ»ç»
- é å¾ï¼å°é¢å¾ + æ£æé å¾
注æï¼ä»¥ä¸æ¯éç¨è¦æ±ï¼å®é
æ°åæ¶å¿
é¡»ä¸¥æ ¼éµå¾ªè´¦å·äººè®¾ä¸ç content_style å content_principlesã
å°é¢æ é¢çæï¼å¿ é¡»éµå¾ªè´¦å·äººè®¾ï¼åèå°çº¢ä¹¦ç款æ é¢é£æ ¼ï¼
çæ 5-10 个å¤éæ é¢ï¼åèå°çº¢ä¹¦ç款æ é¢ç¹ç¹ï¼
æ é¢ç±»åï¼
- çé®å¼ï¼å¼å好å¥ï¼”agentic æ¯ä»ä¹ï¼AI ç»äºè½èªå·±å¹²æ´»äº”ï¼
- æ°åå¼ï¼å ·ä½æ°åæ´æè¯´æåï¼”3åéææ agentic AIï¼”ï¼
- çç¹å¼ï¼ç´å»è¯»è çå¤ï¼”è¿å¨æå¨æä½ï¼agentic AI è®©ä½ ä¸æ¬¡æä»¤å ¨æå®”ï¼
- åå·®å¼ï¼å¶é å²çªï¼”AI ä¸å’çæä»¤’ï¼agentic 让 AI 主å¨å·¥ä½”ï¼
- æç§å¼ï¼å¶é æ¬å¿µï¼”æç§ agenticï¼AI ä»’é®ç溒尒æºè½å©æ’çè¿å”ï¼
- ç»æå¼ï¼å å±ç¤ºä»·å¼ï¼”AI ä¹è½èªä¸»å³çäºï¼agentic å°åºæ¯ä»ä¹ï¼”ï¼
- 对æ¯å¼ï¼æ¸ æ°å±ç¤ºå·®å¼ï¼”ä¼ ç» AI vs agentic AIï¼ä»è¢«å¨ååºå°ä¸»å¨æ§è¡”ï¼
- è¶å¿å¼ï¼å¼ºè°æ¶ä»£æï¼”agentic æ¯ä»ä¹ï¼AI ç’æ°ååå·¥’æ¶ä»£æ¥äº”ï¼
- 身份æ ç¾å¼ï¼ç¬¦åè´¦å·äººè®¾ï¼”产åç»çè§è§ï¼agentic AI å¦ä½æ¹åæä»¬ç工使¹å¼”ï¼
éè¦ï¼
- æ é¢é£æ ¼å¿
须符åè´¦å·äººè®¾ä¸ç
content_styleï¼å 容飿 ¼ï¼ - æ é¢è¦ç¬¦åè´¦å·äººè®¾ä¸ç
positioningï¼è´¦å·å®ä½ï¼åtarget_audienceï¼ç®æ åä¼ï¼ - åèå°çº¢ä¹¦ç款æ é¢çç¹ç¹ï¼å¸å¼ç¼çãå¼å好å¥ã强è°ä»·å¼ãéä½å¦ä¹ 鍿§
- æ¨èé¦éæ é¢ï¼å¹¶è¯´æçç±
è¯é¢æ ç¾éæ©ï¼å¿ 须符åè´¦å·äººè®¾ï¼
ä» HAP è¯é¢åºè¡¨ä¸éåï¼
éæ©çç¥ï¼
- ä¼å 使ç¨é«ç度æ ç¾ï¼æåæå ï¼
- æ ¹æ®ä¸»é¢å¹é è¯é¢ç±»å
- æé ç²¾åæ ç¾å¸å¼ç®æ ç¨æ·
- ç¡®ä¿æ ç¾ç¬¦åè´¦å·äººè®¾ä¸ç
content_directionï¼å 容æ¹åï¼åtarget_audienceï¼ç®æ åä¼ï¼
æ¥è¯¢æ¹æ³ï¼
# Step 1: éè¿å«åå¹é
æ¾å°"è¯é¢åº"表ï¼ä¸è¦ä½¿ç¨ç¡¬ç¼ç IDï¼
worksheets = mcp_hap-mcp-_get_app_worksheets_list()
topics_worksheet_id = None
for ws in worksheets:
# ä¼å
éè¿å«åå¹é
ï¼å¦æå«åä¸åå¨å使ç¨åç§°å¹é
if ws.get('alias') == 'topic_library' or ws.get('name') == 'è¯é¢åº':
topics_worksheet_id = ws['id']
break
if not topics_worksheet_id:
raise Exception(f"å¨åºç¨ã{current_app_name}ã䏿ªæ¾å°ãè¯é¢åºã表ï¼å«åï¼topic_libraryï¼")
# Step 2: æ¥è¯¢é«ç度è¯é¢
mcp_hap-mcp-_get_record_list(
worksheet_id=topics_worksheet_id, # 使ç¨éè¿å«åå¹é
è·åç ID
filter={
"type": "group",
"logic": "AND",
"children": [
{
"type": "condition",
"field": "heat_level",
"operator": "eq",
"value": ["é«ç度"]
}
]
}
)
# æ¥è¯¢ç¹å®å¹³å°çå
容ï¼éè¿å«åå¹é
è·åå·¥ä½è¡¨IDï¼
# Step 1: éè¿å«åå¹é
æ¾å°"å
容管ç"表ï¼ä¸è¦ä½¿ç¨ç¡¬ç¼ç IDï¼
worksheets = mcp_hap-mcp-_get_app_worksheets_list()
content_worksheet_id = None
for ws in worksheets:
# ä¼å
éè¿å«åå¹é
ï¼å¦æå«åä¸åå¨å使ç¨åç§°å¹é
if ws.get('alias') == 'content_management' or ws.get('name') == 'å
容管ç':
content_worksheet_id = ws['id']
break
if not content_worksheet_id:
raise Exception(f"å¨åºç¨ã{current_app_name}ã䏿ªæ¾å°ãå
容管çã表ï¼å«åï¼content_managementï¼")
# Step 2: æ¥è¯¢å°çº¢ä¹¦å
容
mcp_hap-mcp-_get_record_list(
worksheet_id=content_worksheet_id,
filter={
"type": "group",
"logic": "AND",
"children": [
{
"type": "condition",
"field": "platform_type",
"operator": "eq",
"value": ["å°çº¢ä¹¦"]
}
]
}
)
4. å¾ççæ
æ¯æå¤ä¸ªå¾ççæ API é ç½®
API æå¡é 置管çï¼
ææ API æå¡é ç½®ç»ä¸åå¨å¨ HAP “APIæå¡é ç½®” 表ä¸ï¼æåè½åç±»ï¼æ¯ä¸ªåè½ä¸æ¡è®°å½å 嫿æé ç½®åæ®µã
éè¦ï¼é ç½®æ¯å¨æè·åçï¼ä¸ç¡¬ç¼ç
å¤é ç½®éæ©æºå¶ï¼
- æ¯æå¤ä¸ªå¾ççæ API é ç½®ï¼å¯ä»¥å¨ HAP “APIæå¡é ç½®” 表ä¸é ç½®å¤ä¸ªå¾ççæ APIï¼å¦ TUZI APIãç«å±±å¼æå³æ¢¦ API çï¼
- “æ¯å¦é»è®¤”åæ®µæ§å¶ï¼éè¿
is_defaultï¼æ¯å¦é»è®¤ï¼å段æ§å¶ä½¿ç¨åªä¸ªé ç½®- 妿å卿 记为”é»è®¤”çé ç½®ï¼ä¼å 使ç¨è¯¥é ç½®
- å¦ææ²¡æé»è®¤é ç½®ï¼ä½¿ç¨ç¬¬ä¸ä¸ªå¯ç¨çé ç½®
- é
ç½®ç¶ææ§å¶ï¼åªæ
config_statusï¼é ç½®ç¶æï¼ä¸º”å¯ç¨”çé ç½®æä¼è¢«ä½¿ç¨
é ç½®è¯»åæµç¨ï¼
- 确认 MCP è¿æ¥ï¼å
确认å½åè¿æ¥ç HAP åºç¨ MCPï¼éè¿
get_app_info()ï¼ - æ¥è¯¢é
ç½®ï¼ä» HAP “APIæå¡é
ç½®” 表æ¥è¯¢ææå¾ççæç±»åçé
ç½®ï¼
service_type = å¾ççæä¸config_status = å¯ç¨ï¼ - éæ©é
ç½®ï¼
- ä¼å
éæ©
is_default = 1ï¼æ¯é»è®¤ï¼çé ç½® - å¦ææ²¡æé»è®¤é ç½®ï¼ä½¿ç¨ç¬¬ä¸ä¸ªå¯ç¨çé ç½®
- ä¼å
éæ©
- 读åé ç½®ï¼è¯»å该é ç½®çææé ç½®åæ®µï¼API KeyãEndpoint URLãAccess Key ID çï¼
é ç½®éæ©ç¤ºä¾ï¼
# Step 1: 确认å½åè¿æ¥ç MCP åºç¨
current_app = mcp_hap-mcp-_get_app_info()
current_app_name = current_app['data']['name']
# Step 2: éè¿å«åå¹é
æ¾å°"APIæå¡é
置"表
worksheets = mcp_hap-mcp-_get_app_worksheets_list()
api_config_worksheet_id = None
for ws in worksheets:
if ws.get('alias') == 'api_service_config' or ws.get('name') == 'APIæå¡é
ç½®' or ws.get('name') == 'å¯é¥ç®¡ç':
api_config_worksheet_id = ws['id']
break
if not api_config_worksheet_id:
raise Exception(f"å¨åºç¨ã{current_app_name}ã䏿ªæ¾å°ãAPIæå¡é
ç½®ã表ï¼å«åï¼api_service_configï¼")
# Step 3: æ¥è¯¢ææå¾ççæ API é
ç½®ï¼å¯ç¨ç¶æï¼
configs = mcp_hap-mcp-_get_record_list(
worksheet_id=api_config_worksheet_id,
filter={
"type": "group",
"logic": "AND",
"children": [
{
"type": "condition",
"field": "service_type",
"operator": "eq",
"value": ["å¾ççæ"]
},
{
"type": "condition",
"field": "config_status",
"operator": "eq",
"value": ["å¯ç¨"]
}
]
}
)
# Step 4: éæ©é
ç½®ï¼ä¼å
使ç¨é»è®¤é
ç½®ï¼
if configs and len(configs) > 0:
# ä¼å
éæ©æ 记为"é»è®¤"çé
ç½®
default_config = None
for config in configs:
if config.get('is_default') == 1:
default_config = config
break
# å¦ææ²¡æé»è®¤é
ç½®ï¼ä½¿ç¨ç¬¬ä¸ä¸ªå¯ç¨çé
ç½®
if not default_config:
default_config = configs[0]
config = default_config
# æ ¹æ®æå¡æä¾å读å对åºçé
ç½®åæ®µ
provider = config.get('provider', '').upper()
if 'TUZI' in provider:
# TUZI API (OpenAI å
¼å®¹æ¥å£)
api_key = config.get('api_key') # å¿
é
endpoint_url = config.get('endpoint_url', 'https://api.tu-zi.com/v1') # å¿
é
# ä½¿ç¨ OpenAI SDK è°ç¨
elif 'ç«å±±å¼æ' in provider or '峿¢¦' in config.get('function_name', ''):
# ç«å±±å¼æå³æ¢¦ API
access_key_id = config.get('access_key_id') # å¿
é
secret_access_key = config.get('secret_access_key') # å¿
é
region = config.get('region', 'cn-beijing')
service = config.get('service', 'cv')
api_version = config.get('api_version', 'jimeng_t2i_v31')
sdk_name = config.get('sdk_name', 'volcenginesdkcv20240606')
# 使ç¨ç«å±±å¼æ SDK è°ç¨
çææµç¨ï¼
- 确认 MCPï¼ç¡®è®¤å½åè¿æ¥ç HAP åºç¨ MCPï¼éè¿ç¨æ·æä¾ææå®ï¼
- 读åè´¦å·äººè®¾ï¼ä» HAP “è´¦å·äººè®¾” 表读å对åºå¹³å°çè´¦å·äººè®¾é ç½®
- è·åå¾ç飿 ¼ï¼ä»è´¦å·äººè®¾ä¸æå
image_generation_promptï¼å¾ççææç¤ºè¯ï¼ - å¨æè¯»åé ç½®ï¼ä» HAP “APIæå¡é ç½®” 表æ¥è¯¢ææå¾ççæç±»åçé ç½®
- éæ©é
ç½®ï¼
- ä¼å
éæ©
is_default = 1ï¼æ¯é»è®¤ï¼çé ç½® - å¦ææ²¡æé»è®¤é ç½®ï¼ä½¿ç¨ç¬¬ä¸ä¸ªå¯ç¨çé ç½®
- ä¼å
éæ©
- æåå¯é¥ï¼æ ¹æ®æå¡æä¾åæå对åºçå¯é¥å段
- TUZI APIï¼
api_keyãendpoint_url - ç«å±±å¼æå³æ¢¦ï¼
access_key_idãsecret_access_keyãregionãserviceç
- TUZI APIï¼
- çææç¤ºè¯ï¼å°è´¦å·äººè®¾ä¸çå¾ç飿 ¼æç¤ºè¯ä¸å
·ä½é
å¾å»ºè®®ç»åï¼çæå®æ´çå¾ççææç¤ºè¯
- æ ¼å¼ï¼
{image_generation_prompt}ï¼{å ·ä½é å¾å 容æè¿°} - 示ä¾ï¼
æç»é£æ ¼æç»ï¼æ¸ æ°æ´»æ³¼çå¡éæç»é£æ ¼ï¼{å ·ä½å¾çå 容}
- æ ¼å¼ï¼
- è°ç¨ API çæå¾çï¼
- TUZI APIï¼ä½¿ç¨ OpenAI SDKï¼æ¯æå¤ä¸ªæ¨¡åï¼gemini-3-pro-image-previewãdall-e-3ãdall-e-2ï¼
- å¿
须使ç¨
response_format="url"åæ°ï¼ç¡®ä¿ API è¿å URL æ ¼å¼èé base64 - 请æ±åæ°ï¼
modelãpromptãn=1ãresponse_format="url"ãsize="{width}x{height}"
- å¿
须使ç¨
- ç«å±±å¼æå³æ¢¦ï¼ä½¿ç¨ç«å±±å¼æ SDK
- å¹¶è¡çæï¼ä½¿ç¨çº¿ç¨æ± å¹¶è¡çæå¤å¼ å¾çï¼æå¤3个并åï¼ï¼å¤§å¹ æåçæé度
- èªå¨è·³è¿å·²åå¨ï¼æ£æ¥æ¬å°æä»¶æ¯å¦åå¨ï¼å¦æå·²åå¨åè·³è¿çæï¼èçæ¶é´åææ¬
- TUZI APIï¼ä½¿ç¨ OpenAI SDKï¼æ¯æå¤ä¸ªæ¨¡åï¼gemini-3-pro-image-previewãdall-e-3ãdall-e-2ï¼
- å¤ç API ååºï¼
- ä¼å å¤ç URLï¼å¦æ API è¿å HTTP/HTTPS URLï¼ç´æ¥ä½¿ç¨
- å¤ç base64 æ°æ®ï¼å¦æ API è¿å base64 æ°æ®ï¼data URI æ base64 å符串ï¼ï¼èªå¨è§£ç å¹¶ä¿å为å¾çæä»¶
- é误å¤çï¼å¦æ API è¿åæ ææ°æ®ï¼è®°å½é误并继ç»çæå ¶ä»å¾ç
- ä¿åå¾çï¼
- ä¿åå¾ç URLï¼ä¿åå¾ç URL å°
é å¾/image_urls.jsonï¼åªä¿å URLï¼ä¸ä¿å base64ï¼ - èªå¨ä¸è½½å¾çï¼ä» URL èªå¨ä¸è½½å¾çæä»¶å°
é å¾/{å¾çåç§°}.pngï¼æ¹ä¾¿æ¬å°æ¥çåå±ç¤º - å¾çæä»¶å½åï¼å°é¢å¾.pngã对æ¯å¾.pngãæµç¨å¾.pngãåºç¨åºæ¯å¾.png ç
- ä¸è½½å¤±è´¥å¤çï¼å¦æä¸è½½å¤±è´¥ï¼ä¿ç URL å¹¶è®°å½è¦åï¼ä¸å½±ååç»æµç¨
- ä¿åå¾ç URLï¼ä¿åå¾ç URL å°
- ä¸ä¼ å° HAPï¼
- å°çº¢ä¹¦ç¬è®°ï¼åªä¸ä¼ å¾ç URLï¼å°é¢å¾åå ¶ä»é å¾ï¼å° HAP éä»¶åæ®µï¼ä¸ä¸ä¼ Markdown ææ¡£
- å ¶ä»å¹³å°ï¼æ ¹æ®å¹³å°éæ±ä¸ä¼ å¾çåææ¡£
- ä¸ä¼ æ¶ä½¿ç¨ URLï¼ä¸ä¼ å° HAP æ¶ä½¿ç¨å¾ç URLï¼ä¸éè¦ base64 æ°æ®
å¾çæ ¼å¼è¦æ±ï¼å°çº¢ä¹¦ï¼ï¼
- 尺寸ï¼768×1024ï¼å°çº¢ä¹¦ 3:4 æ ¼å¼ï¼ç«å±ï¼
- 飿 ¼ï¼æç»é£æ ¼æç»ï¼æ¸ æ°æ´»æ³¼çå¡éæç»é£æ ¼ï¼
- å å®¹è¦æ±ï¼å¾çå å®¹å¿ é¡»ä¸æ£æå 容强ç¸å ³ï¼è¡¨è¾¾æ ¸å¿å«ä¹ï¼æµç¨ãä»ç»ã对æ¯çï¼
å¾çç±»åï¼å¿ é¡»éµå¾ªè´¦å·äººè®¾ï¼ï¼
- å°é¢å¾ï¼ç»åè´¦å·äººè®¾çå¾ç飿 ¼æç¤ºè¯ + å
·ä½å
容æè¿° + å°é¢æ 颿å
- å°é¢å¾å¿ é¡»å å«å°é¢æ 颿åï¼ä½¿ç¨ç²ä½è£ 饰æ§åä½ï¼å¸¦ç¬ç»åæ¸åææ
- æ 颿åè¦éç®ï¼å æ®å°é¢éè¦ä½ç½®ï¼ç¬¦åå°çº¢ä¹¦å°é¢å¾è®¾è®¡è§è
- 对æ¯å¾ï¼ç»åè´¦å·äººè®¾çå¾ç飿 ¼æç¤ºè¯ + 对æ¯å 容æè¿°ï¼ä¸å 容强ç¸å ³ï¼
- æµç¨å¾ï¼ç»åè´¦å·äººè®¾çå¾ç飿 ¼æç¤ºè¯ + æµç¨å 容æè¿°ï¼ä¸å 容强ç¸å ³ï¼
- åºç¨åºæ¯å¾ï¼ç»åè´¦å·äººè®¾çå¾ç飿 ¼æç¤ºè¯ + åºæ¯å 容æè¿°ï¼ä¸å 容强ç¸å ³ï¼
æç»é£æ ¼æç»ç¹ç¹ï¼åèï¼ï¼
- æ´ä½é£æ ¼ï¼æ¸ æ°æ´»æ³¼çå¡éæç»é£æ ¼ï¼å 满æ£è½éåæ´»å
- 线æ¡ï¼ç²é»æè¾¹ï¼æç»è´¨æï¼æµç èªç¶
- è²å½©ï¼æäº®é¥±åçè²å½© – æ©è²ãé»è²ãèè²ã绿è²ã红è²ç温æè²è°ï¼åè°é è²
- 渲æï¼å¹³é¢é£æ ¼ä¸ºä¸»ï¼æé ç®åçæ¸ååé«å ï¼å¢å ç«ä½æ
- åä½ï¼ç²ä½è£ 饰æ§åä½ï¼å¸¦ç¬ç»åæ¸åææ
- æ°å´ï¼ç§¯æåä¸ãå æ»¡æ´»åãç§ææã温馨å¯ç±
- 设计å²å¦ï¼ç®æ´æå¿«ãè§è§å²å»å强ãéåæ°ååªä½ä¼ æ
éè¦ï¼
- é
å¾å»ºè®®å¿
é¡»ç»åè´¦å·äººè®¾ä¸ç
image_generation_promptï¼å¾ççææç¤ºè¯ï¼æ¥çæ - å¾çå å®¹å¿ é¡»ä¸æ£æå 容强ç¸å ³ï¼è¡¨è¾¾æ ¸å¿å«ä¹ï¼æµç¨ãä»ç»ã对æ¯çï¼
- å°é¢å¾å¿ é¡»å å«å°é¢æ 颿å
- å¾çæ ¼å¼å¿ 须符åå¹³å°è¦æ±ï¼å°çº¢ä¹¦ï¼768×1024ï¼3:4æ ¼å¼ï¼
å¾çæç¤ºè¯çæè§åï¼
- ä» HAP “è´¦å·äººè®¾” 表读å
image_generation_promptï¼å¾ç飿 ¼åºç¡æç¤ºè¯ï¼ - å°é£æ ¼æç¤ºè¯ä¸å ·ä½å¾çå 容æè¿°ç»å
- æ ¼å¼ï¼
{image_generation_prompt}ï¼{å ·ä½å¾çå 容æè¿°ï¼ä¸å 容强ç¸å ³} - å°é¢å¾ç¹æ®è¦æ±ï¼å°é¢å¾å¿
é¡»å
å«å°é¢æ 颿å
- æ ¼å¼ï¼
{image_generation_prompt}ï¼å°é¢å¾å 容: {å ·ä½å 容æè¿°}ï¼æ 颿å: "{å°é¢æ é¢}"ï¼ä½¿ç¨ç²ä½è£ 饰æ§åä½ï¼å¸¦ç¬ç»åæ¸åææ
- æ ¼å¼ï¼
- 示ä¾ï¼å°é¢å¾ï¼ï¼
- è´¦å·äººè®¾ä¸ç飿 ¼ï¼
å建ä¸ä¸ªæç»é£æ ¼çæç»ä½å,å ·æä»¥ä¸ç¹ç¹: æ´ä½é£æ ¼: æ¸ æ°æ´»æ³¼çå¡éæç»é£æ ¼,å æ»¡æ£è½éåæ´»å... - å
·ä½å¾çå
容ï¼
å±ç¤º"agentic æ¯ä»ä¹"çæ ¸å¿æ¦å¿µ,ä¸å¿æ¯ä¸ä¸ªå¯ç±ç大è徿 ,大èå¨å´æå¤ä¸ªå°æºå¨äººææ§è¡ç®å¤´,表示èªä¸»è§ååæ§è¡è½å - å°é¢æ é¢ï¼
3åéææ agentic AIï¼ - æç»æç¤ºè¯ï¼
{image_generation_prompt}ï¼å°é¢å¾å 容: å±ç¤º"agentic æ¯ä»ä¹"çæ ¸å¿æ¦å¿µ,ä¸å¿æ¯ä¸ä¸ªå¯ç±ç大è徿 ,大èå¨å´æå¤ä¸ªå°æºå¨äººææ§è¡ç®å¤´,表示èªä¸»è§ååæ§è¡è½åã䏿¹æç²ä½è£ é¥°æ§æ 颿å"3åéææ agentic AIï¼",使ç¨ç²ä½è£ 饰æ§åä½,带ç¬ç»åæ¸åææ,å¢å¼ºè§è§å²å»åãæ é¢æåè¦éç®,å æ®å°é¢éè¦ä½ç½®,符åå°çº¢ä¹¦å°é¢å¾è®¾è®¡è§èã
- è´¦å·äººè®¾ä¸ç飿 ¼ï¼
- 示ä¾ï¼å¯¹æ¯å¾ï¼ï¼
- è´¦å·äººè®¾ä¸ç飿 ¼ï¼
å建ä¸ä¸ªæç»é£æ ¼çæç»ä½å... - å
·ä½å¾çå
容ï¼
å·¦å³åå±å¯¹æ¯,左侧å±ç¤ºä¼ ç»AI - ä¸ä¸ªç®åçé®çæºå½¢è±¡,åªè½è¢«å¨åçé®é¢,ç¨é®å·è¡¨ç¤ºãå³ä¾§å±ç¤ºagentic AI - ä¸ä¸ªæºè½å©æå½¢è±¡,æ£å¨èªä¸»è§åä»»å¡ãæ§è¡æä½,ç¨æ§è¡ç®å¤´åä»»å¡å¡ç表示ãä¸é´ç¨ç²ç®å¤´è¿æ¥,表示ä»"被å¨ååº"å°"䏻卿§è¡"ç转åãæ´ä½æ¸ æ°ææ,è²å½©å¯¹æ¯é²æã - æç»æç¤ºè¯ï¼
{image_generation_prompt}ï¼{å ·ä½å¾çå 容æè¿°}
- è´¦å·äººè®¾ä¸ç飿 ¼ï¼
5. HAP æ°æ®ç®¡ç
å·¥ä½è¡¨ç»æ
å 容管ç表ï¼éç¨è¡¨ï¼æ¯æå¤å¹³å°ï¼ï¼
platform_type: å¹³å°ç±»åï¼SingleSelect: å°çº¢ä¹¦/æé³/å¾®ä¿¡å ¬ä¼å·/è§é¢å·/å ¶ä»ï¼content_title: å 容æ é¢ï¼Textï¼æ é¢å段ï¼cover_title: å°é¢æ é¢ï¼Textï¼content: æ£æå 容ï¼Textï¼tags: è¯é¢æ ç¾ï¼Textï¼cover_image: å°é¢å¾ï¼Attachmentï¼other_images: å ¶ä»é å¾ï¼Attachmentï¼markdown_doc: Markdown ææ¡£ï¼Attachmentï¼å°çº¢ä¹¦ç¬è®°ä¸ä½¿ç¨æ¤å段ï¼related_topic: å ³èéé¢ï¼Relationï¼å ³èéé¢åºè¡¨ï¼åéï¼ååå ³èï¼publish_status: åå¸ç¶æï¼SingleSelect: è稿/å¾ åå¸/å·²åå¸/已忶ï¼publish_time: å叿¶é´ï¼DateTimeï¼note_url: å 容龿¥ï¼Textï¼ä¸åå¹³å°å¯è½å«æ³ä¸åï¼views: æµè§éï¼Numberï¼likes: ç¹èµæ°ï¼Numberï¼collections: æ¶èæ°ï¼Numberï¼comments: è¯è®ºæ°ï¼Numberï¼
éè¦è¯´æï¼
- å°çº¢ä¹¦ç¬è®°ä¸åæ¥ Markdown ææ¡£ï¼åæ¥å°çº¢ä¹¦ç¬è®°å° HAP æ¶ï¼åªä¸ä¼ å¾çï¼å°é¢å¾åå ¶ä»é å¾ï¼ï¼ä¸ä¸ä¼ Markdown ææ¡£
markdown_docåæ®µä» ç¨äºå ¶ä»å¹³å°ï¼å¦å¾®ä¿¡å ¬ä¼å·ï¼ï¼å°çº¢ä¹¦ç¬è®°ä¸ä½¿ç¨æ¤å段- ååå
³èéé¢åºï¼
- 妿å 容æ¯åºäºéé¢åºä¸çéé¢åä½çï¼éè¦å¨å 容记å½ä¸å ³è对åºçéé¢
- 妿å 容䏿¯åºäºéé¢åä½çï¼å¯ä»¥ä¸å ³è
- éé¢åºä¸ç
related_contentåæ®µä¼èªå¨å ³èå·²åä½çå 容
设计说æï¼
- 使ç¨ç»ä¸ç”å 容管ç”è¡¨ç®¡çææå¹³å°çå 容
- éè¿
platform_typeåæ®µåºåä¸åå¹³å° - ä¸åå¹³å°å ±äº«éç¨å段ï¼ç¹æ®éæ±å¯éè¿å¤æ³¨ææ©å±å段å¤ç
è¯é¢æ ç¾åºè¡¨ï¼
topic_name: è¯é¢åç§°ï¼Textï¼topic_type: è¯é¢ç±»åï¼SingleSelectï¼heat_level: ç度ç级ï¼SingleSelect: é«ç度/ä¸ç度/ä½ç度ï¼description: 说æï¼Textï¼last_updated: æåæ´æ°ï¼DateTimeï¼
éé¢åºè¡¨ï¼
topic_title: é颿 é¢ï¼Textï¼æ é¢å段ï¼source_platform: æ¥æºå¹³å°ï¼Relationï¼å ³èçç¹å¹³å°å ³æ³¨è¡¨ï¼åéï¼topic_angle: éé¢è§åº¦ï¼Textï¼å¦ä½ç»åè´¦å·äººè®¾ï¼recommendation_reason: æ¨èçç±ï¼Textï¼relevance_score: ç¸å ³åº¦è¯åï¼Numberï¼1-10åï¼source_url: åæé¾æ¥ï¼Textï¼content_preview: å 容é¢è§ï¼Textï¼å¤è¡ææ¬ï¼topic_status: éé¢ç¶æï¼SingleSelect: å¾ åä½/åä½ä¸/å·²åä½/已忶ï¼related_content: å ³èå 容ï¼Relationï¼å ³èå 容管ç表ï¼å¤éï¼ååå ³èï¼notes: 夿³¨ï¼Textï¼å¤è¡ææ¬ï¼
设计说æï¼
- éé¢åºç¨äºå卿¨èçéé¢ï¼æ¹ä¾¿åç»ç®¡çååä½
- å ³èçç¹å¹³å°å ³æ³¨è¡¨ï¼å¯ä»¥è¿½æº¯é颿¥æº
- ååå
³èå
容管ç表ï¼
- éé¢åºä¸ç
related_contentåæ®µå¯ä»¥å ³èå¤ä¸ªå·²åä½çå 容 - å
容管ç表ä¸ç
related_topicåæ®µå¯ä»¥å ³è对åºçéé¢ - 妿å 容æ¯åºäºéé¢åä½çï¼éè¦å¨å建å 容æ¶å ³èéé¢
- 妿å 容䏿¯åºäºéé¢åä½çï¼å¯ä»¥ä¸å ³è
- éé¢åºä¸ç
- éé¢ç¶æç¨äºè·è¸ªéé¢çåä½è¿åº¦
è´¦å·äººè®¾è¡¨ï¼
platform_name: å¹³å°åç§°ï¼Textï¼æ é¢å段ï¼platform_type: å¹³å°ç±»åï¼SingleSelect: å°çº¢ä¹¦/æé³/å¾®ä¿¡å ¬ä¼å·/è§é¢å·ï¼positioning: è´¦å·å®ä½ï¼Textï¼target_audience: ç®æ åä¼ï¼Textï¼content_direction: å 容æ¹åï¼Textï¼content_style: å 容飿 ¼ï¼Textï¼content_principles: å 容ååï¼Textï¼image_generation_prompt: å¾ççææç¤ºè¯ï¼Textï¼- ç¨éï¼ç¨äºçæå¾çç飿 ¼æç¤ºè¯ï¼å¯ä»¥è®¾ç½®å¾ççæ´ä½é£æ ¼ãè²å½©ãæå¾ç
- ä½¿ç¨æ¹å¼ï¼çæå¾çæ¶ï¼å°æ¤æç¤ºè¯ä¸å ·ä½å¾çå 容æè¿°ç»å
- 示ä¾ï¼ç®æ´ç§æé£æ ¼ï¼èç´«è²æ¸åèæ¯ï¼ç°ä»£æå¹³è®¾è®¡ï¼é«è´¨éï¼ä¸ä¸æ
çç¹å¹³å°å ³æ³¨è¡¨ï¼
platform_name: å¹³å°åç§°ï¼Textï¼æ é¢å段ï¼å¦ï¼”ç¾åº¦çæ”ã”å¾®åçæ”ï¼platform_code: å¹³å°ä»£ç ï¼Textï¼å¦ï¼”baidu”ã”weibo”ï¼å¯¹åºçç¹æ°é» API çå¹³å°ä»£ç ï¼platform_type: å¹³å°ç±»åï¼SingleSelect: ç»¼åæ°é»/ç§æ/社交åªä½/è´¢ç»/ææ¯ç¤¾åº/å ¶ä»ï¼is_followed: æ¯å¦å ³æ³¨ï¼Checkboxï¼- ç¨æ·æ¯å¦å ³æ³¨æ¤å¹³å°ççç¹priority: ä¼å 级ï¼Numberï¼1-10ï¼æ°åè¶å¤§ä¼å 级è¶é«ï¼description: å¹³å°è¯´æï¼Textï¼æè¿°å¹³å°ç¹ç¹åå 容类åï¼last_fetch_time: æåè·åæ¶é´ï¼DateTimeï¼è®°å½æå䏿¬¡è·å该平å°çç¹çæ¶é´ï¼
æ¯æçå¹³å°ä»£ç ï¼å¯¹åºçç¹æ°é» APIï¼ï¼
baidu: ç¾åº¦çæï¼ç¤¾ä¼çç¹ã娱ä¹ãäºä»¶ï¼sspai: å°æ°æ´¾ï¼ç§æãæ°ç ãçæ´»æ¹å¼ï¼weibo: å¾®åçæï¼ç¤¾äº¤åªä½çç¹ã娱ä¹ãäºä»¶ï¼zhihu: ç¥ä¹çæ¦ï¼é®çãæ·±åº¦å 容ã社ä¼çç¹ï¼tskr: 36æ°ªï¼ç§æåä¸ãåä¸èµè®¯ï¼ftpojie: å¾ç±ç ´è§£ï¼ææ¯ã软件ãå®å ¨ï¼bilibili: åå©åå©ï¼è§é¢ã卿¼«ã游æãçæ´»ï¼douban: è±ç£ï¼ä¹¦å½±é³ãæåã讨论ï¼hupu: èæï¼ä½è²ã游æãæ°ç ï¼tieba: ç¾åº¦è´´å§ï¼å ´è¶£ç¤¾åºãè¯é¢è®¨è®ºï¼juejin: æéï¼ç¼ç¨ãææ¯æç« ï¼douyin: æé³ï¼çè§é¢çç¹ã娱ä¹ï¼vtex: V2EXï¼ææ¯ãç¼ç¨ãåæï¼jinritoutiao: 仿¥å¤´æ¡ï¼æ°é»ãçç¹äºä»¶ï¼stackoverflow: Stack Overflowï¼ç¼ç¨é®çãææ¯è®¨è®ºï¼github: GitHub Trendingï¼å¼æºé¡¹ç®ãç¼ç¨è¯è¨ï¼hackernews: Hacker Newsï¼ç§ææ°é»ãåä¸ãç¼ç¨ï¼sina_finance: æ°æµªè´¢ç»ï¼è´¢ç»æ°é»ãè¡å¸èµè®¯ï¼eastmoney: 䏿¹è´¢å¯ï¼è´¢ç»èµè®¯ãæèµçè´¢ï¼xueqiu: éªçï¼è¡ç¥¨æèµãè´¢ç»ç¤¾åºï¼cls: è´¢è社ï¼è´¢ç»å¿«è®¯ãå¸åºå¨æï¼tenxunwang: è ¾è®¯ç½ï¼ç»¼åæ°é»ã娱ä¹ãç§æï¼
APIæå¡é 置表ï¼
function_name: åè½åç§°ï¼Textï¼æ é¢å段ï¼å¦ï¼”Tavily æç´¢API”ã”TUZI å¾ççæ”ã”峿¢¦å¾ççæ”ã”çç¹æ°é»API”ï¼provider: æå¡æä¾åï¼Textï¼å¦ï¼”Tavily”ã”TUZI”ã”ç«å±±å¼æ”ã”orz.ai”ï¼service_type: æå¡ç±»åï¼SingleSelect: æç´¢API/å¾ççæ/å 容çæ/æ°æ®åæ/çç¹æ°é»/å ¶ä»ï¼purpose: ç¨é说æï¼Textï¼å¦ï¼”ç¨äºæç´¢ä¸»é¢ç¸å ³èµæ”ã”ç¨äºçæå¾ç”ã”ç¨äºè·åçç¹æ°é»”ï¼is_default: æ¯å¦é»è®¤ï¼Checkboxï¼ – ç¨äºæ§å¶ä½¿ç¨åªä¸ªå¾ççæ API é ç½®- ç¨éï¼å½åå¨å¤ä¸ªå¾ççæ API é ç½®æ¶ï¼ä¼å ä½¿ç¨æ 记为”é»è®¤”çé ç½®
- ä½¿ç¨æ¹å¼ï¼å¾é表示é»è®¤ä½¿ç¨æ¤é ç½®ï¼ä¸å¾é表示éé»è®¤é ç½®
- éæ©é»è¾ï¼ä¼å
éæ©
is_default = 1ï¼æ¯é»è®¤ï¼çé ç½®ï¼å¦ææ²¡æé»è®¤é ç½®å使ç¨ç¬¬ä¸ä¸ªå¯ç¨çé ç½®
endpoint_url: Endpoint URLï¼Textï¼å¿ éï¼ – API åºç¡å°å- çç¹æ°é» APIï¼
https://orz.ai/api/v1/dailynews
- çç¹æ°é» APIï¼
å¯é¥å段ï¼ç¨æ·å¯å¡«åï¼ï¼
api_key: API Keyï¼Textï¼å¿ éï¼ – ç¨äº API 认è¯- 使¶å¡«åï¼
- æç´¢ APIï¼TavilyãSerper çï¼ï¼å¿ 须填å
- OpenAIãAnthropicãMidjourney çä½¿ç¨ API Key 认è¯çæå¡ï¼å¿ 须填å
- 使¶å¡«åï¼
endpoint_url: Endpoint URLï¼Textï¼å¿ éï¼ – API åºç¡å°å- 使¶å¡«åï¼ææ API æå¡é½å¿ 须填åï¼ç¨äºæå® API ç访é®å°å
- æ ¼å¼ç¤ºä¾ï¼
- Tavily:
https://api.tavily.com - OpenAI:
https://api.openai.com/v1 - èªå®ä¹ä»£ç:
https://proxy.example.com
- Tavily:
access_key_id: Access Key IDï¼Textï¼- 使¶å¡«åï¼ç«å±±å¼æãé¿éäºãè ¾è®¯äºçä½¿ç¨ Access Key 认è¯çæå¡éè¦å¡«å
secret_access_key: Secret Access Keyï¼Textï¼- 使¶å¡«åï¼ä¸ Access Key ID é 对使ç¨ï¼ç«å±±å¼æãé¿éäºãè ¾è®¯äºçéè¦å¡«å
api_secret: API Secretï¼Textï¼- 使¶å¡«åï¼ä¸ API Key é 对使ç¨ï¼é¨åæå¡éè¦å¡«å
token: Tokenï¼Textï¼- 使¶å¡«åï¼GitHubãGitLabãJWT Token 认è¯çæå¡éè¦å¡«å
app_id: App IDï¼Textï¼- 使¶å¡«åï¼å¾®ä¿¡ãä¼ä¸å¾®ä¿¡ãééçä½¿ç¨ App ID 认è¯çæå¡éè¦å¡«å
app_secret: App Secretï¼Textï¼- 使¶å¡«åï¼ä¸ App ID é 对使ç¨ï¼å¾®ä¿¡ãä¼ä¸å¾®ä¿¡ãééçéè¦å¡«å
é ç½®åæ®µï¼
endpoint_url: Endpoint URLï¼Textï¼å¿ éï¼ – API åºç¡å°å- 使¶å¡«åï¼ææ API æå¡é½å¿ 须填å
- æ ¼å¼ç¤ºä¾ï¼
- Tavily æç´¢ API:
https://api.tavily.com - OpenAI API:
https://api.openai.com/v1 - ç«å±±å¼æå³æ¢¦:
https://ark.cn-beijing.volces.com/api/v3 - èªå®ä¹ä»£ç:
https://proxy.example.com
- Tavily æç´¢ API:
region: Regionï¼Textï¼- 使¶å¡«åï¼AWSãé¿éäºãè ¾è®¯äºãç«å±±å¼æçéè¦æå®åºåçæå¡éè¦å¡«åï¼å¦ï¼cn-beijingãus-east-1ï¼
service: Serviceï¼Textï¼- 使¶å¡«åï¼ç«å±±å¼æçéè¦æå®æå¡åç§°çéè¦å¡«åï¼å¦ï¼cvãocrï¼
api_version: APIçæ¬ï¼Textï¼- 使¶å¡«åï¼éè¦æå® API çæ¬çæå¡éè¦å¡«åï¼å¦ï¼jimeng_t2i_v31ãv1ãv2ï¼
sdk_name: SDKåç§°ï¼Textï¼- 使¶å¡«åï¼ä½¿ç¨ Python SDK æ¶éè¦å¡«å SDK å åï¼å¦ï¼volcenginesdkcv20240606ãopenaiï¼
extra_config: å ¶ä»é ç½®ï¼Textï¼- 使¶å¡«åï¼éè¦é¢å¤é ç½®åæ°æ¶å¡«åï¼JSON æ ¼å¼ï¼å¦ï¼{“timeout”: 30, “max_retries”: 3}ï¼
config_status: é ç½®ç¶æï¼SingleSelect: å¯ç¨/ç¦ç¨ï¼notes: 夿³¨ï¼Textï¼
使ç¨è¯´æï¼
- ææ API æå¡é½å¿
须填å
endpoint_urlï¼API åºç¡å°åï¼ - æ ¹æ®ä¸åç API æå¡ç±»åï¼å¡«å对åºçå¯é¥å段ï¼
- Tavily æç´¢APIï¼å¿
须填å
api_keyåendpoint_url - ç«å±±å¼æå³æ¢¦ï¼ä½¿ç¨
access_key_idãsecret_access_keyåendpoint_url - OpenAI/Anthropicï¼å¿
须填å
api_keyåendpoint_url - 微信/ä¼ä¸å¾®ä¿¡ï¼ä½¿ç¨
app_idãapp_secretåendpoint_url
- Tavily æç´¢APIï¼å¿
须填å
- ææå¯é¥å段å为å¯è§ï¼ç¨æ·å¯ä»¥ç´æ¥å¨ HAP ä¸å¡«ååç¼è¾
endpoint_urlæ ¼å¼ï¼å®æ´ç API åºç¡å°åï¼å¦https://api.tavily.comæhttps://api.openai.com/v1
åè½é 置示ä¾ï¼
-
Tavily æç´¢APIï¼ç¨äºæç´¢ä¸»é¢ç¸å ³èµæ
- æå¡æä¾åï¼Tavily
- æå¡ç±»åï¼æç´¢APIï¼ä»ä¸æåè¡¨éæ©ï¼
- API Keyï¼tvly-dev-xxx…ï¼å¿ éå¡«åï¼Tavily API Keyï¼
- Endpoint URLï¼https://api.tavily.comï¼**å¿ éå¡«å**ï¼API åºç¡å°åï¼
- ç¨é说æï¼å¨çæå 容åæç´¢ææ°èµæï¼æåå 容质é
- é ç½®ç¶æï¼å¯ç¨ï¼ä»ä¸æåè¡¨éæ©ï¼
-
TUZI å¾ççæï¼ç¨äºçæå¾çï¼OpenAI å ¼å®¹æ¥å£ï¼
- æå¡æä¾åï¼TUZI
- æå¡ç±»åï¼å¾ççæï¼ä»ä¸æåè¡¨éæ©ï¼
- API Keyï¼sk-xxx…ï¼å¿ éå¡«åï¼TUZI API Keyï¼
- Endpoint URLï¼https://api.tu-zi.com/v1ï¼**å¿ éå¡«å**ï¼API åºç¡å°åï¼
- æ¯å¦é»è®¤ï¼æ¯ï¼å¤éæ¡ï¼å¾é表示é»è®¤ä½¿ç¨æ¤é ç½®ï¼
- é ç½®ç¶æï¼å¯ç¨ï¼ä»ä¸æåè¡¨éæ©ï¼
- 夿³¨ï¼ä½¿ç¨ OpenAI å ¼å®¹æ¥å£ï¼æ¯æå¤ä¸ªæ¨¡åï¼gemini-3-pro-image-previewãdall-e-3ãdall-e-2ï¼
-
峿¢¦å¾ççæï¼ç¨äºçæå¾çï¼æçå¾3.1ï¼
- æå¡æä¾åï¼ç«å±±å¼æ
- æå¡ç±»åï¼å¾ççæï¼ä»ä¸æåè¡¨éæ©ï¼
- Endpoint URLï¼https://ark.cn-beijing.volces.com/api/v3ï¼å¯éï¼API åºç¡å°åï¼
- Access Key IDï¼ç¨äº API 认è¯ï¼ç¨æ·å¡«åï¼
- Secret Access Keyï¼ç¨äº API ç¾åï¼ç¨æ·å¡«åï¼
- Regionï¼cn-beijingï¼ç¨æ·å¡«åï¼
- Serviceï¼cvï¼ç¨æ·å¡«åï¼
- APIçæ¬ï¼jimeng_t2i_v31ï¼ç¨æ·å¡«åï¼
- SDKåç§°ï¼volcenginesdkcv20240606ï¼ç¨æ·å¡«åï¼
- æ¯å¦é»è®¤ï¼å¦ï¼å¤éæ¡ï¼ä¸å¾é表示éé»è®¤é ç½®ï¼
- é ç½®ç¶æï¼å¯ç¨ï¼ä»ä¸æåè¡¨éæ©ï¼
éè¦ï¼
- ææé 置信æ¯é½ç±ç¨æ·å¨ HAP “APIæå¡é ç½®” 表ä¸å¡«å
- Skill åªè´è´£ä»è¡¨ä¸è¯»åï¼ä¸å å«ä»»ä½é»è®¤å¼æç¡¬ç¼ç é ç½®
- ç¨æ·éè¦æ ¹æ®å®é 使ç¨ç API æå¡å¡«å对åºçé ç½®åæ®µ
æ°æ®åæ¥æµç¨
1. æç´¢èµæï¼Tavily APIï¼â è·åææ°ä¿¡æ¯
2. çæå
容 â ä¿åå°æ¬å°æä»¶ï¼é¢è§ï¼æç¬è®°ç®å½ç»æï¼`å
容/{å¹³å°}/{ç¬è®°æ é¢}/{ç¬è®°æ é¢}.md`ï¼
3. ä¸ç¨æ·ç¡®è®¤å
å®¹ãæ é¢ãå¾ç
4. ç¨æ·ç¡®è®¤åçæå¾ç â ä¿åå°ç¬è®°ç®å½çé
徿件夹ï¼`å
容/{å¹³å°}/{ç¬è®°æ é¢}/é
å¾/`ï¼
5. ä¸ç¨æ·ç¡®è®¤æ¯å¦åå¸å忥
6. ç¨æ·ç¡®è®¤ååæ¥å° HAPï¼
- **å°çº¢ä¹¦ç¬è®°**ï¼åªä¸ä¼ å¾ç URLï¼å°é¢å¾åå
¶ä»é
å¾ï¼ï¼ä¸ä¸ä¼ Markdown ææ¡£
- **å
¶ä»å¹³å°**ï¼æ ¹æ®å¹³å°éæ±ä¸ä¼ å¾çåææ¡£
7. ç¨æ·ç¡®è®¤ååå¸ â ä½¿ç¨ Playwright åå¸å°ç®æ å¹³å°
8. å叿å â æ´æ°åå¸ç¶æåç¬è®°é¾æ¥
ç®å½ç»æè¯´æï¼
- `å
容/`ï¼æ ¹ç®å½
- `å
容/{å¹³å°}/`ï¼å¹³å°ç®å½ï¼å°çº¢ä¹¦/æé³/微信å
¬ä¼å·/è§é¢å·ï¼
- `å
容/{å¹³å°}/{ç¬è®°æ é¢}/`ï¼ç¬è®°ç®å½ï¼ä½¿ç¨å°é¢æ é¢ä½ä¸ºç®å½å
- `å
容/{å¹³å°}/{ç¬è®°æ é¢}/{ç¬è®°æ é¢}.md`ï¼Markdown ææ¡£ï¼ä»
æ¬å°ä¿åï¼å°çº¢ä¹¦ä¸åæ¥å° HAPï¼
- `å
容/{å¹³å°}/{ç¬è®°æ é¢}/é
å¾/`ï¼é
徿件夹
éè¦è¯´æï¼
- **å°çº¢ä¹¦ç¬è®°ç Markdown ææ¡£ä¸åæ¥å° HAP**ï¼åªåæ¥å¾ç URL
- Markdown ææ¡£ä»
ä¿å卿¬å°ï¼ç¨äºé¢è§åç¼è¾
- å¾ççæåï¼
1. ä¿åå¾ç URL å° `é
å¾/image_urls.json`
2. **ä¸è½½å¾çå°æ¬å°**ï¼ä¿åå¾çæä»¶å° `é
å¾/{å¾çåç§°}.png`ï¼å¦ï¼å°é¢å¾.pngã对æ¯å¾.pngï¼ï¼æ¹ä¾¿æ¬å°æ¥çåå±ç¤º
3. éè¿ MCP ä¸ä¼ URL å° HAPï¼ä¸ä¼ æ¶ä½¿ç¨ URLï¼ä¸éè¦ base64ï¼
6. èªå¨ååå¸
ä½¿ç¨ Playwright MCP
åå¸ååå¤ï¼
- ç¡®è®¤ç¨æ·å·²ç»å½ç®æ å¹³å°
- æ£æ¥å 容宿´æ§ï¼æ é¢ãæ£æãå¾çãæ ç¾ï¼
- éªè¯ HAP æ°æ®å·²åæ¥
å叿µç¨ï¼å°çº¢ä¹¦ç¤ºä¾ï¼ï¼
// 1. 导èªå°åå¸é¡µé¢
await page.goto('https://creator.xiaohongshu.com/publish/publish?type=image_text');
// 2. ä¸ä¼ å¾ç
const fileInput = await page.locator('input[type="file"]').first();
await fileInput.setInputFiles(imageFiles);
// 3. å¡«åæ é¢
await page.getByRole('textbox', { name: 'å¡«åæ é¢ä¼ææ´å¤èµå¦ï½' }).fill(title);
// 4. 填忣æï¼å
å«è¯é¢æ ç¾ï¼
await page.getByRole('textbox').nth(1).fill(content + '\n\n' + tags);
// 5. ç¹å»åå¸
await page.getByRole('button', { name: 'åå¸' }).click();
// 6. çå¾
å叿åï¼è·åç¬è®°é¾æ¥
// 7. æ´æ° HAP è®°å½ï¼åå¸ç¶æãå叿¶é´ãç¬è®°é¾æ¥
åå¸åå¤çï¼
- è·åå叿åçå 容龿¥
- æ´æ° HAP “å
å®¹ç®¡ç” è¡¨è®°å½ï¼
platform_type: ç®æ å¹³å°ï¼å°çº¢ä¹¦/æé³/å¾®ä¿¡å ¬ä¼å·/è§é¢å·ï¼publish_status: å·²åå¸publish_time: å½åæ¶é´note_url: å 容龿¥
使ç¨ç¤ºä¾
ç¤ºä¾ 1: çæå¹¶åå¸å°çº¢ä¹¦ç¬è®°
ç¨æ·ï¼å¸®æçæä¸ç¯å
³äº "Skills ç§æ®ä»ç»" çå°çº¢ä¹¦ç¬è®°å¹¶åå¸
æ§è¡æµç¨ï¼
1. **确认 MCP**ï¼ç¡®è®¤å½åè¿æ¥ç HAP åºç¨ MCPï¼éè¿ç¨æ·æä¾ææå®ï¼
2. **读åæç´¢é
ç½®**ï¼ä» HAP "APIæå¡é
ç½®" 表读å Tavily æç´¢ API é
ç½®
3. **æç´¢èµæ**ï¼è°ç¨ Tavily API æç´¢ä¸»é¢ç¸å
³èµæï¼è·åææ° 5 æ¡ç»æï¼
4. **ã强å¶è¦æ±ã读åè´¦å·äººè®¾**ï¼å¿
é¡»å¨çæå
容ä¹åæ§è¡ï¼ï¼ä» HAP "è´¦å·äººè®¾" 表读åè´¦å·äººè®¾é
ç½®
- **ç¦æ¢ä½¿ç¨æ¬å°æä»¶**ï¼ç»å¯¹ä¸å
è®¸ä½¿ç¨ `AGENTS.md` æå
¶ä»æ¬å°æä»¶
- **å¿
é¡»è°ç¨ HAP MCP**ï¼å¿
é¡»éè¿ MCP è°ç¨ `get_record_list()` ä» HAP "è´¦å·äººè®¾" 表读å
- **è¯»åææå¿
éåæ®µ**ï¼
- **è´¦å·å®ä½**ï¼positioningï¼ï¼äºè§£è´¦å·çæ ¸å¿å®ä½
- **ç®æ åä¼**ï¼target_audienceï¼ï¼äºè§£å
容é¢åçåä¼ç¾¤ä½
- **å
容æ¹å**ï¼content_directionï¼ï¼äºè§£å
容çä¸»è¦æ¹å
- **å
容飿 ¼**ï¼content_styleï¼ï¼äºè§£å
容åºè¯¥éç¨ç飿 ¼ï¼å¿
é¡»ä¸¥æ ¼éµå¾ªï¼
- **å
容åå**ï¼content_principlesï¼ï¼äºè§£å
容åä½çåååæ³¨æäºé¡¹ï¼å¿
é¡»ä¸¥æ ¼éµå®ï¼
- **å¾ççææç¤ºè¯**ï¼image_generation_promptï¼ï¼äºè§£å¾ç飿 ¼è¦æ±
- **éªè¯è¦æ±**ï¼å¦ææªæ¾å°è´¦å·äººè®¾é
ç½®ï¼å¿
é¡»æåºå¼å¸¸ï¼ä¸å
许继ç»çæå
容
5. **æ°åå
容**ï¼æ ¹æ®æç´¢ç»æåä» HAP 读åçè´¦å·äººè®¾æ°åå
容
- **ä¸¥æ ¼éµå¾ªè´¦å·äººè®¾**ï¼å¿
é¡»ä¸¥æ ¼æç
§ä» HAP 读åç `content_style` å `content_principles` æ¥æ°å
- **ç¦æ¢ä½¿ç¨æ¬å°äººè®¾**ï¼ä¸å
许åèæä½¿ç¨æ¬å° `AGENTS.md` æä»¶ä¸çå
容
- **ç»åæç´¢èµæ**ï¼å°æç´¢å°çèµæä¸ä» HAP 读åçè´¦å·äººè®¾ç»åï¼çæç¬¦åå®ä½çå
容
- **符åç®æ åä¼**ï¼ç¡®ä¿å
容éåç®æ åä¼é
读
6. **çæå°é¢æ é¢**ï¼æ ¹æ®è´¦å·äººè®¾çå
容飿 ¼çæ 5-10 个å°é¢æ é¢
- æ é¢é£æ ¼å¿
须符åè´¦å·äººè®¾çå
容飿 ¼
- æ é¢è¦ç¬¦åè´¦å·å®ä½åç®æ åä¼
7. **éæ©è¯é¢æ ç¾**ï¼ä» HAP è¯é¢åºéæ© 5-8 个è¯é¢æ ç¾ï¼å¨ææ¥è¯¢ï¼
- æ ¹æ®å
容主é¢åè´¦å·äººè®¾çå
容æ¹åéæ©
8. **çæé
å¾å»ºè®®**ï¼ç»åè´¦å·äººè®¾çå¾ççææç¤ºè¯é£æ ¼ï¼çæé
å¾å»ºè®®
9. **ä¿åé¢è§**ï¼ä¿åå°æ¬å°æä»¶ï¼æç¬è®°ç®å½ç»æï¼`å
容/å°çº¢ä¹¦/{ç¬è®°æ é¢}/{ç¬è®°æ é¢}.md`ï¼
10. **ä¸ç¨æ·ç¡®è®¤**ï¼ä¸ç¨æ·ç¡®è®¤å
å®¹ãæ é¢ãå¾ç
11. **çæå¾ç**ï¼ç¨æ·ç¡®è®¤åï¼ï¼ä» HAP "è´¦å·äººè®¾" 表读åå¾ççææç¤ºè¯ï¼ä» HAP "APIæå¡é
ç½®" 表读åå¾ççæé
ç½®ï¼çæå¾ç
12. **ä¸ç¨æ·ç¡®è®¤åå¸**ï¼ä¸ç¨æ·ç¡®è®¤æ¯å¦ç´æ¥åå¸è³å°çº¢ä¹¦
13. **ä¸ç¨æ·ç¡®è®¤åæ¥**ï¼ä¸ç¨æ·ç¡®è®¤æ¯å¦åæ¥å° HAPï¼ç¡®è®¤åæä¸ä¼
14. **忥 HAP**ï¼ç¨æ·ç¡®è®¤åï¼ï¼åæ¥å° HAP "å
容管ç" 表ï¼platform_type = å°çº¢ä¹¦ï¼
- **åªä¸ä¼ å¾ç**ï¼ä¸ä¼ å°é¢å¾åå
¶ä»é
å¾ç URL å° HAP
- **ä¸ä¸ä¼ Markdown ææ¡£**ï¼å°çº¢ä¹¦ç¬è®°ç Markdown ææ¡£ä¸åæ¥å° HAP
15. **åå¸å
容**ï¼ç¨æ·ç¡®è®¤åï¼ï¼ä½¿ç¨ Playwright åå¸å°å°çº¢ä¹¦
16. **æ´æ°ç¶æ**ï¼æ´æ° HAP åå¸ç¶æåå
容龿¥
ç¤ºä¾ 2: æ¹éçæå 容
ç¨æ·ï¼å¸®æçæä¸å¨çå°çº¢ä¹¦ç¬è®°ï¼7ç¯ï¼ï¼ä¸»é¢å¦ä¸ï¼
1. Claude Code æ°åè½
2. AI å·¥å
·æ¨è
3. 大模ååºç¨åºæ¯
...
æ§è¡æµç¨ï¼
1. **确认 MCP**ï¼ç¡®è®¤å½åè¿æ¥ç HAP åºç¨ MCP
2. **æ¹éçæ**ï¼å¯¹æ¯ä¸ªä¸»é¢éå¤ä¸è¿°æµç¨
3. **å¨æè¯»åé
ç½®**ï¼æ¯æ¬¡çæå¾çæ¶ä» HAP "APIæå¡é
ç½®" è¡¨å¨æè¯»åé
ç½®
4. **æ¹éä¿å**ï¼æ¹éçæå¹¶ä¿åå° HAP "å
容管ç" 表ï¼platform_type = å°çº¢ä¹¦ï¼
ç¤ºä¾ 3: å¤å¹³å°åå¸
ç¨æ·ï¼å°è¿ç¯ç¬è®°åå¸å°å°çº¢ä¹¦å微信å
¬ä¼å·
æ§è¡æµç¨ï¼
1. **确认 MCP**ï¼ç¡®è®¤å½åè¿æ¥ç HAP åºç¨ MCP
2. **读åå
容**ï¼ä» HAP "å
容管ç" 表读åå
容ï¼platform_type = å°çº¢ä¹¦ï¼
3. **卿è·åå·¥ä½è¡¨**ï¼å¨æè·å"å
容管ç"表ç ID ååæ®µç»æ
4. **éé
æ ¼å¼**ï¼éé
ä¸åå¹³å°çæ ¼å¼è¦æ±ï¼
- å°çº¢ä¹¦ï¼300-400åï¼5-8个è¯é¢æ ç¾
- 微信å
¬ä¼å·ï¼2000-5000åï¼HTMLæ ¼å¼
5. **åå¸å
容**ï¼åå«åå¸å°ä¸¤ä¸ªå¹³å°
6. **æ´æ° HAP**ï¼å¨ HAP "å
容管ç" 表ä¸å建æ°è®°å½ï¼platform_type = 微信å
¬ä¼å·ï¼ï¼ææ´æ°ç°æè®°å½çåå¸ç¶æ
ææ¯å®ç°
ä¾èµå·¥å ·
- Tavily APIï¼é ç½®åå¨å¨ HAPï¼: æç´¢ç¸å ³èµæï¼è·åææ°ä¿¡æ¯
- wechat-article-writer skill: å 容çæ
- HAP MCPï¼ç¨æ·æä¾ï¼: æ°æ®ç®¡çï¼ç¨äºåå¨å 容ãé ç½®ãè¯é¢åºç
- Playwright MCP: èªå¨ååå¸å°åå¹³å°
- ç¬¬ä¸æ¹ APIï¼é ç½®åå¨å¨ HAPï¼: å¾ççæãå 容çæç API æå¡
MCP é ç½®è¦æ±
ç¨æ·éè¦æä¾ï¼
- HAP åºç¨ç MCP é ç½®ï¼å å« Appkey å Signï¼
- ææç¡®æå®ä½¿ç¨åªä¸ªå·²é ç½®ç MCP
Skill ä¼èªå¨ï¼
- è¯å«å½åè¿æ¥ç MCP åºç¨
- 卿è·åå·¥ä½è¡¨å表åç»æ
- ä»”APIæå¡é ç½®”表读åå¯é¥åé ç½®
- æ ¹æ®å¹³å°ç±»åçéå 容记å½
æä»¶ç»æ
social-media-operation/
âââ AGENTS.md # è´¦å·äººè®¾é
ç½®ï¼å¯éï¼æ¬å°åèæä»¶ï¼
âââ ç¬è®°çæå·¥ä½æµ.md # 工使µè¯´æ
âââ å
容/ # å
å®¹æ ¹ç®å½
â âââ å°çº¢ä¹¦/ # å¹³å°åç±»ï¼å°çº¢ä¹¦/æé³/微信å
¬ä¼å·/è§é¢å·ï¼
â âââ {ç¬è®°æ é¢}/ # æ¯ä¸ªç¬è®°ä¸ä¸ªç®å½ï¼ä½¿ç¨å°é¢æ é¢ä½ä¸ºç®å½å
â âââ {ç¬è®°æ é¢}.md # Markdown ææ¡£ï¼ä½¿ç¨ç¬è®°æ é¢å½åï¼
â âââ é
å¾/ # é
å¾ç®å½
â âââ å°é¢å¾.png
â âââ æ¶æå¾.png
â âââ åºç¨åºæ¯å¾.png
âââ è¯é¢åº/ # è¯é¢æ ç¾åºï¼å¯éï¼æ¬å°åèæä»¶ï¼
â âââ {ç±»å}.md
âââ README.md # 项ç®è¯´æ
ç®å½ç»æè¯´æï¼
- å
容/ï¼æ ¹ç®å½ï¼å
嫿æå¹³å°çå
容
- å°çº¢ä¹¦/ï¼å¹³å°ç®å½ï¼å±ç¤ºè¯¥å¹³å°çææç¬è®°æ é¢ï¼ç®å½åï¼
- {ç¬è®°æ é¢}/ï¼ç¬è®°ç®å½ï¼ä½¿ç¨å°é¢æ é¢ä½ä¸ºç®å½åï¼æ´æ¸
æ°ç´è§
- {ç¬è®°æ é¢}.mdï¼Markdown ææ¡£ï¼ä½¿ç¨ç¬è®°æ é¢å½å
- é
å¾/ï¼é
徿件夹ï¼å
å«è¯¥ç¬è®°çææé
å¾
示ä¾ï¼
å
容/
âââ å°çº¢ä¹¦/
âââ MCP æ¯ä»ä¹ï¼/ # ç¬è®°æ é¢ä½ä¸ºç®å½å
âââ MCPç§æ®ä»ç».md # Markdown ææ¡£
âââ é
å¾/
âââ å°é¢å¾.png
âââ æ¶æå¾.png
âââ åºç¨åºæ¯å¾.png
注æï¼
- è´¦å·äººè®¾åè¯é¢åºæ°æ®ç»ä¸åå¨å¨ HAP ä¸
- æ¬å°æä»¶ä»
ä½ä¸ºåèï¼å®é
ä½¿ç¨æ¶ä» HAP 表读å
- å
容æç¬è®°ç®å½ç»æç»ç»ï¼æ¯ä¸ªç¬è®°å
å« md ææ¡£åé
å¾
- ç®å½å使ç¨ç¬è®°æ é¢ï¼æ´æ¸
æ°ç´è§
HAP åºç¨é ç½®
éè¦ï¼åºç¨åç§°å MCP é ç½®ç±ç¨æ·æä¾ï¼ä¸ç¡¬ç¼ç
éç¨å·¥ä½è¡¨ç»æï¼ç¨æ·éè¦å¨ HAP ä¸å建ï¼ï¼
- å 容管çï¼éç¨è¡¨ï¼éè¿ platform_type åæ®µåºåå¹³å°ï¼å°çº¢ä¹¦/æé³/å¾®ä¿¡å ¬ä¼å·/è§é¢å·çï¼
- è¯é¢æ ç¾åºï¼åå¨åå¹³å°çè¯é¢æ ç¾ï¼
- è´¦å·äººè®¾ï¼åå¨ä¸åå¹³å°çè´¦å·äººè®¾é ç½®ï¼
- APIæå¡é ç½®ï¼æåè½åç±»ï¼æ¯ä¸ªåè½ä¸æ¡è®°å½å 嫿æé ç½®åæ®µï¼å æ¬å¯é¥ï¼
- çç¹å¹³å°å ³æ³¨è¡¨ï¼åå¨ç¨æ·å ³æ³¨ççç¹å¹³å°ï¼ç¨äºæ¯æ¥çç¹å 容æ¨èï¼
- éé¢åºï¼å卿¨èçéé¢ï¼å ³èçç¹å¹³å°å ³æ³¨è¡¨åå 容管ç表ï¼
- 社交åªä½æ°æ®ï¼å¯éï¼åå¨è¿è¥æ°æ®ï¼
å·¥ä½è¡¨å建ï¼
- ç¨æ·éè¦å¨ HAP åºç¨ä¸å建ä¸è¿°å·¥ä½è¡¨
- å建工ä½è¡¨æ¶ï¼å»ºè®®è®¾ç½®å«åï¼aliasï¼ï¼ä¾¿äºåç»æ¥è¯¢
- æç¨æ·æä¾å·²åå¨çåºç¨ MCPï¼Skill ä¼èªå¨è¯å«å·¥ä½è¡¨ç»æ
- Skill ä¼éè¿
get_app_worksheets_list()卿è·åå·¥ä½è¡¨å表 - æ¥è¯¢æ¶ä¼å éè¿å«åï¼aliasï¼å¹é ï¼å¦æå«åä¸åå¨å使ç¨åç§°ï¼nameï¼å¹é
- ç»å¯¹ä¸ä½¿ç¨ç¡¬ç¼ç çå·¥ä½è¡¨ ID
注æäºé¡¹
MCP åé 置管ç
-
MCP é ç½®ç±ç¨æ·æä¾ï¼
- Skill ä¸å å«ä»»ä½ç¡¬ç¼ç ç MCP é ç½®
- ç¨æ·éè¦æä¾ HAP åºç¨ç MCP é 置信æ¯
- ææç¡®æå®ä½¿ç¨åªä¸ªå·²é ç½®ç MCP
-
MCP åºç¨ç¡®è®¤ï¼
- æ§è¡ HAP æä½åï¼å¿
é¡»å
è°ç¨
get_app_info()确认å½åè¿æ¥ç MCP åºç¨ - å¦æç¨æ·æä¾äº MCP é ç½®ï¼éè¦å¯¹æ¯ç¡®è®¤æ¯å¦å¹é
- ä¸å¹é æ¶éè¦ä¸ç¨æ·ç¡®è®¤
- æ§è¡ HAP æä½åï¼å¿
é¡»å
è°ç¨
-
å¨æè¯»åé ç½®ï¼
- ææ API å¯é¥åé ç½®é½åå¨å¨ HAP “APIæå¡é ç½®” 表ä¸
- ä½¿ç¨æ¶å¿ é¡»ä»è¡¨ä¸å¨æè¯»åï¼ç»å¯¹ä¸è¦å¨ä»£ç ä¸ç¡¬ç¼ç
- éè¿
get_record_list()æ¥è¯¢é ç½®ï¼æ ¹æ®åè½åç§°ææå¡ç±»åå¹é
-
å·¥ä½è¡¨å¨æè¯å«ï¼éè¦ï¼ï¼
- éè¿
get_app_worksheets_list()卿è·åå·¥ä½è¡¨å表 - ä¼å éè¿å«åï¼aliasï¼å¹é å·¥ä½è¡¨ï¼å¦æå«åä¸åå¨å使ç¨åç§°ï¼nameï¼å¹é
- ç»å¯¹ä¸è¦ä½¿ç¨ç¡¬ç¼ç çå·¥ä½è¡¨ ID
- æææ¥è¯¢æä½é½å¿ é¡»å éè¿å«åæåç§°å¹é è·åå·¥ä½è¡¨ IDï¼ç¶åå使ç¨è¯¥ ID è¿è¡æ¥è¯¢
- éè¿
å 容çæ
è´¦å·äººè®¾è¯»åæ£æ¥æ¸ åï¼å¿ é¡»ä¸¥æ ¼æ§è¡ï¼ï¼
- â
确认 MCP è¿æ¥ï¼æ§è¡ä»»ä½æä½åï¼å¿
é¡»å
è°ç¨
get_app_info()确认å½åè¿æ¥ç HAP MCP åºç¨ - â
卿è·åå·¥ä½è¡¨ï¼éè¿
get_app_worksheets_list()卿è·åå·¥ä½è¡¨å表ï¼éè¿å«åaccount_personaæåç§°è´¦å·äººè®¾å¹é - â
æ¥è¯¢è´¦å·äººè®¾ï¼ä½¿ç¨
get_record_list()æ ¹æ®platform_typeæ¥è¯¢å¯¹åºå¹³å°çè´¦å·äººè®¾è®°å½ - â
éªè¯å¿
éåæ®µï¼æ£æ¥æ¯å¦è¯»åå°
content_styleåcontent_principlesåæ®µï¼å¦æç¼ºå¤±åæåºå¼å¸¸ - â
ç¦æ¢ä½¿ç¨æ¬å°æä»¶ï¼ç»å¯¹ä¸å
许使ç¨
AGENTS.mdæå ¶ä»æ¬å°æä»¶ä½ä¸ºè´¦å·äººè®¾æ¥æº - â
ä¸¥æ ¼éµå¾ªäººè®¾ï¼çæå
容æ¶å¿
é¡»ä¸¥æ ¼æç
§ä» HAP 读åç
content_styleåcontent_principlesæ§è¡
å
¶ä»æ³¨æäºé¡¹ï¼
5. å
容é¢è§ï¼çæå
容åå
ä¿åå°æ¬å°æä»¶ï¼ç¨æ·ç¡®è®¤åååæ¥å° HAP
6. å¾ççæï¼å¾ççæå¯è½å¤±è´¥ï¼SSL é误ï¼ï¼éè¦éè¯ææå¨å¶ä½
7. åå¸ç»å½ï¼åå¸åéè¦ç¨æ·å
ç»å½ç®æ å¹³å°
8. åæ°æ§å¶ï¼ä¸åå¹³å°çåæ°è¦æ±ä¸åï¼éè¦éé
9. è¯é¢æ ç¾ï¼å¿
é¡»ä» HAP è¯é¢åºä¸éåï¼ä¸è¦èªå·±ç¼é
10. è´¦å·äººè®¾ï¼å¿
é¡»ä» HAP “è´¦å·äººè®¾” 表ä¸è¯»åï¼ç¦æ¢ä½¿ç¨æ¬å°æä»¶ï¼å
æ¬å¾ççææç¤ºè¯
11. å¾ç飿 ¼ï¼çæå¾çæ¶ï¼å°ä» HAP 读åçè´¦å·äººè®¾ä¸ç image_generation_prompt ä¸å
·ä½é
å¾å»ºè®®ç»å
æä½³å®è·µ
éç¨æ§è®¾è®¡
-
MCP é ç½®ï¼
- æ°¸è¿ä¸ç¡¬ç¼ç MCP é ç½®
- å§ç»ä»ç¨æ·æä¾ç MCP ææå®ç MCP 读åé ç½®
- æ§è¡æä½åå 确认å½åè¿æ¥ç MCP åºç¨
-
é 置管çï¼
- ææå¯é¥åé ç½®åå¨å¨ HAP “APIæå¡é ç½®” 表ä¸
- ä½¿ç¨æ¶å¨æè¯»åï¼ä¸å设任ä½é»è®¤å¼
- ç¨æ·éè¦å¨ HAP ä¸å¡«åææå¿ è¦çé 置信æ¯
-
å·¥ä½è¡¨è¯å«ï¼éè¦ï¼ï¼
- 卿è·åå·¥ä½è¡¨å表
- ä¼å éè¿å«åï¼aliasï¼å¹é å·¥ä½è¡¨ï¼å¦æå«åä¸åå¨å使ç¨åç§°ï¼nameï¼å¹é
- ç»å¯¹ä¸è¦ä½¿ç¨ç¡¬ç¼ç çå·¥ä½è¡¨ ID
- æææ¥è¯¢æä½é½å¿ é¡»å éè¿å«åæåç§°å¹é è·åå·¥ä½è¡¨ IDï¼ç¶åå使ç¨è¯¥ ID è¿è¡æ¥è¯¢
- 卿è·ååæ®µç»æï¼éè¿åç§°æå«åå¹é åæ®µ ID
å 容è¿è¥
- å 容质éï¼ç¡®ä¿å 容æä»·å¼ï¼ç¬¦åè´¦å·å®ä½
- æ´æ°é¢çï¼ä¿æç¨³å®çæ´æ°é¢çï¼å»ºè®®æ¯å¨3-5ç¯ï¼
- æ°æ®è¿½è¸ªï¼å®ææ¥ç HAP ä¸çæ°æ®ï¼åæç款è§å¾
- äºå¨ç®¡çï¼åæ¶åå¤è¯è®ºï¼ç§¯æä¸ç¨æ·äºå¨
- å¤å¹³å°éé ï¼æ ¹æ®ä¸åå¹³å°ç¹ç¹è°æ´å å®¹æ ¼å¼å飿 ¼