Repository navigation
Releases: tensai-app/tensai
Release list
v0.3.6
tensai v0.3.6: Faster replies, fewer stray tools
With thinking on, a simple question no longer makes you wait a minute, and chats with tools reply faster. Stories, poems and songs are written straight away instead of setting off searches.
Measured on a Dimensity 900 phone, Qwen3-1.7B Q4_K_M, on the processor (CPU).
Faster
- With thinking on, a simple question gets a short think and a real problem a long one: "What is the capital of Japan?" went from about 60 s to about 16 s.
- Chats with tools write faster: 4.7 → 6.3 tokens/s with 21 tools on (a lighter memory cache on CPU loads, shorter tool descriptions).
- After a reply that used no tool, such as a haiku, the next question no longer waits about two minutes for its first word (110 to 117 s → 1 to 2 s), even after closing and reopening the app.
Writing
- Asking for a story, poem, essay, song, rap or dialogue at the start of a chat, in English or French, gets it written directly, with no search or tool card. On our 34-prompt test (2 runs): 50 → 59 correct, 15 → 7 needless tool calls.
- After two tool steps in a row fail or are refused, tensai answers with what it has instead of trying more tools.
Instructions
- Settings > Instructions lets you write instructions that apply to every chat; each chat can also have its own in its settings.
- Each chat now starts with a short built-in guide for the model.
Time
- Asking the time in another city, like Tokyo, gives that city's time instead of the phone's.
- Asking the time here no longer fails when the model guesses the time zone wrong.
Chats
- Swipe a chat left to delete it, with Undo for a few seconds.
Fixed
- A model import cut short no longer leaves a hidden file taking up storage; it is cleaned up at the next start.
- Switching between chats quickly or leaving the app can no longer mix up what the model remembers of each one.
Privacy
- Engine error messages no longer include your prompt or the reply text.
Good to know
- After the update, each existing chat re-reads its history once on its next message (new built-in guide, new memory cache format on CPU).
- The lighter memory cache reads long new text more slowly (-29% at 2k tokens of context): a long paste takes longer to start.
- Spotting a creative request is a word list in English and French: other languages, or asks with no writing verb ("a bedtime tale for my son"), still get tools. Simple arithmetic sometimes still calls the calculator.
- The short thinking budget reads only your last message: a short follow-up to a hard problem gets the short budget.
v0.3.6-rc1
v0.3.5
tensai v0.3.5: Web pages can no longer act behind your back
A web page tensai reads could try to make it send your data somewhere or plant a memory. Both now stop at a card you answer. Stop also works every time, even in a chat you left and came back to.
Web
- Reading a page you named or a link a search returned works as before; any other address shows a card with the site and the full address first
- So text from a page cannot quietly send your clipboard, contacts or notes to another site
Memory
- Once a chat has read a web page, Wikipedia, your calendar, the clipboard or past chats, remembering a new fact asks first and shows the fact exactly as it will be stored
- Asking tensai to remember something in a chat that read none of these works without a card
Privacy
- The engine no longer writes the prompt to the system log
Stop
- Tapping Stop right after Send now always stops the reply, instead of letting it run on unseen and keep the model busy
- Leaving a chat while a tool runs and coming back shows Stop again; other chats wait for that reply instead of starting one that would collide with it
- Stop in the notification ends the whole reply, tool steps included
- A reply cut by an engine error is shown as failed instead of as a finished answer
- Stop during the first instant of a reply no longer leaves the model's memory of the chat slightly off
Tools
- When the model writes a tool call as raw text, tensai now runs the tool instead of showing the code as its answer
Measured
Checked on a Dimensity 900 with Qwen3-1.7B Q4_K_M (CPU), signed release builds rc1 to rc3:
- A URL the model built (example.com?id=42) stops at a "Read a web page" card showing the site and the full address; a link you wrote is read with no card.
- After a web page was read, "remember that my favourite colour is teal" stops at a "Remember a fact" card with the exact text; refusing stores nothing. In a chat that read nothing, remember runs directly.
- Stop tapped right after Send stops before the first token ("interrupted before the first decode"); the next message answers normally.
- No prompt token ids in the system log any more.
Known limits
- A small model can still pick a tool where none is needed (asking you a question for "say hello"). A base prompt for the agent is the next step.
- After web_search the model rarely reads the pages it found; reworking the web tools is planned.
- A Stop during the instant the chat's cached history is shifted could not be reproduced by hand; that path is covered by reading the engine code.
v0.3.5-rc3
v0.3.5-rc2
v0.3.5-rc1
v0.3.4
tensai v0.3.4: Clearer confirmations, cleaner maths
Asking tensai to forget something now shows exactly which fact goes, and products like 17*23 no longer turn a reply into italics.
Memory
- The card that asks before forgetting a fact shows the fact itself, not its number; a long fact is shown in full under the title
- If the fact changed or disappeared between the card and your answer, nothing is deleted
Fixed
- An asterisk between numbers, as in
17*23=391, stays an asterisk instead of turning the text around it into italics, in replies and in the reasoning block
Measured
Checked on a Dimensity 900 with Qwen3-1.7B Q4_K_M (CPU), signed release build: the reasoning for "Is 391 a prime number?" keeps every product literal, and the forget card reads "Forget “my favourite tea is genmaicha”", the folded row keeping the fact's text after Allow.
Known limits
- A small model can still say it forgot a fact without calling the tool; asking it explicitly triggers the call and the card. Tracked separately.
- After an app restart, an old answered forget card falls back to "Forget fact N".
v0.3.4-rc1
v0.3.3
tensai v0.3.3: New app id, instant first message
tensai now installs as io.github.tensaiapp, and a new chat no longer waits for the model to read its tool list: the first message starts in seconds.
New app id
- This version installs as a new app, next to the previous one: Android treats a new id as a different app, so it cannot update it in place
- Models and conversations stay in the previous app: import or download your models again here, then uninstall the old app when you no longer need it
Faster
- Right after a model loads, tensai reads the system prompt and the tool list in the background, so the first message of a chat starts in about 1 s instead of more than a minute (Qwen3-1.7B on a Dimensity 900, CPU)
- Opening a new chat after changing the tools in Settings prepares the new tool list before you type, after saving the previous conversation: first message in about 4 s, and the previous conversation comes back intact
Under the hood
- Vulkan can split large matrix products into shorter GPU jobs to keep the interface smooth while a prompt is read; off by default while it is measured on more phones
v0.3.2
tensai v0.3.2: Faster follow-ups
Follow-up messages no longer pay again for the whole previous answer, Auto picks the faster backend for more models, and Vulkan loads keep the phone usable while they read a prompt.
Faster
- A new message reuses the cached previous answer instead of reading it again: after a 700-token reply, the next message starts in about 5 s instead of about 50 (Qwen3-1.7B on a Dimensity 900)
- Auto now runs models of an unknown architecture on the CPU, which was faster everywhere it was measured on this class of phone (TwIL-LM3: prompt 14 tok/s on CPU against 3.9 on Vulkan)
Vulkan
- Models that run on Vulkan read the prompt in smaller batches and on a low priority GPU queue: about 20% faster, and the interface no longer freezes for up to a second while the GPU works (it still runs below full frame rate)
Under the hood
- Two tests that failed now and then in CI are deterministic
Built and tested on a Dimensity 900 (8 GB). Sideload the APK below.
Full Changelog: v0.3.1...v0.3.2