agent2rssAgent2RSS 客户端,管理 RSS 频道并推送内容。触发:用户提到 Agent2RSS/RSS 频道/推送文章/上传文章/创建频道/设置默认频道/幂等性。
Install via ClawdBot CLI:
clawdbot install yaotutu/agent2rss帮助用户通过 Agent2RSS 服务创建和管理 RSS 频道,推送内容到 RSS Feed。
重要:每次执行任务前,必须先检查并初始化配置。
config.jsonhttp://agent2rss.yaotutu.top:8765(永远不使用 localhost)
curl -X POST "http://agent2rss.yaotutu.top:8765/api/channels" \
-H "Content-Type: application/json" \
-d '{"name":"频道名","description":"AI 生成的内容"}'
{
"serverUrl": "http://agent2rss.yaotutu.top:8765",
"defaultChannelId": "返回的频道ID",
"channels": [{
"id": "返回的频道ID",
"name": "频道名",
"token": "返回的Token",
"postsUrl": "http://agent2rss.yaotutu.top:8765/api/channels/{id}/posts",
"rssUrl": "http://agent2rss.yaotutu.top:8765/channels/{id}/rss.xml"
}]
}
{
"serverUrl": "http://agent2rss.yaotutu.top:8765",
"defaultChannelId": "default",
"channels": [
{
"id": "default",
"name": "默认频道",
"token": "ch_xxx...",
"postsUrl": "http://agent2rss.yaotutu.top:8765/api/channels/default/posts",
"rssUrl": "http://agent2rss.yaotutu.top:8765/channels/default/rss.xml"
}
]
}
关键点:
serverUrl 是必填项,不能是 localhost(除非用户明确配置)config.json 中的 serverUrlconfig.json 中的 serverUrlpostsUrl 和 rssUrl 必须基于 serverUrl 构建标准 Bearer Token 认证(必需):
Authorization: Bearer <channel-token>
每个频道有独立的 Token(格式 ch_xxx...),创建频道时生成。
直接在 JSON 请求体中放置 Markdown 内容容易出现转义问题(引号、换行符、反斜杠等)。
强烈推荐使用文件上传方式:
直接上传 Markdown 文件,无需处理 JSON 转义:
curl -X POST {serverUrl}/api/channels/{channelId}/posts/upload \
-H "Authorization: Bearer {token}" \
-F "file=@article.md" \
-F "idempotencyKey=article-001"
优点:
可选字段:
title - 自定义标题tags - 标签(逗号分隔)author - 作者名idempotencyKey - 防止重复发布如果内容简单且已正确转义,可以使用 JSON 方式。但对于包含复杂 Markdown 的内容,请使用文件上传。
curl -X POST {serverUrl}/api/channels \
-H "Content-Type: application/json" \
-d '{
"name": "技术博客",
"description": "分享技术文章"
}'
响应包含频道 ID 和 Token,保存到 config.json。
⚠️ 警告:JSON 方式容易出现转义问题,推荐使用文件上传方式(见上方"推荐的推送方式"章节)。
最简调用(仅内容,标题自动提取):
curl -X POST {postsUrl} \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"content": "# 标题\n\n内容..."
}'
响应示例:
{
"success": true,
"message": "Post created successfully in channel \"xxx\"",
"post": {
"id": "xxx",
"title": "标题",
"channel": "default",
"pubDate": "2024-01-01T00:00:00.000Z"
},
"isNew": true
}
使用 idempotencyKey 防止重复发布:
isNew: true 表示新创建,false 表示已存在示例:
# 第一次请求 - 创建新文章
curl -X POST {postsUrl} \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"content":"# 测试","idempotencyKey":"key1"}'
# 响应: {"success":true,"isNew":true,...}
# 第二次请求 - 返回已存在的文章
curl -X POST {postsUrl} \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"content":"# 测试","idempotencyKey":"key1"}'
# 响应: {"success":true,"isNew":false,...}
config.jsondefaultChannelId 对应的频道serverUrl: 服务器地址token: 从 channels 数组中找到目标频道的 token
curl -X POST "{config.serverUrl}/api/channels/{targetChannelId}/posts/upload" \
-H "Authorization: Bearer {targetChannel.token}" \
-F "file=@article.md" \
-F "idempotencyKey=unique-key"
isNew 字段{config.serverUrl}/channels/{targetChannelId}/rss.xmlconfig.json 读取 serverUrl(如果配置不存在,使用默认值 http://agent2rss.yaotutu.top:8765)
curl -X POST "{config.serverUrl}/api/channels" \
-H "Content-Type: application/json" \
-d '{"name":"频道名","description":"描述"}'
config.json:channels 数组postsUrl 和 rssUrl(基于 serverUrl)defaultChannelId 为新频道{config.serverUrl}/channels/{channelId}/rss.xml修改频道的名称或描述。
需要认证:频道 Token
可更新字段(仅限以下两个):
name - 频道名称description - 频道描述工作流程:
curl -X PUT "{config.serverUrl}/api/channels/{channelId}" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"name":"新名称","description":"新描述"}'
永久删除一个频道及其所有文章。
需要认证:频道 Token
⚠️ 警告:此操作不可撤销,会删除频道的所有文章。
工作流程:
curl -X DELETE "{config.serverUrl}/api/channels/{channelId}" \
-H "Authorization: Bearer {token}"
用户需求:我有多个频道,想发布内容到特定频道
操作步骤:
用户需求:我想把"技术博客"设为默认频道
操作步骤:
用户需求:我想修改频道的名称
操作步骤:
PUT {serverUrl}/api/channels/{channelId} 更新用户需求:我创建了一个测试频道,现在想删除它
操作步骤:
DELETE {serverUrl}/api/channels/{channelId} 删除Authorization 头content详细的 API 调用示例和响应格式见 references/api-examples.md。
Authorization: Bearer 格式Generated Feb 23, 2026
An AI agent that generates daily briefings or summaries from various sources and publishes them as an RSS feed. This allows users to subscribe and receive curated content automatically, ideal for news digest services or personalized learning feeds.
A content creation tool that uses AI to write blog posts and pushes them directly to an RSS feed via this skill. It streamlines publishing workflows for bloggers or small businesses, enabling scheduled updates without manual intervention.
Organizations use this skill to automate internal communications, such as posting project updates or announcements from AI-generated reports to an RSS feed. Team members can subscribe for real-time notifications, enhancing transparency and efficiency.
Educational platforms leverage this skill to publish AI-generated course materials, assignments, or announcements as RSS feeds. Students can subscribe to stay updated on new content, supporting e-learning and remote education initiatives.
Offer a premium tier with advanced features like multiple channels, analytics, or priority support. Users pay a monthly fee for enhanced RSS feed management, targeting businesses or power users who need scalable content distribution.
Provide a free basic plan with limited API calls or channels, and charge for higher usage tiers. This attracts hobbyists and small projects while monetizing larger enterprises that require more frequent content pushes.
License the skill as a white-label service for other platforms or companies to integrate into their own products. This generates revenue through licensing fees or partnerships, appealing to SaaS providers or media companies.
💬 Integration Tip
Always use file upload for Markdown content to avoid JSON escape issues, and ensure config.json is initialized before any API calls to prevent errors.
Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Clau...
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Search and analyze your own session logs (older/parent conversations) using jq.
Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.
Ultimate AI agent memory system for Cursor, Claude, ChatGPT & Copilot. WAL protocol + vector search + git-notes + cloud backup. Never lose context again. Vibe-coding ready.
Headless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection