😊

無料でClaude Code Actionを使う方法

に公開

タイトルは半分釣りです。なぜ半分なのかは後述します。

概要

Claude Code Actionとは、Claude CodeをGitHub Actionsのワークフロー内で利用するためのアクションです。GitHub上で、IssueやPRから直接Claude Codeを呼び出すことができます。通常、この利用にはAPI経由での課金が発生するため、無料では使えません。
そこで今回、Claude Codeを無料で利用する方法を模索し、claude-code-proxyというプロキシツールを作成しました。

無料で使う方法

無料で使う方法として、「GitHub Models」という無料で利用可能なAIモデルを提供するサービスを使用します。ただし、GitHub ModelsではClaudeシリーズは提供されておらず、Claude Codeもそのままでは利用できません。

そこで開発したのが、ClaudeのAPIをOpenAI互換APIに変換するプロキシツールであるclaude-code-proxyです。

このプロキシを使うことで、無料でClaude Codeを利用可能になります。デフォルトでは、OpenAIのGPT-4.1を使用するように設定しています。

name: Claude PR Assistant

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  issues:
    types: [opened, assigned]
  pull_request_review:
    types: [submitted]

jobs:
  claude-code-action:
    if: |
      (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
      (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
      issues: write
      id-token: write
      models: read
    services:
      claude-code-proxy:
        image: ghcr.io/kiyo-e/claude-code-proxy:latest
        ports:
          - 3000:3000
        env:
          CLAUDE_CODE_PROXY_API_KEY: ${{ secrets.GITHUB_TOKEN }}
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 1

      - name: Run Claude PR Action
        uses: anthropics/claude-code-action@beta
        with:
          anthropic_api_key: ${{ secrets.GITHUB_TOKEN }}
        env:
          ANTHROPIC_BASE_URL: http://localhost:3000

注意点

実際には、この方法ではコンテキスト長の制限により正常に動作しません。ただし、リクエストが成功するところまでは確認できています。そのため、「半分釣り」と表現しています。

別の無料AIモデルを使う方法

代替手段として、Openrouterなどで提供されている他の無料AIモデルを利用することもできます。例えば、Openrouterが提供するdeepseek/deepseek-r1-0528:freeなどのモデルがあります。ただし、これらの無料モデルでは、入力データが学習データとして再利用される可能性がありますので注意してください。

その場合の設定例は以下の通りです。

省略…
    services:
      claude-code-proxy:
        image: ghcr.io/kiyo-e/claude-code-proxy:latest
        ports:
          - 3000:3000
        env:
          CLAUDE_CODE_PROXY_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
          ANTHROPIC_BASE_URL: https://openrouter.ai/api/v1
          REASONING_MODEL: deepseek/deepseek-r1-0528:free
          COMPLETION_MODEL: deepseek/deepseek-r1-0528:free
省略…

他にも、base_urlをGeminiのOpenAI互換APIに変更することでGeminiの無料APIを利用することができます。また、OpenAIでも「Share inputs and outputs with OpenAI」を有効にすることで、毎日100万トークンまで無料利用が可能になるなど、無料で使えるAIモデルは複数あります。

ローカルでの利用

GitHub Actions以外でも、ローカル環境でClaude Codeを利用できます。Dockerを使った設定方法は以下の通りです。

# .envファイルを作成
cat > .env << EOF
CLAUDE_CODE_PROXY_API_KEY=your_api_key
ANTHROPIC_PROXY_BASE_URL=https://openrouter.ai/api/v1
REASONING_MODEL=deepseek/deepseek-r1-0528:free
COMPLETION_MODEL=deepseek/deepseek-r1-0528:free
DEBUG=false
EOF

# Dockerコンテナを起動
docker run -d -p 3000:3000 --env-file .env ghcr.io/kiyo-e/claude-code-proxy:latest
ANTHROPIC_BASE_URL=http://localhost:3000 claude

ほかにも、npxを利用する方法やCloudflare Workersでホスティングする方法などを提供しています。詳しくはREADMEをご覧ください。

まとめ

Claudeのプロキシを活用することで、Claude Codeを無料で利用できるようになりました。Claude 4は非常に優れたモデルであり、出力品質も高いのは間違いありませんが、他のモデルを利用した場合でも十分良好な結果が得られることが多いです。その理由としては、Claude Codeのプロンプト設計自体が非常に優れていることが挙げられます。

特に、OSS開発者で学習データとして再利用されることを気にしない方や、Claude Codeの利用コストを抑えたい方におすすめです。ぜひ一度お試しください。

Discussion