How joeseesun/qiaomu-ai-rss works
Qiaomu AI RSS is an Obsidian reading plugin for curated Qiaomu channels, personal feeds, discovery catalogs, and Markdown files in the vault. The main workflow is selecting a channel, loading and searching articles, reading an available original/translation/rewrite, then optionally saving or annotating the article in the vault or Daily Note. The README documents these capabilities; the sampled source confirms selected runtime wiring and image-drop behavior, but does not expose every view-to-service call, so uncertain links are omitted.
Main entry points: view.ts Reader view · main.ts Plugin entry · subscriptions.ts Personal subscriptions · discovery-view.ts Discovery catalog
Components 26
Reading
- Reader view
src/view.ts - Channel selection
src/channel-picker.ts - Article content
src/content.ts - Image cache
src/images.ts - Reading typography
src/fonts.ts
Sources and discovery
- Qiaomu API
src/api.ts - Discovery catalog
src/discovery-view.ts - Discovery data
src/discovery-library.ts - Source catalogs
src/source-catalog.ts - Personal subscriptions
src/subscriptions.ts - Subscription management
src/subscription-ui.ts - Feed parsing
src/feeds.ts - Vault Markdown library
src/personal-library.ts - Vault source access
src/vault-source.ts
Vault workflows
- Daily Note capture
src/daily-note.ts - Excerpt capture
src/excerpt.ts - Image drag and drop
src/image-drag.ts - Markdown export
src/vault-export.ts - PDF export
src/desktop-export.ts
Plugin runtime
- Plugin entry
src/main.ts - Plugin state
src/model.ts - Agent context bridge
src/agent-bridge.ts - Context protocol
src/qiaomu-context.ts
Other components
- Obsidian user
- Obsidian
- Qiaomu Reader service
Connections 28
- Obsidian user → Obsidian: uses
- Obsidian → Plugin entry: loads plugin
- Plugin entry → Reader view: opens reader
- Obsidian user → Channel selection: selects channel
- Channel selection → Reader view: changes channel
- Reader view → Qiaomu API: requests articles
- Qiaomu API → Qiaomu Reader service: fetches content
- Reader view → Article content: renders article
- Article content → Image cache: loads images
- Obsidian user → Discovery catalog: explores sources
- Discovery catalog → Discovery data: searches catalog
- Discovery data → Source catalogs: uses catalog data
- Discovery catalog → Personal subscriptions: adds feed
- Subscription management → Personal subscriptions: manages feeds
- Personal subscriptions → Feed parsing: parses feeds
- Reader view → Personal subscriptions: loads personal feeds
- Reader view → Vault Markdown library: reads local Markdown
- Vault Markdown library → Vault source access: resolves vault files
- Plugin entry → Plugin state: persists settings
- Reader view → Daily Note capture: adds article links
- Reader view → Excerpt capture: captures selection
- Image drag and drop → Image cache: loads image bytes
- Image drag and drop → Obsidian: writes attachment
- Reader view → Markdown export: exports Markdown
- Reader view → PDF export: exports PDF
- Plugin entry → Agent context bridge: registers context
- Agent context bridge → Context protocol: provides snapshots
- Reading typography → Reader view: styles reading