openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > libby-book-monitor

Track book availability on Libby/OverDrive libraries. Search library catalogues, manage a watchlist, and get notified when books are added. Use for "libby",...

开发与 DevOps

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v1.0.0

统计:⭐ 0 · 371 · 0 current installs · 0 all-time installs

0

安装量(当前) 0

🛡 VirusTotal :良性 · OpenClaw :良性

Package:alexpolonsky/libby-book-monitor

安全扫描(ClawHub)

  • VirusTotal :良性
  • OpenClaw :良性

OpenClaw 评估

The skill's code, instructions, and resource requests are consistent with a simple Libby/OverDrive catalog watcher: it only needs python3, talks to the OverDrive Thunder API, and stores data under the user's home directory.

目的

Name/description match the included code and instructions. The script implements searching, a watchlist, and periodic checks against the OverDrive Thunder API. Required binaries (python3) and config paths (~/.libby-book-monitor) are proportionate to the stated purpose.

说明范围

SKILL.md instructs running the included Python CLI with arguments, storing data under the user's data dir, and optionally using an env var (LIBBY_BOOK_MONITOR_DATA) to override the path. The runtime instructions do not ask the agent to read unrelated files, harvest credentials, or contact unexpected endpoints; network calls are limited to the documented thunder.api.overdrive.com API.

安装机制

No install spec is provided (instruction-only skill). The package includes a single Python script that uses only the stdlib. No downloads from arbitrary URLs or package installs occur during install.

证书

No required environment variables or credentials are declared. The script optionally respects LIBBY_BOOK_MONITOR_DATA to change the data directory; no secrets or unrelated credentials are requested or accessed.

持久

Skill is not always-enabled and does not request system-wide changes. It stores its own per-user configuration and watchlist under ~/.libby-book-monitor (or an overridden path), which is expected for this CLI utility. It does not modify other skills or agent-wide settings.

综合结论

This skill appears coherent and implements exactly what it claims: a local CLI that queries the OverDrive Thunder API and stores watchlists under ~/.libby-book-monitor. Before installing, review the config and data directory (it will create ~/.libby-book-monitor/config.json on first run). Remember this is unofficial tooling — the Thunder API search results may not reflect real-time borrowability and the tool does not perform any borrowing or h…

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「libby-book-monitor」。简介:Track book availability on Libby/OverDrive libraries. Search library catalogues…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/alexpolonsky/libby-book-monitor/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: libby-book-monitor
version: 1.0.0
description: Track book availability on Libby/OverDrive libraries. Search library catalogues, manage a watchlist, and get notified when books are added. Use for "libby", "check libby", "libby watchlist", "is book on libby", "book available", "overdrive", "library catalogue", "ספרייה", "ספרים".
author: Alex Polonsky (https://github.com/alexpolonsky)
homepage: https://github.com/alexpolonsky/agent-skill-libby-book-monitor
metadata: {"openclaw": {"emoji": "📚", "os": ["darwin", "linux"], "requires": {"bins": ["python3"]}}}
---

# Libby/OverDrive Book Monitor

Track book availability on Libby/OverDrive libraries. Search catalogues, manage a watchlist, and get notified when books are added to your library's collection.

> **Disclaimer**: This is an unofficial tool, not affiliated with or endorsed by OverDrive/Libby. Catalogue data queries APIs that power the website and may not reflect actual availability. This tool does NOT borrow books or place holds. Provided "as is" without warranty of any kind.

## Quick Start

```bash
# Search a library catalogue
python3 {baseDir}/scripts/libby-book-monitor.py search telaviv "Project Hail Mary"

# Add a book to your watchlist
python3 {baseDir}/scripts/libby-book-monitor.py watch "Kafka on the Shore" --author "Haruki Murakami"

# Check your watchlist against the API
python3 {baseDir}/scripts/libby-book-monitor.py check

# Show your watchlist
python3 {baseDir}/scripts/libby-book-monitor.py list
```

## Commands

| Command | Description |
|---------|-------------|
| `search <library> <query>` | Search a library catalogue by title/author |
| `watch <title>` | Add a book to the watchlist |
| `unwatch <title>` | Remove a book from the watchlist |
| `list` | Show the watchlist with status |
| `check` | Check all watchlist books against the API |

## Options

| Option | Commands | Description |
|--------|----------|-------------|
| `--profile <name>` | all | Separate watchlist per user |
| `--author <name>` | watch | Specify book author |
| `--library <code>` | watch | Library code (default: from config) |
| `--notify` | check | Only print newly found books (for cron) |
| `--data-dir <path>` | all | Custom data directory |

## Profiles

Use `--profile` to maintain separate watchlists for different people:

```bash
python3 {baseDir}/scripts/libby-book-monitor.py --profile jane watch "Dune"
python3 {baseDir}/scripts/libby-book-monitor.py --profile bob check --notify
```

## Configuration

Default library is `telaviv` Israel Digital. Edit `~/.libby-book-monitor/config.json` to change:

```json
{
  "default_library": "nypl",
  "libraries": {
    "nypl": "New York Public Library"
  }
}
```

The library code is the subdomain from your library's OverDrive site (e.g., `nypl.overdrive.com` -> `nypl`).

## Cron Integration

Run a daily check that only outputs when books are newly found:

```bash
python3 {baseDir}/scripts/libby-book-monitor.py --profile jane check --notify
```

If any new books are found, send the results to the user.

## Notes

- Works with non-Latin scripts (Hebrew, Arabic, CJK, etc.)
- Books are considered "found" when `isOwned: true` in the API response
- 1-second delay between API calls when checking multiple books
- No external dependencies (Python stdlib only)
- Data stored in `~/.libby-book-monitor/` (configurable via `--data-dir` or `$LIBBY_BOOK_MONITOR_DATA`)