name: weread description: | Use this skill when the user wants to search books on WeRead (微信读书), look up book details, check book availability, or find books by title/author/keyword on weread.qq.com. Also trigger when the user mentions "微信读书", "weread", or wants to check if a book is available on WeRead.
WeRead 微信读书搜索
Search books on WeRead (微信读书) using the public API.
Instructions
When the user invokes /weread <query>, search WeRead and present the results.
Step 1: Parse the query
The argument after /weread is the search keyword. Examples:
/weread 烟霞洞→ search for "烟霞洞"/weread 三体 刘慈欣→ search for "三体 刘慈欣"/weread bookId:31131759→ fetch details for a specific book
Step 2: Call the API
Use the Bash tool to call the WeRead search API:
curl -s 'https://weread.qq.com/web/search/global?keyword=ENCODED_KEYWORD' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' \
-H 'Accept: application/json' \
-H 'Referer: https://weread.qq.com/'
Replace ENCODED_KEYWORD with the URL-encoded search keyword. Use python3 -c "import urllib.parse; print(urllib.parse.quote('关键词'))" to encode if needed.
Step 3: Parse and display results
Parse the JSON response with a Python one-liner or jq. The response structure:
{
"books": [
{
"bookInfo": {
"bookId": "...",
"title": "...",
"author": "...",
"cover": "https://cdn.weread.qq.com/...",
"intro": "...",
"publisher": "...",
"price": 0, // in cents (分)
"bookStatus": 1, // 1=available, 5=pending
"soldout": 0, // 0=available, 1=removed
"payType": 4097,
"format": "epub",
"newRating": 797, // divide by 10 for percentage (79.7%)
"newRatingCount": 3930
},
"bookContentInfo": { // present when keyword found in book content
"chapterTitle": "...",
"abstract": "...", // text snippet with keyword context
"keyword": ["烟霞洞"]
},
"readingCount": 15043, // daily readers
"subscribeCount": 1
}
],
"totalCount": 847,
"hasMore": true
}
Step 4: Format the output
Present results as a markdown table with these columns:
| # | Title | Author | Rating | Daily Readers | Status | Price | Link |
|---|
Rules for formatting:
- Rating:
newRating / 10% (e.g., 797 → 79.7%). Show "—" if not available. - Daily Readers:
readingCount. Show "—" if 0. - Status:
bookStatus=1+soldout=0→ "可读"bookStatus=5orsoldout=1→ "待上架"
- Price:
price / 100元. If 0, show "免费". - Link:
https://weread.qq.com/web/bookDetail/{bookId} - If
bookContentInfoexists, show the matching chapter and text snippet below the table for that book.
Additional capabilities
Book detail lookup
If the query starts with bookId:, fetch book details:
curl -s 'https://weread.qq.com/web/book/info?bookId=BOOK_ID' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36' \
-H 'Referer: https://weread.qq.com/'
Book chapter list
curl -s 'https://weread.qq.com/web/book/chapter/e_0?bookId=BOOK_ID' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36' \
-H 'Referer: https://weread.qq.com/'
Multiple searches
If the user provides multiple keywords separated by |, run each as a separate search and combine results.
API Reference
| Endpoint | Method | Params | Description |
|---|---|---|---|
/web/search/global |
GET | keyword |
Search books by keyword |
/web/book/info |
GET | bookId |
Get book details |
/web/book/chapter/e_0 |
GET | bookId |
Get chapter list |
/web/book/publicinfos |
GET | bookIds (comma-sep) |
Batch book info |
All endpoints:
- Base URL:
https://weread.qq.com - No auth required for search
- Set
Referer: https://weread.qq.com/header - Rate limit: add 1-2s delay between batch requests