

Mini version of deepseek harness in termux
dsh-mini: the DeepSeek Harness core as a portable engine, running in Termux
Not a fork. I assembled the official DeepSeek Harness (@deepseek-ai/dsh-*) engine with pi's shell (@earendil-works/pi-tui) and cut everything else away:
- Packages: official tree 188 → 13 engine packages (build-time only)
- Install size: 359MB node_modules → one 7.6MB self-contained file
- Runtime npm deps: 0 — the artifact bundles everything
- Portable engine build: 419KB, zero Node builtins (runs on QuickJS too)
On a OnePlus 15 / Termux:
pkg install nodejs # only runtime requirement: Node >= 22.15
curl -fsSL https://github.com/LouisYang841/dsh-mini/raw/main/scripts/install.sh | sh
dsh-mini
You get a full-screen Claude-Code-style TUI (community @openguardrails/dsh-tui, promoted to default after real-terminal testing), DeepSeek by default (official adapter + pi-ai multi-provider route — OpenAI/Anthropic/OpenRouter light up when their env keys exist), fs + bash + todo + skills tools, and zstd-JSONL session persistence with --resume.
The bash tool drives the phone's real filesystem — I had it ls my Termux home and summarize the directory tree from the model's reply.
Architecture is deliberately seam-based (five seams: LLM adapter / filesystem / persistence / Node-API shims / engine polyfills) with a byte-identical conformance gate (Node vs QuickJS traces), an ADR log explaining why assembly instead of forking, and a ~50-entry pitfall skill file. If you want to retrofit the engine into another harness, the retrofit recipe is in ARCHITECTURE.md.
Repo: https://github.com/LouisYang841/dsh-mini Install: curl -fsSL https://github.com/LouisYang841/dsh-mini/raw/main/scripts/install.sh | sh
Solo project, MIT, happy to take feedback or issues.