Sobre o projeto
# TermFold
TermFold é um aplicativo Android que fornece um ambiente Debian 13 completo e agentes de IA de codificação em tablets e celulares. Ele executa um userland Linux real via PRoot (sem necessidade de root), suporta agentes de codificação populares como Claude Code, Codex, Gemini CLI, OpenCode, Cursor e Pi, e oferece uma interface de chat nativa para agentes que falam o Protocolo de Agente Cliente (ACP).
## Principais Recursos
- **Ambiente Debian 13 completo**: Instale pacotes com `apt`, use Python, Node 22, git, ferramentas de build, SSH e SCP após uma configuração única.
- **Projetos Linux reais**: Os projetos ficam no armazenamento próprio do Debian (`~/projects`), então symlinks, permissões, executáveis, git, npm e virtualenvs se comportam exatamente como em um PC.
- **Agentes de IA de codificação**: Execute `claude`, `codex`, `gemini`, `opencode`, `pi` ou `qwen` no terminal; cada um se instala no primeiro uso. Agentes que falam ACP ganham uma interface de chat nativa com renderização Markdown, chamadas de ferramentas, prompts de permissão e um seletor de modelo/raciocínio/modo.
- **Gerenciador de arquivos integrado**: Navegue, pesquise, ordene, crie, renomeie, copie, mova e exclua arquivos. Código abre em um editor CodeMirror com mais de 40 linguagens, pesquisa, desfazer e Ctrl+S. Imagens abrem em um visualizador com zoom e cópia para a área de transferência.
- **Importação/exportação de arquivos**: Envie arquivos ou pastas, compartilhe para o TermFold de qualquer aplicativo, exporte para pastas do dispositivo e apareça no seletor de arquivos do Android.
- **Navegador integrado**: Visualize servidores de desenvolvimento (`localhost:5173`), páginas de projeto ou qualquer site ao lado do chat. Agentes também podem usar o navegador, com toques e teclas reais, via ferramentas MCP ou comando `termfold-browser`.
- **Persistência de sessão**: Chats reabrem sua última sessão, `/resume` lista sessões anteriores e agentes continuam rodando em segundo plano com notificações.
- **Otimizado para tablets**: Linhas de teclas Ctrl/Alt/Esc/Tab/setas em largura total, suporte a teclado físico, fonte JetBrains Mono, pinça para zoom.
- **Cole qualquer coisa**: Cole imagens no chat ou terminal (como caminhos de arquivo para Claude Code e Codex), colagens longas viram anexos `.txt`.
- **Sem root, sem Termux, sem conta**: Tudo roda dentro do aplicativo. Código aberto sob Apache-2.0.
## Instalação
1. Baixe o `.apk` do último lançamento e instale.
2. Abra o TermFold e toque em **+** para iniciar um projeto (vazio, clonado do Git ou importado).
3. Abra o **Shell** — a configuração inicial baixa o Debian (algumas centenas de MB, uma vez).
4. Digite `claude`, `codex`, `gemini`, `opencode` ou `pi`, ou adicione uma sessão **ACP** para chat nativo. Entre uma vez em um Shell.
Requisitos: Android 8.0+ em arm64 (maioria dos dispositivos) ou x86_64, alguns GB de espaço livre.
## Como Funciona
O TermFold usa PRoot (chroot em userspace) para descompactar uma imagem base do Debian 13 no armazenamento do aplicativo, fornecendo um ambiente Linux persistente. Projetos são diretórios comuns em `~/projects`. Uma biblioteca pré-carregada (`/etc/ld.so.preload`) lida com as restrições de hard links do Android, fazendo dpkg, npm, git, pip e tar funcionarem sem alterações. O aplicativo contorna restrições da plataforma (W^X, filtros seccomp, hard links proibidos, sem pacote de CA) documentadas em `docs/SHELL-NOTES.md`.
## Compilação
```bash
py -3 tools/fetch-shell-runtime.py # Imagens PRoot e Debian
py -3 tools/fetch-ca-bundle.py # Pacote de CA
./gradlew :app:assembleDebug
```
Builds de lançamento são assinados quando `termfold-release.jks` existe e `termfold.storePassword` está definido. Testes: `./gradlew :app:testDebugUnitTest`.
## Limitações
- A arquitetura deve corresponder à CPU (arm64 ou x86_64); sem emulação.
- Não é uma VM: sem `systemd`, módulos de kernel ou sockets brutos.
- Desinstalar ou limpar dados do aplicativo exclui o ambiente Debian e projetos (faça push para o git ou exporte para manter cópias).
## Licença
Licença Apache 2.0. Componentes de terceiros (PRoot, talloc, bibliotecas de terminal Termux, imagem base Debian, fontes) sob suas próprias licenças; veja `THIRD_PARTY_NOTICES.md`.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.