PageToMD – WebページをAIエージェント向けのクリーンなMarkdownに変換するCLIツール
PageToMD は、任意のWebページをクリーンなMarkdown(YAMLフロントマター付き)に変換するCLIツールです。静的ページとJSレンダリングページに対応し、リトライ、robots.txt尊重、アトミック書き込みなどの堅牢な機能を備え、RAGやLLMプロンプティングなどのAIエージェントワークフロー向けに設計されています。
PageToMD は、Webページをクリーンで構造化されたMarkdown形式に変換し、YAMLフロントマターを自動付加するオープンソースのCLIツールです。ベクターストアへの格納や大規模言語モデル(LLM)へのプロンプトとして直接利用できるよう設計されており、AIエージェントのワークフローに最適です。既存のツール(pandocやcurl+sed)では難しかった、メインコンテンツの抽出、リダイレクト処理、メタデータ付加を一貫して行います。
インストール方法は柔軟で、pipxまたはuvを使用したグローバルインストールが推奨されます。また、uv runによりインストール不要で直接実行することも可能です。JavaScriptを多用するモダンなWebページ(SPA)に対応するため、Playwrightを追加インストールすることで、静的ページと動的ページをシームレスに処理できます。デフォルトのhttpxフェッチャーは高速で、ページ内容が不十分な場合やSPAマーカーを検出した場合、autoモードで自動的にPlaywrightにフォールバックします。
基本的な使い方は簡単で、pagetomd https://example.com と実行するだけで、ページタイトルからファイル名を生成してMarkdownファイルを出力します。標準出力に出力する -o - オプションを使えば、パイプでLLMや他のツールに直接渡せます。URLリストをファイルから読み込んでバッチ処理することも可能です。
主な機能として、単一ページモードとクロールモード(--crawl)があり、指定したパス配下の全ページを再帰的に取得できます。コメントや画像、リンクの保持、テーブル処理戦略など、出力を細かく制御するオプションが豊富に用意されています。リトライ機構、タイムアウト制御、robots.txtの尊重など、信頼性を高める機能も内蔵しています。出力ファイルには常にYAMLフロントマター(URL、タイトル、著者、日付など)が含まれ、デフォルトで取得時刻が追加されますが、--no-fetched-at でバイト単位で決定論的な出力にできます。
セキュリティ面では、PageToMD はデフォルトでプライベートアドレスやループバック、リンクローカルなどの内部アドレスへのアクセスを拒否し、上書きオプションもありません。これにより、公開URLのみを対象とした安全なツールとなっています。コード品質には厳しいテストカバレッジ要件(全体85%、重要なモジュールは90%)が課されています。ライセンスは Business Source License 1.1 で、ソースコードは利用可能で非商用利用は無料です。2030年6月にMITライセンスに切り替わる予定です。
まとめると、PageToMD はAI開発者にとって信頼性が高く、使いやすく、多機能なWebページ変換ツールであり、データ準備プロセスを大幅に簡素化します。