searchnews
npx skills add https://github.com/zrt-ai-lab/opencode-skills --skill searchnews
Agent 安装分布
Skill 文档
AIæ°é»æç´¢æè½ (Ralph Loop å¢å¼ºç)
æ¦è¿°
æ¤æè½ç¨äºä»å¤ä¸ªAIæ°é»æºç²¾ç¡®æç´¢æå®æ¥æçæ°é»ï¼éç¨ Ralph Loop 模å¼è¿è¡å°æ¯¯å¼è¿ä»£ï¼ç¡®ä¿ä¸çæ»è§ã
æ ¸å¿æºå¶ (Ralph Loop)
1. 任塿¸ å (prd.json)
è®°å½å¾ ç¬åçæºç½ç«åå ¶ç¶æã
date: ç®æ æ¥æï¼æ ¼å¼ YYYY-MM-DDkeywords_ref: å¼ç¨å ³é®è¯åºæä»¶è·¯å¾ï¼å¦references/keywords.mdï¼ï¼æç´¢æ¶å è½½ 10 大åç±»å 100+ æ ç¾è¿è¡çésources: æ¯ä¸ªæºå å«name,url,status(pending/done/failed),retry_count(max 3)
2. éåºé»è¾ (ç®æ 导å)
- æåéåºï¼å½ææ
sourcesç¶æå为doneæ¶ï¼è¾åº<promise>COMPLETE</promise>å¹¶ç«å³åæ¢å¾ªç¯ã - 失败容éï¼åä¸ªæºæå失败æ¶ï¼æå¤å°è¯ 3次ãè¥ 3 次å失败ï¼å°ç¶ææ 记为
failedï¼è®°å½å¤±è´¥åå ï¼è·³è¿è¯¥æºã - 髿æ¶å·¥ï¼ä¸æ¦æææºé½å¤ç宿¯ï¼ç¶æä¸º
doneæfailedï¼ï¼ç«å³çææç»æ¥æ¥å¹¶äº¤ä»ï¼ä¸å¼ºå¶è·å®é¢è®¾çæå¤§è½®æ¬¡ã
å¿ ææºåè¡¨ï¼æä¼å 级æåºï¼
| ä¼å 级 | æºåç§° | URL | 说æ |
|---|---|---|---|
| é« | AIBaseæ¥æ¥ | https://news.aibase.com/zh/daily | æ¯æ¥AIæ°é»æ±æ»ï¼å¿ æï¼å 容精ç¼ãè¦çå ¨é¢ |
| ä¸ | ITä¹å®¶AIé¢é | https://next.ithome.com/ | å½å ç§æèµè®¯ï¼AI䏿 |
| ä¸ | 36æ°ªAIé¢é | https://36kr.com/information/AI/ | åæè§è§ï¼AIäº§ä¸æ¥é |
| ä¸ | æºå¨ä¹å¿ | https://www.jiqizhixin.com/articles | ä¸ä¸AIåªä½ï¼ææ¯æ·±åº¦ |
| ä¸ | éåä½ | https://www.qbitai.com | AIåæ²¿ï¼äº§åæ¥é |
注æï¼AIBaseæ¥æ¥é常å¨å½å¤©åå¸ï¼å 容å³ä¸ºå½å¤©æ°é»æ±æ»ï¼æ¯æé«æçä¿¡æ¯æºã
工使µç¨
â ï¸ éå¾ï¼å¿ é¡»ä½¿ç¨ Ralph èæ¬å¯å¨ï¼
ç¦æ¢æå¨ä¹±æï¼ å¿ é¡»ä¸¥æ ¼æä»¥ä¸æµç¨æ§è¡ï¼
# ç¬¬é¶æ¥ï¼å¯å¨ Ralph Loopï¼å¿
é¡»æ§è¡ï¼ï¼
bash .opencode/skills/searchnews/scripts/ralph/ralph.sh 2026-01-19
èæ¬ä¼èªå¨åå§å prd.jsonï¼ç¶å Agent æä»»å¡æ¸
åé个å¤çã
ç¬¬ä¸æ¥ï¼åå§å任塿¸ åï¼ç±èæ¬å®æï¼
èæ¬ä¼å¨ .opencode/skills/searchnews/scripts/ralph/prd.json ä¸çææºç½ç«å表ï¼åå§ç¶æå为 pendingãAIBaseæ¥æ¥å¿
é¡»æ¾å¨ç¬¬ä¸ä½ï¼ä¼å
æåã
ç¬¬äºæ¥ï¼å°æ¯¯å¼å¾ªç¯æç´¢
- 读å
prd.jsonä¸å¤äºpendingç¶æçæºã - æ¯å¤çä¸ä¸ªæºï¼å¿ é¡»æ´æ° prd.json ç¶æï¼pending â done/failedï¼ã
- æ¯è½®è¿ä»£å¿ é¡»åå ¥ progress.txtï¼è®°å½è¿åº¦å失败åå ã
- ä¸¥æ ¼æ ¡éªæ¥æï¼ä» ä¿çç®æ æ¥æçå 容ã
- æå失败æ¶
retry_count + 1ï¼æå¤éè¯3次ã
第äºç¹äºæ¥ï¼æ·±åº¦æ£ç´¢ï¼éè¦ï¼ï¼
ç¦æ¢åªæåè¡¨é¡µï¼ å¯¹äºçéåºçéè¦æ°é»ï¼å¿ é¡»æ·±å ¥å°è¯¦æ 页æåï¼
- ä»å表页æåæ°é»è¯¦æ URL
- éæ¡è®¿é®è¯¦æ 页ï¼è·å宿´å 容
- æåå
³é®ä¿¡æ¯ï¼
- 宿´æ£æï¼ä¸æ¯æè¦ï¼
- ææ¯ç»èãæ°æ®ææ
- åå§æ¥æº/论æé¾æ¥
- åéç¹/è¦ç¹æ»ç»
- 深度æ£ç´¢çæ°é»è´¨éè¿é«äºå表页å¤å¶ç²è´´
示ä¾ï¼AIBaseæ¥æ¥åè¡¨é¡µåªææ é¢åç®ä»ï¼ä½è¯¦æ 页æå®æ´çææ¯è§£è¯»ãæ°æ®å¯¹æ¯ãåéç¹ç深度å 容ã
ç¬¬ä¸æ¥ï¼å»éä¸èå
åå¹¶ä¸åæ¥æºçç¸åæ°é»ï¼ä¿çè¯¦æ æä¸°å¯ççæ¬ï¼åå¹¶æ æ³¨æ¥æºã
ç¬¬åæ¥ï¼è¾åºç»æåææ¡£
æä»¶åå¨å¨ dailynews/YYYY-MM-DD/YYYY-MM-DD.mdï¼æ¯æ¥ç¬ç«æä»¶å¤¹ï¼ã
è¾åºæ ¼å¼æ¨¡æ¿ï¼å¿ é¡»ä¸¥æ ¼éµå®ï¼ï¼
---
date: YYYY-MM-DD
type: æ°é»æ¥æ¥
tags: [AIæ°é», æ¥æ¥]
---
# AIæ°é»æ¥æ¥ - YYYY-MM-DD
> æ¥ææ ¡éª: å·²éè¿ | ä»
å
å«YYYY-MM-DDåå¸çæ°é» | å·²å»é
---
## 1. æ°é»æ é¢
**åç±»**: åç±»æ ç¾ | **æ¥æº**: æ¥æºç½ç« | **æ¶é´**: YYYY/M/D HH:MM
ä¸å¥è¯æè¦ï¼æ¦æ¬æ°é»æ ¸å¿å
容ã
**详æ
**ï¼
- 详æ
è¦ç¹1ï¼å
å«å
·ä½æ°æ®ãææ ï¼
- 详æ
è¦ç¹2
- 详æ
è¦ç¹3
- 详æ
è¦ç¹4ï¼å¯éï¼
- 详æ
è¦ç¹5ï¼å¯éï¼
---
## 2. ä¸ä¸æ¡æ°é»æ é¢
...
*æ°æ®æ¥æº: æ¥æºå表 | æ´çæ¶é´: YYYY-MM-DD*
æ ¼å¼è¦ç¹
- æ¯æ¡æ°é»å¿ é¡»å å«ï¼ç¼å·æ é¢ãåç±»|æ¥æº|æ¶é´ãæè¦ã详æ è¦ç¹ï¼3-5æ¡ï¼
- 详æ è¦ç¹å¿ é¡»å å«å ·ä½æ°æ®ï¼éé¢ãç¾åæ¯ãæ¶é´èç¹ãææ¯ææ ç
- åç±»æ ç¾åèï¼AIåºç¡è®¾æ½ãAI产åãæèèµãæºå¨äººãåä¸åãAIç管ãè¡ä¸è§ç¹ãä¼ä¸æç¥ãAIè½åãè¶£é»ç
- æ¶é´æ ¼å¼ï¼ç²¾ç¡®å°åéï¼å¦ 2026/1/19 15:28ï¼
- æ°é»æ°éè¦æ±ï¼æ¯æ¥è³å°æ´ç 10-20 æ¡æ°é»ï¼ä¸å¾å·æåªæå æ¡ï¼
ç¬¬äºæ¥ï¼ç¡®è®¤å®æ
å½æææºç¶æå为 done æ failed æ¶ï¼è¾åºï¼
<promise>COMPLETE</promise>
è´¨éè¦æ±
- å¿
ç¨èæ¬ï¼å¿
é¡»å
æ§è¡
ralph.shåå§åï¼ç¦æ¢æå¨ä¹±æï¼ - ç¶æè¿½è¸ªï¼æ¯å¤çä¸ä¸ªæºå¿
é¡»æ´æ°
prd.jsonç¶æã - è¿åº¦è®°å½ï¼æ¯è½®è¿ä»£å¿
é¡»åå
¥
progress.txtã - å¿ æAIBaseï¼AIBaseæ¥æ¥æ¯å¿ ææºï¼æ¯æ¬¡æ´çæ°é»å¿ é¡»é¦å 访é®ã
- 深度æ£ç´¢ï¼ç¦æ¢åªæå表页ï¼éè¦æ°é»å¿ é¡»æ·±å ¥è¯¦æ 页è·å宿´å 容ã
- å ¨éè¦çï¼å¿ é¡»å°è¯æ¸ å䏿æçæºç½ç«ã
- æ¥æéå¾ï¼ä¸¥ç¦æ··å ¥éç®æ æ¥æçæ°é»ã
- æ ç¾æ å°ï¼å¿ é¡»å¯¹ç § 10 大åç±»è¿è¡ç²¾åææ ã
- 详æ 宿´ï¼å 嫿 é¢ãæè¦ã3-5æ¡è¯¦æ è¦ç¹ã溯æºé¾æ¥ã精确æ¶é´ã
- 循ç¯éåºï¼æææº done/failed åæè¾åº
<promise>COMPLETE</promise>ã
â è¾åºéå¾ï¼è¿åå³è§£éï¼ï¼
被åé¤çæ°é»ç¦æ¢è¾åºï¼
- åªè¾åºç¬¦åæ¥æçæ°é»ï¼æç»æ¥æ¥ä¸åªè½åºç°ç®æ æ¥æçæ°é»
- åé¤çä¸è¦æï¼å æ¥æä¸ç¬¦è¢«åé¤çæ°é»ï¼ç¦æ¢å¨ä»»ä½å°æ¹è¾åºææå
- ä¸è¦æ¾ç¤ºåé¤è¿ç¨ï¼ä¸è¦åè¯ç¨æ·”æåé¤äº xx æ¡”ã”以䏿¯è¢«è¿æ»¤ç”çåºè¯
- éé»è¿æ»¤ï¼æ¥ææ ¡éªæ¯å é¨é»è¾ï¼ç¨æ·åªéè¦çå°æç»ç»æï¼ä¸éè¦ç¥éä½ çæäºä»ä¹
- ç®æ´äº¤ä»ï¼åªè¾åºå¹²åçãç¬¦åæ¥æçæ°é»åè¡¨ï¼æ²¡æä»»ä½å¤ä½è¯´æ
é误示ä¾ï¼ç¦æ¢ï¼ï¼ï¼
以䏿°é»å æ¥æä¸ç¬¦å·²åé¤ï¼
- xxxï¼1æ18æ¥ï¼
- yyyï¼1æ20æ¥ï¼
æ£ç¡®åæ³ï¼ éé»è·³è¿ä¸ç¬¦åæ¥æçæ°é»ï¼åªè¾åºç¬¦åçï¼ä¸ä¸ªåé½ä¸è¦å¤è¯´ã
èµæºå¼ç¨
- scripts/ralph/ralph.sh – å¯å¨ä¸»å¾ªç¯ã
- scripts/ralph/prd.json – 卿任塿¸ åã
- scripts/ralph/progress.txt – è¿ä»£è¿åº¦ä¸éè¯æ¥å¿ã
- references/keywords.md – 10 大åç±» 100+ æ ç¾å°å¾ã
- templates/ – è§é¢é£æ ¼æ¨¡æ¿åºã
ç¬¬å æ¥ï¼çææ°é»è§é¢ï¼å¯éï¼
æ°é»æ¥æ¥æ´ç宿åï¼å¯çæAIæ°é»è§é¢ã
6.1 äº¤äºæµç¨ï¼å¿ 须询é®ï¼ï¼
æ¶å°”çææ°é»è§é¢”请æ±åï¼å¿ 须便¬¡è¯¢é®ï¼
é®é¢1ï¼ç¡®è®¤æ¥æ
çæåªå¤©çæ°é»è§é¢ï¼
- ä»å¤© (YYYY-MM-DD)
- æ¨å¤© (YYYY-MM-DD)
- èªå®ä¹æ¥æ
é®é¢2ï¼æ¯å¦ä½¿ç¨é£æ ¼æ¨¡æ¿
æ¯å¦ä½¿ç¨æç¤ºè¯åºä¸ç飿 ¼æ¨¡æ¿ï¼
- æ¯ï¼ä½¿ç¨æ¨¡æ¿ (æ¨è) - ä»21ç§é¢è®¾é£æ ¼ä¸éæ©ï¼é£æ ¼ç»ä¸
- å¦ï¼èªç±çæ - ä¸ä½¿ç¨æ¨¡æ¿ï¼AIèªç±åæ¥
妿鿩”ä½¿ç¨æ¨¡æ¿”ï¼ç»§ç»é®é¢3ï¼å¦åè·³å°é®é¢4
é®é¢3ï¼éæ©è§è§é£æ ¼ï¼21ç§ï¼
飿 ¼æç¤ºè¯åºä½ç½®ï¼{prompts_dir}/å¾ççæé£æ ¼/AIæ°é»æ©æ¥é£æ ¼/
éæ©é
å¾é£æ ¼ï¼
ãç§ææã
- é»è®¤é£æ ¼-Dashboard (æ¨è) - ç§æä»ªè¡¨çï¼æ°æ®å¯è§å
- èµåæªæ¥é£ - éè¹èµåæå
- ç§æåªä½å°é¢é£ - æ°é»åªä½å°é¢æ
- AIæä½ç³»ç»çé¢é£ - JARVISæ§å¶å°é£æ ¼
- æ·±è²éèç»ç«¯é£ - Bloombergç»ç«¯æ
- å
¨æ¯æå½±é£ - å
¨æ¯ç§å¹»
- éåç§å¹»é£ - éåç²åææ
ãç®çº¦é£ã
- æ¯ç»çææé£ - è¹æé£æ¯ç»ç
- ä¿¡æ¯å¾è¡¨é£ - æ°æ®ä¿¡æ¯å¾
- æç®ä¿¡æ¯è®¾è®¡é£ - æå¹³æç®
ãç¹è²é£ã
- æªæ¥æ¥çº¸å¤´ç - æ¥çº¸çå¼
- æå¿å°é¢é£ - æå¿é£æ ¼
- 漫ç»åéé£ - æ¼«ç»æ ¼å
- 太空å®å®é£ - æç©ºå®å®
- 水墨å½é£ - ä¸å½é£æ°´å¢¨
- å¤å¤åç´ é£ - 8bitåç´
- éè¹æ³¢æ®é£ - æ³¢æ®èºæ¯
- å·¥ç¨èå¾é£ - ææ¯èå¾
- èªç¶ææºé£ - ç¯ä¿èªç¶
- æªæ¥å®éªå®¤é£ - å®éªå®¤ç§ç
- 社交åªä½çæ¬¾é£ - æé³å°çº¢ä¹¦
é®é¢4ï¼çææ¨¡å¼
éæ©çææ¨¡å¼ï¼
- 宿´çï¼æ»è§+详æ
ï¼(æ¨è) - 1å¼ æ»è§å¾ + Nå¼ è¯¦æ
å¾
- ä»
æ»è§ - åªçæ1å¼ æ»è§å¾
- ä»
详æ
- åªçæNå¼ è¯¦æ
å¾
é®é¢5ï¼æ°é»æ°éï¼å¦æè¶ è¿10æ¡ï¼
æ¥æ¥å
±æXXæ¡æ°é»ï¼å¦ä½å¤çï¼
- å
¨é¨çæ
- ç²¾é10æ¡ - èªå¨æéæéè¦ç
- ç²¾é5æ¡ - åªå头æ¡
6.2 å 载并使ç¨é£æ ¼æ¨¡æ¿
æ¥éª¤1ï¼è¯»åæ¨¡æ¿æä»¶
{prompts_dir}/å¾ççæé£æ ¼/AIæ°é»æ©æ¥é£æ ¼/{飿 ¼å}.md
æ¥éª¤2ï¼æå”宿´æç¤ºè¯æ¨¡æ¿”
æ¯ä¸ªé£æ ¼æä»¶é½å
å« ## 宿´æç¤ºè¯æ¨¡æ¿ 段è½ï¼æåå
¶ä¸çæç¤ºè¯ã
æ¥éª¤3ï¼æ¿æ¢åé
| åé | æ¿æ¢å 容 | ç¤ºä¾ |
|---|---|---|
{æ¥æ} |
æ¥æ¥æ¥æ | 2026å¹´01æ23æ¥ |
{N} |
æ°é»æ¡æ° | 25 |
{æ°é»å表} |
ç¼å·+æ é¢å表 | 1. ChatGPT Atlasæ´æ°… |
æ¥éª¤4ï¼çææ»è§å¾
ç¨æ¿æ¢åçæç¤ºè¯è°ç¨ image-serviceï¼
python .opencode/skills/image-service/scripts/text_to_image.py \
"{æ¿æ¢åéåç宿´æç¤ºè¯}" -r 16:9 -o "assets/video/{æ¥æ}/00_overview.png"
æ¥éª¤5ï¼çæè¯¦æ å¾
æ¯æ¡æ°é»åç¬çæï¼æç¤ºè¯ç»æï¼
AIæ°é»è¯¦æ
é
å¾ - {飿 ¼å}
ãæ°é»æ é¢ã{æ é¢}
ãæ°é»è¦ç¹ã
- {è¦ç¹1}
- {è¦ç¹2}
- {è¦ç¹3}
ãè§è§è¦æ±ã
- 沿ç¨{飿 ¼å}çè§è§é£æ ¼
- ä¸å¿çªåºæ°é»ä¸»é¢ç3D/æå¹³åæå¾
- æ é¢å¤§åæ¸
æ°ï¼è¦ç¹ç¨å¾æ åå¡çå±ç¤º
- åºé¨æ°´å°ï¼{your_watermark}
è¾åºå°ºå¯¸ï¼2560x1440 横ç 16:9
6.3 è§é¢çææµç¨
ç®å½ç»æ
assets/video/{YYYY-MM-DD}/
âââ 00_overview.png # æ»è§å¾
âââ 01_xxx.png # 详æ
å¾1
âââ 02_xxx.png # 详æ
å¾2
âââ ...
âââ audio/
â âââ 00_overview.mp3 # æ»è§é
é³
â âââ 01.mp3 # 详æ
é
é³1
â âââ ...
âââ video.yaml # åæé
ç½®
âââ {æ¥æ}_ai_news.mp4 # æç»è§é¢
çæå½ä»¤
# 1. å建ç®å½
mkdir -p "assets/video/{æ¥æ}/audio"
# 2. å¹¶åçæé
å¾ï¼ä½¿ç¨ text_to_imageï¼
python .opencode/skills/image-service/scripts/text_to_image.py \
"{飿 ¼æç¤ºè¯}" -r 16:9 -o "assets/video/{æ¥æ}/00_overview.png"
# 3. å¹¶åçæé
é³
python .opencode/skills/video-creator/scripts/tts_generator.py \
--text "{é
鳿æ¬}" \
--voice zh-CN-YunyangNeural \
--output "assets/video/{æ¥æ}/audio/XX.mp3"
# 4. åæè§é¢
python .opencode/skills/video-creator/scripts/video_maker.py \
assets/video/{æ¥æ}/video.yaml
6.4 é é³è§è
| åºæ¯ | ææ¬æ¨¡æ¿ |
|---|---|
| æ»è§ | “AIæ©æ¥ï¼{æ¥æ}ãä»å¤©å ±æ{N}æ¡AIè¡ä¸éç£ æ°é»ï¼è®©æä»¬ä¸èµ·æ¥ççï¼” |
| 详æ | “第Xæ¡ï¼{æ é¢}ã{æè¦}” |
| ç»å°¾ | æå䏿¡è¿½å “以ä¸å°±æ¯ä»å¤©çAIæ©æ¥ï¼æè°¢æ¶çï¼” |
é³è²éæ©ï¼
zh-CN-YunyangNeural– ç·å£°ï¼æ°é»ææ¥ï¼æ¨èï¼zh-CN-YunxiNeural– ç·å£°ï¼é³å 活泼zh-CN-XiaoxiaoNeural– å¥³å£°ï¼æ¸©æèªç¶
6.5 è§é¢é ç½®æ¨¡æ¿ (video.yaml)
output: {YYYY-MM-DD}_ai_news.mp4
scenes:
- image: 00_overview.png
audio: audio/00_overview.mp3
- image: 01_xxx.png
audio: audio/01.mp3
# ... 便¬¡ååºææåºæ¯
6.6 宿åè¾åº
â
è§é¢çæå®æï¼
ð ä½ç½®ï¼assets/video/{æ¥æ}/{æ¥æ}_ai_news.mp4
â±ï¸ æ¶é¿ï¼XåXç§
ð¬ åºæ¯ï¼X个ï¼1æ»è§ + X详æ
ï¼
ð¨ 飿 ¼ï¼{éæ©ç飿 ¼}
æ¯å¦æå¼é¢è§ï¼
6.7 注æäºé¡¹
- å¹¶åçæï¼é å¾åé é³é½è¦å¹¶åï¼æåæç
- æ°´å°ï¼ææé å¾åºé¨å¿ é¡»æ·»å æ°´å°
- çå°¾ï¼è§é¢èªå¨æ¼æ¥éç¨çå°¾
- BGMï¼èªå¨æ·»å ç§æé£èæ¯é³ä¹
- æ¯ä¾ï¼ææé å¾ä½¿ç¨ 16:9 横ç