「imozuru」に調べさせたら、要約じゃなく原文の“何行目”が返ってきた
- 公開
- 正式公開 2026-10-21(MIT ライセンス、ただし初公開日は不明のため)
- 作り手
- いる科(個人)
- 対応
- Claude Code(プラグイン・スキル)
- 言語
- 日本語・English
- 価格
- 無料(MIT ライセンス)
- 評価
- GitHub のスター 953(2026-10-21)
どんなアプリか
imozuruは、知らない分野を、原文にたどりつくまで芋づる式に掘るClaude Codeのスキルです。
いる科さん、GitHub の README
README によると、スキルなしで「調べて」と頼むと、LLM は検索上位の数件を読んで要約を返し、判断に必要な細部が落ちやすいとしています。imozuru はまず分野の用語、中心にいる人、知見が集まる場を押さえ、そこから引用やリンク、著者をたどって原文を集めます。集めた原文は要約せず、主張ごとに「どのファイルの何行目か」を示すところまでにとどめ、判断はユーザーに任せます。
Claude はまず問いと、答えるために必要な主張を3〜6個書き出します。次に、探し方を変えた2本の検索役(Web を検索するサブエージェント)で用語・人・場を集めて地図(map.md)にまとめ、参考文献や被引用、著者をたどって原文を探します。論文のない分野では、記事の中のリンクや「〇〇さんの記事を参考にした」という記述をたどります。
探すのをやめる条件は2つです。すべての主張に原文の場所が付いたとき、または2本の検索役が挙げた資料の7割以上がすでに地図にあるとき(飽和)です。7割は試しながら決めた仮の目安と説明されています。
最後に、原文から切り出した文を主張ごとに並べた抜き書きのページ(report.html)を作ります。report.py は切り出した文が原文の指定の行にそのまま在るかを照合し、1語でも違えばページを作りません。
塗り方や MIX のように論文がほとんどない分野では、個人のブログや動画も論文と同じようにたどります。保存した原文には〔論文〕〔本人〕〔観察〕〔まとめ〕〔公式〕の印を付け、どれを信じるかはユーザーに任せています。
見張りのモード(/imozuru watch)では、掘って見つけた場(Qiita や Zenn のタグ、note、YouTube、ブログ、arXiv)の新着を RSS で集めて並べます。
考え方の土台は、Bates の berrypicking、Ellis の探索行動のモデル、Kuhlthau の探索過程の研究など、図書館情報学の情報探索の研究です。要約しない理由には、調べ始めの段階で詳しくまとめると早すぎる閉じ(premature closure)を招くという Kuhlthau(1991)の指摘を挙げています。
料金とデータの置き場所
MIT ライセンスで公開されています。引用をたどる chain.py は OpenAlex の API を使いますが、API キーは必要ありません。
結果は手元の ~/research/<話題>/ に保存されます。中身は map.md(問い・要る主張・用語・人・場など)、log.md(周ごとの探索の記録)、sources/(落とした原文)、extracts.json(抜き書き)、report.html(抜き書きのページ)です。
入れる前に
Claude Code では /plugin marketplace add MaryCache/imozuru と /plugin install imozuru@imozuru で入れます。skills の CLI(npx skills add MaryCache/imozuru)や、skills/imozuru/ を ~/.claude/skills/imozuru/ にコピーする方法もあります。プラグインには版の番号がなく、main にコミットが入るたびに新しい版として扱われます。
スクリプトは Python 3.10 以上の標準ライブラリで動きます。pdftotext や tesseract、yt-dlp が入っていないと、PDF の本文や YouTube の字幕が取れずに FAIL になります。
検索役は Web を検索するので、問いの内容が検索語として外部に送られます。README は、機密情報や個人データが関わる調べものには使わないよう求めています。有料の論文を回避して入手する手段は使わず、保存した原文は手元で読むための写しなので再配布しないよう書かれています。
原文を取るスクリプトは、http(s) 以外の URL と、手元や内側の宛先(127.0.0.1 など)には取りに行きません。VPN やプロキシの道具によっては何も取れなくなることがあり、その場合だけ環境変数 IMOZURU_ALLOW_PRIVATE=1 で宛先の検査を外せます。