我不会写代码。但我发布了一个原生 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 文件:bashNode.jsPython 3gitcurlripgrepjqtmuxvimsqlite3
  • 使用 /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

仍有一些粗糙之处——这也是项目开源的原因。

0 浏览
Back to Blog

相关文章

阅读更多 »