Migration from Legacy
Migrate data from ReaderCopilot (legacy version) to Rodel.Reader
If you previously used ReaderCopilot (the legacy version of Xiao Huan Reader), you can use the official command-line tool to migrate your data to the new Rodel.Reader.
Supported Migration Content
| Module | Migrated Content |
|---|---|
| Books | Metadata, shelves, reading progress, bookmarks, annotations, PDF annotations, book files |
| Comics | Metadata, shelves, reading progress, comic files/folders |
| RSS | Feeds, groups, article cache, read/favorite/read-later status |
| Podcasts | Podcast subscriptions, episode cache, playback progress |
Note
- Cover images are not migrated; the new app will automatically extract covers from book/comic files when first opened
- Bilibili podcast subscriptions cannot be migrated as the new app doesn't support this feature
- External sync services (like Inoreader, Feedbin) may require re-authentication in the new app
Prerequisites
- Install .NET 10 SDK
- Know the location of your legacy library directory (usually contains
bookStore.sqlite) - Prepare an empty folder as the new library directory
Install Migration Tool
Open a terminal (PowerShell or Command Prompt) and run:
dotnet tool install --global Richasy.ReaderCopilotMigrationAfter successful installation, you can use the readercopilot-migration command.
Migration Steps
Step 1: Locate Legacy Library Directory
The legacy library directory typically contains:
Legacy Library/
├── bookStore.sqlite # Book database
├── mangaStore.sqlite # Comic database (if any)
├── RssCache/ # RSS cache (if any)
├── PodcastCache/ # Podcast cache (if any)
└── Books/ # Book filesIf you're unsure of the location, check the "Library Path" in the legacy app's settings.
Step 2: Execute Migration
Run the migration command, replacing paths with your actual directories:
readercopilot-migration -s "D:\ReaderCopilot\Library" -t "D:\RodelReader\Library"Parameters:
-sor--source: Legacy library directory-tor--target: New library directory (must be empty or non-existent)
The tool will display migration progress and statistics.
Step 3: Launch the New App
After migration completes:
- Launch Xiao Huan Reader
- Select Open Existing Library on the welcome page
- Choose the migration target directory (the one specified with
-t)
The app will load the migrated data, including all books, comics, RSS feeds, and podcasts.
Advanced Options
Dry Run
Preview what will be migrated before actually performing the migration:
readercopilot-migration -s "D:\OldLibrary" -t "D:\NewLibrary" --dry-runDry run doesn't write any data, only displays source data statistics.
Verbose Logging
If issues occur during migration, enable verbose logging:
readercopilot-migration -s "D:\OldLibrary" -t "D:\NewLibrary" -vContinue on Error
By default, errors trigger a rollback of all changes. To skip errors and continue:
readercopilot-migration -s "D:\OldLibrary" -t "D:\NewLibrary" --continue-anywayEnglish Service Names
By default, services are created with Chinese names (e.g., "书库", "漫画库"). For English names:
readercopilot-migration -s "D:\OldLibrary" -t "D:\NewLibrary" -l en-USComplete Parameter List
| Parameter | Short | Description | Default |
|---|---|---|---|
--source | -s | Legacy library directory | Required |
--target | -t | New library directory | Required |
--lang | -l | Service name language | zh-CN |
--dry-run | Simulate migration | false | |
--continue-anyway | Continue on errors | false | |
--verbose | -v | Show detailed logs | false |
FAQ
Cannot find bookStore.sqlite
Ensure --source points to the correct legacy library directory. The directory should directly contain the bookStore.sqlite file.
Target directory is not empty
The new library directory must be empty. Choose an empty folder, or delete all files in the target directory and retry.
Some data was not migrated
- Check if you used
--verboseto see detailed errors - Verify source files are intact (book/comic files exist)
- Bilibili podcast subscriptions cannot be migrated (not supported in new version)
External services require re-login
Some external sync services (like NewsBlur) cannot have their authentication migrated directly. After migration, you'll need to re-enter credentials in the new app's settings.
Next Steps
After migration, we recommend reading the following documentation to learn about the new app's features:
- Interface Overview - Learn the new interface layout
- Books Module - E-book management and reading
- Comics Module - Comic management and reading