Miniflux Skill
Manage Miniflux - Modern minimalist feed reader via REST API.
Use for listing feeds and entries, creating/removing subscriptions, searching articles, managing categories, and marking entries as read/unread.
Setup
This skill requires Python and the Miniflux Python client.
CODEBLOCK0
Configuration
Set the following environment variables:
CODEBLOCK1
To get an API token:
- 1. Log in to your Miniflux instance
- Go to Settings > API Keys
- Click "Create a new API key"
- Copy the token and set it in MINIFLUX_TOKEN
Usage
CLI Wrapper
CODEBLOCK2
Commands Reference
| Command | Description |
|---|
| INLINECODE0 | List all feeds |
| INLINECODE1 |
List all categories |
|
entries | List entries with filters (status, search, limit, etc.) |
|
entry | Get a specific entry by ID |
|
create-feed | Create a new feed subscription |
|
update-feed | Update an existing feed |
|
delete-feed | Delete a feed |
|
refresh-all | Refresh all feeds |
|
refresh-feed | Refresh a specific feed |
|
mark-read | Mark specific entries as read |
|
mark-unread | Mark specific entries as unread |
|
mark-feed-read | Mark all entries of a feed as read |
|
toggle-bookmark | Toggle bookmark/star status of an entry |
|
discover | Discover subscriptions from a URL |
|
counters | Get unread/read counters per feed |
|
me | Get current user info |
|
create-category | Create a new category |
|
delete-category | Delete a category |
Filters for Entries
When using the entries command, you can filter by:
- -
--status: Entry status (unread, read, or removed) - INLINECODE20 : Number of entries to return (default: 100)
- INLINECODE21 : Number of entries to skip
- INLINECODE22 : Sort direction (asc or desc)
- INLINECODE23 : Search query string
- INLINECODE24 : Filter by category ID
- INLINECODE25 : Filter by feed ID
- INLINECODE26 : Filter starred entries (true/false)
- INLINECODE27 : Unix timestamp for entries before this time
- INLINECODE28 : Unix timestamp for entries after this time
Examples
CODEBLOCK3
API Endpoints Supported
- -
/v1/feeds - List feeds - INLINECODE30 - Get feed details
- INLINECODE31 - Get feed entries
- INLINECODE32 - Refresh feed
- INLINECODE33 - Mark feed entries as read
- INLINECODE34 - List categories
- INLINECODE35 - Get category entries
- INLINECODE36 - List entries
- INLINECODE37 - Get entry
- INLINECODE38 - Toggle bookmark
- INLINECODE39 - Refresh all feeds
- INLINECODE40 - Discover subscriptions
- INLINECODE41 - Get counters
- INLINECODE42 - Current user info
Error Handling
The script will exit with error code 1 on API errors and display the error message from Miniflux.
Dependencies
- - Python 3.8+
- Miniflux Python client (
uv pip install miniflux)
Documentation
Full API documentation: https://miniflux.app/docs/api.html
Miniflux 技能
通过 REST API 管理 Miniflux——现代化极简主义 RSS 阅读器。
用于列出订阅源和条目、创建/删除订阅、搜索文章、管理分类以及将条目标记为已读/未读。
设置
此技能需要 Python 和 Miniflux Python 客户端。
bash
安装 miniflux Python 包
uv pip install miniflux
配置
设置以下环境变量:
bash
export MINIFLUX_URL=https://your-miniflux-instance.com
export MINIFLUX_TOKEN=your-api-token-here
获取 API 令牌:
- 1. 登录您的 Miniflux 实例
- 进入 设置 > API 密钥
- 点击创建新的 API 密钥
- 复制令牌并设置到 MINIFLUX_TOKEN 中
使用方法
CLI 封装
bash
列出所有订阅源
bash miniflux.sh feeds
列出分类
bash miniflux.sh categories
获取未读条目
bash miniflux.sh entries --status unread
搜索条目
bash miniflux.sh entries --search kubernetes
创建新订阅源
bash miniflux.sh create-feed --url https://example.com/feed.xml --category 1
刷新所有订阅源
bash miniflux.sh refresh-all
将条目标记为已读
bash miniflux.sh mark-read --entry-ids 123,456
将订阅源标记为已读
bash miniflux.sh mark-feed-read --feed-id 42
切换书签/星标
bash miniflux.sh toggle-bookmark --entry-id 123
从网站发现订阅
bash miniflux.sh discover --url https://example.org
删除订阅源
bash miniflux.sh delete-feed --feed-id 42
获取订阅源详情
bash miniflux.sh feed --feed-id 42
获取计数器(未读/已读)
bash miniflux.sh counters
获取当前用户信息
bash miniflux.sh me
获取特定条目
bash miniflux.sh entry --entry-id 123
创建分类
bash miniflux.sh create-category --title 科技新闻
删除分类
bash miniflux.sh delete-category --category-id 5
更新订阅源
bash miniflux.sh update-feed --feed-id 42 --title 新标题 --category-id 3
命令参考
| 命令 | 描述 |
|---|
| feeds | 列出所有订阅源 |
| categories |
列出所有分类 |
| entries | 使用筛选条件列出条目(状态、搜索、数量等) |
| entry | 按 ID 获取特定条目 |
| create-feed | 创建新的订阅源订阅 |
| update-feed | 更新现有订阅源 |
| delete-feed | 删除订阅源 |
| refresh-all | 刷新所有订阅源 |
| refresh-feed | 刷新特定订阅源 |
| mark-read | 将特定条目标记为已读 |
| mark-unread | 将特定条目标记为未读 |
| mark-feed-read | 将订阅源的所有条目标记为已读 |
| toggle-bookmark | 切换条目的书签/星标状态 |
| discover | 从 URL 发现订阅 |
| counters | 获取每个订阅源的未读/已读计数器 |
| me | 获取当前用户信息 |
| create-category | 创建新分类 |
| delete-category | 删除分类 |
条目筛选条件
使用 entries 命令时,可以按以下条件筛选:
- - --status:条目状态(unread、read 或 removed)
- --limit:返回的条目数量(默认:100)
- --offset:跳过的条目数量
- --direction:排序方向(asc 或 desc)
- --search:搜索查询字符串
- --category-id:按分类 ID 筛选
- --feed-id:按订阅源 ID 筛选
- --starred:筛选星标条目(true/false)
- --before:此时间之前的条目的 Unix 时间戳
- --after:此时间之后的条目的 Unix 时间戳
示例
bash
获取最后 10 条未读条目
bash miniflux.sh entries --status unread --limit 10
搜索 Kubernetes 文章
bash miniflux.sh entries --search kubernetes --limit 20
获取特定订阅源的条目
bash miniflux.sh entries --feed-id 42 --limit 15
获取星标条目
bash miniflux.sh entries --starred true
创建启用爬虫的订阅源
bash miniflux.sh create-feed --url https://techcrunch.com/feed/ --category 1 --crawler true
从博客发现订阅源
bash miniflux.sh discover --url https://example.com
支持的 API 端点
- - /v1/feeds - 列出订阅源
- /v1/feeds/{id} - 获取订阅源详情
- /v1/feeds/{id}/entries - 获取订阅源条目
- /v1/feeds/{id}/refresh - 刷新订阅源
- /v1/feeds/{id}/mark-all-as-read - 将订阅源条目标记为已读
- /v1/categories - 列出分类
- /v1/categories/{id}/entries - 获取分类条目
- /v1/entries - 列出条目
- /v1/entries/{id} - 获取条目
- /v1/entries/{id}/bookmark - 切换书签
- /v1/feeds/refresh - 刷新所有订阅源
- /v1/discover - 发现订阅
- /v1/feeds/counters - 获取计数器
- /v1/me - 当前用户信息
错误处理
脚本在 API 错误时将退出并返回错误代码 1,并显示来自 Miniflux 的错误消息。
依赖项
- - Python 3.8+
- Miniflux Python 客户端(uv pip install miniflux)
文档
完整 API 文档:https://miniflux.app/docs/api.html