zlib-download について
Z-Library と Anna's Archive の書籍を検索・ダウンロードする統合 CLI です。ソースや形式での絞り込み、書籍情報の参照、利用可能なソース間の切り替えに対応します。
主な機能
- 01単一の CLI で複数ソースを検索
- 02ソース、言語、形式による絞り込み
- 03Z-Library の書籍メタデータ取得
- 04選んだ書籍をダウンロードして保存先を報告
- 05依存関係、認証情報、バックエンド状態の確認
活用シーン
- 01テーマや言語を指定して電子書籍を探す
- 02検索結果を比べてダウンロードする版を選ぶ
- 03ダウンロード前に Z-Library の書籍情報を調べる
- 04バックエンド設定を確認し、利用不可時に対処する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ psylch/ media-master --skill zlib-downloadインストール後、Claude Code で/zlib-downloadを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignorereferences/api_reference.mdscripts/.env.examplebook.pysetup.shZlibrary.py詳細
書籍ツール
統一された CLI から、複数のソースを検索して書籍をダウンロードします。
言語
ユーザーの言語に合わせる:ユーザーが使用する言語で応答してください。
バックエンド
| バックエンド | ソース | 認証が必要 | 最適な用途 |
|---|---|---|---|
| zlib | Z-Library(EAPI) | メールアドレス+パスワード | 最大級の蔵書、直接ダウンロード |
| annas | Anna's Archive | API キー(寄付が必要) | 集約されたソース、複数のミラー |
事前チェック
ワークフローを開始する前に、事前チェックを実行して環境の準備状況を確認してください。
python3 ${SKILL_PATH}/scripts/book.py preflight
標準化された JSON が返されます。
{
"ready": true,
"dependencies": { "python3": {"status": "ok"}, "requests": {"status": "ok"} },
"credentials": { "zlib": {"status": "configured"}, "annas_api_key": {"status": "not_configured"} },
"services": { "annas_binary": {"status": "ok"} }
}
ready: trueの場合は、「ワークフロー」セクションに進みます。ready: falseの場合は、以下のチェック/修正テーブルに従ってから、セットアップの手順を実行します。
| チェック | 修正 |
|---|---|
requests が見つからない | bash ${SKILL_PATH}/scripts/setup.sh install-deps(または手動で pip3 install requests/uv pip install requests を実行) |
zlib が設定されていない | ユーザーに ~/.claude/book-tools/.env を編集し、ZLIB_EMAIL と ZLIB_PASSWORD を設定するよう案内します |
zlib の有効期限切れ | キャッシュされたトークンの有効期限が切れており、.env にメールアドレス/パスワードがありません。ユーザーに ~/.claude/book-tools/.env に認証情報を再度追加するよう案内します |
annas_api_key が設定されていない | API キーを取得するために Anna's Archive に寄付し、その後 ~/.claude/book-tools/.env に ANNAS_SECRET_KEY を追加するよう案内します |
annas_binary が見つからない | bash ${SKILL_PATH}/scripts/setup.sh install-annas(または手動で annas-mcp releases からダウンロードし、~/.local/bin/annas-mcp に展開) |
セットアップ(初回のみ)
事前チェックで ready: false と報告された場合に限り、セットアップを実行してください。ユーザーが対話形式で設定できるよう案内します。
ステップ 1:依存関係をインストールする
bash ${SKILL_PATH}/scripts/setup.sh install-deps
ステップ 2:認証情報を設定する
認証情報は ~/.claude/book-tools/.env に保存されます。スキルに同梱されているテンプレートからファイルを作成します。
mkdir -p ~/.claude/book-tools
# Only copy if .env does not already exist — never overwrite existing credentials
if [ ! -f ~/.claude/book-tools/.env ]; then
cp ${SKILL_PATH}/scripts/.env.example ~/.claude/book-tools/.env
else
echo "Existing .env found — skipping copy to preserve your credentials."
fi
.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を編集するようユーザーに伝えます - 入力が完了したことをユーザーが確認するまで待ちます
- その後、検索に進みます
ステップ 3:検証する
python3 ${SKILL_PATH}/scripts/book.py preflight
続行する前に ready: true を確認します。
認証情報の保存場所
正式なパス:~/.claude/book-tools/.env — ユーザーが認証情報を編集する場所はここだけです。
| 変数 | 用途 | 必須条件 |
|---|---|---|
ZLIB_EMAIL | Z-Library のメールアドレス | Z-Library バックエンドを使用する場合 |
ZLIB_PASSWORD | Z-Library のパスワード | Z-Library バックエンドを使用する場合 |
ANNAS_SECRET_KEY | Anna's Archive の API キー | Anna's Archive バックエンドを使用する場合 |
Z-Library への初回ログインが成功すると、パフォーマンス向上のため、セッショントークンが ~/.claude/book-tools/config.json に自動的にキャッシュされます。このファイルは自動管理されるため、手動で編集しないでください。ログインに問題が発生した場合は、config.json を削除してください。スクリプトが .env の認証情報を使って再度ログインします。
ワークフロー
通常の流れは、検索 → 選択 → ダウンロードです。
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. ユーザーに報告する
ダウンロード後、構造化された完了レポートを提示します。
[Book Download] Complete!
Book: [title] by [author]
Source: [zlib/annas]
Path: [file path]
Size: [file size]
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 キーがありません | API アクセスのために Anna's Archive に寄付し、その後キーを .env に追加するようユーザーに案内します |
| 検索タイムアウト | ネットワークの問題 | 1 回だけ再試行します。問題が続く場合は、もう一方のバックエンドを試します。 |
| "No backend available" | どちらのバックエンドも設定されていません | ステップ 1 からセットアップ手順を順に案内します |
障害時の動作
| シナリオ | 動作 |
|---|---|
| Z-Library が停止 | Anna's Archive に自動で切り替えます(--source auto がこの処理を行います) |
| Anna's Archive が利用できない | Z-Library のみを使用します |
| どちらも設定されていない | 停止し、セットアップ手順を案内します |
ヒント
- Z-Library には 1 日あたりのダウンロード上限があります(無料アカウントでは通常 1 日 10 件)。上限を無駄に消費しないよう、ダウンロード前に
infoを使って本を確認してください。 - Anna's Archive では、検索とダウンロードの両方に API キーが必要です(寄付によって取得できます)。
- 中国語の書籍を探す場合は、最良の結果を得るために、Z-Library で
--lang chineseを使用してください。 - Z-Library に接続できない場合は、
--source autoで Anna's Archive に自動的に切り替えてください。 - 特定の著者を複数の言語で検索する場合は、並行して検索(例:英語名と中国語名)し、結果を 1 つの表にまとめてください。