WeRead Sync
Sync your highlights from WeRead to Readwise automatically and efficiently.
Enhanced with improved fetch API and cleaner code structure.
Features
- π Browse WeRead Library: View all your WeRead books with highlights
- β‘ Quick Sync: Manual sync individual books or all highlights
- π Auto Sync: Automatically sync new highlights at regular intervals
- π Sync Status: Detailed sync status tracking with visual indicators
- π― Incremental Sync: Smart sync that only processes new highlights
- π§ Full Sync: Complete re-sync option when needed
- βοΈ Native Preferences: Built-in Raycast preferences for easy configuration
Setup
Prerequisites
- WeRead Account: Active account with highlighted books
- Readwise Account: Account with API access
Configuration
- Install the extension from Raycast Store
- Open Raycast preferences (
β,
)
- Navigate to Extensions β WeRead Sync
- Configure the required settings:
WeRead Cookie
- Open WeRead in your browser
- Login to your account
- Open Developer Tools (F12)
- Go to the Network tab
- Refresh the page
- Find any request and copy the
Cookie
header value
- Paste it in the WeRead Cookie preference field
Readwise Access Token
- Go to readwise.io/access_token
- Login to your account
- Copy your access token
- Paste it in the Readwise Access Token preference field
Auto-Sync Settings (Optional)
- Enable Auto-sync: Turn on automatic background sync
- Sync Interval: Choose frequency (hourly, daily, weekly)
Usage
Command
- WeRead Sync: Access your library, sync highlights, and manage sync operations
Sync Operations
- Incremental Sync (βI): Sync only new highlights since last sync
- Full Sync (βF): Sync all highlights, ignoring sync status
- Auto Sync (ββ§A): Toggle automatic sync on/off
- Sync Status (βD): View detailed sync status for all books
Keyboard Shortcuts
βI
- Incremental sync
βF
- Full sync
ββ§A
- Toggle auto-sync
βD
- View sync status
βS
- Sync current book/highlight
βR
- Refresh
ββ§R
- Reset sync status
Auto Sync
Configure automatic syncing in Raycast preferences:
- Enable Auto-sync: Turn on automatic background sync
- Sync Interval: Choose frequency (hourly, daily, weekly)
When enabled, the extension will automatically check for new highlights and sync them to Readwise when you use the extension.
Sync Status
The extension provides detailed sync status information:
- Green Checkmark: All highlights are synced
- Orange Clock: Book has been synced before but has new highlights
- Red Exclamation: Book has never been synced
- Blue Upload: New highlights ready to sync
View the sync status page to see:
- Total books with highlights
- Number of new highlights per book
- Last sync timestamp for each book
- Individual book sync operations
Troubleshooting
Authentication Issues
- WeRead Cookie Invalid: Ensure you're logged into WeRead and the cookie is fresh
- Readwise Token Invalid: Verify your token at readwise.io/access_token
- Connection Failed: Check your internet connection
- Missing Preferences: Configure credentials in Raycast preferences (
β,
)
Sync Issues
- No New Highlights: Use "Reset Sync Status" to force a complete re-sync
- Partial Sync: Some books may fail individually - check sync status for details
- Auto-sync Not Working: Ensure both credentials are configured and auto-sync is enabled in preferences
First Time Setup
If you see "Authentication Required":
- Press
β,
to open Raycast preferences
- Navigate to Extensions β WeRead Sync
- Fill in your WeRead Cookie and Readwise Access Token
- Restart the command
Privacy & Security
- All credentials are stored securely in Raycast's preferences system
- Sync status is stored locally on your device
- No data is transmitted to third parties except WeRead and Readwise APIs
- The extension only accesses your highlighted books and notes
Technical Details
- Incremental Sync: Tracks which highlights have been synced to avoid duplicates
- Batch Processing: Efficiently processes multiple books and highlights
- Error Handling: Graceful handling of network issues and API errors
- Auto-Sync: Respects Raycast guidelines - only syncs when extension is actively used
License
MIT License