概要
Spegel はHTMLをLLMで処理し、Markdownとしてターミナルに表示する 新しいWebブラウザ のPoC。 個人化 や 要約 などの変換がプロンプトで簡単に実現可能。 Textual を使ったTUIで直感的な操作性。 従来のターミナルブラウザとは異なる 柔軟なカスタマイズ が特徴。 pip でインストールでき、GitHubで公開中。
Spegel:LLMで進化するターミナルWebブラウザ
-
Spegel は、 HTML を LLM (大規模言語モデル)で処理し、 Markdown としてターミナルに直接表示するWebブラウザのプロトタイプ。
-
JavaScript非対応、GETリクエストのみ対応、 カスタムプロンプト によるWebコンテンツ変換が可能。
-
Google Gemini 2.5 Pro Lite の登場で推論速度が大幅に向上、実用性が増加。
-
個人化 や 要約、 翻訳 など、従来はコストや時間がかかった変換作業が LLM で高速・簡単に実現。
-
プロンプト を自由に設定でき、 ELI5 (わかりやすく簡単に)や 重要点の強調 など、複数のビューを1ページ内で切り替え可能。
-
レシピ抽出 などの用途に特化した設定例も提供。
- 例:レシピビュー設定
- id: "recipe"
- name: "Recipe"
- hotkey: "7"
- prompt: 材料と手順のみ抽出し、 メートル法 で出力、余計なコメントや栄養情報は省略
- 例:レシピビュー設定
仕組み
- HTML取得→LLMプロンプト処理→Markdown出力→Textualで描画 のシンプルなパイプライン。
- プロンプトやビューは セッション中にリアルタイム編集 可能。
- Textual によるTUI開発が容易で、UI要素の追加も直感的。
- ストリーミング出力 時は、改行で区切られた完成行のみを描画し、Markdownパーサーの崩壊を防止。
他のターミナルブラウザとの違い
- Lynx や Links2、 Browsh などの伝統的なターミナルブラウザとは異なり、 LLMによる柔軟な内容変換 が特徴。
- POSTリクエスト未対応 だが、フォーム要素独自UI生成の構想あり。
- 現代的なWebサイト はCSSやJSに依存し、従来のターミナルブラウザでは扱いづらいが、Spegelは ノイズを除去し本質的な情報 を抽出。
使い方・導入方法
- pip でインストール:
pip install spegel
- コマンド実行例:
spegel simedw.com
- 設定ファイル(
~/.spegel.toml)のカスタマイズが推奨。 - ソースコードやコントリビュート はGitHubで公開中:
- https://github.com/simedw/spegel
まとめ
- Spegel は、 LLM の力を活用した 新しいターミナルWebブラウジング体験 を提案。
- 個人化・要約・抽出 など多様な用途に適応可能。
- 開発初期段階 だが、今後の発展に期待。