news 2026/8/7 7:43:37

dify实现rss新闻订阅

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
dify实现rss新闻订阅

创作灵感

如果你只想了解具体实现步骤,可以直接跳过这部分背景介绍,直接查看后面的实现环节。

最近尝试使用了 Dify,想探索能否自己搭建一个工具流。虽然效果可能不如专业的订阅工具,但可以作为一次实践和探索。因此,我构建了这个使用 Dify 对话获取新闻的流程,欢迎对 Dify 玩法感兴趣的朋友一起交流。

最初我参考了他人编写的代码,但在运行过程中发现其中存在一些函数语法错误,于是决定重新搭建整个流程。

环境

Dify + Docker + Ollama

Ollama 本地模型并非必需,可以省略大模型解读步骤,直接输出结果,或者替换为线上模型。最后我会提供原始文件,只要 Dify 能够正常运行,流程即可顺利执行。

效果

步骤

  1. 创建一个新空白应用
  2. 设置用户输入
    点击第一步,编辑字段,选择下拉,用户下拉选项选择哪个平台的新闻
  3. 新建条件分支
    点击用户输入的+号。根据用户的选项做不同处理
  4. 添加rss路由
    点击条件分支的加号,选择工具,找到rssHub订阅(这个在首页-集成-工具里面安装)


    填写顶级域名(到.com),再填地址后面的(/../..),获取消息条数

    运行看下能不能请求到数据,返回格式基本长这样(如果不长这样也没关系,先拿数据后面再说)

    同理在条件分类的else第二个+添加另一个rss订阅,最好改个名字区分一下,点击编辑框自定义路由,填写新名字
    联合早报rss地址#https://plink.anyfeeder.com
    /zaobao/realtime/china

  5. 代码执行
    目的将请求到的数据通过python或JavaScript解析成markdown格式

    添加两个变量,代表接收到的两个rss订阅数据,格式选择json,填写python代码,输出变量名字填写下,不填使用默认也可以,后面基本能分辨

    python怎么写,将路由执行后的数据复制出来,到Qwen或其他大模型问答里面,输入:帮我编写python函数,这是一段rss新闻数据示例,要求将这段json数据使用python语法转化为markdown形式输出。
    这是一个变量的情况,也就是一个rss数据情况,那多个怎么办,需要做判断,再加上有几个数据例如5个rss数据,那就写:帮我编写python函数,有5个变量传入,每个变量是一段rss新闻数据,要求判断这5个变量是否有值,将有值的数据使用python语法转化为markdown形式输出。
    我这写2个rss数据为例,多个你就在输入变量那里添加多个变量,arg1,arg2,agr3...,并且改下python代码
    <pre>

    import json from datetime import datetime

    def main(arg1=None, arg2=None): # 判断参数1是否有效(不为None) if arg1 is not None: data = arg1 # 参数1无效,判断参数2 elif arg2 is not None: data = arg2 # 都无效,赋值空数组 else: data = []

    # 1. 若传入字符串,尝试解析为 JSON if isinstance(data, str): try: data = json.loads(data) except json.JSONDecodeError: raise ValueError("输入字符串不是有效的 JSON") # 2. 兼容字典或列表 if isinstance(data, dict): sections = data.get("json", []) elif isinstance(data, list): sections = data else: raise TypeError("输入必须是字典、列表或 JSON 字符串") markdown_lines = [] markdown_lines.append("# 📰 即时新闻精选\n") markdown_lines.append("&gt; 【免责声明】本平台 / 程序仅通过公开 RSS 订阅协议抓取第三方公开资讯标题、摘要、简介,全文版权归属原文作者与发布平台。\n1.所有内容仅用于个人阅览、信息整理、非商用学习参考;\n2.每条内容均标注来源出处与原文直达链接,不私自篡改、转载全文;\n3.若权利人发现内容不当展示,可联系我方,收到通知后 24 小时内下架对应内容。\n我方不享有任何第三方内容著作权,不承担内容侵权连带责任。\n") markdown_lines.append("---\n") for section in sections: section_title = section.get("title", "新闻汇总") markdown_lines.append(f"## 🔹 {section_title}\n") markdown_lines.append(f"*数据源:{section.get('url', '')}*\n") markdown_lines.append("---\n") entries = section.get("entries", []) for idx, entry in enumerate(entries, 1): title = entry.get("title", "无标题") link = entry.get("link", "#") published = entry.get("published", "") content = entry.get("content", "") try: dt = datetime.strptime(published, "%Y-%m-%d %H:%M:%S") time_str = dt.strftime("%Y年%m月%d日 %H:%M") except: time_str = published markdown_lines.append(f"### {idx}. [{title}]({link})\n") markdown_lines.append(f"📅 **发布时间:** {time_str}\n") if content: clean_content = " ".join(content.split()) summary = clean_content[:200] + "..." if len(clean_content) &gt; 200 else clean_content markdown_lines.append(f"📝 {summary}\n") else: markdown_lines.append("📝 *(无内容摘要)*\n") markdown_lines.append("---\n") markdown_lines.append("\n✨ *以上信息由联合早报 RSS 提供,仅供参考。* ✨") markdown_output = "\n".join(markdown_lines) # 3. 返回字典(根据要求可修改键名) return {"markdown": markdown_output}</code></pre>

    路由执行的数据格式在这里,交给大模型帮你写python转化markdown代码

  6. 大模型解读
    对数据进行分析,(可以忽略,选择直接回复也可以)


    提示词如下(第3步内容):
    你是结构化新闻信息提取助手 输入素材为《即时新闻》RSS 新闻合集,需要逐条拆解新闻,只需对.markdown每项内容进行解读,解读内容50-80字,并将解读内容添加到每项的键:"解读"中 输出时原markdown格式保留,不要省略每项的内容,不要删减内容 最后统一输出markdown格式;

    试运行看下推理效果

  7. 直接回复
    最后输出。
  8. 预览效果
    随便输入内容,发送

    如果格式是这样就基本可以发布了

    有用的话帮我点个赞谢谢

    end
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 7:42:38

面试Leetcode - Graph

图&#xff08;Graph&#xff09; 图是 点&#xff08;Vertex / Node&#xff09;和 边&#xff08;Edge&#xff09;组成的结构 树其实是图的特例 树 连通且无环的无向图。 存储 邻接表 * graph { 0: [1, 2], 1: [0, 3], 2: [0], 3: [1] } 含义&#xff1a;0 与 1、2 相…

作者头像 李华
网站建设 2026/8/7 7:42:18

2026最新视频重点整理工具口碑推荐 | 经过筛选的实用选择建议

2026年经过筛选的视频重点整理实用工具中&#xff0c;听脑在录音类视频的重点提取整理场景适配度靠前&#xff0c;其余工具各有对应适配场景。适合需要整理会议、访谈、课堂类视频重点的效率工具爱好者&#xff0c;核心依据是其覆盖从转写到重点提取、待办梳理的完整流程。不适…

作者头像 李华
网站建设 2026/8/7 7:40:58

寻找靠谱的阜南网站建设公司指南:如何避免踩坑并打造高转化官网

在这个互联网早已渗透进我们生活方方面面的时代,无论是县城的特产店、本地的装修公司,还是提供专业服务的律师事务所,大家都明白一个理儿:手里没个像样的网站,出门都不好意思跟人谈数字化转型。特别是对于咱们阜南的企业老板或者创业新手来说,想在本地乃至更广阔的市场里…

作者头像 李华
网站建设 2026/8/7 7:38:52

分式函数值域求解全攻略:四大核心方法与实战避坑指南

1. 从一道“送分题”说起&#xff1a;为什么值域总让人头疼&#xff1f; 很多同学在高中阶段&#xff0c;一看到求函数值域&#xff0c;尤其是分式函数的值域&#xff0c;心里就开始打鼓。课本上的例题看起来步骤清晰&#xff0c;但一到自己做题&#xff0c;尤其是遇到稍微复杂…

作者头像 李华