2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RaycastのAI機能をサブスクリプションなしで活用:Raycast AI Proxy

Posted at

RaycastのAI機能をサブスクリプションなしで活用:Raycast AI Proxy

Raycast AI Proxyは、RaycastのAI機能をサブスクリプションなしで利用可能にするプロキシツールです。このツールは、Raycastから送信されるリクエストをインターセプト(中間者攻撃的手法)し、OpenAIやその他のAIモデルに転送することで、RaycastのAI機能をそのまま利用できるようにします。また、複数のAIモデルに対応しており、柔軟なカスタマイズが可能です。


主な特徴

  1. 複数のAIモデルに対応
    本ツールはOpenAIだけでなく、以下のAIモデルやサービスにも対応しています:

    • Azure OpenAI Service
    • Google Gemini
    • DeepSeek(最新モデルに対応)

    環境変数を設定するだけで簡単にモデルを切り替えることができるため、プロジェクトに最適なAIプロバイダーを選択可能です。

  2. インターセプトによるデータ操作
    プロキシの仕組みを利用して、以下のRaycastのエンドポイントを再マッピングします:

    • GET /api/v1/me:ユーザーのAI機能サポートステータスを操作。
    • POST /api/v1/translations:翻訳リクエストを処理。
    • POST /api/v1/ai/chat_completions:チャット機能のリクエストを処理。
    • GET /api/v1/ai/models:AIモデルのリストを取得。
  3. 柔軟なカスタマイズ
    ユーザー独自のマッピングファイルを使用して、特定のエンドポイントのレスポンスをカスタマイズ可能。これにより、独自のプロジェクト要件に応じた挙動を実現できます。

  4. DeepSeek対応
    最新のDeepSeekモデルに対応しており、高度な自然言語処理が可能です。特に生成AI分野での利用において強力なパフォーマンスを発揮します。


動作の仕組み

このプロキシは、以下のプロセスで動作します:

  1. リクエストのキャプチャ
    Raycastが送信するAPIリクエストをローカルのプロキシでキャプチャし、リクエストデータを解析します。

  2. AIプロバイダーへの転送
    キャプチャしたリクエストを指定されたAIプロバイダー(例:OpenAI、DeepSeek)に転送します。

  3. レスポンスの変換
    AIプロバイダーからのレスポンスをRaycastが理解できるフォーマットに変換して返します。

  4. カスタマイズオプション
    必要に応じて、レスポンスを加工またはカスタマイズすることで、特定のユースケースに対応します。


簡単な設定方法

プロジェクトを素早くセットアップするために、以下の簡単な設定を行います:

必要なもの

  • OpenAI APIキー(または使用するAIモデルの認証情報)
  • Docker(コンテナ化されたサービスを実行するため)
  • Raycastのインストール済み環境

設定手順

  1. 証明書の生成
    プロキシ用の自署名証明書を生成します:

    python -c "$(curl -fsSL https://raw.githubusercontent.com/yufeikang/raycast_api_proxy/main/scripts/cert_gen.py)" --domain backend.raycast.com --out ./cert
    
    
  2. 証明書を信頼済みに設定
    生成された証明書(backend.raycast.com.cert.pem)をmacOSの「キーチェーンアクセス」にインポートし、信頼設定を有効にします。

  3. /etc/hostsを編集
    以下の行を/etc/hostsファイルに追加します:

    127.0.0.1 backend.raycast.com
    ::1 backend.raycast.com
    
  4. config.ymlの設定
    プロキシの設定ファイル(config.yml)を編集し、AIプロバイダーの認証情報を設定します:

     models:
    
     - provider_name: "openai"
         api_type: "openai"
         params:
         api_key: "sk-xxxx"
         allow_model_patterns:
             - "gpt-\\d+"
     - provider_name: "azure openai"
         api_type: "openai"
         params:
         api_key: "xxxxxx"
         base_url: "https://your-resource.openai.azure.com"
    
     - provider_name: "google"
         api_type: "gemini"
         params:
         api_key: "xxxxxx"
     - provider_name: "anthropic"
         api_type: "anthropic"
         params:
         api_key: "sk-ant-xxx"
     - provider_name: "deepseek"
         api_type: "openai"   # openai-compatible
         params:
         api_key: "sk-deepseek-xxx"
    
    
  5. Dockerでサービスを起動
    以下のコマンドでプロキシを起動します:

    docker run --name raycast \
      -e OPENAI_API_KEY=$OPENAI_API_KEY \
      -p 443:443 \
      --dns 1.1.1.1 \
      -v $PWD/cert/:/data/cert \
      -e CERT_FILE=/data/cert/backend.raycast.com.cert.pem \
      -e CERT_KEY=/data/cert/backend.raycast.com.key.pem \
      -v $PWD/config.yml:/data/config.yml \
      -e LOG_LEVEL=INFO \
      -d \
      ghcr.io/yufeikang/raycast_api_proxy:main
    
  6. Raycastを再起動
    Raycastを再起動すれば、AI機能が有効化されます。

注意点
• DNS設定
ネットワーク環境によっては、適切なDNSサーバーを指定する必要があります。中国国内では、--dns 223.5.5.5を使用することを推奨します。
• DeepSeek設定
DeepSeekモデルを使用する場合、プロバイダーの認証情報を環境変数で指定してください。

Raycast AI Proxyは、複数のAIモデルを柔軟に利用できるため、RaycastのAI機能をさらに拡張します。生成AIを活用した効率的なワークフローに興味がある方は、ぜひ試してみてください!

GitHubリポジトリ:https://github.com/yufeikang/raycast_api_proxy

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?