weread

رد شده

WeChat Reading (微信读书) CLI tool for fetching notes and highlights. Use when: (1) user asks about weread/微信读书 notes or highlights, (2) fetching today's or recent reading notes, (3) exporting book highlights, (4) managing reading bookshelf, (5) any task involving reading notes from WeChat Reading.

@openclaw
MIT۱۴۰۴/۱۲/۳
(0)
۳۱۱
۷
۱۳

نصب مهارت

مهارت‌ها کدهای شخص ثالث از مخازن عمومی GitHub هستند. SkillHub الگوهای مخرب شناخته‌شده را اسکن می‌کند اما نمی‌تواند امنیت را تضمین کند. قبل از نصب، کد منبع را بررسی کنید.

نصب سراسری (سطح کاربر):

npx skillhub install openclaw/skills/weread

نصب در پروژه فعلی:

npx skillhub install openclaw/skills/weread --project

مسیر پیشنهادی: ~/.claude/skills/weread/

محتوای SKILL.md

---
name: weread
description: |
  WeChat Reading (微信读书) CLI tool for fetching notes and highlights.
  Use when: (1) user asks about weread/微信读书 notes or highlights,
  (2) fetching today's or recent reading notes, (3) exporting book highlights,
  (4) managing reading bookshelf, (5) any task involving reading notes from WeChat Reading.
---

# weread-cli

CLI tool for fetching notes and highlights from WeChat Reading (微信读书).

## Quick Start

```bash
# Login via WeChat QR code
weread login

# List books with notes
weread list

# Get highlights from a book
weread get <bookId>
```

## Commands

### Authentication

```bash
weread login     # Open browser for QR code login
weread logout    # Clear saved cookies
weread whoami    # Check login status
```

### Fetching Data

```bash
# List all books with notes
weread list [--json]

# Get book highlights and reviews
weread get <bookId> [options]
  --json, -j       JSON output
  --highlights, -H Only show highlights
  --reviews, -R    Only show reviews
  --since, -s      Filter by date (today, yesterday, YYYY-MM-DD)

# List books from shelf (sorted by recent read time)
weread shelf [-n <limit>] [--json]
```

## Practical Examples

### 1. Get Today's/Yesterday's Notes

Fetch notes created after a specific date:

```bash
# Today's highlights from a book
weread get CB_3x2HoH --since today

# Yesterday's notes
weread get CB_3x2HoH --since yesterday

# Notes after a specific date
weread get CB_3x2HoH --since 2024-01-15
```

### 2. Export to Markdown

Export book highlights as Markdown file:

```bash
# Export highlights only
weread get CB_3x2HoH -H > notes.md

# Full export with reviews
weread get CB_3x2HoH > notes.md
```

The text output is already formatted with chapter headers (`## Chapter`) and quote markers (`>`).

### 3. JSON + jq Processing

Use JSON output for batch processing:

```bash
# Get all highlight texts
weread get CB_3x2HoH --json | jq -r '.highlights[].markText'

# Count highlights per chapter
weread get CB_3x2HoH --json | jq '.chapters | length'

# Extract book info
weread get CB_3x2HoH --json | jq '.book | {title, author}'

# List all book IDs with notes
weread list --json | jq -r '.[].bookId'

# Get total highlight count across all books
weread list --json | jq '[.[].bookmarkCount] | add'
```

### 4. Shelf Management

List and manage your bookshelf:

```bash
# Recent 10 books
weread shelf -n 10

# All books as JSON
weread shelf --json

# Get book IDs from shelf
weread shelf --json | jq -r '.[].bookId'
```

### 5. Get Recent Notes from All Books

Workflow: Get shelf -> Fetch today's notes from each book:

```bash
# Step 1: Get recent books from shelf
weread shelf -n 5 --json | jq -r '.[].bookId'

# Step 2: For each book, fetch today's notes
for id in $(weread shelf -n 5 --json | jq -r '.[].bookId'); do
  echo "=== Book: $id ==="
  weread get "$id" --since today -H
done

# One-liner: Recent notes from top 3 books
for id in $(weread shelf -n 3 --json | jq -r '.[].bookId'); do weread get "$id" --since today; done
```

With book titles:

```bash
# Get recent notes with book titles
weread shelf -n 5 --json | jq -c '.[] | {id: .bookId, title: .title}' | while read book; do
  id=$(echo "$book" | jq -r '.id')
  title=$(echo "$book" | jq -r '.title')
  echo "=== $title ==="
  weread get "$id" --since today -H
done
```

## Authentication Options

Priority: ENV variable > Local cache > CookieCloud

1. **QR Login** (recommended):
   ```bash
   weread login
   ```

2. **Environment variable**:
   ```bash
   export WEREAD_COOKIE="wr_vid=xxx;wr_skey=xxx"
   weread list
   ```

3. **CookieCloud** (for synced cookies):
   ```bash
   export COOKIECLOUD_SERVER="https://your-server.com"
   export COOKIECLOUD_UUID="your-uuid"
   export COOKIECLOUD_PASSWORD="your-password"
   weread list
   ```

## FAQ

**Q: How do I find a book's ID?**
```bash
weread list --json | jq '.[] | {title: .book.title, id: .bookId}'
```

**Q: Cookie expired?**
```bash
weread logout && weread login
```

**Q: Where are cookies stored?**
`~/.config/weread/cookies.json`