4. まとめ
まとめ
TranslateGemmaとBashスクリプト,Alfred Workflowを組み合わせることで,テキストを選択してホットキーを押すだけでローカル翻訳が完結する環境を構築できました。翻訳対象のテキストは外部に送信されないため,社内文書や個人的なメモなど,クラウドサービスに送りたくない内容も安心して扱えます。翻訳品質も実用的な水準であり,日常的な用途では十分な精度が得られました。
ただし,この構成には課題もあります。翻訳専用のスクリプトであるため,校正や要約といった他のタスクを追加するには別途スクリプトを用意する必要があります。また,トリガーとして Alfred 等のツールが必要であり,インストールしていない環境ではコマンドラインツールとしてしか動作しません。
発展:myllm-cli へ
「翻訳以外のタスクにも同じ仕組みを使いたい」という発想から,translate スクリプトの設計を汎用化した myllm-cli を開発しました。translate では翻訳の手順をスクリプト内にハードコードしていましたが,myllm-cli では TOML 設定ファイルにタスクの指示(プロンプト)を定義することで,任意のタスクを実行できるようにしています。Ollama に加え,OpenAI や Anthropic などのクラウド API にも対応しています。また,翻訳時の言語判定は日本語(ja)以外にも対応しました。
さらなる発展:macOS アプリ(My LLM)へ
myllm-cli によって Alfred から翻訳以外のタスクも呼び出せるようになりましたが,各タスクごとにショートカットを作成する手間や,Alfred のライセンスが必要という制約は残ります。そこで,Alfred への依存を排除し,各タスクにグローバルホットキーを直接設定できる Swift 製 macOS アプリ My LLM を開発しました。アプリは myllm スクリプトを内包しており,CLI と GUI がコアロジックを共有する設計になっています。