コンテンツへスキップ
ページ

ガイド

Mac アプリ

自分のコーディングエージェントと Docker を使って Mac で Skynet を実行します。

Skynet Mac アプリは、Skynet を自分のコンピューター上で実行します。モデルの呼び出しは、Mac でサインイン済みのコーディング CLI を通じて送られます。そのため、これらの呼び出しの料金は CLI のプランが支払います。アプリを、ホストされた Skynet アカウントにリンクすることもできます。

要件

  • Apple シリコン搭載の Mac。Intel 向けのビルドもありますが、Intel ハードウェアではテストされていません。
  • Docker Desktop が起動しており、Use Rosetta for x86_64/amd64 emulation がオンになっていること。
  • サインイン済みのコーディング CLI が 1 つあること。
    • Claude Code (claude) 2.1.226 以降、または
    • Codex (codex) 0.160.0 以降。

Codex を設定する

Codex は認証情報をファイルに保存する必要があります。初回起動の前に、次の手順を行ってください。

  1. ~/.codex/config.toml を開き、次の行を追加します。
cli_auth_credentials_store = "file"
  1. ChatGPT アカウントでサインインします。
codex login

アプリをインストールする

ビルドはアドホック署名されており、公証されていません。quarantine フラグを削除するまで、macOS はアプリをブロックします。

  1. .dmg ファイルを開きます。
  2. Skynet を Applications にドラッグします。
  3. ターミナルで次のコマンドを実行します。
xattr -dr com.apple.quarantine /Applications/Skynet.app
  1. Applications から Skynet を開きます。

起動時の処理

アプリは次の手順を順番に行います。

  1. Docker と CLI を見つけられるように、ログインシェルから PATH を読み取ります。
  2. Docker とコーディング CLI をチェックします。
  3. Docker 内でローカルの Postgres データベースを起動します。
  4. linux/amd64 向けのサンドボックスイメージ skynet-local-sandbox をビルドします。Docker はこれを Rosetta 上で実行します。
  5. データベースのスキーマを更新します。
  6. ローカルの API とウェブアプリを起動し、ウィンドウにウェブアプリを表示します。

オンボーディングのチェック

アプリには、Docker、Coding CLI、Signed in、Usage limit、Local services、Account のチェックの一覧が表示されます。チェックに失敗すると、アプリは対処方法を示す画面を表示します。

画面対処方法
Install Docker DesktopDocker Desktop をインストールします。
Start DockerDocker Desktop を起動します。
Install a coding CLIClaude Code または Codex をインストールします。
Update your coding CLICLI を上記の最小バージョンに更新します。
Sign in to your CLIターミナルで CLI にサインインします。
Usage limit reachedリセット時刻まで待ちます。リセット後、新しいジョブを再び開始できます。

問題を修正したら、Check again をクリックします。ログファイルを見るには、Open logs をクリックします。Usage limit reached 画面では、Open Skynet anyway をクリックできます。

ローカルでの実行

アプリでは、モデルの呼び出しは Mac 上の CLI を通じて行われます。モデルメニューでは、このモードは ローカル と表示されます。ヒントには「このコンピューターでサインイン済みのコーディングエージェント CLI で実行します。呼び出しの料金はご利用のプランが支払うため、このモデルの実行費用は $0 です。」と表示されます。

アプリ内での CLI の名前は Claude Code と Codex です。

提案エージェントを CLI で実行する

提案エージェントを自分の CLI で実行 の設定は、提案エージェントをどこで実行するかを制御します。選択肢は エージェントエンジン(既定) と オフ(サンドボックスの提案エージェント) です。

提案エージェントのアクセス権 は、CLI が操作できる範囲を設定します。

  • ワークスペースのみ が既定です。各 CLI に組み込まれたサンドボックスに依存します。
  • フルアクセス は、あなたのユーザー権限で CLI を実行します。

アプリでのタグ付け

Mac アプリでの AI によるタグ付けには、独自のプロバイダーキーが必要です。自分のキー でモデルを選んでください。タガーでデータにラベルを付ける をご覧ください。

Skynet アカウントにリンクする

アプリはアカウントなしでも使えます。その場合は Use without signing in をクリックします。ホストされたアカウントと同期するには、アプリをリンクします。

この Mac をリンクする

  1. Sign in to Skynet のステップで、アプリは既定のブラウザーで Link a Mac ページを開きます。
  2. 求められた場合は、ブラウザーで Skynet にサインインします。
  3. リンクすると、この Mac は次のことができます: の下の一覧を確認します。
  4. この Mac をリンク をクリックします。ページに「Mac アプリに戻っています…」と表示されます。

サインインに失敗した場合やキャンセルした場合、アプリには Try again と Use without signing in が表示されます。

リンクすると、Mac は次のことができます。

  • あなたの名前とメールアドレスを表示する。
  • 残高を表示する。
  • 実行をアカウントと同期する。
  • ホストされたモデルを使い、残高から支払う。
  • 接続済みのデータソースを使う。
  • Skynet を通じてウェブを検索・閲覧する。

リンクには、安全なサインインフロー(PKCE を使用した OAuth)を使います。アプリはトークンを暗号化して Mac に保存します。リンクを解除すると、Skynet はトークンを取り消します。

リンクの制限

制限値
アカウントあたりのリンク済み Mac10 台
アクセストークンの有効期間1 時間。その後、アプリが更新します
リンクのアイドルタイムアウト30 日間使用されない場合
リンクの最大有効期間365 日

アイドルタイムアウトまたは最大有効期間を過ぎたら、Mac を再度リンクしてください。

リンクのステータス

アプリには、ローカルモード、この Mac にリンク済み、サインインして同期、リンク済み(オフライン) のいずれかの状態が表示されます。

ローカルサービスとデータ

すべてのローカルサービスは 127.0.0.1 でのみ待ち受けます。

サービスポート範囲
API48100〜48119
ウェブアプリ48120〜48139
Postgres48140〜48159

アプリはデータを ~/Library/Application Support/Skynet に保存します。logs/ フォルダーには、desktop.log、api.log、frontend.log、migrate.log、sandbox-build.log があります。

アプリを終了すると、ウェブアプリ、API、Postgres、すべてのジョブコンテナーが停止します。

アプリをリセットする

まずアプリを終了します。次に、以下を実行します。

docker volume rm skynet-local-pgdata
rm -rf ~/Library/Application\ Support/Skynet

次のステップ