我不会写代码。但我发布了一个原生 Android 终端 IDE,内置 Claude Code + Codex 本地运行 — 无需 Termux。
发布: (2026年4月28日 GMT+8 22:07)
3 分钟阅读
原文: Dev.to
Source: Dev.to
概览
自从我上一次发布后,一切都变了。WebView 终端已经消失,Termux 也不再需要。下面是实际交付的内容。
架构
方案 A(之前)
- 通过 ttyd 的 WebView 终端
- 需要 Termux
- 终端与应用之间使用 TCP 套接字
- 每次切换应用时都会崩溃
方案 B(当前)
- 通过 JNI
forkpty实现原生 PTY —— 同一进程,零 IPC,零 TCP - 不再需要 Termux
- 将工具打包进 APK 作为
.so文件:bash、Node.js、Python 3、git、curl、ripgrep、jq、tmux、vim、sqlite3 - 使用
/system/bin/linker64执行,以绕过 SELinux 对app_data_file上下文的execve限制 - 据我所知,这是唯一这样做的 React Native 应用
运行时
两个 AI 模型均通过 Shelly 管理的运行时原生运行:
- Claude Code 2.1.121(Opus 4.7,1 M 上下文)✅
- Codex v0.124.0‑termux(GPT‑5.5)✅
- Gemini CLI 0.39.1 ✅
运行时支持热更新,无需重新构建 APK。
功能
-
同时显示四个实时面板
- 左上:Claude Code 终端
- 右上:Codex(GPT‑5.5)
- 左下:Cerebras AI 面板,显示 READING TERMINAL
- 右下:浏览器面板,播放 YouTube
-
原生终端,支持内联命令块
-
多面板布局(最多 4 个实时面板)
-
跨面板智能——AI 自动读取终端输出
-
多代理路由:Claude、Gemini、Cerebras、Groq、Perplexity、Codex、通过
llama.cpp的本地 LLM -
文件编辑,支持逐块
InlineDiff接受/拒绝 -
@team多模型共识 -
SSH 配置文件
-
CRT 模式(扫描线 + 磷光绿 + 暗角)
设置与限制
- Claude Code 首次运行的 OAuth 需要凭证迁移
- 端口监控被 Android 10+ 的 SELinux 阻止(bug #99)
- 测试覆盖率较低
仓库与发布
- GitHub:
- APK: GitHub Releases 页面(从仓库链接)
许可证
GPLv3
仍有一些粗糙之处——这也是项目开源的原因。