世界を動かす技術を、日本語で。

Show HN: Apfel – あなたのMacにすでに搭載されている無料のAI

概要

  • apfel はApple Silicon搭載Macに標準搭載された オンデバイスAI を解放するツール
  • コマンドライン・OpenAI互換サーバ・チャット として利用可能
  • 完全無料・APIキー不要・100%ローカル で動作
  • macOS 26(Tahoe)以降に対応、Homebrewで簡単インストール
  • 開発者・エンジニア向けの多彩なCLIツール も同梱

apfel:Apple Silicon MacのAIを解放するCLIツール

  • Apple Silicon搭載Mac には、macOS 26(Tahoe)以降で Apple Intelligence の一部として LLM(大規模言語モデル) が内蔵
  • Appleは本来、 Siriやシステム機能 のみがこのLLMを利用可能
  • apfel はこのLLMを CLIツール・OpenAI互換サーバ・チャット として利用可能にするSwift製バイナリ
  • 100%オンデバイス動作 で、 データが外部に送信されることは一切なし
  • APIキー・サブスクリプション不要、完全無料 で利用可能
  • 4,096トークン のコンテキストウィンドウ(入力+出力合計)
  • FoundationModels.framework(Swift API) をラップし、 Neural EngineとGPU で推論実行
  • UNIXツールとしての親和性 :stdin/stdout、JSON出力、ファイル添付、適切なexit code対応
  • OpenAI API互換サーバ (localhost:11434)や マルチターンチャット 機能を搭載
    • OpenAIクライアントやSDKから base_url を変更するだけで利用可能
  • Homebrew対応brew install Arthur-Ficial/tap/apfelで簡単導入
  • MITライセンス・オープンソース
  • GitHub : https://github.com/Arthur-Ficial/apfel

apfelの主な機能

  • CLIツール として自然言語から質問・翻訳などを実行
    • 例:apfel "What is the capital of Austria?" → Vienna
    • 例:apfel -o json "Translate to German: hello" | jq .content → Hallo
  • OpenAI互換サーバ としてHTTPエンドポイント提供
    • 例:apfel --serveでローカルサーバ起動
    • OpenAI SDKの base_urlhttp://localhost:11434/v1に設定するだけで利用可能
    • Streaming・Tool Calling・CORS など主要機能対応
  • インタラクティブチャット
    • 例:apfel --chat -s "You are a coding assistant"
    • 自動コンテキスト管理・5種類のトリミング戦略・System Prompt 対応
  • 高度なCLIユーティリティ群
    • cmd:自然言語からシェルコマンド生成
    • oneliner:英語からパイプチェーン生成(awk, sed, sort, uniq等)
    • mac-narrator:システムアクティビティのナレーション
    • explain:コマンドやエラー・コードの説明
    • wtd:ディレクトリやコードベースの概要表示
    • gitsum:gitコミットの要約

apfelの技術仕様

  • ハードウェア :Apple Silicon(Neural Engine + GPU)
  • モデル :Apple製オンデバイスLLM(macOS標準搭載・固定モデル)
  • SDK :FoundationModels.framework(Swift API)
  • 言語 :Swift 6.3(厳格な並行処理、Xcode不要)
  • セキュリティ :完全ローカル・ネットワーク通信なし
  • コンテキストウィンドウ :4,096トークン(入力+出力合計)
  • 入出力形式 :JSON・標準入出力・ファイル添付対応
  • OpenAI API互換 :/v1/chat/completions、Streaming(SSE)、Tool Calling、GET /v1/models、response_format: json_object、CORS対応

インストール・利用方法

  • Homebrew推奨
    • brew install Arthur-Ficial/tap/apfel
    • apfel "Hello, Mac!"で動作確認
  • ソースからビルド (macOS 26.4 SDKとCLTが必要)
    • git clone https://github.com/Arthur-Ficial/apfel.git
    • cd apfel && make install
  • OpenAI SDK例
    • base_url="http://localhost:11434/v1"に設定し、api_keyは不要
    • 例:PythonのOpenAIクライアントでそのまま利用可能

apfelの価値

  • Apple製オンデバイスLLM開発者・エンジニアが自由に活用 できる唯一のCLIツール
  • プライバシー重視・完全無料 でAIを活用したいユーザーに最適
  • シェルスクリプト・自動化・ローカルAI開発 の新たな選択肢
  • 今後のApple Intelligence活用の基盤 として注目

参考リンク

  • GitHub :https://github.com/Arthur-Ficial/apfel

Hackerたちの意見

AFMモデルはすごいけど、会話用には作られてないから、チャットモードでは期待しすぎない方がいいよ。

ClaudeやCodexみたいなもっと高性能なモデルのサブエージェントとして使った人いる?

入力/出力のコンテキストウィンドウの長さは4Kだよ。Claudeは小さいファイルを読んで要約しようとしても、それを軽々と超えちゃうね。

ultraトークン節約モードでopenclawを動かそうとしたけど、全然うまくいかなかった。でもシェルスクリプトにはめっちゃ便利だよ(今の主な使い方)。

小さなローカルタスク用の小さいモデルを探してるなら、Qwen coder 0.5Bを試してみて。実験的なものだけど、適切なコンテキストの指示があれば、 decentな機能を出力できるよ。

すごく小さいモデルだけど、しばらく使ってみたら感心したよ。Appleのモデル、見過ごしてたかも?もしQwen 3.5レベルの機能がOSに組み込まれたら、すごくない?

ビジョンモデルとOCRは最高だね。

オーバーキャストの人が、Appleの文字起こしサービスを使うためにMac miniのベオウルフクラスターを作ったらしいよ。

小さなタスクにはこれが完璧に見える。ただ、英語に限定されてるのがちょっと残念だな。

こういうプロジェクトをいくつか見たことがあるけど、Appleのモデルにアクセスできるネットワークサーバーを提供してるんだ。危険なのは、それをループポートで他のアプリケーション、ブラウザも含めて公開しちゃうこと。ランダムなウェブページが、そのポートに投稿するJavaScriptを仕込んでることもあるよ。同一生成元制限でデータの流れは止まるけど、コマンドを発行して変更を加えることはできる。中にはCORSを使って読み戻しを許可してるプロジェクトもあるし。Apfelのコードはまだ読んでないけど、実験を行う前に登録しておくよ。

多くのブラウザがランダムなウェブサイトから127.0.0.1に投稿するのを許可するとは思えないけど、ここでの脅威モデルは何なの?

オプションとして提供されてるけど、デフォルトがオフなのはちょっと微妙だね!でも、今まで見た中では一番安全じゃない選択肢かも。アプフェルの作者たち、よくやったね。

VibeでコーディングされたAIやMCPプロジェクトで似たようなミスをよく見るね。経験豊富なエンジニアでも、この攻撃ベクトルに気づいてないみたい。

アイデアはいいし、使い方の説明もわかりやすいね。質問なんだけど、どんなタスクに役立つのかな?

JSONから文を作ること。

すべてをローカルで動かすアプローチが好きだな。ローカルモデルのプライバシーの重要性はどんどん強くなっていくと思う。クラウドモデルに過剰なコンテキストを渡して事故が起きるっていう記事が増えれば増えるほど、自己強化されていくよね。

そういう風に進めていかないとね。すべてを露出したネットワークで運営するのはリスクが高すぎるから。

知らない人のために言うと、「Apfel」はドイツ語で「リンゴ」のことだよ。

それを知っていてもっと知りたい人には、リンゴから「Apfel」、水から「Wasser」への変化は、高ドイツ子音シフトの時に起こったんだ。

ウェブサイトについてちょっとしたことなんだけど、モバイルで例を変えると、その下の要素が全部シフトして、読むときにランダムにジャンプしちゃうんだよね。

これはいい発展だね。「Claudeバグ」って呼ばれてるやつが、トークンを記録的な速さで消費してるから、代替モデルを試してみたけど、ほとんどが…互換性がある感じ。切り替えがどれだけ簡単で、ブランド忠誠心が低くて、マーケットが早いのがどう影響するかは分からないけど、ローカルのLLMがすぐに実用的になることを願ってるよ。

真剣なプロジェクトなら、ネイティブのホームブリューリポジトリを通じて提供されるべきで、「セルフホスト型」なんかじゃないよね。