API 参考

Feeds (RSS)

订阅 RSS/Atom feed,获取条目,并将文章保存到笔记。支持 OPML 导入/导出。

类型定义

bash
type Feed {
  id: ID!
  url: String!                # RSS/Atom URL
  name: String!               # display name (defaults to feed title)
  fetchContent: Boolean!      # when true, the server fetches the full article body
  updatedAt: String!
}

type FeedCount {
  feedId: ID!
  count: Int!                 # total entries
  unreadCount: Int!
}

type FeedEntry {
  id: ID!
  feedId: ID!
  title: String!
  description: String!        # short summary
  content: String!            # full article body (may be empty until fetched)
  url: String!                # canonical article URL
  publishedAt: String!        # ISO 8601
  read: Boolean!
  favorite: Boolean!
  tags: [Tag!]!
}

操作

query

feeds

列出所有已订阅的 feed。

bash
query GetFeeds {
  feeds { id url name fetchContent updatedAt }
}
query

feedsCount

每个 feed 的总条目数和未读条目数。

bash
query GetFeedsCount {
  feedsCount { feedId count unreadCount }
}
query

feedEntries

搜索 feed 条目(标题 + 描述)。查询留空可列出全部。

bash
query GetFeedEntries($offset: Int!, $limit: Int!, $query: String!) {
  feedEntries(offset: $offset, limit: $limit, query: $query) {
    id feedId title description content url publishedAt read favorite
    tags { id name }
  }
}
query

feedEntryCount

统计匹配查询的 feed 条目数量。

bash
query GetFeedEntryCount($query: String!) {
  feedEntryCount(query: $query)
}
query

feedEntry

按 ID 获取单个 feed 条目。

bash
query GetFeedEntry($id: ID!) {
  feedEntry(id: $id) { id feedId title description content url publishedAt read favorite }
}
mutation

createFeed

订阅新的 feed。服务器抓取 RSS 频道以填充名称,然后启动一次同步。

bash
mutation CreateFeed($url: String!, $fetchContent: Boolean!) {
  createFeed(url: $url, fetchContent: $fetchContent) { id url name fetchContent updatedAt }
}
mutation

updateFeed

更新 feed 的显示名称或 fetchContent 标志。

bash
mutation UpdateFeed($id: ID!, $name: String!, $fetchContent: Boolean!) {
  updateFeed(id: $id, name: $name, fetchContent: $fetchContent) { id url name fetchContent updatedAt }
}
mutation

deleteFeed

取消订阅 feed 并删除其所有条目(及其标签关系)。

bash
mutation DeleteFeed($id: ID!) {
  deleteFeed(id: $id)
}
mutation

syncFeeds

触发一次 feed 同步 worker。传入 id 可同步单个 feed;传入 null 或空可同步全部。

bash
mutation SyncFeeds($id: ID) {
  syncFeeds(id: $id)
}
mutation

syncFeedEntryContent

Fetch the full article body for a single feed entry. Returns the updated entry.

bash
mutation SyncFeedEntryContent($id: ID!) {
  syncFeedEntryContent(id: $id) { id content }
}
mutation

deleteFeedEntries

删除匹配查询的 feed 条目(及其标签关系)。

bash
mutation DeleteFeedEntries($query: String!) {
  deleteFeedEntries(query: $query)
}
mutation

importFeeds

将 OPML 文档(作为字符串)导入 feed 数据库。

bash
mutation ImportFeeds($content: String!) {
  importFeeds(content: $content)
}
mutation

exportFeeds

将所有已订阅的 feed 导出为 OPML 字符串。

bash
mutation ExportFeeds {
  exportFeeds
}