ResearchZosho について
ResearchZoshoは、ウェブ情報や学術論文、手元の文書を調べる人向けのオープンソース研究アシスタントです。主張ごとに出典を示し、引用を照合したレポートを作成し、確認済みの知見を後の調査に引き継ぎます。
主な機能
- 01ウェブ、論文、PDFの検索
- 02引用と原文抜粋付きレポート
- 03出典との照合による引用確認
- 04主張の確認と状態管理
- 05後続調査に向けた知見の保存
活用シーン
- 01学術論文間の結論の比較
- 02PDFフォルダーを使ったテーマ調査
- 03出典更新後の承認済み主張の再確認
MCP 対応
Claude Code、Codex、Gemini CLIなどのMCPホストからライブラリを直接検索できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ResearchZosho
研究蔵書、研究資料の蔵書。すべての人のためのリサーチハーネス。
ResearchZoshoは、オープンソースのディープリサーチアシスタントです。質問を入力すると、ウェブや学術論文、または手元のPDFだけを検索し、すべての主張に出典を示したレポートを作成します。お使いのコンピューター上で、ローカルLLM(llama.cpp、Ollama、LM Studio)またはホスト型APIを使って動作します。
3人の人々、1つの問題。
獣医から、飼い犬のがんに新薬が使えると聞きました。次の診察は3日後です。その薬がどれほど効くのか、どの犬種に使えるのか、副作用は何か、研究で何が明らかになっているのかを知りたいと思っています。答えは、20本の論文、規制当局の審査資料、そして医療アドバイスのように見えるだけのページの数々に散らばっています。
家族の歴史をたどっています。曽祖父は1911年の大阪の国勢調査に載っていますが、1921年には、家族が知るすべての記録から姿を消しています。船客名簿、府県の移民者名簿、古い新聞の告知のどこかに、手がかりがあるはずです。そのほとんどは日本語で、検索結果の最初のページには出てきません。
1990年代のイギリスのSFに対するソ連・アフガニスタン戦争の影響について、論文の一章を書いています。3つの言語で書かれた論文や記事を40本保存しています。1週間で、それらが何に同意し、どこで意見が分かれ、まだ誰も調べていないことは何かを明らかにしなければなりません。
そのすべてを一晩で読むことはできません。それがResearchZoshoの仕事です。質問を入力すると、各事実を出典とともに読み取り、記録します。完了すると、見つかった内容、出典同士で意見が分かれている点、解決できなかった点をまとめた文書ができています。文書内のすべての主張には、確認できる出典が示されます。見つけた内容は保持されるため、同じテーマについて次に質問しても、ゼロから始める必要はありません。利用した論文に新しい版が出たり、手元の調査結果同士が矛盾したりすると、それを知らせてくれます。
あなたが確認するまでは、何も有効とはみなされません。
選んだモデルを使って、お使いのコンピューター上で動作します。モデルはローカルでもホスト型でも選べます。無料のオープンソースソフトウェアです。信頼できる調査が必要なすべての人のためのツールです。
これが、すべての人のためのリサーチハーネスです。
→ LIBRARIAN_HOWTOUSE.md:日常的な使い方 → LIBRARY_PROTOCOL.md:プログラマー向け、プログラムからの利用方法 → FAMILY_HISTORY.md:親族のメモから記録、家系図まで、家族の歴史を調べる方法 → YOUTUBE.md:APIキーなしで、YouTubeにある情報を調べる方法 — チャンネル、動画の内容とその時刻、知っているチャンネルに似たチャンネル
→ BEDROCK.md:ご自身のAWSアカウントとAWSサインインを使って、モデルを利用する方法(Amazon Bedrock)
→ MODELS.md:実測結果にもとづくモデルの選び方。まずはグラフィックカードのVRAMに応じたローカルモデル、次に正答率、実行時間、費用に応じたホスト型モデルを紹介します。
できること
質問を入力する。 何を調べる必要があるかを判断します。ウェブと、CrossrefおよびOpenAlexを通じたDOIによる学術文献を並行して調査します。質問に応じて、ウェブアーカイブ、Internet Archive、デジタル化された歴史新聞、国立国会図書館のデジタル化された日本語書籍、ソースコードのアーカイブ、YouTube以外の動画サイトも調べます。すでに消えたページは、アーカイブされたコピーから読み取ります。回答はセクションに分けてまとめます。調査が完了するまで、または許可された時間いっぱいまで続けます。質問が英語以外の言語を指している場合を中心に、他の言語で書かれた資料も読み取ります。まとめには、参照した資料がどの言語で書かれていたかが記載されます。 回答を確認する。 すべての調査レポートの末尾には、使用した事実をまとめた表が付いています。各事実には出典と引用が記載されています。そのあとに、重複しない出典の番号付きリストが続きます。調査レポートを保管する前に、出典を引用している各文を出典と照合します。問題があれば指摘します。ペイウォールやログインなどの理由で出典を読めない場合は、その出典を一覧にして、テキストを自分で提供できるようにします。
質の低い出典を除外する。 出典が1つだけの主張は、独立した別の出典で裏付けられるまで下書きのままです。撤回された論文があれば、それを引用する主張に異議を申し立てます。禁止したサイトは使用しません。信頼できると判断したサイトは一次資料として扱います。
採用する内容を決める。 各主張は下書きとして始まります。承認するか、異議を唱えるか、取り下げるかを選べます。ライブラリは、次回から承認した内容を使用します。
話しかける。 researchzosho chat は司書との会話です。棚に何があるか尋ねたり、追加で質問したり、「find out …」と言って調査を開始したり、「how did that go?」と尋ねたり、受信箱を確認したりできます。返信にはすべて、開いて確認できる検索結果が引用されています。裏付けのない数値は推測として示されます。同じ会話は /chat のページでも利用できます。
すでに分かっていることを尋ねる。 researchzosho ask "…" を使うと、質問についてライブラリが保持している内容を確認できます。各主張、その出典、承認済みか、まだ異議がある状態かが表示されます。
手持ちの文書を持ち込む。 PDF、ウェブページ、フォルダー全体を取り込めます。フォルダーを指定すると、中の文書がすべてコレクションとして保管されます。それらの文書だけを検索する質問をしたり、まずその文書から調べて、その後さらにウェブで検索する質問をしたりできます。
本をおすすめしてもらう。 あるテーマについて最初に読む本、本の内容、次に読む本を尋ねられます。おすすめはライブラリの目録(Open Library、国立国会図書館など)に基づいており、モデルの記憶から選ばれることはありません。そのため、挙げられる本はすべて実在し、書誌情報へのリンクがあります。ベストセラー一覧だけにとらわれず、それぞれの本の内容と対象読者も説明します。
自分の本棚を使う。 Calibre ライブラリを指定すると、どのような本を好むかを学習します。テーマ、繰り返し読む著者、年代、言語などです。researchzosho myshelf like "<title>" は、誰が書いたかではなく、本文の内容に基づいて、あなたの本棚から似た本をおすすめします。毎晩、本を読み込んで1冊ごとにカードを作成します。カードには本の説明だけが記載され、あなたに関する情報は含まれません。気に入った行や気に入らなかった行を伝えると、次回のリストに反映されます。
所有しているものを把握する。 購入記録(Amazon から送られてくる zip、注文確認メールのメールボックス、カードの利用明細)を取り込むと、すでに持っているものをライブラリが把握できます。毎晩、公開されている製品安全情報と照合し、あなたに関係する可能性のあるリコール情報があれば、受信箱に届きます。
購入について調べる。 何を買うべきか尋ねると、調査ではあなたの国で現在販売されている商品だけを対象に、価格、データシート、リコール情報、修理のしやすさ、所有者の意見を調べます。表では人気ではなく、あなたのニーズに合っているかを評価します。中古品、ビンテージ品、絶版品の場合は eBay を検索し、プログラムからは読み取れないマーケットプレイスをすぐに検索できるリンクを提示します。
何かのやり方や作り方を尋ねる。 工芸、趣味、スポーツ、武道、職業などについて質問できます。回答には必要な道具一式が含まれます。すべての材料やツール、その用途、代用品、入手先が分かります。スポーツや武道なら、必要な順に用具を紹介し、学べる場所も案内します。SCA や歴史再現協会など、参加したいコミュニティについては、参加方法や用具に関する規則も説明します。
ポッドキャストと動画。 ポッドキャスト、ホスト、エピソードについて質問すると、何が話されたかを発言時刻とともに調べ、エピソードを引用します。番組をフォローすると、新しいエピソードが公開されたときに通知されます。動画について質問すると、YouTube と関連サイトを検索し、該当する場面を引用します。 毎晩、継続して調査します。 毎晩、継続すると指定した検索を実行します。以前は答えられなかった質問を調べます。採用済みの主張をいくつか、その出典と照らし合わせて読み直します。引用した論文の新しいバージョンにも気づきます。日付入りのバックアップを保持します。日曜日には、重複しているように見える主張と、整理できそうな文書のリストをそれぞれ作成します。統合、削除、判断をあなたに代わって行うことはありません。
つながりを確認できます。 ある人物がある場所に住んでいた、あるいは著者が作品を書いたと主張に記されている場合、ライブラリはそのつながりを保持します。researchzosho map "Arthur Ellis" を実行すると、その名前に関する情報をすべて確認できます。サービスがブラウザーに図を表示します。これまでに蓄積した調査内容がつながります。
ブラウザーで開けます。 サービスには、検索、質問、出典とともに主張を読む、テーマをたどる、変更内容や実行中の項目を確認する、質問を送る、レポートをMarkdownまたはPDFでダウンロードするといった基本的なページがあります。デスクトップエディターで使う場合は、researchzosho vault を実行すると、Obsidian、SoloMD、SilverBulletがインポートできるフォルダーを作成します。
ほかのプログラムからも使えます。 Claude Code、Codex、Gemini CLI、その他のMCPホストからライブラリに直接問い合わせることができます。それ以外の用途には、PythonとJavaのクライアントから利用できる小規模なHTTPサービスが対応します。
自宅の外からアクセスできます。 researchzosho share を実行すると、暗号化されたリレーを介してライブラリにすぐアクセスできるようになります(最初はCloudflare quick tunnel、固定アドレスにはTailscale Funnelを使用します)。無料で、自宅のポートを開放する必要はありません。リンクを知っている人にはサインインページが表示され、招待した人だけが、名前とパスワード、パスキー、または第2段階の認証方法としてのワンタイムコードを使ってアクセスできます。リンクを1つ送れば相手を招待できます。相手はリンクを開いたときにパスワードを設定します。
簡単にサインインできます。 貼り付けるトークンはありません。最初に名前とパスワードでアカウントを作成すれば、どのスマートフォンやコンピューターからでもサインインできます。ライブラリを実行しているコンピューターでは、ブラウザーでサインインする必要はありません。パスキーを追加すれば、指紋や顔でサインインできます。または、認証アプリのワンタイムコードを第2段階の認証方法として使えます。プログラムでは引き続きトークンを使用します。
はじめに
調査を実行するには、OpenAIのチャットAPIに対応したモデルサーバーが必要です。ローカルのモデルサーバー(llama.cpp、Ollama、LM Studio)でも、キーを使うホスト型API(OpenAI、DeepSeek、Gemini、OpenRouterなど)でもかまいません。また、Java 21以降も必要ですが、独自のランタイムを同梱したビルドを選べば不要です。Javaが見つからない場合は、インストーラーがそのビルドを選びます。
調査を実行するには、ウェブ検索バックエンドも必要です。モデルと同じくらい重要です。Brave Search APIキー(無料プラン)か、SearXNGを使用してください(セットアップでDockerを使って起動できます)。どちらもない場合、組み込みの代替検索はWikipediaと学術文献のみを対象にします。ライブラリがすでに持っている情報への質問には、モデルなしで対応できます。
git clone https://github.com/Wyrdsekai/researchzosho.git
cd researchzosho
bin/researchzosho setup
完了したら、ブラウザーで http://127.0.0.1:4649/ を開きます。
setup ではいくつかの質問が表示されます。どの質問にも、あらかじめ回答が入力されています。
- ライブラリのインストール先
- 使用するモデルと、確認に使うモデル
- ウェブ検索バックエンド
- 意味検索、キーワード検索、またはその両方のどれを使うか
- サービスとして実行するかどうか
- 接続するプログラム
続いて、指定した文書をライブラリに保存し、それに関する質問に回答します。設定を1つ変更したいときは、いつでも再実行できます。--yes を指定すると、すべての既定値が選択されます。
リリース版はLinux、macOS、Windowsにインストールできます。CodeZaikuをすでにお使いの場合は、codezaiku install researchzosho を実行すると、リリース版を取得して検証した後、セットアップを実行します。
設定は、~/.researchzosho/config の key = value 形式の行、または環境変数に保存されます。特に変更することが多い設定は次のとおりです。
| 設定 | 内容 |
|---|---|
RESEARCHZOSHO_DRIVE | モデルサーバー。例:http://localhost:8080 または https://api.openai.com/v1 |
RESEARCHZOSHO_MODEL | 問い合わせるモデル名 |
RESEARCHZOSHO_JUDGE_DRIVE / RESEARCHZOSHO_JUDGE_MODEL | 判断を伴うステップ(計画、批評、レポート作成、引用の確認)に使う、2つ目のより高性能なモデルです。読み取りはローカルモデルが行います |
RESEARCHZOSHO_EMBED | 埋め込みサーバー(OpenAI の埋め込み呼び出し)です。検索で単語だけでなく意味も使えるようになります。単語だけで検索する場合は off にします。researchzosho embed start を実行すると、Docker でサーバーを起動できます(Text Embeddings Inference。同じモデルで llama.cpp より約9倍高速です) |
RESEARCHZOSHO_LIBRARY | ライブラリフォルダーの場所(デフォルトは ~/researchzosho-library) |
research.workers / research.pause / research.window | 研究タスクでモデルを共有する方法です。同時に処理する質問の数、一時停止スイッチ、作業可能な時間帯を設定します。researchzosho research … で設定でき、すぐに反映されます |
RESEARCHZOSHO_VISION_DRIVE / RESEARCHZOSHO_VISION_MODEL | 画像(撮影したページ、スキャンした PDF)の読み取りに使う別のモデルです。画像を読み取る場合、デフォルトではお使いのモデルが読み取ります |
RESEARCHZOSHO_RECORDS | record_search の対象を、家系図モードの研究タスクとソフトウェアに関する質問にします。always にするとすべてのタスクで使い、off にすると使いません |
RESEARCHZOSHO_BRAVE_KEY / RESEARCHZOSHO_SEARXNG | ウェブ検索のバックエンドです。Brave Search API キー(優先して使用)、SearXNG のアドレス(デフォルトは http://localhost:8888。researchzosho search start を実行すると Docker で起動できます)が使えます。どちらもない場合は、組み込みの代替手段である Wikipedia、Crossref、OpenAlex を使います(RESEARCHZOSHO_FALLBACK_SEARCH=off にすると無効になります) |
RESEARCHZOSHO_API_KEY | ホスト型 API のキーです。そのサーバーにのみ送信されます |
RESEARCHZOSHO_UPDATE | check(デフォルト):新しいリリースがある場合に通知します。auto:サービスがアイドル状態のとき、ハウスキーピング後に自動更新します。off |
RESEARCHZOSHO_EXPLORER_PER_NIGHT / RESEARCHZOSHO_EXPLORER_TYPES | ハウスキーピングが一晩に調査する未解決の質問の数(デフォルトは2)と、その種類(デフォルトは report、asked、person) |
RESEARCHZOSHO_PODCASTINDEX_KEY / RESEARCHZOSHO_PODCASTINDEX_SECRET | Podcast Index のキーとシークレット(api.podcastindex.org/signup、無料)です。人物名で検索できる公開ポッドキャストディレクトリです。これらがなくても Apple のディレクトリには問い合わせます。researchzosho podcast index download を実行すると、検索や番組の単語・カテゴリ・言語別の閲覧に使えるディレクトリの週次ファイル(1.8 GB)をマシンに保存できます。RESEARCHZOSHO_PODCASTINDEX_LOCAL=on にすると、ハウスキーピングで更新されます。 |
RESEARCHZOSHO_YAHOO_JP_CLIENT_ID、RESEARCHZOSHO_RAKUTEN_APP_ID + RESEARCHZOSHO_RAKUTEN_ACCESS_KEY、RESEARCHZOSHO_ICECAT_USER、RESEARCHZOSHO_REDDIT_CLIENT_ID + RESEARCHZOSHO_REDDIT_CLIENT_SECRET | 買い物に関する質問で利用するショップやカタログです。すべて無料です。価格付きの Yahoo!ショッピングと楽天市場の商品情報(日本)、Open Icecat の製品仕様書、ご自身のアプリを通じた Reddit の所有者による投稿を利用できます。これらがない場合、タスクでは公開情報を使い、ショップへのリンクを案内します。 |
calibre | Calibre ライブラリ、そのフォルダー、または metadata.db です。読み取り専用で変更はしません:researchzosho settings set calibre "~/Calibre Library"。本棚、書籍カード、「これに似た本」の情報はここから取得します |
market | 買い物をする国を表す2文字のコードです。セットアップ時に尋ねられます。買い物タスクでは、その国のショップ、通貨、リコール通知を使います |
ebay_client_id + ebay_client_secret | お住まいの市場での eBay の商品情報とオークションです。中古品、ヴィンテージ品、絶版品に利用できます。eBay の開発者プログラムから無料で取得できます |
cinii_appid | 大学図書館が所蔵する日本の書籍と、所蔵館数です。NII から無料で取得できます |
dna_minutes / dna_share | ライブラリが書籍カードを作成するために一晩に書籍を読み取る時間(未設定時は20分、0にすると無効)と、個人情報を含まないカードのパックを週に1回書き出して共有するかどうか(未設定時は無効) |
recalls | off にすると、所有する製品を対象とした製品安全情報フィードの夜間チェックを停止します |
RESEARCHZOSHO_WHISPER | 別のマシン上にある文字起こしサーバー(OpenAI 形式の /v1/audio/transcriptions)です。未設定の場合はローカルコンテナーを使います。RESEARCHZOSHO_TRANSCRIBE_EPISODES と RESEARCHZOSHO_TRANSCRIBE_MINUTES は1回の実行で文字起こしする量の上限(エピソード2件、120分)を設定します。RESEARCHZOSHO_TRANSCRIBE_FOLLOWED_MINUTES は、フォロー中のポッドキャストを一晩に文字起こしする時間の上限を設定します(未設定の場合は上限なし)。researchzosho settings で、すべての設定を確認・変更できます。 |
RESEARCHZOSHO_TROVE_KEY / RESEARCHZOSHO_DIGITALNZ_KEY / RESEARCHZOSHO_EUROPEANA_KEY / RESEARCHZOSHO_DPLA_KEY | キーが必要なアーカイブ用のキーです。Trove(オーストラリアの新聞)、DigitalNZ(Papers Past の高い利用制限)、Europeana、DPLA(文化遺産資料)で使います。その他のアーカイブにはキーは不要です。 |
RESEARCHZOSHO_FETCH_PRIVATE | deny にすると、ご自身のネットワーク上にあるアドレスへのアクセスを防ぎます |
RESEARCHZOSHO_FETCH_MAX_BYTES | ダウンロードするドキュメントの最大サイズ(デフォルトは25 MB) |
RESEARCHZOSHO_STALL_MINUTES | 進捗がない状態が何分続くと研究タスクに「no progress since」と表示し、タスクが停止している箇所をサービスがログに記録するかを設定します(デフォルトは15分) |
RESEARCHZOSHO_FETCH_MIN_BYTES_PER_SECOND | 平均ダウンロード速度がこれを下回ると、ダウンロードを中止する速度の下限です(デフォルトは毎秒4,096バイト)。それより速く読み込み続けるページは、どれだけ時間がかかっても最後まで読み取ります |
サービスとして
bin/researchzosho service install # Linux, macOS or Windows; a user service, no administrator rights
サービスは 127.0.0.1:4649 で待ち受けます。毎日 03:00 に保守処理を行い、送信された質問を実行します。service install --host 0.0.0.0 を実行すると、ローカルネットワークから利用できるようになります。初期状態ではページは公開されており、アクセスできる人なら誰でも閲覧し、質問を送信できます。researchzosho web signin on を実行すると、アクセス制御が有効になります。
Claude Code、Codex、Gemini CLI から
claude mcp add --transport http librarian http://127.0.0.1:4649/rpc --header "Authorization: Bearer <token>"
codex mcp add librarian -- researchzosho mcp
npx -y @wyrdsekai/researchzosho-mcp # any client that runs npm packages; installs the release if needed
gemini mcp add -t http librarian http://127.0.0.1:4649/rpc -H "Authorization: Bearer <token>"
researchzosho reader token <did> でトークンを作成します。プログラムはトークンでサインインし、人は名前とパスワードでサインインします。その後、どのセッションからでもライブラリを利用できます。
一緒に使うもの
購入するものはありません。次の順に試してください。
- ブラウザー。 サービスの起動後に
http://127.0.0.1:4649/を開きます。検索、質問、出典付きの主張の閲覧、解説の依頼、マップの表示、質問の送信、レポートのダウンロードができます。インストールは不要です。家族のほかの人も、これを使ってライブラリを利用できます。 - Obsidian または SoloMD。
researchzosho vaultが書き込むフォルダーを開きます。 - ローカルモデルで無料でライブラリと対話するには、
codezaiku chatを使います。サービスに接続します。ライブラリの内容は各ターンに渡され、/librarianで質問でき、/researchでファイルを実行できます。 - Claude Code、Codex、Gemini CLI をお持ちの場合は、
setupで接続します。以降、どのセッションからでもライブラリのツールを使えます。MCP に対応するほかのプログラムも、同じ方法で接続できます。
プログラム向けのクライアントは 2 つあります。どちらも LIBRARY_PROTOCOL.md に準拠しています。セクション 1〜6 は仕様であり、リリースが変わっても引き続き利用できます。
- Python(
sdk/python、依存関係なし):pip install researchzoshoを実行し、Librarian("http://127.0.0.1:4649", token=…)を使います。 - Java(
client/):org.researchzosho:clientを使い、次にLibrarianClientを利用します。
Wyrdsekai ファミリー
ResearchZosho は Wyrdsekai の一部です。姉妹プロジェクトの CodeZaiku は、ローカルモデルまたはホスト型 API で動作するコーディングおよび開発用ハーネスです。コード作成、レビュー、調査、ガード付きの運用に対応します。codezaiku install researchzosho を実行すると、このライブラリを CodeZaiku と並べてインストールできます。2 つはモデルサーバーを共有するため、1 台のマシンでオンデマンドモデル 1 つを両方に利用できます。
ライセンス
Apache 2.0 です。LICENSE を参照してください。ResearchZosho にモデルは含まれていません。モデルサーバーはご自身で用意し、そのライセンスには別途同意してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。