ローゼンブラットのFrank、そしてフランケンシュタインのFrank
自分の問題を解決するために、AIエージェントと一緒に作った小さなオープンソースアプリです。どれも私には役に立ちますが、ほとんどはまったく同じニッチな用途がある人にしか役に立ちません。
なぜ全部Frankなのか
フランク・ローゼンブラットは1957年にパーセプトロンを作りました。最初のニューラルネットワークで、今私が使っているすべてのLLMの祖先です。彼は「もうすぐ」人間より賢い機械ができるとも約束し、新聞はそれに飛びつき、そして最初のAIの冬が来ました。これらのアプリはAIで書いたので、名前は彼へのささやかなオマージュです。
もう一人のFrankはフランケンシュタインです。エージェントに何が作れるかを試すために継ぎはぎした実験なので、堅牢さは約束しません。どれも私のとてもニッチな困りごとを解決するものです。同時に私のテストベッドでもありました。毎日使っているエージェントとのワークフローは、これらを作りながら固めたものです。
注目の6つ
主なもので、どれも今もメンテナンスしています。各カードからリポジトリと、それについて書いた記事に移動できます。
FrankMD
Rails 8 · Docker
セルフホストのMarkdownエディタ兼ノート整理アプリです。データベースは使わず、ノートはディスク上の普通のファイルです。Dockerコマンド1つで起動し、fedコマンドで任意のフォルダを開けます。
きっかけ: 自分のブログの書き方に合ったエディタが欲しかった。
Frank Sherlock
Rust · Tauri · Ollama
写真、PDF、動画のフォルダを指定すると、ローカルのビジョンモデルが各ファイルを説明し、OCRで文字を読み取り、すべてをインデックス化します。あとは「スーパーのレシート 42ドル」のように検索するだけです。重複の検出や顔のグループ化もできます。データはマシンの外に出ません。
きっかけ: NASにある何千枚もの画像から、外に送らずに1枚を見つけたかった。
Frank Yomik
Python · Ollama · Flutter · Chromium
日本語と韓国語のマンガを原文のまま読むためのツールです。吹き出しを見つけてOCRで読み取り、ローカルLLMで翻訳するか、ふりがなを付けます。ページの上でポインタを長押しすると、ルーペに結果が表示されます。AndroidとLinux用のアプリと、Chromium拡張機能があります。
きっかけ: 日本語でマンガを読み、つまずいたところだけ調べたかった。
Frank Manga+
Rust · Tauri · SvelteKit
集英社のMANGA Plusを読むためのデスクトップリーダーです。公式はスマートフォンアプリしかありません。ライブラリ、カタログ全体の検索、ページを画面に合わせるリーダーを備えています。無料プランはそのまま使え、購読者のシークレットを入れるとプレミアムの章も読めます。Linux、macOS、Windowsに対応しています。
きっかけ: スマホではなく、ちゃんとした画面でMANGA Plusを読みたかった。
FrankMega
Rails 8.1 · SQLite
ホームサーバー用のファイル共有サービスです。ファイルをアップロードすると、一定時間または一定回数のダウンロードで期限切れになるリンクが発行されます。招待制で、パスキーと二要素認証に対応し、外部サービスは使いません。
きっかけ: サードパーティのサービスを使わずに、家族や友人に大きなファイルを送りたかった。
Frank Scanlation
Tauri · Linux, macOS, Windows
スキャンレーションサイト用の、Kindleのようなデスクトップリーダーです。サイトのURLを貼り付けると、表紙、章の進み具合、新しい章が出たときのバッジ付きのカードとしてライブラリに並びます。Linux、macOS、Windowsに対応しています。
きっかけ: スキャンレーションサイトは明るすぎて広告だらけ、しかも1本の長いスクロールだった。
小さな困りごと
あと5つ。どれも、必要だった1つの作業のために作りました。
Frank GO
Sabaki · KataGo
Sabakiをベースにした初心者向けの囲碁トレーナーです。4,700問以上の詰碁をレベルに合わせて出題し、歴史的な棋譜で学べて、KataGoと対局できます。初心者にはまだ見えない地と形勢を、オーバーレイで表示します。
きっかけ: 強い囲碁ソフトは、強い打ち手のために作られている。
Frank Type
Rails 8 · Docker
ランダムな単語ではなく、パブリックドメインの文章で練習するMonkeyType風のタイピングトレーナーです。アカウント不要で、履歴とグラフはブラウザに保存されます。どのキーの組み合わせで遅くなるかを、ダイグラフのヒートマップで表示します。Dockerで動きます。
きっかけ: MonkeyTypeはランダムな単語ばかりで、TypeRacerは他のプレイヤーを待たされる。
Frank Karaoke
Flutter · Android
YouTubeをラップして、動画の音声とマイクから歌をリアルタイムで採点するAndroidアプリです。楽曲ファイルは不要です。採点モードは4つで、キー変更もできます。採点はまだ実験段階です。
きっかけ: YouTubeのどんなカラオケ動画でも採点したかった。
Frank Lyrics
Chrome MV3 · LRCLIB
YouTubeの歌詞動画に、1行ずつ操作できるコントロールを追加するChrome拡張機能です。LRCLIBから同期済みのタイムスタンプを取得するか、手動で行に印を付けて、覚えたい行だけを繰り返し再生します。実験的なものです。
きっかけ: 同じ歌詞の行を繰り返すために、YouTubeのシークバーを探し回っていた。
Frank Geary
Vala · GTK
GNOMEのメールクライアントGearyのフォークで、2つの修正をネイティブのパッチとして入れています。アカウントのサイドバーを折りたためることと、宛先欄でメールをくれた相手を候補に出すことです。上流からこまめにリベースしています。
きっかけ: Gearyはほぼ完璧でしたが、3列固定のレイアウトが縦置きモニターを無駄にし、宛先欄は誰も候補に出さなかった。
2026年9月24日時点で、GitHubには公開のFrankリポジトリが14個あり、このページに載せたものより少し多くあります。
Frankリポジトリをすべて見る









