「ウィンドウの向こう側」から「肩越しの視点」へ
ここ数ヶ月、自分の作業スタイルが明確に変化していることに気づく。コーディング中に行き詰まったとき、ブラウザを開いてChatGPTやClaudeのテキストボックスにエラーメッセージをコピペする回数が目に見えて減ったのだ。代わりに増えたのは、AIに「今見ている画面」をそのまま共有し、口頭で問いかけること。まるで、後ろから先輩エンジニアに肩越しでディスプレイを覗き込んでもらいながらペアプログラミングをしているような感覚である。
AIはテキストのやり取りから、視覚と聴覚を伴う「同席者」へと急激にシフトしている。そんな文脈の中で、オープンソースのMac向けアプリ「Clicky」の設計思想は非常に示唆に富んでいる。
Clickyは、カーソルのすぐ横に常駐する「AIの家庭教師」だ。macOSのScreenCaptureKitを通じてあなたの画面をリアルタイムに把握し、マイクからの音声を認識し、まるで横に座っているかのように自然な音声で返答する。さらに、画面上の特定の要素を「指差す」ことすらやってのける。この滑らかな体験を、Swiftを用いたネイティブアプリとして実装し、誰もが中身を覗いてハックできるように公開したのが本プロジェクトの最大の価値だ。
特化型AIを束ねる「プロキシとしてのCloudflare Worker」
「画面を見て喋るAI」を作る場合、技術的な課題は複数ある。精度の高い音声認識、低遅延でのテキスト生成、そして人間らしい音声合成だ。Clickyはこれらを自前で抱え込むのではなく、現代の最高峰の特化型APIを贅沢にマッシュアップすることで解決している。
頭脳にはAnthropicのClaude、耳(音声認識)には爆速のAssemblyAI、そして口(音声合成)には圧倒的な表現力を持つElevenLabs。これらを組み合わせれば最高の体験が作れるのは自明だが、クライアントアプリとして配布する際に「APIキーの管理」という厄介な問題が浮上する。
Clickyのアプローチは非常に実用的でスマートだ。アプリ自体にはAPIキーを持たせず、Cloudflare Workerで作った極小のプロキシサーバーを経由させるアーキテクチャを採用している。
// アプリケーション側(Swift)からWorkerへの通信イメージ
let workerURL = "https://your-worker-name.your-subdomain.workers.dev"
// クライアントはWorkerを叩くだけ。各種APIキーはWorkerの環境変数に隠蔽される
開発者は自身のCloudflare環境にWorkerをデプロイし、そこに各サービスのAPIキーを環境変数として登録する。Mac上のアプリはただそのWorkerと通信するだけだ。これにより、バイナリのリバースエンジニアリングによるキー流出を防ぎつつ、各APIへのリクエストをエッジネットワーク上で高速に捌くことができる。現代のデスクトップアプリが外部AIサービスと連携する際のリファレンスアーキテクチャとして、実に理にかなっている。
READMEが示す、AIネイティブ時代の開発体験
しかし、私がClickyのリポジトリを見て最も衝撃を受けたのは、コードそのものよりもREADMEに書かれた「セットアップ手順」だった。
通常、オープンソースの環境構築といえば、リポジトリをクローンし、依存パッケージをインストールし、環境変数を設定し、ビルドコマンドを叩く……という一連の手順が長々と書かれているものだ。ClickyのREADMEにも手動セットアップの項目はあるが、一番上に推奨として書かれているのは「Claude Code(Anthropicが提供するCLIエージェント)」を使った以下のプロンプトである。
Hi Claude.
Clone https://github.com/farzaa/clicky.git into my current directory.
Then read the CLAUDE.md. I want to get Clicky running locally on my Mac.
Help me set up everything...
「Claude、このリポジトリをクローンしてドキュメントを読み、私のMacで動くように全部セットアップしてくれ」——たったこれだけだ。
人間がドキュメントを読んで手順を実行するのではなく、AI自身にリポジトリを解釈させ、ターミナルを操作させて環境を作らせる。コードを書くことだけでなく、「他人のコードを自分の手元で動かす」という開発の初期段階すらも、AIへの口頭指示(プロンプト)で完結する時代になったのだと強烈に実感させられる。
Clickyは、単なる便利なデスクトップツールではない。AIが視覚と音声を持ち、私たちのカーソルの隣に寄り添うUIのプロトタイプであり、同時に「AIを使ってAIアプリを構築する」という次世代の開発フローを体現した実験場なのだ。
ブラウザのタブを行き来してAIに質問する時代は、もうすぐ終わる。これからは、私たちが何かを打ち込もうと迷っているとき、カーソルの横にいる相棒が「どうしたの?」と声をかけてくれるようになるのだろう。
参考リポジトリ: farzaa/clicky
Photo by Nicolas Bichon on Unsplash