このプロジェクトについて
# TermFold
TermFoldは、タブレットとスマートフォン上で完全なDebian 13環境とAIコーディングエージェントを提供するAndroidアプリです。PRoot(root不要)を通じて本物のLinuxユーザーランドを実行し、Claude Code、Codex、Gemini CLI、OpenCode、Cursor、Piなどの一般的なコーディングエージェントをサポートし、Agent Client Protocol(ACP)を話すエージェント向けのネイティブチャットインターフェースを提供します。
## 主な機能
- **完全なDebian 13環境**: 初回セットアップ後、`apt`でパッケージをインストールし、Python、Node 22、git、ビルドツール、SSH、SCPを使用できます。
- **本物のLinuxプロジェクト**: プロジェクトはDebian自身のストレージ(`~/projects`)に存在するため、シンボリックリンク、パーミッション、実行ファイル、git、npm、virtualenvがPCとまったく同じように動作します。
- **AIコーディングエージェント**: ターミナルで`claude`、`codex`、`gemini`、`opencode`、`pi`、`qwen`を実行でき、それぞれ初回使用時に自動インストールされます。ACPを話すエージェントは、Markdownレンダリング、ツール呼び出し、権限プロンプト、モデル/推論/モードピッカーを備えたネイティブチャットUIを利用できます。
- **内蔵ファイルマネージャー**: ファイルの閲覧、検索、並べ替え、作成、名前変更、コピー、移動、削除が可能です。コードは40以上の言語、検索、元に戻す、Ctrl+SをサポートするCodeMirrorエディタで開きます。画像はクリップボードコピー付きのズーム可能なビューアで開きます。
- **ファイルのインポート/エクスポート**: ファイルやフォルダをアップロードし、任意のアプリからTermFoldに共有し、デバイスのフォルダにエクスポートし、Androidのファイルピッカーに表示できます。
- **統合ブラウザ**: 開発サーバー(`localhost:5173`)、プロジェクトページ、または任意のサイトをチャットの横でプレビューできます。エージェントもMCPツールまたは`termfold-browser`コマンドを通じて、実際のタップとキー入力でブラウザを使用できます。
- **セッションの永続化**: チャットは最後のセッションを再開し、`/resume`で以前のセッションを一覧表示でき、エージェントは通知付きでバックグラウンドで実行し続けます。
- **タブレット最適化**: 全幅のCtrl/Alt/Esc/Tab/矢印キー行、物理キーボードサポート、JetBrains Monoフォント、ピンチズーム。
- **何でも貼り付け**: 画像をチャットまたはターミナルに貼り付け(Claude CodeとCodexではファイルパスとして)、長い貼り付けは`.txt`添付ファイルになります。
- **root不要、Termux不要、アカウント不要**: すべてがアプリ内で動作します。Apache-2.0の下でオープンソースです。
## インストール
1. 最新リリースから`.apk`をダウンロードしてインストールします。
2. TermFoldを開き、**+**をタップしてプロジェクトを開始します(空、Gitからクローン、またはインポート)。
3. **Shell**を開きます — 初回セットアップでDebianをダウンロードします(数百MB、1回のみ)。
4. `claude`、`codex`、`gemini`、`opencode`、または`pi`と入力するか、ネイティブチャット用に**ACP**セッションを追加します。Shellで一度サインインします。
要件: arm64(ほとんどのデバイス)またはx86_64上のAndroid 8.0以上、数GBの空き容量。
## 仕組み
TermFoldはPRoot(ユーザースペースchroot)を使用してDebian 13ベースイメージをアプリストレージに展開し、永続的なLinux環境を提供します。プロジェクトは`~/projects`内の通常のディレクトリです。プリロードされたライブラリ(`/etc/ld.so.preload`)がAndroidのハードリンク制限を処理し、dpkg、npm、git、pip、tarが変更なしで動作するようにします。アプリは`docs/SHELL-NOTES.md`に文書化されているプラットフォームの制限(W^X、seccompフィルター、禁止されたハードリンク、CAバンドルなし)を回避します。
## ビルド
```bash
py -3 tools/fetch-shell-runtime.py # PRootとDebianイメージ
py -3 tools/fetch-ca-bundle.py # CAバンドル
./gradlew :app:assembleDebug
```
リリースビルドは`termfold-release.jks`が存在し、`termfold.storePassword`が設定されている場合に署名されます。テスト: `./gradlew :app:testDebugUnitTest`。
## 制限
- アーキテクチャはCPU(arm64またはx86_64)と一致する必要があります。エミュレーションはありません。
- VMではありません: `systemd`、カーネルモジュール、生ソケットはありません。
- アプリのアンインストールまたはアプリデータの消去はDebian環境とプロジェクトを削除します(コピーを保持するにはgitにプッシュするかエクスポートしてください)。
## ライセンス
Apache License 2.0。サードパーティコンポーネント(PRoot、talloc、Termuxターミナルライブラリ、Debianベースイメージ、フォント)はそれぞれのライセンスの下にあります。`THIRD_PARTY_NOTICES.md`を参照してください。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.