首页
看点啥
插画图片
首页 科技看点 新闻摘要:自动 AI 新闻简报与语音合成 - Openclaw Skills

新闻摘要:自动 AI 新闻简报与语音合成 - Openclaw Skills

2026-08-18 0

下载入口:https://github.com/openclaw/skills/tree/main/skills/joargp/news-summary

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install news-summary

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 news-summary。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

什么是 新闻摘要?

新闻摘要技能是 Openclaw Skills 生态系统中一个强大的工具,专为需要简洁、平衡的新闻更新的用户设计。通过轮询来自 BBC、路透社和 NPR 等来源的受信任国际 RSS 提要,该技能将复杂的全球事件合成易于处理的简报。通过筛选世界z治、商业和技术领域的顶级故事,该技能有助于弥合信息过载与可行情报之间的差距。

它专为灵活性而构建,支持基于文本的摘要和高质量的语音合成。用户可以利用此技能保持知情,而无需手动浏览多个网站,确保由开源 Openclaw Skills 框架支持的精简信息流。

新闻摘要 应用场景

新闻摘要 工作原理
  1. 该技能启动对来自国际新闻机构的多个 RSS 提要 URL 的抓取请求。
  2. 原始 XML 内容通过基于 CLI 的解析脚本处理,以提取相关的标题和描述。
  3. 头条新闻被分类为特定板块,如世界、商业和技术。
  4. AI 驱动的总结步骤将内容压缩为 5-8 条顶级故事。
  5. 如果有要求,摘要将发送到 OpenAI TTS API 以生成高保真音频消息。

新闻摘要 配置指南

要将此技能集成到您的 Openclaw Skills 设置中,请按以下步骤操作:

  1. 确保您已安装 curl 和基础 shell 工具。
  2. 对于语音摘要,设置您的 OpenAI API 密钥环境变量:
export OPENAI_API_KEY='your_key_here'
  1. 在本地测试提要提取:
curl -s "https://feeds.bbci.co.uk/news/world/rss.xml" | grep -E "|<description>" | sed 's/<[^>]*>//g' | head -30
</CODE></PRE>
<H2>新闻摘要 数据架构与分类体系</H2>


<TABLE>
<THEAD>
<TR>
<TH align=left>组件</TH>
<TH align=left>详情</TH></TR></THEAD>
<TBODY>
<TR>
<TD align=left>数据源</TD>
<TD align=left>BBC, Reuters, NPR, Al Jazeera RSS 提要</TD></TR>
<TR>
<TD align=left>输出格式</TD>
<TD align=left>Markdown 文本摘要和 MP3 音频文件</TD></TR>
<TR>
<TD align=left>元数据</TD>
<TD align=left>来源归属、类别标签和时间戳</TD></TR>
<TR>
<TD align=left>语音模型</TD>
<TD align=left>OpenAI tts-1-hd 搭配 onyx 语音配置文件</TD></TR></TBODY></TABLE>
<PRE><CODE class=language-yaml>name: news-summary
description: This skill should be used when the user asks for news updates, daily briefings, or what's happening in the world. Fetches news from trusted international RSS feeds and can create voice summaries.
</CODE></PRE>
<H2 id=news-summary>News Summary</H2>
<H2 id=overview>Overview</H2>
<P>Fetch and summarize news from trusted international sources via RSS feeds.</P>
<H2 id=rss-feeds>RSS Feeds</H2>
<H3 id=bbc-primary>BBC (Primary)</H3><PRE><CODE class=language-bash># World news
curl -s "https://feeds.bbci.co.uk/news/world/rss.xml"

# Top stories
curl -s "https://feeds.bbci.co.uk/news/rss.xml"

# Business
curl -s "https://feeds.bbci.co.uk/news/business/rss.xml"

# Technology
curl -s "https://feeds.bbci.co.uk/news/technology/rss.xml"
</CODE></PRE>
<H3 id=reuters>Reuters</H3><PRE><CODE class=language-bash># World news
curl -s "https://www.reutersagency.com/feed/?best-regions=world&post_type=best"
</CODE></PRE>
<H3 id=npr-us-perspective>NPR (US perspective)</H3><PRE><CODE class=language-bash>curl -s "https://feeds.npr.org/1001/rss.xml"
</CODE></PRE>
<H3 id=al-jazeera-global-south-perspective>Al Jazeera (Global South perspective)</H3><PRE><CODE class=language-bash>curl -s "https://www.aljazeera.com/xml/rss/all.xml"
</CODE></PRE>
<H2 id=parse-rss>Parse RSS</H2>
<P>Extract titles and descriptions:</P><PRE><CODE class=language-bash>curl -s "https://feeds.bbci.co.uk/news/world/rss.xml" | \r
  grep -E "<title>|<description>" | \r
  sed 's/<[^>]*>//g' | \r
  sed 's/^[ 	]*//' | \r
  head -30
</CODE></PRE>
<H2 id=workflow>Workflow</H2>
<H3 id=text-summary>Text summary</H3>
<OL>
<LI>Fetch BBC world headlines</LI>
<LI>Optionally supplement with Reuters/NPR</LI>
<LI>Summarize key stories</LI>
<LI>Group by region or topic</LI></OL>
<H3 id=voice-summary>Voice summary</H3>
<OL>
<LI>Create text summary</LI>
<LI>Generate voice with OpenAI TTS</LI>
<LI>Send as audio message</LI></OL><PRE><CODE class=language-bash>curl -s https://api.openai.com/v1/audio/speech \r
  -H "Authorization: Bearer $OPENAI_API_KEY" \r
  -H "Content-Type: application/json" \r
  -d '{
    "model": "tts-1-hd",
    "input": "<news summary text>",
    "voice": "onyx",
    "speed": 0.95
  }' \r
  --output /tmp/news.mp3
</CODE></PRE>
<H2 id=example-output-format>Example Output Format</H2><PRE><CODE>?? News Summary [date]

?? WORLD
- [headline 1]
- [headline 2]

?? BUSINESS
- [headline 1]

?? TECH
- [headline 1]
</CODE></PRE>
<H2 id=best-practices>Best Practices</H2>
<UL>
<LI>Keep summaries concise (5-8 top stories)</LI>
<LI>Prioritize breaking news and major events</LI>
<LI>For voice: ~2 minutes max</LI>
<LI>Balance perspectives (Western + Global South)</LI>
<LI>Cite source if asked</LI></UL>
            </div>
            <!--  -->
    <div class="content_btn_item clearfix">
        <span>喜欢(0)</span>
    </div>
    <!--  -->
    <div class="content_page">
                            <a class="img_box" href="/news/3452493.html">
                <div class="bg">
                    <p class="page">上一篇</p>
                    <p class="info text_overflow_2">Slack AI 智能体集成:自动化消息与置顶 - Openclaw Skills</p>
                </div>
                                    <img src="/mob/images/404.png">
                            </a>
                                    <a class="img_box" href="/news/3452495.html">
                <div class="bg">
                    <p class="page">下一篇</p>
                    <p class="info text_overflow_2">凡人修仙传人界篇手游兑换码有哪些 凡人修仙传人界篇手游兑换码分享</p>
                </div>
                                    <img src="https://www.0405.net/uploads/20260817/logo_6a82de66082811.webp" alt="凡人修仙传人界篇手游兑换码有哪些 凡人修仙传人界篇手游兑换码分享">
                            </a>
            </div>
</div>

<!-- 列表 -->
<div style="padding-bottom: 10px;">
    <div class="px15" style="font-weight: bold;font-size: .36rem;padding-top: .3rem;">猜你喜欢</div>
    <ul class="px15 news_box">
                                    <li>
                    <a class="clearfix" href="/news/3466078.html">
                                                    <span class="img_item">
                                <img lazy-src="https://www.0405.net/uploads/20260912/logo_6aa518198a2e91.webp">
                            </span>
                                                <div class="content">
                            <p class="title text_overflow_2">OpnForm:实践指南</p>
                            <p class="text"><span class="icon time">2026-09-12</span> <span class="icon heart">3466078</span></p>
                        </div>
                    </a>
                </li>
                            <li>
                    <a class="clearfix" href="/news/3466074.html">
                                                    <span class="img_item">
                                <img lazy-src="https://www.0405.net/uploads/20260912/logo_6aa51678ac2c11.webp">
                            </span>
                                                <div class="content">
                            <p class="title text_overflow_2">bilingual_book_maker:实践指南</p>
                            <p class="text"><span class="icon time">2026-09-12</span> <span class="icon heart">3466074</span></p>
                        </div>
                    </a>
                </li>
                            <li>
                    <a class="clearfix" href="/news/3466072.html">
                                                    <span class="img_item">
                                <img lazy-src="https://www.0405.net/uploads/20260912/logo_6aa5154d529fe1.webp">
                            </span>
                                                <div class="content">
                            <p class="title text_overflow_2">fvm:实践指南</p>
                            <p class="text"><span class="icon time">2026-09-12</span> <span class="icon heart">3466072</span></p>
                        </div>
                    </a>
                </li>
                            <li>
                    <a class="clearfix" href="/news/3466070.html">
                                                    <span class="img_item">
                                <img lazy-src="https://www.0405.net/uploads/20260912/logo_6aa50a113c8ef1.webp">
                            </span>
                                                <div class="content">
                            <p class="title text_overflow_2">jasp-desktop:实践指南</p>
                            <p class="text"><span class="icon time">2026-09-12</span> <span class="icon heart">3466070</span></p>
                        </div>
                    </a>
                </li>
                            <li>
                    <a class="clearfix" href="/news/3466069.html">
                                                    <span class="img_item">
                                <img lazy-src="https://www.0405.net/uploads/20260912/logo_6aa50a0dac3c21.webp">
                            </span>
                                                <div class="content">
                            <p class="title text_overflow_2">base-llm:实践指南</p>
                            <p class="text"><span class="icon time">2026-09-12</span> <span class="icon heart">3466069</span></p>
                        </div>
                    </a>
                </li>
                        </ul>
</div>

<!-- 底部 -->
<div class="footer_box">
    <p>Copyright © 2022 漫资讯 · Powered By WordPress</p>
</div>

<div class="back_top" id="back_top"><a href="javascript:;"></a></div>

</body>
<script src="/mob/js/jquery.js" type="text/javascript" charset="utf-8"></script>
<script src="/mob/js/lazy.js" type="text/javascript" charset="utf-8"></script>
<script src="/mob/js/flexible.js" type="text/javascript" charset="utf-8"></script>
<script src="/mob/js/index.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
        var _paq = window._paq = window._paq || [];
        _paq.push(['trackPageView']);
        _paq.push(['enableLinkTracking']);

        (function() {
            var u="//tongji.zhangwan.net/";
            _paq.push(['setTrackerUrl', u+'matomo.php']);
            _paq.push(['setSiteId', '9']);

            // Add this code below within the Matomo JavaScript tracker code
            // Important: the tracker url includes the /matomo.php

            var secondaryTrackerUrl = u+'matomo.php';
            var secondaryWebsiteId = 27;

            // Also send all of the tracking data to this other Matomo server, in website ID 77

            _paq.push(['addTracker', secondaryTrackerUrl, secondaryWebsiteId]);

            // That's it!

            var d=document,
                g=d.createElement('script'),
                s=d.getElementsByTagName('script')[0];
                g.type='text/javascript';
                g.async=true;
                g.src=u+'matomo.js';
                s.parentNode.insertBefore(g,s);
        })();
</script>     <script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?e9f2069e6989ecb71b4b1c8018eaf5ed";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>   
</html>