mcpField
W
weread

weread

github.com/shiquda生産性24389 回インストール14 週間前に更新
リポジトリ

weread について

ローカルのWeReadコマンドラインを使い、書籍検索や読書データ、ノートを扱うためのスキルです。JSON出力と正規化されたエラーを重視し、詳細なリファレンスは必要時に読み込みます。

主な機能

  1. 01CLIの状態と認証の確認
  2. 02書籍や読書コンテンツの検索
  3. 03本棚と読書統計の取得
  4. 04ノート、ハイライト、レビューの閲覧
  5. 05ノートのMarkdownエクスポート

活用シーン

  1. 01タイトルや内容から書籍を検索
  2. 02読書の進捗や統計を確認
  3. 03個人ノートをエクスポートして要約

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/shiquda/weread-cli --skill weread

インストール後、Claude Code で/wereadを入力して読み込まれたか確認します。

同梱ファイルreferences/domain-rules.mdreferences/first-use.md

詳細

WeRead

ローカルの weread CLI だけで操作できます。認証、リクエスト形式、skill_version、JSON の解析、アップグレードの確認、正規化されたエラー処理を担います。場当たり的に curl リクエストを作成すると、これらすべてを再実装することになり、正規化されたエラー処理も失われます。

エージェントはデフォルトで --json を使用してください。人間が読みやすい形式の出力は、ユーザーがターミナルで読みやすいコマンド出力を明示的に求めた場合にのみ使用してください。

本棚、ノートブック、ブックマーク、エクスポートなど、大量の出力になる場合は、まず JSON または Markdown をファイルに書き出してから、結果をチャットで要約してください。大量の JSON ペイロード全体や、エクスポートしたノート全体を会話に貼り付けないでください。

notes export では、デフォルトで --output <path> を使用してください。エクスポート全体をインラインで表示するようユーザーが明示的に求めた場合にのみ、標準出力へ出力してください。

最初の判断

WeRead の操作を始める前に、認証と CLI の状態を確認します。

weread doctor

weread コマンドが見つからない場合、または auth_configured が false の場合は、references/first-use.md を読み、セットアップを案内してください。

コマンド一覧

weread search "三体" --scope book --count 10
weread book resolve "三体" --limit 5
weread book info <bookId>
weread book chapters <bookId>
weread book progress <bookId>
weread shelf list
weread shelf recent --limit 10
weread readdata detail --mode monthly
weread readdata summary --mode monthly
weread notes notebooks --count 100
weread notes top --limit 20
weread notes bookmarks <bookId>
weread notes export <bookId> --format markdown --output notes.md
weread notes mine <bookId> --count 20
weread notes underlines <bookId> <chapterUid>
weread notes best <bookId> --chapter-uid <chapterUid>
weread notes readreviews <bookId> <chapterUid> --reviews-json '[{"range":"900-2004","count":20}]'
weread reviews list <bookId> --type 1 --count 20
weread reviews single <reviewId>
weread discover recommend --count 12
weread discover similar <bookId> --count 12
weread discover friends --count 20
weread api list

サポート対象の API が専用コマンドでカバーされていない場合は、raw の代替手段を使用してください。

weread api call /store/search --param keyword=三体 --param scope=10

リファレンスを読むタイミング

起動時のコンテキストを軽く保つため、リファレンスは必要に応じて読み込みます。タスクに必要な場合にのみ読み込んでください。

  • 初回セットアップ、認証の未設定、API Key に関する質問:references/first-use.md を読む
  • 本棚の合計数、公開/非公開の件数、オーディオブックや記事コレクションの扱い:references/domain-rules.md を読む
  • ノート、ハイライト、ブックマーク、個人的なアイデア、公開レビュー、エクスポート:references/domain-rules.md を読む
  • 読書統計、過去の期間、複数年にまたがる範囲、時間単位の解釈:references/domain-rules.md を読む
  • 本、章、ハイライト、アイデアへのディープリンク:references/domain-rules.md を読む

インテントの振り分け

検索
  • 本を探す、bookId を取得する、またはユーザーが 搜书/找书 と言った場合:weread search "<keyword>" --scope book
  • 一般的な「検索して」または複数の意図が混在する場合:--scope all
  • Web 小説または 网文:--scope fiction
  • オーディオブック、ポッドキャスト、听书、有声书、专辑:--scope audio
  • 著者:--scope author
  • 全文検索または 书里提到:--scope fulltext
  • 書籍リスト:--scope list
  • 公式アカウント:--scope mp
  • 記事:--scope article
書籍の詳細

ユーザーが ID ではなくタイトルを指定した場合は、weread --json book resolve "<title>" --limit 5 を優先して使い、items[].bookId を使用してください。

  • メタデータ:book info
  • 章の UID(章ごとのノート/ハイライトに必要):book chapters
  • 読書の進捗:book progress — progress は整数のパーセントです。1 は 1%を意味し、読了を示すのは 100 のみです
本棚

weread --json shelf list を使用してください。最近読んだ本については、weread --json shelf recent --limit 10 を使用してください。公開/非公開の区分やオーディオブックの扱いなど、詳細な確認が必要な場合は、references/domain-rules.md を読んでください。

読書統計

一般的な概要には weread --json readdata summary --mode monthly を使用してください。または、--mode weekly、monthly、annually、overall を指定して weread --json readdata detail を使用してください。構造化出力の時間フィールドの単位は秒です。過去の期間や複数の期間にまたがる計算を行う場合は、references/domain-rules.md を読んでください。

ノートとハイライト
  • すべての本の概要:weread --json notes notebooks
  • 個人的なノート/ハイライトが多い本:weread --json notes top --limit 20
  • 1 冊分のエクスポート:weread notes export <bookId> --format markdown --output <path>。ローカルの Markdown パスを指定し、ファイル全体を貼り付けるのではなく、件数や内容を要約してください
  • データを手作業で統合する場合は、weread --json notes bookmarks <bookId> と weread --json notes mine <bookId> の両方を使用してください
  • 件数のルール、エクスポートの上限、人気のハイライトに関する検索については、references/domain-rules.md を読んでください
レビュー

公開レビュー:--type 0(すべて)から --type 4 までを指定して weread --json reviews list <bookId> を使用します。個別のレビュー:weread --json reviews single <reviewId>。

おすすめ
  • パーソナライズ:weread --json discover recommend
  • 類似書籍:weread --json discover similar <bookId>
  • 友人の読書アクティビティ:weread --json discover friends。続ける場合は、nextMaxIdx を --max-idx として指定し、更新時には synckey を再利用します

ページネーション

デフォルトでは浅くとどめ、ユーザーから全件のエクスポート、ランキング、または全ページが必要な合計を明示的に求められた場合にのみ、さらにページネーションします。表示件数には --limit を使用し、対応している場合は --all を使用します。手動でページネーションする場合は、--json を使用し、前回の JSON 結果に含まれるネイティブカーソルを渡します。

  • 検索:hasMore == 1 の場合、最後の項目の searchIdx を --max-idx として渡します
  • ノートブック:hasMore == 1 の場合、最後の books[].sort を --last-sort として渡します
  • レビュー:最後のレビューの idx を --max-idx として渡し、返された synckey を --synckey として指定します
  • 類似書籍:最後の項目の idx を --max-idx として渡し、booksimilar.sessionId を --session-id として指定します
  • 友人のアクティビティ:nextMaxIdx を --max-idx として渡します。フィードを更新する際は、返された synckey を再利用します

エラー処理

CLI はエラーを JSON に正規化します。

{
  "ok": false,
  "skill_version": "1.0.4",
  "error": {
    "type": "missing_auth",
    "message": "..."
  }
}
  • missing_auth:references/first-use.md を読み、キーの設定を案内します
  • upgrade_required:直ちに停止し、upgrade_info.message に従います。アップグレードが完了するまで、元のタスクを続けないでください
  • upstream_timeout、network_error:再試行可能です。CLI はエラーを返す前に、一時的な障害をすでに再試行しています
  • api_error、http_error、invalid_json:失敗を報告し、再実行しても安全な場合にのみ再試行します

ユーザー向け出力

  • デフォルトで --json を使用します。コマンドがタスクに対してメタデータを返しすぎる場合は、--compact を使用します
  • Unix タイムスタンプを読みやすい日付に変換します
  • 秒数を時間と分に変換します
  • 検索結果、本棚の項目、メモ、レビュー、おすすめには番号付きリストを使用します
  • 必要に応じて WeRead のディープリンクを含めます。書式ルールは references/domain-rules.md に記載されています

コメント