zlib-download について
zlib-downloadは、統合コマンドラインツールでZ-LibraryまたはAnna's Archiveから書籍を検索・ダウンロードするスキルです。認証情報を設定し、検索結果を比較して選んだ書籍を取得したいユーザー向けです。
主な機能
- 012つの書籍ソースを検索
- 02バックエンドの自動または指定選択
- 03言語と形式による絞り込み
- 04書籍メタデータの参照
- 05選択した書籍のダウンロード
活用シーン
- 01対応ソースから書籍を探す
- 02言語や形式で検索結果を絞り込む
- 03ダウンロード前に書籍の詳細を確認
- 04選んだ書籍を指定フォルダーへ保存
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ psylch/ zlib-download-skill --skill zlib-downloadインストール後、Claude Code で/zlib-downloadを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/api_reference.mdscripts/.env.examplebook.pysetup.shZlibrary.py詳細
書籍ツール
統一された CLI を通じて、複数のソースから書籍を検索・ダウンロードします。
バックエンド
| バックエンド | ソース | 認証が必要 | 最適な用途 |
|---|---|---|---|
| zlib | Z-Library(EAPI) | メールアドレス+パスワード | 最大規模のカタログ、直接ダウンロード |
| annas | Anna's Archive | API キー(寄付) | 複数のソースを集約、複数のミラー |
初回セットアップ
初回の呼び出し時にセットアップチェックを実行し、対話形式で設定を案内します。
手順 1:依存関係の確認
bash ${SKILL_PATH}/scripts/setup.sh check
出力はキーと値のペアです。それぞれを確認します。
| キー | OK | 不足している場合の対応 |
|---|---|---|
PYTHON | ok | Python 3 が見つかりません。ユーザーがインストールする必要があります |
REQUESTS | ok | bash ${SKILL_PATH}/scripts/setup.sh install-deps を実行します |
ANNAS_BINARY | ok | bash ${SKILL_PATH}/scripts/setup.sh install-annas を実行します(任意) |
手順 2:認証情報の設定
認証情報は ~/.claude/book-tools/.env に保存されます。スキルに同梱されているテンプレートからファイルを作成します。
mkdir -p ~/.claude/book-tools
cp ${SKILL_PATH}/scripts/.env.example ~/.claude/book-tools/.env
.env ファイルの内容は次のとおりです。
# Z-Library credentials
[email protected]
ZLIB_PASSWORD=your_password_here
# Anna's Archive (optional, requires donation for API key)
# ANNAS_SECRET_KEY=your_api_key_here
重要:チャットでユーザーに認証情報を直接尋ねてはいけません。代わりに、次の手順に従います。
.envファイル(または.env.exampleテンプレート)を作成します- ユーザーに
~/.claude/book-tools/.envを認証情報で編集するよう伝えます - ユーザーが入力を完了したことを確認するまで待ちます
- その後、検索に進みます
また、CLI で認証情報を設定することもできます(推奨度は低めです。シェルの履歴から見えるためです)。
python3 ${SKILL_PATH}/scripts/book.py config set --zlib-email "[email protected]" --zlib-password "password"
手順 3:確認
python3 ${SKILL_PATH}/scripts/book.py setup
Z-Library が設定されている場合の想定出力:
{
"zlib": { "requests_installed": true, "configured": true },
"annas": { "binary_found": true, "api_key_configured": false }
}
configured が true の場合、スキルを使用できます。
認証情報の保存について
2 つのソースが統合されます(.env の値が優先されます)。
| ソース | パス | 形式 |
|---|---|---|
.env ファイル | ~/.claude/book-tools/.env | 1 行につき KEY=value |
| 設定 JSON | ~/.claude/book-tools/config.json | JSON(自動管理) |
Z-Library への初回ログインが成功すると、リミックストークンが config.json にキャッシュされます。以降の呼び出しでは、メールアドレスとパスワードでのログインを省略し、トークンを直接使用します。
ワークフロー
一般的な流れは、検索 → 選択 → ダウンロードです。
1. 検索
# Auto-detect backend (tries zlib first, then annas)
python3 ${SKILL_PATH}/scripts/book.py search "machine learning" --limit 10
# Z-Library with filters
python3 ${SKILL_PATH}/scripts/book.py search "deep learning" --source zlib --lang english --ext pdf --limit 5
# Anna's Archive
python3 ${SKILL_PATH}/scripts/book.py search "reinforcement learning" --source annas
# Chinese books
python3 ${SKILL_PATH}/scripts/book.py search "莱姆 索拉里斯" --source zlib --lang chinese --limit 5
出力(標準出力への JSON):
{
"source": "zlib",
"count": 5,
"books": [
{
"source": "zlib",
"id": "12345",
"hash": "abc123def",
"title": "Deep Learning",
"author": "Ian Goodfellow",
"year": "2016",
"language": "english",
"extension": "pdf",
"filesize": "22.5 MB"
}
]
}
2. 検索結果をユーザーに提示
検索後、ユーザーが選べるように、結果を番号付きの表で提示します。
| # | Title | Author | Year | Format | Size |
|---|-------|--------|------|--------|------|
| 1 | Deep Learning | Ian Goodfellow | 2016 | pdf | 22.5 MB |
| 2 | ... | ... | ... | ... | ... |
複数の言語や版にまたがる結果がある場合は、わかりやすいように小見出しを付けて、言語またはカテゴリごとにグループ化します。
「ダウンロードする書籍を選んでください(番号)」と尋ねます。
3. ダウンロード
# Z-Library download (needs id + hash from search results)
python3 ${SKILL_PATH}/scripts/book.py download --source zlib --id 12345 --hash abc123def -o ~/Downloads/
# Anna's Archive download (needs MD5 hash from search results)
python3 ${SKILL_PATH}/scripts/book.py download --source annas --hash a1b2c3d4e5 --filename "deep_learning.pdf" -o ~/Downloads/
出力:
{
"source": "zlib",
"status": "ok",
"path": "~/Downloads/Deep Learning (Ian Goodfellow).pdf",
"size": 23592960
}
4. ユーザーに報告
ダウンロード後、次の情報を報告します。
- ファイルパス(ユーザーがファイルを開けるようにするため)
- ファイルサイズ
- ダウンロード可能な残りの回数(Z-Library には 1 日あたりの制限があります)
その他のコマンド
書籍情報(Z-Library のみ)
python3 ${SKILL_PATH}/scripts/book.py info --source zlib --id 12345 --hash abc123def
説明、ISBN、ページ数、目次など、完全なメタデータを返します。
設定の確認
python3 ${SKILL_PATH}/scripts/book.py config show
バックエンドのステータス確認
python3 ${SKILL_PATH}/scripts/book.py setup
エラー処理
| エラー | 原因 | 対応 |
|---|---|---|
| "Z-Library not configured" | 認証情報がありません | ユーザーに ~/.claude/book-tools/.env を編集するよう案内します |
| "Z-Library login failed" | 認証情報が正しくないか、サービスが停止しています | ユーザーに認証情報を確認するよう依頼します。Z-Library のドメインは変更されるため、問題が続く場合は、同梱の Zlibrary.py のドメインを更新する必要があるかもしれません。 |
| "annas-mcp binary not found" | バイナリがインストールされていません | setup.sh install-annas を実行します |
| "Anna's Archive API key not configured" | API キーがありません | Anna's Archive で API アクセスのために寄付し、その後キーを .env に追加するよう案内します |
| 検索タイムアウト | ネットワークの問題 | 1 回再試行します。問題が続く場合は、もう一方のバックエンドを試します。 |
| "No backend available" | どちらのバックエンドも設定されていません | 手順 1 からセットアップの全手順を案内します |
ヒント
- Z-Library には1日のダウンロード上限があります(無料アカウントでは通常1日10冊です)。ダウンロード枠を無駄にしないよう、ダウンロード前に
infoで書籍を確認してください。 - Anna's Archive では、検索とダウンロードの両方に API キーが必要です(寄付すると取得できます)。
- 中国語の書籍を探す場合は、Z-Library で
--lang chineseを使用すると最適な結果が得られます。 - Z-Library に接続できない場合は、
--source autoを指定すると Anna's Archive に自動的にフォールバックします。 - 複数の言語で特定の著者を検索する場合は、並列検索(例:英語名と中国語名)を実行し、結果を1つのテーブルにまとめてください。