agentbay-monitor-skills
npx skills add https://github.com/agentbay-ai/agentbay-skills --skill agentbay-monitor-skills
Agent 安装分布
Skill 文档
AgentBay èæ çæ§ Skill
â ï¸ èæ åæ = å ¨æµç¨ï¼å¿ 读ï¼
ç¨æ·è¯´ãè¿è¡èæ åæããåèæ åæããèæ åæ ä¸»é¢æ¯ XXXãæ¶ï¼å¿ é¡»æ§è¡å®æ´ä¸æ¥ï¼ä¸è½åªè·ç¬åå°±ç»æã
| æ¥éª¤ | å¨ä½ | 说æ |
|---|---|---|
| 1. ç¬å | crawl.py æ crawl_for_sentiment(...) |
å¾å° raw_output_pathï¼ç¬åç»æ JSONï¼ |
| 2. æ æåæ | 读 scripts/sentiment/sentiment_instruction.md â 对ç¬å JSON éæ¡å¤å® â åæ
æç»æå° JSON â è¿è¡ write_processed.py |
å¾å° processed JSONï¼å¦ output/processed.jsonï¼ |
| 3. çææ¥å | report.py --input <processed è·¯å¾> æ generate_report(...) |
å¾å° Markdown/JSONï¼åå¯é PDFï¼ |
ç¦æ¢è¡ä¸ºï¼åªè¿è¡ crawl.py å就说ãç¬åå®æï¼æ
æåæç±ä¸» Agent 宿ãå¹¶ç»æãè¿æ¯éè¯¯ç¨æ³ââ主 Agent å°±æ¯ä½ èªå·±ï¼ä½ å¿
须继ç»å®ææ¥éª¤ 2 å 3ï¼ç´å°äº§åºæç»æ¥åæä»¶ã
使¶ä½¿ç¨
ç¨æ·åºç°ä»¥ä¸ä»»ä¸æå¾æ¶ï¼å¿ é¡»ä½¿ç¨æ¬æè½å¹¶æ§è¡å ¨æµç¨ï¼ç¬åâæ æåæâçææ¥åï¼ï¼
- é®ãæäºä»¶/è¯é¢èæ å¦ä½ããXX è论æä¹æ ·ããæ³äºè§£ XX çèæ ã
- ãè¿è¡èæ åæããåèæ åæããèæ åæ ä¸»é¢æ¯ XXXã
- èæ çæ§ãæ æåæãèæ æ¥åãæå ³é®è¯/å¹³å°ç¬åå¹¶çææ¥åï¼ä¸è±æåºæ¯åå¯ï¼
æå¾ä¸ºèæ ç¸å ³å³é»è®¤ä½¿ç¨æ¬æè½ï¼ä¸å¯ä» ç¨èç½æç´¢ä»£æ¿ã
éè¦çº¦å®ï¼å¡æå°ãèæ åæãï¼æãè¿è¡èæ åæããåèæ åæãçç价表述ï¼ï¼å³è§ä¸ºæ§è¡å ¨æµç¨ââç¬å â æ æåæ â çææ¥åãå¿ é¡»æè¯¥å®æ´æµç¨æ§è¡ï¼ä¸å¯åªåç¬åï¼æç»äº§åºé¡»å å« Markdown/JSONï¼åå¯é PDFï¼æ¥åã
åç½®æ¡ä»¶
å·¥ä½ç®å½ä¸ºæè½ç®å½ï¼æ¬ SKILL æå¨ç®å½ï¼ï¼å·²å®è£
ä¾èµï¼å·²é
ç½® AGENTBAY_API_KEYã
ä¾èµ
pip install wuying-agentbay-sdk pandas numpy pyyaml markdown
å¯éï¼PDF æ¥åï¼ï¼brew install cairo pango gdk-pixbuf å pip install weasyprintãä¸è£
åä»
æ PDFï¼.md/.json æ£å¸¸ã
API Key
ä»
éé
ç½® AGENTBAY_API_KEYãç¯å¢åéï¼export AGENTBAY_API_KEY=ä½ çkeyï¼Windows PowerShellï¼$env:AGENTBAY_API_KEY="ä½ çkey"ï¼ãæç´æ¥åæä»¶ï¼mkdir -p ~/.config/agentbay && echo -n 'ä½ çkey' > ~/.config/agentbay/api_keyãè·åï¼https://agentbay.console.aliyun.com/service-management ãæªé
ç½®æ¶è¿è¡èæ¬ä¼æ¥éãå
¶ä½åæ°ç±ä¸» Agent ä¼ å/å½ä»¤è¡ä¼ å
¥ã
æ´ä½æµç¨
èæ åæ = å ¨æµç¨ï¼ç¬å â æ æåæ â çææ¥åï¼è§ä¸æãâ ï¸ èæ åæ = å ¨æµç¨ãï¼ãç¨æ·è¦æ±ãèæ åæãæ¶ï¼ä¸æ¥é½å¿ é¡»æ§è¡ï¼ä¸è½åªå第 1 æ¥ã
- ç¬åï¼
crawl.pyæcrawl_for_sentiment(...)â å¾å°raw_output_pathï¼ç¬åç»æ JSONï¼ã - æ
æåæï¼ä¸» Agent 读æç¤ºè¯
scripts/sentiment/sentiment_instruction.mdï¼å¯¹ç¬å JSON éæ¡å¤å®æ æï¼äº§åºæ æç»æå° JSONï¼åè¿è¡write_processed.pyåå¹¶å¾å° processed JSONï¼å¦output/processed.jsonï¼ãæç¤ºè¯å¯å®å¶ã - çææ¥åï¼
report.py --input <processed è·¯å¾>ægenerate_report(processed_results, ...)â Markdown/JSONï¼åå¯é PDFï¼ã
è¿è¡æ¹å¼
æ¥éª¤ 0ï¼ç»å½ï¼ä»
éæç´¢å¼æï¼
xhs/weibo/douyin/zhihu é¡»å
ç»å½ï¼ç¾åº¦ãBing ä¸éè¦ãpython scripts/login.py --platform xhs [--context-name sentiment-analysis] â æµè§å¨ä¸ç»å½åç»ç«¯æ Enterï¼ç¶ææä¹
åãéæç´¢å¼æç¬åæ¶ --context-name é¡»ä¸ç»å½ä¸è´ã
æ¥éª¤ 1ï¼ç¬å
python scripts/crawl.py --keywords "å
³é®è¯1,å
³é®è¯2" [--platform baidu] [--max-results N] [--output-dir output]
åæ°ï¼-k å¿
éï¼-p é»è®¤ baiduï¼å¯é xhs/weibo/douyin/zhihu/bingï¼ï¼--max-resultsã-oã--report-titleã--context-nameã--crawl-timeoutãç¾åº¦/Bing ä»
æèµè®¯å表页ï¼ä¸ç¹è¿é¾æ¥ï¼ï¼ç¾åº¦ç¨èµè®¯ URLï¼tn=newsï¼ã
ç¬åè¶
æ¶ï¼å¿
读ï¼ï¼æ§è¡ç¯å¢ï¼å¦ run_terminal_cmdï¼çè¶
æ¶é¡» ⥠10 åéï¼600 ç§æ 600000 毫ç§ï¼ï¼å¦åä¼ä¸æã约 1 æ¡/åéï¼10 æ¡çº¦ 10 åéï¼å»ºè®®è¶
æ¶ç¥å¤§äºä¼°ç®ï¼å¦ 15 åéï¼ãèæ¬å
--crawl-timeout ä¸ä¼ æ¶ä¼èªå¨ææ¡æ°è®¡ç®ï¼ä¸è¬æ éæä¼ ã
æ¥éª¤ 2ï¼æ
æåæ
主 Agent 读 scripts/sentiment/sentiment_instruction.mdï¼å¯¹ç¬å JSON éæ¡å¤å®æ
æå¹¶æè§å®æ ¼å¼å processed JSONï¼æ é卿è½ä¸é
ç½® LLMï¼ã
æ¥éª¤ 3ï¼çææ¥å
python scripts/report.py --input <processed JSON è·¯å¾> [--output-dir output] [--title "æ¥åæ é¢"]
è¾åº
ç¬å â raw_output_pathãcrawl_resultsãæ
æåæ â processed JSONï¼å« sentiment_statisticsãæ¯æ¡ sentimentï¼æ ¼å¼è§æç¤ºè¯ï¼ãæ¥å â markdown_pathãjson_pathãå¯é pdf_pathã
Agent è°ç¨è¦ç¹
èæ åæå¿ è·å ¨æµç¨ï¼ç¨æ·è¯´ãèæ åæããè¿è¡èæ åæãæç±»ä¼¼æå¾æ¶ï¼å¿ 须宿ãç¬å â æ æåæ â åå¹¶ï¼write_processed.pyï¼â çææ¥åãï¼äº§åºæç»æ¥åæä»¶ãä¸å¯åªè¿è¡ç¬ååå°±è¯´ãæ æåæç±ä¸» Agent 宿ãå¹¶ç»æââ主 Agent å³å½å Agentï¼å¿ é¡»ç±ä½ ç»§ç»å®ææ æåæä¸æ¥åã
- ç»å½ï¼éæç´¢å¼æåå
login.py --platform <å¹³å°>ï¼ç¾åº¦/Bing å ç»å½ã - ç¬åï¼
crawl.pyæcrawl_for_sentiment(...)ï¼é»è®¤å¹³å° baiduï¼æ§è¡è¶ æ¶ â¥ 10 åéï¼è§ä¸æãç¬åè¶ æ¶ãï¼ï¼éæç´¢å¼ææ¶context_nameä¸ç»å½ä¸è´ã - æ
æåæï¼è¯»
scripts/sentiment/sentiment_instruction.mdï¼å¯¹ç¬å JSONï¼raw_output_pathï¼éæ¡å¤å®æ æï¼åæ æç»æå° JSONï¼å¦output/sentiment_only.jsonï¼ï¼è¿è¡python scripts/sentiment/write_processed.py --raw <ç¬åJSON> --sentiment <æ æç»æJSON> --output output/processed.jsonã - æ¥åï¼
report.py --input output/processed.jsonægenerate_report(...)ã - å¤±è´¥ï¼æªé
ç½® Keyãæªç»å½ææ§è¡å¤±è´¥ â
success: Falseãerrorã
代ç 示ä¾
import asyncio, sys, json
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent / "scripts"))
from crawl import crawl_for_sentiment, generate_report
async def main():
result = await crawl_for_sentiment(platform="baidu", keywords=["产åå"], max_results_per_keyword=10, output_dir="output")
if not result.get("success"): return
raw_path = result.get("raw_output_path")
# 主 Agentï¼è¯» sentiment_instruction.md â 对 raw_path åæ
æåæ â å output/processed.jsonï¼æå
ç¨ write_processed.py åå¹¶ï¼
processed_path = Path("output") / "processed.json"
with open(processed_path, "r", encoding="utf-8") as f:
report = generate_report(json.load(f), output_dir="output", title="èæ
æ¥å")
print("æ¥å:", report.get("markdown_path"))
asyncio.run(main())
常è§é®é¢
- åªè·äºç¬åæä¹åï¼è¥å·²è¿è¡
crawl.pyå¾å°raw_output_pathï¼å¿ 须继ç»åæ æåæï¼è¯»sentiment_instruction.mdãåæ æç»æ JSONãè¿è¡write_processed.pyï¼åè¿è¡report.py --input <processedè·¯å¾>ï¼ç´å°äº§åºæ¥åã - processed JSONï¼title/content 叏嫿ªè½¬ä¹åå¼å·ï¼æåæå¯¼è´
report.pyJSON è§£æå¤±è´¥ã主 Agent åªäº§åºãæ æç»æãå° JSONï¼åè¿è¡python scripts/sentiment/write_processed.py --raw <ç¬åJSON> --sentiment <æ æç»æJSON> --output <processedè·¯å¾>ã详è§sentiment_instruction.md第 4 èã - ç»å½å¤±æï¼éè·
python scripts/login.py --platform <å¹³å°> [--context-name ...]ã - ç¬åè¶
æ¶ï¼æ§è¡ç¯å¢è¶
æ¶é¡» ⥠10 åéï¼è§ä¸æï¼ï¼éæ´é¿æ¶æ¾å¼ä¼
--crawl-timeoutï¼ç§ï¼ã
æä»¶ç»æ
SKILL.md · scripts/ï¼crawl.pyï¼ç¬å/æ¥åå
¥å£ï¼ãreport.pyãlogin.pyãcrawler/ãsentiment/ï¼sentiment_instruction.mdãwrite_processed.pyï¼ãreporter/ · output/