New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

koishi-plugin-feedluna

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

koishi-plugin-feedluna

RSS一站式平台,支持RSS,格式化,AI处理,工作流面板。

latest
Source
npmnpm
Version
0.0.6
Version published
Maintainers
1
Created
Source

koishi-plugin-feedluna

订阅 RSS 更新并合并推送到指定群聊频道。

在群聊中发送:

feedluna.sub https://example.com/feed.xml

默认情况下,插件首次订阅时只记录当前已有文章,不会立即推送。之后检测到新文章时,会将同一轮轮询中的更新合并后发送到订阅群。可通过 pushInitialItems 在首次订阅后推送最新文章,或通过 pushAllInitialItems 推送订阅源当前返回的所有文章。

查看当前群聊的订阅:

feedluna.list

取消当前群聊中的订阅:

feedluna.unsub https://example.com/feed.xml

feedluna.list 和 feedluna.unsub 也分别支持别名 feedluna.ls 和 feedluna.unsubscribe。

WebUI

启用 Koishi Console 后,侧边栏会出现 FeedLuna RSS 图标。页面提供:

  • 所有订阅的查看、搜索、编辑、取消订阅和监听开关。
  • RSS/Atom/RDF 订阅源的文章预览;预览不会写入订阅记录、改变已读文章或发送消息。
  • 手动配置推送目标:平台名称、机器人 ID、频道 ID、可选群组 ID,以及是否在该频道启用监听。
  • 直接在页面编辑请求设置、推送内容和订阅状态,并通过 Koishi 原生配置重载保存。
  • 管理命名工作流,并为每个订阅选择一个工作流。未选择时使用内置的直通流程。
  • 在线拖动添加模板、文本替换和 ChatLuna 节点;每个工作流固定为单一输入节点、单一输出节点和一条线性处理链。
  • 在输出节点选择纯文本输出,或将上游生成的 HTML/XML 安全渲染为 PNG 图片后发送。
  • 在不发送消息的情况下试运行工作流,预览最终文本、图片和模型调用结果。

WebUI 使用选定机器人的 sendMessage(channelId, content, guildId) 推送。因此机器人 ID 必须对应运行中的机器人,频道 ID 与群组 ID 由管理员按目标平台填写。一个 RSS 订阅源推送到多个目标时,为每个目标分别建立订阅。

群聊命令创建的订阅会自动使用当前会话的平台、机器人、频道和群组信息;首次文章仍发送至输入指令的当前会话。

工作流与 ChatLuna

工作流按每次推送的整批 RSS 更新执行一次。输入节点提供 Feed 名称、Feed 地址、文章数量和已格式化的 RSS 文本;中间节点顺序处理文本;输出节点把最终内容发送至订阅目标。

输出节点默认使用纯文本输出。纯文本会作为 Koishi 文本元素发送,RSS 内容或模型输出中的 <img>、<at> 等标签不会被当作消息元素执行。选择“HTML/XML 转图片”后,FeedLuna 会将上游输出按内置样式排版并截图为 PNG;脚本、样式、表单、外部资源和网络请求会被移除或阻止,单张图片限制为 800 × 8000 像素。

模板和 ChatLuna 提示词支持 {{input}}、{{feedTitle}}、{{feedUrl}} 与 {{itemCount}}。文本替换节点可进行普通替换或使用 g、i、m 标志的正则替换。

ChatLuna 为可选依赖。安装并配置 koishi-plugin-chatluna 后,ChatLuna 节点会列出其已配置的模型,并以 平台/模型 标识保存选择。未安装 ChatLuna 时,模板和文本替换工作流仍可使用,但包含 ChatLuna 节点的工作流会在执行时失败。

HTML/XML 图片输出需要安装并启用 koishi-plugin-puppeteer,并确保运行环境中存在兼容的 Chrome 或 Edge。未启用 Puppeteer 时,纯文本输出仍可正常使用;图片工作流会中止本次投递、在原频道提示错误,并按工作流重试上限保留文章供后续重试。

任一模块失败都会中断本次 RSS 正常推送,并向原订阅频道发送错误提示。文章在达到 maxWorkflowRetries 前不会标记为已读;达到上限后,该批文章会标记为已处理,避免故障工作流持续堆积,后续新文章仍可继续处理。同一阶段的错误提示会限频 30 分钟,终止提示会单独发送。首次订阅会先保存订阅记录,首次推送失败不会取消创建,并采用相同的重试上限。

配置

所有配置项都可在 FeedLuna 侧边栏页面的“插件设置”中调整,也可在 Koishi 控制台的插件配置页面调整,无需手动编辑 koishi.yml。

配置项默认值说明
pollInterval300000RSS 检查间隔,单位为毫秒,最短 10 秒。
requestTimeout30000RSS 请求超时时间,单位为毫秒,最短 1 秒。
userAgent桌面 Chrome User-Agent请求 RSS 时使用的 User-Agent,默认模拟桌面 Chrome 浏览器。
maxXmlEntityExpansions20000单次解析中 XML 实体引用替换最大次数。超过该值的大xml在解析时会被警告。
maxItemsPerUpdate8单次检查合并推送的最大文章数,范围为 1 至 50。
includeSummarytrue是否在推送中包含文章摘要。
maxSummaryLength500单篇摘要的最大字符数;设为 0 时不发送摘要。
pushInitialItemsfalse是否在首次订阅后立即推送最新的一篇文章。
pushAllInitialItemsfalse是否在首次订阅时推送订阅源当前返回的所有历史文章,可能产生大量消息。
maxSeenIds500每个订阅保留的已推送文章 ID 数量,范围为 50 至 5000。
maxWorkflowRetries1工作流投递首次失败后的最大重试次数,范围为 0 至 100;设为 0 时首次失败即终止该批更新。

Keywords

chatbot

FAQs

Package last updated on 24 Aug 2026

Related posts