- ModelDownloader now pulls the Q6_K quant
- README: reflect Q6_K sizes + note prebuilt APK on Releases
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Validated on a Pixel 7 (adb). Key fixes:
- Force Release/-O3 for native even in the debug variant (AGP defaulted to -O0,
making llama.cpp ~10x too slow / effectively unusable).
- 16 KB-align all native LOAD segments (Play requirement; 16 KB-page devices).
- Disable Qwen3 thinking (empty <think></think> prefill + /no_think) so replies
are fast and punchy instead of spending the whole budget on hidden reasoning.
- Cap replies at 220 tokens.
Verified: model downloads, loads (n_ctx=4096, 6 threads), streams an on-persona
reply with emoji intact, and "new tsjet" clears the conversation.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- ./gradlew assembleDebug produces a 13 MB arm64-v8a APK (libtsjet/libllama/
libggml/libc++_shared bundled; JNI compiles cleanly against llama.cpp b10333)
- Add tools/gen_launcher_icons.py so the launcher icon is reproducible from art
- README: mark build verified, add sideload/install section
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Android app that runs an uncensored Qwen3.5-2B GGUF fully on-device via an
embedded llama.cpp (pinned b10333, built through the NDK) behind a barebones
WebView chat UI. Model is downloaded on first launch. "new tsjet" wipes the
conversation and resets the KV cache.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>