← 返回 Skills 市场
kedoupi

AI Book Recommendation Engine(AI 书籍推荐引擎)

作者 KeDouPi(珂抖屁) · GitHub ↗ · v1.0.3 · MIT-0
cross-platform ✓ 安全检测通过
174
总下载
0
收藏
0
当前安装
4
版本数
在 OpenClaw 中安装
/install book-scout
功能描述
Expert book recommendation engine via web search. Finds high-quality books (Douban ≥7.5 or Goodreads ≥3.8) based on topic, with deduplication and comprehensi...
使用说明 (SKILL.md)

Book Scout

Expert book recommendation engine that finds high-quality books via web search.

When to Use

  • Recommending books for a specific topic (e.g., "user growth", "decision science")
  • Finding books for reading tasks (morning/noon/evening reading reports)
  • Building a reading list for skill development
  • Need to avoid previously analyzed books

Input

  • topic (required): Subject/theme (e.g., "用户增长", "决策科学", "AI技术")
  • used_models (optional): Array of book title strings to exclude (e.g., ["《精益创业》", "《从0到1》"])

Output

JSON object with the highest-scoring book:

{
  "book_title": "书名",
  "author": "作者",
  "author_nationality": "国籍或'未知'",
  "publish_date": "YYYY-MM或YYYY",
  "rating": 8.9,
  "review_count": 15000,
  "score": 112.08,
  "summary": "100字核心简介",
  "reasoning": "推荐理由"
}

Core Workflow (Two-Phase Search)

Phase 1: Discover Book Titles

Goal: Get a list of 5-8 candidate book names. Do NOT try to get ratings here.

Search Queries (execute 2-3 queries in parallel):

Query Type Template Example
Chinese book lists "{topic} 经典书籍推荐 书单" "用户增长 经典书籍推荐 书单"
English book lists "{topic_en} best books goodreads" "user growth best books goodreads"
Community picks "{topic} 必读书 知乎推荐" "用户增长 必读书 知乎推荐"

Extract: Collect book titles + authors from search results. Ignore ratings at this stage.

Deduplicate immediately: Compare against used_models — remove any matches.

Minimum: Need at least 3 candidate books after dedup. If fewer, broaden the topic and search again.

Phase 2: Get Ratings (Per-Book Lookup)

Goal: Get accurate rating + review_count for each candidate.

Strategy (try in order, stop at first success):

Method A: WebFetch Douban Page (Preferred)

For each candidate book, search for its Douban page then fetch it:

  1. web_search: "{book_title}" site:book.douban.com
  2. If a book.douban.com/subject/ URL is found → web_fetch that URL
  3. Extract: rating, review_count, publish_date, author from the page

Why this works: Douban book pages have structured rating data that WebFetch can reliably parse.

Method B: Direct Search (Fallback)

If Method A fails (no Douban URL found, or WebFetch blocked):

  • web_search: "{book_title}" "{author}" 豆瓣评分 评价人数
  • Extract rating and review_count from search snippets

Method C: Goodreads Lookup (For English Books)

  • web_search: "{book_title}" "{author}" site:goodreads.com
  • If URL found → web_fetch the Goodreads page
  • Extract rating and ratings_count

Important Rules:

  • Each book gets its OWN individual lookup — never combine multiple books into one query
  • Each book gets up to 2 attempts (e.g., Method A fails → try Method B)
  • Process books in parallel when possible

Phase 2.5: Handle Missing Data

After Phase 2, some books may still lack ratings. Apply these rules:

Missing Field Action
rating missing after 2 attempts Use LLM estimate from search context (mark as "rating_source": "estimated"). If no context at all, drop the book.
review_count missing Default to 500 (neutral — neither penalized nor boosted)
publish_date missing Default to 2020
author_nationality missing Output "未知" (NEVER fabricate)

LLM Estimation Rule: If multiple search results consistently describe a book as "高分" / "经典" / "highly rated" but no exact number is found, estimate conservatively (7.5-8.0 for Chinese, 3.8-4.0 for English). Always mark estimated ratings.

Phase 3: 3D Scoring Algorithm

Action: Collect ALL surviving candidate books into a single JSON array. Pass this entire array to scripts/score_books.py via stdin for batch scoring. The script returns sorted results.

(If script unavailable, calculate manually using the formula below.)

Formula:

Total Score = (Base Quality + Popularity Bonus) × Recency Multiplier

A. Base Quality:

Base = rating × 10
If review_count \x3C 100: Base = Base × 0.8 (small sample penalty)

B. Popularity Bonus:

Bonus = log₁₀(review_count) × 2

C. Recency Multiplier (based on publish_date):

Published within 2 years (2024-now):  × 1.2
Published 3-5 years ago (2021-2023):  × 1.0
Published 5+ years ago (≤2020):       × 0.8

Example:

《增长黑客》: rating=8.5, review_count=10000, publish=2015
Base = 8.5 × 10 = 85
Bonus = log₁₀(10000) × 2 = 8
Recency = 0.8
Total = (85 + 8) × 0.8 = 74.4

Phase 4: Output

Return the highest-scoring book in the structured JSON format.

Reasoning field must include: score justification, recency consideration, author background (if known).

If rating_source is "estimated", add a note: "注意:评分为根据多源信息估算,非精确数据"

Quality Filters

Minimum Standards:

  • Douban rating ≥ 7.5 OR Goodreads rating ≥ 3.8
  • Estimated ratings: apply the same thresholds

Exclusions:

  • Books with "21天", "速成", "一本通" in title
  • Marketing-heavy books with no substance

Fallback & Error Handling

Scenario 1: Web Search Failure

  • Retry once after 2-3 seconds
  • If still fails, try alternative query phrasing
  • After 3 total failures, return error:
{
  "error": "网络连接连续 3 次超时,无法获取最新书单数据,请稍后重试。"
}

Scenario 2: Topic Too Niche

  • Broaden search: remove professional jargon, use parent category
  • Example: "认知负荷理论" → "认知心理学 经典书籍"

If broad search also fails:

{
  "error": "该主题下未找到具备足够评价数据的经典书籍,请尝试更换更宽泛的主题或行业大词。"
}

Scenario 3: All Candidates Dropped

If after Phase 2.5 no books survive:

  • Return to Phase 1 with broader topic
  • Lower quality filter temporarily to ≥ 7.0 / ≥ 3.5
  • If still nothing, return the best estimated candidate with a warning

Implementation Notes

  • Phase 1 (discover): pure web_search, focus on book list articles
  • Phase 2 (ratings): web_search + web_fetch combo, target Douban/Goodreads pages
  • Phase 3 (scoring): scripts/score_books.py (deterministic)
  • Parallelism: Phase 1 queries can run in parallel; Phase 2 per-book lookups can run in parallel
  • Prioritize Douban/Goodreads/Zhihu/Reddit sources; ignore ads and promotional content
安全使用建议
This skill appears to do what it says: web-search public book pages, deduplicate against a local reading-history file, and score candidates with the included script. Before installing: (1) review the contents of memory/reading-history.json to ensure it does not contain sensitive personal data you don't want the skill to read; (2) be aware web_search/web_fetch will contact external sites (Douban/Goodreads and others) and may be subject to rate limits or reveal queries to those sites; (3) estimated ratings are allowed per the instructions — verify ratings for critical recommendations; (4) if you want tighter privacy, run the skill with a sanitized reading-history file or restrict its filesystem/network permissions in your agent environment.
功能分析
Type: OpenClaw Skill Name: book-scout Version: 1.0.3 The 'book-scout' skill is a legitimate tool for finding and scoring book recommendations using web searches and a local Python script. The code in 'scripts/score_books.py' is a deterministic scoring calculator with no network or sensitive system access, and the instructions in 'SKILL.md' are strictly aligned with the stated purpose of book discovery and deduplication.
能力评估
Purpose & Capability
Name/description (book recommendation via web search) align with the instructions and included Python scoring script. The only external resource it declares reading is memory/reading-history.json for deduplication, which is reasonable for avoiding previously seen books.
Instruction Scope
SKILL.md confines activity to web_search/web_fetch of public book pages (Douban/Goodreads), per-book lookups, LLM estimation only when needed, and reading memory/reading-history.json. This is within the stated purpose, but the skill will access the agent's web capabilities and the specified local memory file (user reading history), which is potentially sensitive.
Install Mechanism
No install spec — instruction-only with a small benign Python scoring script included. The script is straightforward, reads stdin and returns scores; there are no downloads, external installers, or archive extraction.
Credentials
The skill requests no environment credentials and no config paths beyond the declared memory/reading-history.json. That local file access is justified by deduplication but should be considered sensitive data rather than a secret like API keys.
Persistence & Privilege
always is false, autonomous invocation is allowed (platform default). The skill does not request elevated persistence or modification of other skills/config; it only reads a declared memory file and runs the included script.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install book-scout
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /book-scout 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.3
Book Scout 1.0.3 is a major upgrade introducing a two-phase book selection and per-book rating lookup process for higher accuracy and broader coverage. - New two-phase workflow: Phase 1 discovers 5–8 candidate book titles; Phase 2 performs individual rating/review lookups using both Douban and Goodreads. - Per-book lookup now fetches rating and review count via Douban page parsing; English-language books include Goodreads as fallback. - Missing data for ratings triggers a conservative LLM-based estimate (marked in output); missing review counts default to 500. - Improved error handling and recovery: Fallbacks re-attempt with broader topics and temporarily relaxed score thresholds. - Parallelizes search and lookup tasks for better responsiveness. - Quality filters and scoring remain—but with more robust fallback logic and clearer error messages.
v1.0.2
- Added explicit filesystem read permissions for `memory/reading-history.json` to support deduplication based on previously analyzed books. - No changes to core recommendation logic or workflow.
v1.0.1
- Added configuration to read from `memory/reading-history.json` for improved tracking of previously analyzed books. - Expanded input parameter documentation: clarified that the `used_models` array expects book title strings. - No changes to core workflow, output format, or scoring algorithm. - No functional changes; minor documentation enhancements for clarity and integration.
v1.0.0
Initial release of Book Scout, an expert book recommendation engine using web search and comprehensive scoring. - Recommends high-quality books based on topic, filtering by Douban (≥7.5) or Goodreads (≥3.8) ratings. - Deduplicates recommendations by excluding books from previously analyzed lists. - Employs a strict missing data and fallback handling protocol to ensure reliable extraction. - Uses a 3D scoring algorithm considering quality, popularity, and recency. - Filters out low-quality or marketing-heavy books. - Returns structured JSON output with clear reasoning and detailed metadata.
元数据
Slug book-scout
版本 1.0.3
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 4
常见问题

AI Book Recommendation Engine(AI 书籍推荐引擎) 是什么?

Expert book recommendation engine via web search. Finds high-quality books (Douban ≥7.5 or Goodreads ≥3.8) based on topic, with deduplication and comprehensi... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 174 次。

如何安装 AI Book Recommendation Engine(AI 书籍推荐引擎)?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install book-scout」即可一键安装,无需额外配置。

AI Book Recommendation Engine(AI 书籍推荐引擎) 是免费的吗?

是的,AI Book Recommendation Engine(AI 书籍推荐引擎) 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

AI Book Recommendation Engine(AI 书籍推荐引擎) 支持哪些平台?

AI Book Recommendation Engine(AI 书籍推荐引擎) 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 AI Book Recommendation Engine(AI 书籍推荐引擎)?

由 KeDouPi(珂抖屁)(@kedoupi)开发并维护,当前版本 v1.0.3。

💬 留言讨论