0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Shelly v5.3.8:Android上のAI開発環境をCodex-firstに作り直した

0
Posted at

この記事で書くこと
前回の記事では、Shelly 上で Claude Code / Codex / Gemini CLI を動かす初期設定について書きました。
ただ、その後の実機運用を踏まえて、方針を変更しました。
Shelly v5.3.8 では、ターミナルで直接動かす CLI 統合を Codex に一本化しています。
Gemini / Groq / Cerebras / Perplexity / local LLM は、AI Pane 側の provider として扱います。つまり「複数 AI をやめた」のではなく、CLI と AI Pane の役割を分離した、という変更です。
この記事では、その理由と、v5.3.8 で実装した更新周りについて書きます。
GitHub: https://github.com/RYOITABASHI/Shelly

Shelly とは(前回のおさらい)
Shelly は、AI コーディングエージェントを Android 上でネイティブ実行するために開発した、AI 統合型のターミナル IDE です。


フォルダブル端末におけるターミナルとAIペインの分割表示

技術スタック:

Expo 54 / React Native 0.81 / TypeScript(UI)
JNI forkpty によるネイティブ PTY(Termux 不要、IPC 境界ゼロ)
bash / Node.js / Python 3 / git / curl / ssh / sqlite3 / rg / jq / tmux / vim を APK に同梱し、初回起動時に展開
Bundle ID: dev.shelly.terminal

特徴:

Termux 不要・root 不要で Linux 系 CLI が動作
ターミナル / AI チャット / Browser / Markdown / Preview の マルチペイン を同時表示
AI チャットがターミナル出力を自動で読み取り、エラーに対して「Run」ボタンで修正コマンドを実行
フォルダブル端末を IDE として使う前提の設計(ペイン分割前提)

前回から何が変わったか
前回の記事では、Shelly を「Android 上で Claude Code / Codex / Gemini CLI をネイティブ実行する IDE」として紹介しました。
しかし現在の Shelly は、方針を少し変更しています。

ターミナル CLI: Codex に集中
AI Pane: Gemini / Groq / Cerebras / Perplexity / local LLM を provider として使い分け
Background agents: provider API 経由
アプリ更新: GitHub Releases の manifest からアプリ内更新
Codex runtime: APK 同梱版 + 検証付き runtime update

一言でいうと、CLI を増やす方向から、Codex を確実に運用する方向へ寄せたリリースです。

なぜ Claude Code / Gemini CLI の直接統合を外したのか
Claude Code や Gemini CLI を否定しているわけではありません。
理由はより実務的なものです。
Android アプリ内で対話型 CLI を「安定して運用する」には、単にバイナリを置くだけでは不十分です。

ログイン導線
OAuth / device auth / browser handoff
PTY 上での表示制御
Ctrl+C やフォーカス制御
更新
障害時の reset / repair
credential の保存場所
失敗時の診断ログ

これらすべてが UX に直結します。
特に Claude Code / Gemini CLI は、Shelly 単体で完結するログイン導線を作りにくく、前回の記事では credential transplant(別環境でログインして credential ファイルを移植する方法)を案内していました。
ただ、実際に運用すると、この方法はユーザー体験としてかなり重いです。別環境の用意 → ログイン → ファイル書き出し → /sdcard/Download 経由で転送 → インポート → 中継ファイル削除、という手順は、初期設定としては現実的ではありません。
一方で Codex は device auth を Shelly 側で扱いやすく、Android 上でもログイン・実行・更新・復旧まで比較的きれいに統合できます。codex-login --open を bash プロンプトで実行するだけで、別環境なしに認証が完結します。
そのため v5.3.8 では、ターミナル CLI を Codex に集中させました。

複数 AI をやめたわけではない
CLI を Codex に絞っただけで、AI provider を Codex のみにしたわけではありません。
Shelly には AI Pane があり、ここでは provider を切り替えて利用できます。

Gemini API
Groq
Cerebras
Perplexity
local OpenAI-compatible server

ターミナルで直接操作する CLI は Codex、AI Pane では複数 provider を使い分ける、という構成です。
この分離により、ターミナル側の安定性と AI 側の柔軟性を両立しやすくなりました。

Codex runtime をアプリ内更新できるようにした
v5.3.8 の大きな変更点の一つが、Codex runtime の更新経路です。
Shelly では Codex runtime を APK に同梱していますが、それだけでは更新のたびに APK の再配布が必要になります。
そこで、Codex runtime updater を実装しました。

codex-runtime-latest/codex-runtime.json を取得
runtime tarball をダウンロード
SHA-256 を検証
codex_tui --version と codex_exec --version でスモークテスト
問題なければ ~/.shelly-runtime/codex/current に反映
失敗時は Reset で APK 同梱版にロールバック

「常に upstream の latest をそのまま使う」のではなく、Shelly 側で検証した runtime のみを使用する設計です。

APK 更新 UI も作り直した
従来の Shelly では、更新画面に GitHub Actions の run や artifact がそのまま表示されていました。
開発者には便利ですが、一般ユーザーには分かりにくい UI でした。
v5.3.8 では、更新 UI をシンプルに再設計しています。

最新です
更新があります
ダウンロード中
インストール準備完了
エラー

内部では GitHub Releases の android-latest/latest.json を参照し、versionCode を比較、APK を /sdcard/Download/shelly-update-/ にダウンロード後、SHA-256 を検証してから Android の Package Installer に渡します。
GitHub Actions artifact ではなく public release asset を使用することで、GitHub CLI 認証も不要になりました。

Cross-pane intelligence を実機寄りに改善
Shelly の特徴は、ターミナルと AI Pane が同一画面内で連携する点にあります。
AI Pane はターミナルの内容を読み取り、

このエラー直して

といった指示に対し、文脈を踏まえた修正案を提示できます。
v5.3.8 ではこの部分も改善しました。

対象とする terminal pane の明確化
制御文字や不要ログの除去
local LLM に渡すコンテキスト量の最適化
エラー抽出の精度向上
修正コマンドをそのまま実行できる導線の維持

local LLM と API provider のどちらでも、同一 UI で扱えるようにしています。

実機で踏んだ問題の解消
今回の更新は、新機能よりも実機運用の安定性改善が中心です。

Android new architecture の復旧
起動時 ANR の回避
フォーカス / ウィジェット更新の安定化
background agent の起動タイミング調整
ダウンロード進捗ログの追加
日本語 / 英語 UI の整理
versionCode ダウングレード事故の防止
release asset 公開順の修正

特に Android 上でのビルド・インストール・起動確認では、メモリ不足や Package Installer の不明瞭なエラーに頻繁に直面します。
今回の修正では、こうした「原因が分かりにくい失敗」を減らすことを重視しました。

まとめ
Shelly v5.3.8 は、前回の記事から見ると方針転換のリリースです。
以前は「Android で Claude Code / Codex / Gemini CLI をすべて動かす」ことを目指していました。
現在は以下の方針に整理しています。

CLI は Codex に集中
複数 AI は AI Pane の provider として活用
Codex runtime は検証付きでアプリ内更新
APK もアプリ内から更新可能
障害時は Reset で復旧可能

Android 上で AI 開発環境を構築する場合、機能数よりも、ログイン・更新・復旧・診断の設計が重要になります。
v5.3.8 は、その前提に合わせて Shelly を再設計したリリースです。
不具合報告 / feature request は GitHub の issue へお願いします。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?