はじめに

前回の投稿からかなり時間が経ってしまったことに気づきました。最近は生活が非常に忙しく、面白いプロジェクトをいじる時間がほとんどありませんでした。最近、Claude Codeを発見しました。これはAnthropicの公式CLIツールで、Claudeの機能を直接ターミナルに持ち込むものです。Termuxで動作させる方法を探ってみることにしました。日常の開発ワークフローでCursor + Claude Codeを定期的に使用している私としては、この組み合わせがいかに強力であるかをすでに知っていました。

Termuxでclaude codeを実行する時が来ました!Android携帯でフル機能のAIコーディングアシスタントをネイティブ実行するというアイデアは、あまりにも興味深く、見過ごすことができませんでした(サードパーティROMを実行している古い携帯には最適ですね、笑)。確かに、日常的な開発作業にとって最も実用的なセットアップではないかもしれませんが、モバイルデバイスで可能性の境界を押し広げることには本当にワクワクします。

実際のところ、正直に言うと、正しいアプローチを理解すれば、全体のセットアップは約15分で完了しました。TermuxでClaude Codeを動作させることに成功し、さらにClaude Code Routerをセットアップして、異なるAIモデル間でシームレスに切り替えることができました。やり方を知ってしまえば驚くほど簡単で、基本的にはコンピューターでnpmを使ってやることと同じです。

このガイドでは、必要な依存関係のインストールから、最大限の柔軟性を得るためのClaude Code Routerの設定まで、全行程をご案内します。非従来的なセットアップを試すのが好きな方、外出先でAIアシスタンスが時々必要な開発者、あるいは現代のモバイルコンピューティングの可能性について単純に好奇心をお持ちの方であれば、このセットアップは興味を引くかもしれません。

この投稿はClaude Codeで書かれました。そう、私が今説明したのとまったく同じTermuxセットアップを使って。かなりクールでしょう?

ollamaを実行するより良い方法のような気がします。open interpreterを思い出させました。そう、長い間静かでした。

Claude Code running in Termux

上のスクリーンショットでご覧いただけるように、全体のワークフローはTermuxでスムーズに動作します。左側の初期インストールプロセスから、中央の権限確認、右側のClaude Code Routerが旅行計画などの実際のタスクを積極的に支援している様子まで。

前提条件

Claude Codeのインストールに飛び込む前に、準備しておく必要があるものをご説明します。良いニュースは、以前にTermuxを使ったことがあれば、これらのほとんどは標準的なものということです。

必要なもの:

  • TermuxがインストールされたAndroidデバイス
  • 安定したインターネット接続
  • 約200MBの空きストレージ容量

まず最初に - TermuxがGoogle Play StoreではなくF-Droidからインストールされていることを確認してください。Play Store版は古くて問題を引き起こします。すでにPlay Store版をお持ちの場合は、アンインストールしてF-Droidから適切なものを入手してください:https://f-droid.org/en/packages/com.termux/

Termuxが動作したら、基本環境をセットアップする必要があります:

1
2
3
4
5
6
7
8
#ソースを変更(これが必要かもしれません)
termux-change-repo

# パッケージリストを更新
pkg update && pkg upgrade

# Node.jsをインストール(Claude CodeはNode.js上に構築されています)
pkg install nodejs

npmはNode.jsにバンドルされているので、別途インストールする必要がないことに注意してください。Claude CodeにはNode.js 18以上が必要であることをお伝えしておきます。Termuxのパッケージマネージャーに付属するバージョンで問題なく動作するはずですが、何か問題が発生した場合は、まずそこを確認してください。

Claude Codeのインストール

それでは Claude Code をダウンロードしましょう

1
2
3
4
5
# Claude Codeをグローバルにインストール
npm install -g @anthropic-ai/claude-code

# 正しくインストールされているか確認
claude -v

以上です。本当に。以前にnpmを使ったことがあれば、まさに予想通りです。インターネット接続によってはインストールに数分かかる場合がありますが、特別複雑なことはありません。

インストールが完了したら、すぐにClaude Codeを開始できます:

1
2
# Claude Codeを開始 - これはすぐに動作するはずです
claude

Claudeの自社サービスを使いたくない場合は、代わりにrouterを使用できます。そうでなければ、Claude CodeはAnthropicのコンソールを通じて自動的に認証を処理し、必要なセットアップ手順を対話的にガイドしてくれます。

Claude Code Routerのセットアップ

ここから面白くなります。Claude Code Routerはコミュニティプロジェクトで、Claude Codeに強力なモデル切り替え機能を追加します。異なるタイプのリクエストを異なるAIモデルにルーティングできます。例えば、シンプルなタスクには高速なローカルモデルを使用し、複雑な推論には強力なクラウドモデルを使用するといったことが可能です。

まず、Claude Code Routerをインストールしましょう:

1
2
# Claude Code Routerをインストール
npm install -g @musistudio/claude-code-router

魔法は設定ファイルで起こります。ディレクトリと設定ファイルを作成しましょう:

1
2
3
4
5
# 設定ディレクトリを作成
mkdir -p ~/.claude-code-router

# 設定ファイルを作成
nano ~/.claude-code-router/config.json

GitHubドキュメント(https://github.com/musistudio/claude-code-router)によると、異なるタイプのタスクを異なるモデルにルーティングする基本設定は以下のようになります:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
"LOG": true,
"API_TIMEOUT_MS": 600000,
"Providers": [
{
"name": "openrouter",
"api_base_url": "https://openrouter.ai/api/v1/chat/completions",
"api_key": "sk-your-openrouter-key",
"models": [
"anthropic/claude-4-sonnet",
"google/gemini-2.5-pro-preview"
],
"transformer": {
"use": ["openrouter"]
}
},
{
"name": "deepseek",
"api_base_url": "https://api.deepseek.com/chat/completions",
"api_key": "sk-your-deepseek-key",
"models": ["deepseek-chat", "deepseek-reasoner"],
"transformer": {
"use": ["deepseek"]
}
}
],
"Router": {
"default": "deepseek,deepseek-chat",
"background": "deepseek,deepseek-chat",
"think": "deepseek,deepseek-reasoner",
"longContext": "openrouter,google/gemini-2.5-pro-preview"
}
}

この設定はいくつかの賢いことを行います:

  • 一般的なタスクにはDeepSeekの手頃な価格のモデルを使用
  • 推論重視のタスクはDeepSeekの推論モデルにルーティング
  • 長いコンテキストタスク(大規模コードベース分析など)にはGemini Proを使用
  • すべてをログに記録するので、何が起こっているかを確認できます

それではrouterを使ってClaude Codeを開始しましょう:

1
2
# routerを使ってClaude Codeを開始
ccr code

スラッシュコマンドを使用してその場でモデルを切り替えることも可能です:

1
2
# セッション中に特定のモデルに切り替え
/model openrouter,anthropic/claude-3.5-sonnet

実用的な使用例

すべてのセットアップが完了すると、TermuxでClaude Codeを使用することが驚くほど自然に感じられます。以下は私の使用方法の実用的な例です:

基本的なコード支援:

1
2
3
4
5
6
# Claudeにコーディング問題の手助けを求める
claude
> このPython関数をより良いパフォーマンスのために最適化してください

# またはファイルを直接分析する
> /read my_script.py and suggest improvements

異なるタスクでのモデル切り替え:

1
2
3
4
5
6
7
# 複雑な問題には推論モデルを使用
/model deepseek,deepseek-reasoner
> 分散システムのアーキテクチャを計画してください

# 簡単な編集には高速モデルに切り替え
/model deepseek,deepseek-chat
> このコードの構文エラーを修正してください

長いコンテキスト分析:

1
2
# routerは大きなファイルに対して自動的にGemini Proを使用
> /read large_codebase/ and create a summary

このセットアップの美しさは、Claude Code Routerが舞台裏で複雑さを処理してくれることです。シンプルなタスクで作業している時は手頃な価格のモデルを使用し、本格的な推論能力が必要な時や大量のコードを処理する必要がある時は、自動的により高性能なモデルにルーティングしてくれます。

ヒントとトラブルシューティング

パフォーマンス:私の携帯では、大規模なコードベースでもClaude Codeはスムーズに動作します。応答時間は、Termux自体よりもインターネット接続と使用しているモデルに依存します。

ストレージ:ストレージ使用量に注意してください。Node.jsモジュールとログは時間の経過とともに蓄積されます。以下でクリーンアップできます:

1
2
3
4
5
# 必要に応じてnpmキャッシュをクリア
npm cache clean --force

# routerログを確認
tail ~/.claude-code-router.log

routerの再起動:設定を変更した場合は、再起動を忘れずに:

1
ccr restart

最終的な考え

TermuxでClaude CodeとClaude Code Routerをセットアップすることは、予想よりもはるかに簡単でした。異なるモデル間でインテリジェントにルーティングできるAIコーディングアシスタント、それがすべて私の携帯で動作している、これはモバイル開発の未来を垣間見るような感覚です。

完全な開発セットアップを置き換えることはありませんが、多くのコーディングタスクにおいて驚くほど有能です。そして正直なところ、このレベルのAIアシスタンスがAndroid上でネイティブに動作していることには、何か満足感があります。