cd /news/ai-agents/i-gave-a-language-model-hands-inside… · home › topics › ai-agents › article
[ARTICLE · art-146636] src=dev.to ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

I gave a language model hands inside Android — and it built me an app factory

An anonymous developer built Termux Assistant AI, an open-source Android app (MIT) that gives a language model direct shell access inside Termux by bridging a WebView running DeepSeek Chat with local HTTP servers. The system's "Vibe mode" lets the model autonomously generate, compile and sign Android apps via aapt2, javac, d8 and apksigner, with a watchdog that auto-resumes stalled runs. The developer says they do not know how to code and that the project was built by one person and one AI.

by read3 min views1 publishedOct 7, 2026

Most LLM assistants are "brains in a jar." They can reason, write code, explain concepts — but they can't do anything in the real world. Everything they produce is text that a human copies and pastes somewhere.

I decided to fix that. Termux Assistant AI is an Android app that bridges a WebView with DeepSeek Chat and simultaneously gives the assistant direct shell access inside Termux via local HTTP servers. In effect — the language model gets hands.

The project is fully open source (MIT): github.com/CR4CODE/Termux-Assistant-AI. Termux is a terminal emulator for Android with a full Linux environment — no root required. Bash, Python, git, ssh, package manager — all working. Essentially a regular Linux distro in your pocket.

The key insight: if I have Termux, I have a shell. And if a language model has a shell, it can run arbitrary commands, work with files, compile code, publish releases.

Two questions remained:

The system consists of three isolated layers.

The main app is an Android WebView that loads chat.deepseek.com. The user chats with the model as usual. But the app intercepts the "Send" button and can insert prompts into the input field and read responses from the DOM.

Implemented via a JavaScript bridge VibeWebBridge: methods sendMessage, readLastAnswer, lastAnswerHash, isThinking, isStopped execute JS in the WebView and return results through callbacks.

Response reading works by finding [class*=markdown] elements and hashing the last block to distinguish a new response from an old one.

Inside Termux runs a Python server ai-tasker-server. It listens on 127.0.0.1:8767 and accepts tasks from the app:

the app accepts tasks:

POST /task

Body: {"task": "auto:uptime"}

Response: {"status":"success","output":"...","exit_code":0}

Routes are grouped by prefix:

A key design decision: auto: commands go straight to bash, without LLM-based classification. The first version tried to guess the command type, which caused hangs on non-existent routes. Now it's just subprocess.run(["bash","-c", code], timeout=120).

A separate Android service that manages the WebView and exposes an HTTP API:

This service is how the assistant talks to DeepSeek and runs autonomous loops.

This is the most interesting part — Vibe mode. You write one task, and the system does the rest.

Workflow:

`vibe-run <project> "<task>"`
`.java`/`.xml` files`=== FILE: path === ... === END FILE ===`

/send) aapt2 → javac → d8 → apksigner /install-apk The key trick is self-healing. If the model stops in "Stopped" state (e.g., token limit), the background watchdog vibe-auto-resume checks /stopped every 5 seconds and automatically sends "continue". Without this, the autonomous run just hangs.

llama.cpp in Termux is the next stepuiautomator to control any app Termux Assistant AI is an experiment: what happens if you give a language model hands? It turns out — a lot. The model builds apps, ships releases, fixes its own bugs, runs social media. All inside a single Android phone, without a PC or cloud infrastructure.

The project is fully open source:

I'm not a programmer. I don't know a single line of code. Everything you see was built by one person and one AI that became my hands.

Questions and criticism are welcome in the comments.

── more in #ai-agents 4 stories · sorted by recency
── more on @termux assistant ai 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-gave-a-language-mo…] indexed:0 read:3min 2026-10-07 · —