No description
  • Shell 62.2%
  • JavaScript 20%
  • TypeScript 17.8%
Find a file
Ue1i7on 45fcb65439
Some checks failed
Mirror to git.disroot.org / mirror (push) Has been cancelled
Initial Commit
2026-06-19 21:13:37 -03:00
.github/workflows Initial Commit 2026-06-19 21:13:37 -03:00
patchs Initial Commit 2026-06-19 21:13:37 -03:00
plugin Initial Commit 2026-06-19 21:13:37 -03:00
.gitignore Initial Commit 2026-06-19 21:13:37 -03:00
.qwenignore Initial Commit 2026-06-19 21:13:37 -03:00
AGENTS.md Initial Commit 2026-06-19 21:13:37 -03:00
install-mimocode-termux.sh Initial Commit 2026-06-19 21:13:37 -03:00
install-opencode.sh Initial Commit 2026-06-19 21:13:37 -03:00
opencode.json Initial Commit 2026-06-19 21:13:37 -03:00
README.md Initial Commit 2026-06-19 21:13:37 -03:00

opencode-termux

Coleção de plugins, agents, skills e installers para opencode e @mimo-ai/cli no Termux/Android.

Estrutura

opencode-termux/
├── install-opencode.sh      # Instalador do OpenCode AI
├── install-mimocode-termux.sh  # Instalador do @mimo-ai/cli
├── opencode.json            # Configuração de exemplo
├── plugin/
│   └── protect-android.ts   # Plugin de proteção Android
├── patchs/
│   ├── apply_patch.sh       # Patch manual no wrapper
│   └── opencode.js.patched  # Wrapper patchado de referência
├── agents/                  # Agents (em breve)
├── skills/                  # Skills (em breve)
└── plugins/                 # Plugins adicionais (em breve)

OpenCode AI

install-opencode.sh

Instalador automático do OpenCode AI no Termux.

Executa todo o setup necessário: instala dependências (glibc, patchelf), baixa e configura o opencode-ai e opencode-linux-arm64, e aplica os patches necessários.

Uso:

chmod +x install-opencode.sh
./install-opencode.sh

Requisitos: Termux com nodejs e npm instalados (pkg i nodejs).


patchs/apply_patch.sh

Aplica patch manualmente no wrapper do opencode-ai.

Use este script se precisar reaplicar o patch que permite o uso do grun como intermediário para execução do binário.

Uso:

chmod +x patchs/apply_patch.sh
./patchs/apply_patch.sh

Nota: O script faz backup do arquivo original antes de aplicar o patch.


patchs/opencode.js.patched

Arquivo patchado de referência.

Contém a versão modificada do wrapper para consulta ou aplicação manual caso o script automático falhe.


plugin/protect-android.ts

Plugin de proteção de diretórios sensíveis do Android.

Bloqueia operações perigosas em diretórios críticos:

Diretório Proteção
*/Android/** Bloqueio total — nenhum comando permitido
*/Download / */downloads Bloqueia rm, rmdir, mv na raiz; protege .exmu-cfg1.data
*/Documents Bloqueia rm, rmdir, mv na raiz; protege .Android_a97515df71467a1d

Uso: Adicione no seu opencode.json:

{
  "plugin": ["./opencode-termux/plugin/protect-android.ts"]
}

Ou copie para .opencode/plugin/ para carregamento automático.


opencode.json

Configuração de exemplo do OpenCode.

Arquivo de configuração que demonstra como carregar o plugin protect-android.ts. Use como base para criar sua própria configuração.


MiMo-Code CLI

O problema

O @mimo-ai/cli usa os.platform() no postinstall para determinar qual pacote de binário baixar. No Termux, os.platform() retorna "android", então o script procura por @mimo-ai/mimocode-android-arm64 — que não existe. O binário correto é @mimo-ai/mimocode-linux-arm64, que é compilado com glibc e precisa de grun (glibc-runner) para executar no Termux.

install-mimocode-termux.sh

Instalador manual do @mimo-ai/cli para Termux.

Contorna a limitação do postinstall instalando o binário linux-arm64 e patcheando o wrapper para usar grun.

Uso:

chmod +x install-mimocode-termux.sh
./install-mimocode-termux.sh

O script:

  1. Verifica pré-requisitos (glibc, grun)
  2. Instala @mimo-ai/cli (postinstall falha — esperado)
  3. Instala @mimo-ai/mimocode-linux-arm64
  4. Copia o binário e patcheia o wrapper para usar grun

Requisitos: Termux com nodejs, npm, glibc e glibc-runner (pkg i glibc glibc-runner).

Como funciona

No Termux, binários Linux compilados com glibc não funcionam diretamente (Termux usa bionic libc). A solução é usar grun (glibc-runner), que carrega a glibc do repositório tur-repo e executa o binário com ela.

O wrapper bin/mimo é modificado para chamar childProcess.spawnSync("grun", [target, ...]) em vez de childProcess.spawnSync(target, ...).

Manutenção

Se você atualizar o @mimo-ai/cli via npm, o wrapper será sobrescrito e o patch precisará ser reaplicado. Execute o script novamente após cada atualização.

Upstream fix necessário

Dois arquivos em packages/opencode/ precisam de alterações para suporte Android:

  • script/postinstall.mjs (~linha 19): Adicionar case "android": platform = "linux"
  • bin/mimo (platformMap ~linha 35-38): Adicionar android: "linux" e usar grun no spawn

Requisitos Gerais

  • Termux (no Android, aarch64)
  • Node.js e npm (pkg i nodejs)
  • glibc e glibc-runner (pkg i tur-repo glibc glibc-runner)
  • patchelf (pkg i patchelf, opcional)