Skip to content

xhyxhy1/roaming-mode-incremental-reading

 
 

Repository files navigation

📚 Roaming Mode Incremental Reading

An incremental reading plugin powered by intelligent recommendation algorithms, delivering a stress-free "read later" learning experience

🤝 Project Information

💡 Core Philosophy

Incremental reading should be distinguished from flashcards:

  • Flashcards are based on the forgetting curve. The SiYuan flashcard system + FSRS algorithm is already mature. Years of using Anki and SuperMemo show that the "minimum information principle" is crucial for cards.
  • Incremental reading deals with large text blocks, which inherently do not fit the "minimum information principle". Most current solutions still use forgetting curve-based algorithms (like FSRS) for article review, which is not reasonable.

For a long article, it is difficult to use only memory level as the standard for whether it should be recommended for review next time. The real criteria should be multi-dimensional, such as difficulty, progress, importance, urgency, interest, etc.

In short, the core purpose of incremental reading is not to "fight forgetting", but to achieve a stress-free "read later" experience, and ultimately to efficiently learn a large amount of material simultaneously.

🚀 Core Features

  • 🎯 Intelligent Priority Recommendation - Hybrid mechanism combining roulette wheel algorithm and absolute priority order
  • ⚖️ Customizable Metric Weights - Users can define metrics like difficulty, importance, urgency, and set their weights
  • 📊 Visualized Priorities - Strip dot chart clearly shows document priorities, supports direct drag adjustment
  • 📁 Flexible Filtering - Multi-select notebooks and root documents for precise learning scope
  • 📝 Real-time Adjustment - Adjust article metrics in real time during reading, dynamically optimize recommendations
  • 📈 Roamed Document Management - Roamed document list + heatmap, batch adjust priorities, drag to sort
  • 📋 Roaming History Tracking - Record reading history, roaming count, and access time to track progress
  • 🔄 Auto Reset - Optionally auto-reset visited document records each time SiYuan starts

📖 User Guide

  • 📦 Install Plugin - Quick Start
    1. Search for "Roaming Mode Incremental Reading" in the SiYuan plugin marketplace
    2. Click the install button to complete installation
    3. After installation, the plugin icon will appear in the top bar
  • ⚙️ Set Parameters - Custom Metric Weights
    1. Right-click the top bar plugin icon to enter settings
    2. Customize metrics (difficulty, importance, urgency, etc.)
    3. Set weights for each metric
    4. Select notebooks or root documents to include
    5. Set the absolute priority order roaming parameter (0-1)
    6. Choose whether to auto-reset visited document records on SiYuan startup
    7. Click save when done
  • 📁 Filter Settings - Precise Targeting
    1. Click the plugin icon to open the incremental reading panel
    2. Multi-select notebooks for filtering, combine freely
    3. Select root documents for filtering
  • 📊 Adjust Metrics - Dynamic Optimization
    1. Adjust article metrics during reading as needed
    2. Use plus/minus buttons to change metric values
    3. Adjustments instantly affect priority calculation
    4. You can always view roamed documents and all document priorities
  • 🎯 Start Reading - Priority-based Recommendation
    1. If you don't want to read the current article, just "Continue Roaming"
    2. If you want to read, you can read and simply edit, or click "Open Document" to open in a new tab for detailed editing, excerpting, card making, etc.
  • 🔄 Continue Roaming - Intelligent Switching
    1. When you feel tired, encounter difficulties, or want a change
    2. Click "Continue Roaming"
    3. The system will intelligently recommend the next article
    4. Enjoy a stress-free "read later" experience
  • 📋 View History - Track Progress
    1. View roaming history in the roamed document list
    2. See read articles, roaming count, and last access time
  • 📊 Visual Priority Management - Strip Dot Chart
    1. Clearly view all document priorities in the strip dot chart
    2. Drag dots to adjust priorities, related metrics change proportionally
    3. Right-click a dot to open the document in a new tab
    4. Batch adjust priorities in the list
    5. Drag to sort in the list, priority becomes the average of adjacent documents
  • 🎲 Hybrid Recommendation Mechanism - Smart Balance
    1. Set the absolute priority order roaming probability (0-1)
    2. Set to 1: strictly roam in priority order
    3. Set to 0: fully use roulette wheel by priority as weight
    4. Set to decimal: sometimes roam by order, otherwise roulette wheel
    5. In the settings panel, you can batch reset priorities randomly for documents within a specified range

🫧 Support the Author

If Roaming Mode Incremental Reading helps your learning, please consider giving a like or buying a coffee. This encourages the author to keep optimizing and developing more useful features:

Donation QR Code - Core Code and Desktop Developer

Core Code and Desktop Developer
WeChat/Alipay

Donation QR Code - Mobile Developer

Mobile Developer
WeChat/Alipay

🚀 Recent Updates

📅 v3.0.3 Update (2025.9.28)

  • 🆕 New Features
    • 📱 Mobile Layout Optimization: Optimized mobile layout for better mobile user experience
    • 🎯 Floating Button Enhancement: Enhanced floating buttons for smoother operation
    • 📂 Mobile Tab Support: Mobile devices now support direct tab opening for more complete functionality
  • 🐛 Bug Fixes
    • ✏️ Editing Issues Fixed: Fixed editing issues to ensure proper editing functionality

📅 v3.0.2 Update (2025.9.24)

  • 🐛 Bug Fixes
    • 🔄 Duplicate Display Fix: Fixed duplicate display issues

📅 v3.0.1 Update (2025.9.24)

  • 🆕 New Features
    • 🔍 SQL Query Enhancement: Enhanced SQL query filtering functionality, query multiple documents with common statement hints
  • 🐛 Bug Fixes
    • 📱 Mobile Display Fix: Fixed mobile full-screen display issues and font size problems on certain device models

📅 v3.0.0 Update (2025.9.15)

  • 🆕 New Features
    • 📱 Mobile Version: Launched mobile version supporting phones and tablets
    • ⚡ Performance Optimization: Comprehensive plugin performance optimization, improved response speed and stability

📅 v2.3.0 Update (2025.9.14)

  • 🆕 New Features
    • 🔒 Editor Lock Function: Added editor lock functionality with configurable default lock/unlock settings
    • 📋 Root Document Selection: Removed the method of clicking plugin icon after opening document to roam specified documents, replaced with root document selection approach
    • 🌳 Enhanced Document Tree: Enhanced root document filtering functionality using document tree selection while maintaining direct ID input method
    • 🎨 Icon Update: Updated plugin button icon
    • 🏷️ Tag-based Filtering: Added tag-based filtering functionality
  • 🐛 Bug Fixes
    • 🔧 SQL Query Fix: Fixed custom SQL query bugs
    • 🔄 Real-time Sync Fix: Fixed issue where roaming page editor couldn't update in real-time, ensuring editor content updates immediately after external edits

📅 v2.2.0 Update (2025.7.17)

  • 🐛 Bug Fixes
    • 🔧 Priority Attribute Sync Fix: Fixed issue where 5 methods of modifying document priority couldn't immediately change document priority attributes
    • 🔄 Async Update Optimization: Added async update functionality for document priority attributes to all priority and metric adjustment methods
  • 🆕 New Features
    • 🗑️ Data Cleanup Function: Added function to clear all document metrics and priority data, use before completely uninstalling the plugin
    • 🧹 Comprehensive Data Cleanup: Clear function removes document priority, metrics, roaming records and visit count attribute data
    • ⚙️ Settings Panel Integration: Added clear data button in batch priority reset section of settings panel with progress display and confirmation dialog

📅 v2.1.0 Update (2025.7.16)

  • 🐛 Bug Fixes
    • 📊 Chart Accuracy Fix: Fixed issue with document dots not matching scale in charts
    • 🔄 Priority List Fix: Fixed display errors after adjusting priorities in priority lists
  • 🆕 New Features
    • ⚖️ Precision Improvement: Modified priority display precision to two decimal places and fine-tuning precision from 0.1 to 0.01, with long press for quick adjustment
    • 🎲 Batch Reset: Added batch random document priority reset feature, resetting documents within specified priority range to new random priority values

📅 v2.0.1 Update (2025.7.15)
  • 🐛 Bug Fixes
    • 📊 Chart Interaction Fix: Fixed issue with red dot drag adjustment not following in dot chart
    • 🔄 Priority Update Fix: Fixed issue where priority panel adjustments don't immediately update chart's red dots
    • 🎨 UI Improvement: Removed large loading icon after continuing roaming, moved to "Continue Roaming" button
  • 🆕 New Feature
    • ⌨️ Keyboard Shortcuts: Added shortcuts for quickly starting roaming, continuing roaming, and resetting visited pages

📅 v2.0.0 Update (2025.7.12)
  • 🆕 Major Update
    • 🎯 Focus on Incremental Reading: Removed one-time mode, keeping only incremental reading mode for core functionality
    • 📊 Strip Chart: Added strip chart for clearer visualization of document priorities with drag adjustment
    • ⚖️ Direct Priority Adjustment: Directly adjust priorities with proportional changes to related document metrics
    • 📈 Roamed Document Management: Added roamed document list + heatmap with batch priority adjustment and drag sorting
    • 🎨 UI Optimization: Adjusted and optimized roaming panel UI with roaming count and last access time
    • 🎲 Hybrid Recommendation Mechanism: Added absolute priority order roaming functionality

📅 v1.2.1 Update (2025.7.7)
  • 🆕 New Feature
    • 🔄 Auto Reset Setting: Added setting to automatically reset visited document records when starting SiYuan

📅 v1.2.0 Update (2025.7.6)
  • 🆕 New Features
    • 📄 Specific Document Opening: For specific documents, can open them in incremental reading page
    • ✏️ Editing Function: Removed read-only mode from incremental reading page, allowing simple editing
    • ⚡ Parameter Adjustment Optimization: Changed metric parameter adjustment step from 0.1 to 1 for easier adjustment
    • 📁 Multi-select Notebooks: Notebook selection supports multi-select for flexible filtering

📅 v1.1.1 Update (2025.5.12)
  • 🐛 Bug Fixes
    • 📊 Document Count Fix: Fixed incorrect remaining document count display in one-time mode
    • 🔍 SQL Mode Optimization: Optimized remaining document count calculation in custom SQL mode

📅 v1.1.0 Update (2025.5.8)
  • 🆕 New Features
    • 🎯 Algorithm Stability Improvement: Enhanced stability of priority-based roulette wheel recommendation algorithm
    • 💡 Enhanced Prompt Information: Added prompt information during probability calculation
    • ⚙️ Settings Page Optimization: Changed settings page access to right-click on top bar plugin icon
    • 📊 Default Value Settings: Set default value of 5 for all document metrics
    • 🔄 Batch Update: Added batch update action when modifying metric information
    • 🔧 Auto Correction: Auto-correct metrics with 0 or empty values to default value 5
    • 📋 History Records: Added roaming history viewing functionality
📋 View Historical Updates

📅 v1.0.1 Update (2025.5.7)

  • ✨ Feature Improvements
    • 🎨 Prompt Information Beautification: Beautified prompt information with poetic expressions
    • 🔗 Document Link Optimization: Improved help document links pointing to GitHub repository Chinese documentation

📅 v1.0.0 Update (2025.5.6)
  • 🆕 First Version
    • 🎯 Incremental Reading Core: First usable incremental reading version
    • ⚖️ Custom Metrics: Added user-customizable article parameters and weights
    • 📊 Priority Calculation: Priority calculation based on parameters
    • 🎲 Roulette Wheel Algorithm: Document recommendation based on roulette wheel algorithm
    • 📁 Filtering Function: Support notebook and root document filtering
    • 🎲 Random Mode: Support completely random "one-time" mode

About

思源插件,以稍后阅读作为核心理念,旨在更好实现渐进阅读。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Svelte 54.3%
  • TypeScript 36.4%
  • Python 4.2%
  • HTML 3.1%
  • CSS 0.9%
  • JavaScript 0.6%
  • Stylus 0.5%