<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mohammed Ali Chherawalla</title>
    <description>The latest articles on DEV Community by Mohammed Ali Chherawalla (@alichherawalla).</description>
    <link>https://dev.to/alichherawalla</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F676847%2F1be86b13-fff6-4ab2-9f75-6c818af3b002.png</url>
      <title>DEV Community: Mohammed Ali Chherawalla</title>
      <link>https://dev.to/alichherawalla</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alichherawalla"/>
    <language>en</language>
    <item>
      <title>How to Speed Up Local AI Replies With MTP on Your Android Phone in 2026 (No Setup)</title>
      <dc:creator>Mohammed Ali Chherawalla</dc:creator>
      <pubDate>Sun, 25 Oct 2026 12:54:20 +0000</pubDate>
      <link>https://dev.to/alichherawalla/how-to-speed-up-local-ai-replies-with-mtp-on-your-android-phone-in-2026-no-setup-486b</link>
      <guid>https://dev.to/alichherawalla/how-to-speed-up-local-ai-replies-with-mtp-on-your-android-phone-in-2026-no-setup-486b</guid>
      <description>&lt;p&gt;You run a local model on your Android phone and the reply crawls out word by word. You would like the same answer sooner, without swapping to a smaller model and without reading about draft models. Off Grid AI Mobile (OGAM) now supports MTP, multi-token prediction. A model built for it guesses several words ahead, checks them in one pass, and keeps the ones it would have written anyway. You turn it on with one switch. If the model needs an extra file for it, the app downloads that file for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;An Android phone with enough RAM for the model you use. &lt;strong&gt;Gemma 4 E4B&lt;/strong&gt;, the smallest catalog model with a published MTP head, lists 6 GB of RAM as its minimum. &lt;strong&gt;Gemma 4 12B&lt;/strong&gt; lists 12 GB.&lt;/li&gt;
&lt;li&gt;OGAM 0.0.116 or later. 0.0.116 added the automatic MTP head download behind the switch. The current release, 0.0.118, also downloads the head together with the model on one progress bar. &lt;a href="https://getoffgridai.co/mobile/" rel="noopener noreferrer"&gt;Download OGAM for Android&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A GGUF chat model that runs on llama.cpp. MTP does not apply to the &lt;strong&gt;Gemma 4 LiteRT&lt;/strong&gt; models, which use Google's LiteRT engine.&lt;/li&gt;
&lt;li&gt;No account and no payment. MTP is part of the free app.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How MTP makes replies faster
&lt;/h2&gt;

&lt;p&gt;A normal model writes one token per pass through its weights. A model with MTP layers drafts a few tokens at once, then verifies all of them in a single pass. Every token that passes the check is exactly the token the model would have produced on its own, so the answer does not change. You only wait through fewer passes.&lt;/p&gt;

&lt;p&gt;Some models carry these draft layers inside their own GGUF file. Others have them published as a separate small file called an MTP head. OGAM's catalog knows the published heads for &lt;strong&gt;Gemma 4 E4B&lt;/strong&gt; (about 99 MB), &lt;strong&gt;Gemma 4 12B&lt;/strong&gt; (about 465 MB) and &lt;strong&gt;Qwen 3.8 27B&lt;/strong&gt; (about 1.37 GB), and matches each head to its model whatever quantization you download. On an Android phone, Gemma 4 E4B is the one most people can run. Gemma 4 12B needs a 12 GB phone, and Qwen 3.8 27B lists 32 GB.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Find a model with the MTP badge
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open OGAM and tap &lt;strong&gt;Models&lt;/strong&gt; in the bottom bar.&lt;/li&gt;
&lt;li&gt;Look for the &lt;strong&gt;MTP&lt;/strong&gt; badge, with a fast-forward icon, at the start of the badge row on a model card. It means the model has a published MTP head and replies faster with MTP on. A screen reader reads it as "MTP: replies faster".&lt;/li&gt;
&lt;li&gt;Tap the model to download it. In 0.0.118 one tap downloads the model, its vision file and its MTP head on one progress bar. For Gemma 4 E4B that is the 4.98 GB model, the 0.99 GB vision file and the 99 MB head.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The same badge shows in the model sheet inside a chat, so you can check the model you are on without leaving the conversation.&lt;/p&gt;

&lt;p&gt;If you downloaded the model before 0.0.118, or the head download failed, you do not need to download the model again. The next time the model loads, the app fetches the missing head in the background. That load runs without MTP, and the load after it uses the head.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Turn on Speculative Decoding (MTP)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fgetoffgridai.co%2Fassets%2Fimg%2Fhome%2Fmobile%2Fsettings-1-light-640.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fgetoffgridai.co%2Fassets%2Fimg%2Fhome%2Fmobile%2Fsettings-1-light-640.webp" alt="Off Grid AI Mobile Settings tab on Android, with Model Settings as the first item." width="640" height="1410"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br&gt;The Settings tab on Android. Model Settings is the first item.
  &lt;p&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Tap &lt;strong&gt;Settings&lt;/strong&gt; in the bottom bar.&lt;/li&gt;
&lt;li&gt;Tap &lt;strong&gt;Model Settings&lt;/strong&gt; (System prompt, generation, and performance).&lt;/li&gt;
&lt;li&gt;Open the &lt;strong&gt;Text Generation&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt;Tap &lt;strong&gt;Advanced&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Find &lt;strong&gt;Speculative Decoding (MTP)&lt;/strong&gt; and tap &lt;strong&gt;On&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can do the same from inside a chat. Tap the sliders icon at the top right, open &lt;strong&gt;TEXT GENERATION&lt;/strong&gt;, tap &lt;strong&gt;Advanced&lt;/strong&gt; and set &lt;strong&gt;Speculative Decoding (MTP)&lt;/strong&gt; to &lt;strong&gt;On&lt;/strong&gt;. Both places change the same setting.&lt;/p&gt;

&lt;p&gt;If the selected model has a published head that is not on the phone yet, the download starts as soon as you tap &lt;strong&gt;On&lt;/strong&gt;. The progress shows under the switch as &lt;strong&gt;Getting MTP head...&lt;/strong&gt; with a percentage. If it fails, a retry icon appears in its place. Tap it once to try again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Reload the model and chat
&lt;/h2&gt;

&lt;p&gt;MTP is set when llama.cpp builds the model in memory, so it takes effect on the next load. The setting says &lt;strong&gt;Requires model reload&lt;/strong&gt;. Go back to your chat. A banner with a warning icon says the settings changed and offers to reload the model. Tap it, wait for the model to load, and send a message. Changing &lt;strong&gt;Draft Tokens&lt;/strong&gt; later shows the same banner.&lt;/p&gt;

&lt;p&gt;To see the speed, turn on &lt;strong&gt;Show Generation Details&lt;/strong&gt; in the same &lt;strong&gt;Text Generation&lt;/strong&gt; section. Each reply then shows its speed in tokens per second, so you can compare it with MTP off.&lt;/p&gt;

&lt;h2&gt;
  
  
  The in-chat suggestion
&lt;/h2&gt;

&lt;p&gt;When the model file you use carries its own MTP layers, OGAM tells you in the chat instead of waiting for you to find the setting. A card reads &lt;strong&gt;This model can reply faster&lt;/strong&gt;, says the model drafts several tokens at once and checks them in one pass, and offers &lt;strong&gt;Turn on speculative decoding and reload the model&lt;/strong&gt;. Tap it and the app turns MTP on and reloads the model in one step. Tap the close icon to dismiss the card. The card does not appear for models without draft layers, and it does not appear once MTP is on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Draft Tokens
&lt;/h2&gt;

&lt;p&gt;With MTP on, a &lt;strong&gt;Draft Tokens&lt;/strong&gt; slider appears below the switch. It sets how many tokens the model drafts per step, from 1 to 8. The default is 3, which is llama.cpp's own default. Longer drafts help when the model guesses well and waste work when it guesses badly. Start at 3, and change it only if your measured speed says so.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this does not do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It does not speed up every model. Only models with MTP layers in their file, or a published MTP head, can draft. On any other model the app does not enable MTP, even with the switch on, because passing it to a model without draft layers can leave the engine stuck.&lt;/li&gt;
&lt;li&gt;It can make the first word slower in long chats. With MTP on, llama.rn reprocesses the whole prompt each turn, so from the second message on, the wait before the first token grows with the conversation. This is why MTP is off by default, and why &lt;strong&gt;Use fastest settings&lt;/strong&gt; turns it off. Turn it back on yourself after the speed test if you prefer it.&lt;/li&gt;
&lt;li&gt;It does not apply to LiteRT models, remote servers or image models.&lt;/li&gt;
&lt;li&gt;An MTP head is not a model. Since 0.0.117, files that only speed up another model are no longer offered as models you can load. If you import one, the app refuses it with "This file only speeds up another model. It cannot run on its own."&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is MTP in local AI?&lt;/strong&gt;&lt;br&gt;
MTP stands for multi-token prediction. A model trained with it has extra layers that guess the next few tokens, and the main model checks those guesses in one pass. Correct guesses are kept, so you get the same reply in fewer passes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is MTP the same as speculative decoding?&lt;/strong&gt;&lt;br&gt;
MTP is one form of speculative decoding. Classic speculative decoding uses a separate small draft model. MTP uses draft layers trained with the model itself, either inside its GGUF or in a published MTP head.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which Android phones can use MTP?&lt;/strong&gt;&lt;br&gt;
Any Android phone that runs a model with MTP layers in OGAM can use it. The limit is the model's RAM need: Gemma 4 E4B lists 6 GB as its minimum, and the head adds about 99 MB of storage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does Gemma 4 support MTP on Android?&lt;/strong&gt;&lt;br&gt;
Yes, the GGUF versions. MTP heads for Gemma 4 E4B and Gemma 4 12B are published beside Unsloth's GGUF builds, and OGAM downloads the matching head with the model. The Gemma 4 LiteRT versions do not use MTP.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why is my first reply slower after turning on MTP?&lt;/strong&gt;&lt;br&gt;
The model reloads when you change the setting, and with MTP on, llama.rn reprocesses the full prompt each turn. In a long chat that can slow the first token even while the rest of the reply comes faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does MTP need internet?&lt;/strong&gt;&lt;br&gt;
Only once, to download the MTP head if the model uses one. After that, MTP runs on the phone with no connection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/guides/android-setup/" rel="noopener noreferrer"&gt;Android setup guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/guides/run-llms-locally-android/" rel="noopener noreferrer"&gt;Run LLMs locally on Android&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-qwen-3-5-and-gemma-4-faster-on-your-android-phone-in-2026-one-tap-tuning-no-cloud/" rel="noopener noreferrer"&gt;How to Run Qwen 3.5 and Gemma 4 Faster on Your Android Phone in 2026 (One-Tap Tuning, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-gemma-4-on-your-android-phone-in-2026-locally-no-cloud/" rel="noopener noreferrer"&gt;How to Run Gemma 4 on Your Android Phone in 2026 (Locally, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-find-ai-models-your-android-phone-can-actually-run-in-2026-no-failed-downloads/" rel="noopener noreferrer"&gt;How to Find AI Models Your Android Phone Can Actually Run in 2026 (No Failed Downloads)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>android</category>
      <category>ai</category>
      <category>llm</category>
      <category>localai</category>
    </item>
    <item>
      <title>How to Ask Questions About a 500-Page PDF on Your Mac in 2026 (Page Citations, No Cloud)</title>
      <dc:creator>Mohammed Ali Chherawalla</dc:creator>
      <pubDate>Sun, 25 Oct 2026 11:23:27 +0000</pubDate>
      <link>https://dev.to/alichherawalla/how-to-ask-questions-about-a-500-page-pdf-on-your-mac-in-2026-page-citations-no-cloud-4opc</link>
      <guid>https://dev.to/alichherawalla/how-to-ask-questions-about-a-500-page-pdf-on-your-mac-in-2026-page-citations-no-cloud-4opc</guid>
      <description>&lt;p&gt;You have a 500-page contract, annual report or textbook as a PDF on your Mac. You want to ask "what does it say about termination?" and get an answer you can check, not a guess. Off Grid AI Desktop reads the whole file on your Mac, answers from it, and puts a small page chip such as &lt;strong&gt;p. 212&lt;/strong&gt; next to each claim. Click the chip and the PDF opens at that page. The file never leaves your Mac, and there is no page limit and no file size cap.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Mac with Apple silicon (M1 or later) and macOS 13 or later. The Mac download is built for Apple silicon only.&lt;/li&gt;
&lt;li&gt;Off Grid AI Desktop 0.0.55 or later, the current stable release. &lt;a href="https://getoffgridai.co/desktop/" rel="noopener noreferrer"&gt;Download Off Grid AI Desktop for Mac&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A chat model downloaded in the app. Any local text model works. A larger model writes better answers; the documents part works the same with all of them.&lt;/li&gt;
&lt;li&gt;No account and no payment. Document chat is part of the free app.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Page citations arrived in 0.0.55. If you used an older build, the old limits are gone: a long attachment no longer ends the reply with "Context is full.", and follow-up questions no longer lose the document.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Attach the PDF
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open a chat in Off Grid AI Desktop.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;+&lt;/strong&gt; button at the left of the message box and choose &lt;strong&gt;Attach files&lt;/strong&gt;. A Finder window opens. Select one PDF or several.&lt;/li&gt;
&lt;li&gt;Or drag the files from Finder onto the message box. It reads &lt;strong&gt;Drop files to attach&lt;/strong&gt; while you hold them over it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The app reads PDF, Word (&lt;code&gt;.docx&lt;/code&gt;), plain text, Markdown, CSV and JSON files. Each file shows as a small pill in the message box. You can type and send your question straight away. The pill stays usable while the app reads and indexes the file in the background.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Watch it read the file
&lt;/h2&gt;

&lt;p&gt;As soon as a chat has a document, a button with a file icon and a number appears in the row under the message box. Its tooltip reads, for example, "1 document in this chat". Click it to open &lt;strong&gt;Documents in this chat&lt;/strong&gt;. Each file has a status line:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reading...&lt;/strong&gt; while the app pulls the text out of each page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reading scanned pages 12/40&lt;/strong&gt; when pages are images with no text layer, for example a scanned contract.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Indexing 45%&lt;/strong&gt; while it builds the search index.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;512 pages&lt;/strong&gt; when it is ready.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On a Mac, scanned pages are read with Apple Vision, the text recognition built into macOS. Off Grid AI's own measurement puts it at about 0.2 to 0.5 seconds a page, and it reads Latin and Chinese, Japanese and Korean text. For a document in Hindi, Marathi or Nepali, the app uses PaddleOCR instead and downloads its Devanagari model the first time it needs it.&lt;/p&gt;

&lt;p&gt;If some pages cannot be read, the status line says so, for example "3 scanned pages not read". The app does not pretend those pages are in its answers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Ask your question
&lt;/h2&gt;

&lt;p&gt;Type the question the way you would ask a colleague who read the document: "What are the termination clauses, and what notice does each one need?"&lt;/p&gt;

&lt;p&gt;While the app prepares the answer, the work timeline above the reply shows what it is doing: "Opening 1 document...", "Searching 1 document...", "Ranking 24 passages...". Then the model writes.&lt;/p&gt;

&lt;p&gt;How much of the document the model reads depends on your Mac. The app measures how fast your Mac reads text into the model, and compares that with the model's context window.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A document that fits&lt;/strong&gt; is read whole, every page, on every question.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A document that does not fit&lt;/strong&gt;, such as a 500-page PDF on a smaller model, is read as a map of the whole document plus the passages that best match your question. The app finds them with a keyword index and a local embedding model (multilingual-e5-small), then re-ranks them with a second local model before the chat model sees them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both happen on every turn. A follow-up question searches the document again for that question, so it does not depend on what the previous answer happened to quote.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Check the answer against the page
&lt;/h2&gt;

&lt;p&gt;Each claim drawn from the PDF ends with a green chip that names the page, such as &lt;strong&gt;p. 212&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hover&lt;/strong&gt; over a chip to see the file name and the passage it cites.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Click&lt;/strong&gt; a chip to open the PDF in the viewer beside the chat, at that page. Use &lt;strong&gt;Fit to screen&lt;/strong&gt; in the viewer if the page is too wide for the panel.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the part that makes a long document usable. You do not have to trust the summary. You read the sentence on page 212 yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Work with several documents in one chat
&lt;/h2&gt;

&lt;p&gt;You can attach more files later in the same chat, for example last year's report next to this year's. Every answer reads every included document.&lt;/p&gt;

&lt;p&gt;To leave a file out, open &lt;strong&gt;Documents in this chat&lt;/strong&gt; and turn off its switch. The file name is struck through and the button shows a count such as &lt;strong&gt;2/3&lt;/strong&gt;. Turn the switch back on to include it again. The eye icon next to each file opens it in the viewer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use a project for documents you ask about often
&lt;/h2&gt;

&lt;p&gt;If you ask about the same set of files across many chats, such as a policy library or a course reader, put them in a project instead.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Projects&lt;/strong&gt; and create a project.&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Knowledge base&lt;/strong&gt;, click &lt;strong&gt;Add files&lt;/strong&gt; and pick the documents. Each file shows its progress while it is indexed.&lt;/li&gt;
&lt;li&gt;Start chats inside the project.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Then choose how chats use them in &lt;strong&gt;Settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Text&lt;/strong&gt; &amp;gt; &lt;strong&gt;Project knowledge&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;When needed&lt;/strong&gt; (the default) searches the knowledge base only when a question needs it, so other answers in the project stay fast.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Relevant passages&lt;/strong&gt; searches it for every question and adds the best matches.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Every answer&lt;/strong&gt; reads all of it each time.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What this does not do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It does not read Excel, PowerPoint, Pages, Keynote, Numbers, old &lt;code&gt;.doc&lt;/code&gt; files or ebooks yet. Export them to PDF first.&lt;/li&gt;
&lt;li&gt;It does not make a small model smart. A 1B model can find page 212, but its answer will be weaker than a 9B model's. Pick the largest model your Mac runs well.&lt;/li&gt;
&lt;li&gt;On a 500-page file that does not fit the model, the answer comes from the best-matching passages, not every page. A question like "list every date in the document" can miss some. Ask narrower questions, or split the work by chapter.&lt;/li&gt;
&lt;li&gt;Pages Apple Vision cannot read, such as poor scans or handwriting, are reported as not read rather than guessed.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Where the document goes
&lt;/h2&gt;

&lt;p&gt;The PDF stays on your Mac. The text, the index and the page map are stored in the app's encrypted database. Nothing is uploaded. If you back up the app, the backup includes the document text. If you delete the chat, the app also deletes the documents no other chat uses.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Can I chat with a PDF on my Mac without uploading it?&lt;/strong&gt;&lt;br&gt;
Yes. Off Grid AI Desktop reads the PDF on your Mac with a local model. The file, its text and the answers stay on your Mac.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is there a page or size limit for PDFs?&lt;/strong&gt;&lt;br&gt;
No. The app reads the PDF page by page with no size cap. A document too large for the model is read as a map plus the passages that match each question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does it work with scanned PDFs on a Mac?&lt;/strong&gt;&lt;br&gt;
Yes. Scanned pages are read with Apple Vision, the text recognition built into macOS. Pages it cannot read are listed as not read.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I know the answer is really in the PDF?&lt;/strong&gt;&lt;br&gt;
Each claim carries a page chip such as &lt;strong&gt;p. 212&lt;/strong&gt;. Hover to see the passage, or click to open the PDF at that page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does it work offline?&lt;/strong&gt;&lt;br&gt;
Yes, once you have downloaded a chat model. Reading the PDF, searching it and writing the answer all run on your Mac.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is it free?&lt;/strong&gt;&lt;br&gt;
Yes. Document chat with page citations is part of the free Off Grid AI Desktop app, with no account.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/desktop/" rel="noopener noreferrer"&gt;Download Off Grid AI Desktop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-summarise-long-documents-on-your-mac-in-2026-without-uploading-them/" rel="noopener noreferrer"&gt;How to Summarise Long Documents on Your Mac in 2026 Without Uploading Them&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-llms-locally-on-your-mac-in-2026-completely-offline-no-subscription/" rel="noopener noreferrer"&gt;How to Run LLMs Locally on Your Mac in 2026 (Completely Offline, No Subscription)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-compare-local-ai-models-side-by-side-on-your-mac-in-2026-one-question-up-to-six-models/" rel="noopener noreferrer"&gt;How to Compare Local AI Models Side by Side on Your Mac in 2026 (One Question, Up to Six Models)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>macos</category>
      <category>pdf</category>
      <category>privacy</category>
    </item>
    <item>
      <title>How to Retry, Edit and Queue Questions to Local AI on Your Android Phone in 2026 (Every Answer Kept)</title>
      <dc:creator>Mohammed Ali Chherawalla</dc:creator>
      <pubDate>Sun, 25 Oct 2026 06:10:02 +0000</pubDate>
      <link>https://dev.to/alichherawalla/how-to-retry-edit-and-queue-questions-to-local-ai-on-your-android-phone-in-2026-every-answer-kept-2pfm</link>
      <guid>https://dev.to/alichherawalla/how-to-retry-edit-and-queue-questions-to-local-ai-on-your-android-phone-in-2026-every-answer-kept-2pfm</guid>
      <description>&lt;p&gt;You asked the model on your Android phone a question, the answer was close but not right, and you want another try without losing the first one. Or the model is still writing and you already know your next three questions. Off Grid AI Mobile (OGAM) handles both. Every retry and every edit keeps the old answer as a version you can step back to, and anything you type while a reply runs waits in a queue above the box until the model is free. The model runs on your phone, so none of this goes anywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;An Android phone with a chat model downloaded. Any GGUF or LiteRT chat model works, for example &lt;strong&gt;Qwen 3.5 2B&lt;/strong&gt; or &lt;strong&gt;Gemma 4 E2B&lt;/strong&gt;. If you have not set one up yet, start with &lt;a href="https://getoffgridai.co/articles/how-to-run-local-ai-on-your-android-phone-in-2026-no-cloud-no-account/" rel="noopener noreferrer"&gt;How to Run Local AI on Your Android Phone in 2026&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;OGAM 0.0.117 or later. Versions and the queue arrived in the 0.0.115 beta and are in the stable releases, 0.0.117 and 0.0.118. &lt;a href="https://getoffgridai.co/mobile/" rel="noopener noreferrer"&gt;Download OGAM for Android&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;No account and no payment. Both features are part of the free app.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How the message menu works
&lt;/h2&gt;

&lt;p&gt;Every message in a chat has a menu. Long-press the message bubble, or tap the three dots (&lt;strong&gt;...&lt;/strong&gt;) next to its time, and a sheet called &lt;strong&gt;Actions&lt;/strong&gt; opens. The menu does not open while a reply is still being written.&lt;/p&gt;

&lt;p&gt;What the sheet offers depends on whose message it is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On your own message: &lt;strong&gt;Copy&lt;/strong&gt;, &lt;strong&gt;Edit&lt;/strong&gt; and &lt;strong&gt;Resend&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;On the model's answer: &lt;strong&gt;Copy&lt;/strong&gt;, &lt;strong&gt;Edit&lt;/strong&gt; and &lt;strong&gt;Regenerate&lt;/strong&gt;, plus other actions such as &lt;strong&gt;Generate Image&lt;/strong&gt; when they apply.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1: Get a new answer without losing the old one
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Long-press the answer you want to replace, or tap its three dots.&lt;/li&gt;
&lt;li&gt;Tap &lt;strong&gt;Regenerate&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The chat ends at your question while the model writes a new answer.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When the new answer is done, a small switcher appears under it: a left arrow, a count such as &lt;strong&gt;2/2&lt;/strong&gt;, and a right arrow. Tap the left arrow to go back to the first answer. Tap the right arrow to return to the new one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resend&lt;/strong&gt; on your own question does the same thing from the other side. It runs the question again and adds the reply as a new version beside the old answer.&lt;/p&gt;

&lt;p&gt;A retry runs the turn the same way it ran the first time. If your question asked for an image, &lt;strong&gt;Resend&lt;/strong&gt; draws an image again instead of answering in text.&lt;/p&gt;

&lt;p&gt;If a retry fails before it saves an answer, the chat goes back to how it was. Nothing is deleted.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Fix your question and ask again
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Long-press your question, or tap its three dots.&lt;/li&gt;
&lt;li&gt;Tap &lt;strong&gt;Edit&lt;/strong&gt;. The &lt;strong&gt;EDIT MESSAGE&lt;/strong&gt; sheet opens with your text in it.&lt;/li&gt;
&lt;li&gt;Change the text and tap &lt;strong&gt;SAVE &amp;amp; RESEND&lt;/strong&gt;. Tap &lt;strong&gt;CANCEL&lt;/strong&gt; to leave it as it was.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The edited question becomes a new version beside the original, and the model answers it. The original question keeps its own answer and every turn you had after it. The switcher appears under your question this time. Step back to the first version and the whole conversation that followed it comes back with it.&lt;/p&gt;

&lt;p&gt;This is the part that matters in a long chat. Say you asked a question at turn 3 and kept going to turn 12. Edit turn 3, and turns 4 to 12 are not lost. They stay with the old version of turn 3.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Correct an answer by hand
&lt;/h2&gt;

&lt;p&gt;Sometimes the model's answer is nearly right and you only want to fix a number or a name before you build on it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Long-press the answer and tap &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Change the text and tap &lt;strong&gt;SAVE&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;On the model's answers the button reads &lt;strong&gt;SAVE&lt;/strong&gt;, not &lt;strong&gt;SAVE &amp;amp; RESEND&lt;/strong&gt;, because nothing is run again. Your corrected text is saved as a new version of the answer, and the model's original stays one tap away in the switcher.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which version the model reads
&lt;/h2&gt;

&lt;p&gt;When you send your next message, the model reads the chat as you see it on screen: the versions you have selected, and nothing from the versions you stepped away from. To continue from the first answer instead of the second, step back to it with the switcher and then type.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Queue your next questions while the model writes
&lt;/h2&gt;

&lt;p&gt;On a phone a long answer can take a while. You do not have to wait to type.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;While a reply is running, type your next message.&lt;/li&gt;
&lt;li&gt;Tap the send button. The message does not interrupt the model. It goes into the queue, which shows above the text box with a count such as &lt;strong&gt;1 queued&lt;/strong&gt; and one row per message.&lt;/li&gt;
&lt;li&gt;Keep typing and sending. Each message joins the queue.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When the reply ends, everything in the queue for that chat goes to the model together as your next turn. The queue belongs to the chat you wrote it in.&lt;/p&gt;

&lt;p&gt;Each queued row has two buttons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The return arrow sends that one message now. The running reply stops and the message goes on its own. The rest of the queue waits for it.&lt;/li&gt;
&lt;li&gt;The trash icon removes that message from the queue.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;strong&gt;x&lt;/strong&gt; on the right of the &lt;strong&gt;queued&lt;/strong&gt; badge clears the whole queue.&lt;/p&gt;

&lt;p&gt;To skip the queue for a message you have not sent yet, long-press the send button instead of tapping it. The reply stops and your message goes at once.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Stop without losing what you queued
&lt;/h2&gt;

&lt;p&gt;When the text box is empty, the send button turns into a square &lt;strong&gt;Stop&lt;/strong&gt; button. Tap it and the model stops writing.&lt;/p&gt;

&lt;p&gt;A Stop does not throw your queue away, and it does not send it either. The queue holds and the badge reads &lt;strong&gt;Paused after Stop&lt;/strong&gt;. Tap &lt;strong&gt;Send&lt;/strong&gt; next to it when you are ready, or remove the messages you no longer need first. If a reply fails, the queue holds the same way and reads &lt;strong&gt;Paused after an error&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Switching apps mid-reply
&lt;/h2&gt;

&lt;p&gt;Since 0.0.117, if you switch to another app while a reply runs, the model keeps working when you come back, and you no longer need to eject and reload it. Since 0.0.116, your place in a chat is kept when you switch chats or leave the app, and your three most recent chats pick up faster when you return.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this does not do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;There is no list of all versions at once. You step through them one at a time with the arrows.&lt;/li&gt;
&lt;li&gt;The queue does not send messages one by one. Everything queued in a chat goes as a single turn when the reply ends. Use the return arrow on a row to send one message by itself.&lt;/li&gt;
&lt;li&gt;Editing an answer does not teach the model anything. It changes what the model reads in this chat from that point on, and nothing else.&lt;/li&gt;
&lt;li&gt;Regenerate uses the model and settings you have now. For a different kind of answer, switch model or change its settings first, then tap &lt;strong&gt;Regenerate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Can I regenerate an answer in a local AI app on Android without losing the old one?&lt;/strong&gt;&lt;br&gt;
Yes. In OGAM, long-press the answer and tap &lt;strong&gt;Regenerate&lt;/strong&gt;. The old answer stays as a version, and the arrows under the new answer switch between them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What happens to the rest of the chat when I edit an earlier question?&lt;/strong&gt;&lt;br&gt;
It is kept. The edited question is a new version, and the original question keeps its answer and every turn after it. Step back with the arrows and that thread comes back.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I type while the AI is still answering on my phone?&lt;/strong&gt;&lt;br&gt;
Yes. Messages you send while a reply runs wait in a queue above the text box and go to the model together when the reply ends.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I interrupt a long reply with a new question?&lt;/strong&gt;&lt;br&gt;
Long-press the send button. The running reply stops and your new message goes at once. For a message already in the queue, tap the return arrow on its row.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does tapping Stop delete my queued messages?&lt;/strong&gt;&lt;br&gt;
No. The queue holds and shows &lt;strong&gt;Paused after Stop&lt;/strong&gt;. Tap &lt;strong&gt;Send&lt;/strong&gt; when you want them to go, or remove them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does any of this need internet?&lt;/strong&gt;&lt;br&gt;
No. The model, the versions and the queue are all on your phone. Airplane mode works.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/guides/android-setup/" rel="noopener noreferrer"&gt;Android setup guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/guides/run-llms-locally-android/" rel="noopener noreferrer"&gt;Run LLMs locally on Android&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-qwen-3-5-on-your-android-phone-in-2026-locally-no-cloud/" rel="noopener noreferrer"&gt;How to Run Qwen 3.5 on Your Android Phone in 2026 (Locally, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-qwen-3-5-and-gemma-4-faster-on-your-android-phone-in-2026-one-tap-tuning-no-cloud/" rel="noopener noreferrer"&gt;How to Run Qwen 3.5 and Gemma 4 Faster on Your Android Phone in 2026 (One-Tap Tuning, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-pick-the-best-local-ai-model-on-your-android-phone-in-2026-fast-balanced-or-best-no-cloud/" rel="noopener noreferrer"&gt;How to Pick the Best Local AI Model on Your Android Phone in 2026 (Fast, Balanced or Best, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>android</category>
      <category>ai</category>
      <category>llm</category>
      <category>privacy</category>
    </item>
    <item>
      <title>How to Use a Remote Ollama or llama.cpp Server From a Desktop AI App on Your Mac in 2026</title>
      <dc:creator>Mohammed Ali Chherawalla</dc:creator>
      <pubDate>Sun, 25 Oct 2026 03:16:44 +0000</pubDate>
      <link>https://dev.to/alichherawalla/how-to-use-a-remote-ollama-or-llamacpp-server-from-a-desktop-ai-app-on-your-mac-in-2026-n6l</link>
      <guid>https://dev.to/alichherawalla/how-to-use-a-remote-ollama-or-llamacpp-server-from-a-desktop-ai-app-on-your-mac-in-2026-n6l</guid>
      <description>&lt;p&gt;Your MacBook Air has 16 GB of memory. The PC under your desk, or the Mac Studio in the office, has a big GPU and already runs Ollama or &lt;code&gt;llama-server&lt;/code&gt; with a 30B model loaded. You want to chat with that model from your Mac, in a proper app with chat history, documents and thinking controls, without copying a 20 GB file to a laptop that cannot run it. Off Grid AI Desktop connects your Mac to that server. Its models show up next to your local ones, and the chat tells you which server answers and what it is waiting for.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Mac with Apple silicon (M1 or later) and macOS 13 or later. The Mac download is built for Apple silicon only.&lt;/li&gt;
&lt;li&gt;Off Grid AI Desktop 0.0.55 or later, the current stable release. &lt;a href="https://getoffgridai.co/desktop/" rel="noopener noreferrer"&gt;Download Off Grid AI Desktop for Mac&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Another computer on your network running Ollama or llama.cpp's &lt;code&gt;llama-server&lt;/code&gt;, or any server with an OpenAI-compatible &lt;code&gt;/v1&lt;/code&gt; API.&lt;/li&gt;
&lt;li&gt;The server's network address, for example &lt;code&gt;192.168.1.30&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;No account and no payment. Remote servers are part of the free app.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your Mac does not need to download the model. The model runs in the other computer's memory, and your Mac sends text over your network.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Let the server accept calls from your network
&lt;/h2&gt;

&lt;p&gt;Both servers listen only on the computer they run on by default. Open them to your network first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ollama&lt;/strong&gt; listens on port 11434. On the server, set &lt;code&gt;OLLAMA_HOST&lt;/code&gt; to &lt;code&gt;0.0.0.0&lt;/code&gt; and restart Ollama. If the server is a Mac running the Ollama app, run this in Terminal on that Mac, then quit and reopen Ollama:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;launchctl setenv OLLAMA_HOST &lt;span class="s2"&gt;"0.0.0.0"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;llama.cpp&lt;/strong&gt; listens on port 8080. Start &lt;code&gt;llama-server&lt;/code&gt; with &lt;code&gt;--host&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;llama-server &lt;span class="nt"&gt;-m&lt;/span&gt; qwen3.5-27b-q4_k_m.gguf &lt;span class="nt"&gt;--host&lt;/span&gt; 0.0.0.0 &lt;span class="nt"&gt;--port&lt;/span&gt; 8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the server's firewall asks whether to allow incoming connections, allow them. Only do this on a network you trust, or add an API key to the server.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Add the server in Off Grid AI Desktop
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open Off Grid AI Desktop and click &lt;strong&gt;Settings&lt;/strong&gt; in the sidebar.&lt;/li&gt;
&lt;li&gt;Find the card &lt;strong&gt;Remote model server&lt;/strong&gt;. It reads "Connect to a model server on your network or another trusted host."&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Saved servers&lt;/strong&gt;, click the &lt;strong&gt;Add server&lt;/strong&gt; icon.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Server name&lt;/strong&gt;, type a name you will recognise in chat, for example &lt;code&gt;Office PC&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Address&lt;/strong&gt;, type the server's address with its port: &lt;code&gt;http://192.168.1.30:11434&lt;/code&gt; for Ollama, or &lt;code&gt;http://192.168.1.30:8080&lt;/code&gt; for llama.cpp. You do not need to add &lt;code&gt;/v1&lt;/code&gt;. The hint under the field shows the exact address the app will call, for example "Will connect to: &lt;a href="http://192.168.1.30:11434/v1/models" rel="noopener noreferrer"&gt;http://192.168.1.30:11434/v1/models&lt;/a&gt;".&lt;/li&gt;
&lt;li&gt;If the server needs a key, paste it into &lt;strong&gt;API key (optional)&lt;/strong&gt;. The key is stored in the macOS keychain, not in a settings file.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Test connection&lt;/strong&gt;. The status line reads, for example, "Connected in 14 ms. 6 models found." If it reads "Connection failed.", go back to Step 1.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 3: Pick the models and save
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Under &lt;strong&gt;Text + Vision&lt;/strong&gt;, search the server's models and select the one you want to chat with. The line under it changes to "Selected: " and the model's name.&lt;/li&gt;
&lt;li&gt;Optional: open &lt;strong&gt;Other models&lt;/strong&gt;. If the server also offers image, voice or transcription models, pick them under &lt;strong&gt;Image&lt;/strong&gt;, &lt;strong&gt;Voice&lt;/strong&gt; and &lt;strong&gt;Transcription&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Leave &lt;strong&gt;Use this server&lt;/strong&gt; on. Its hint reads "Off keeps it saved; other servers are unaffected."&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;. The status reads "Server saved and active."&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The app saves a server only after you pick at least one model. If you skip that, it says "Test the connection and select at least one model first."&lt;/p&gt;

&lt;p&gt;For a llama.cpp server, you also see &lt;strong&gt;Allow screen images&lt;/strong&gt;. It stays off until you turn it on, and it controls whether Web Use and Computer Use may send screenshots of your Mac to that server. Normal chat does not need it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Chat on the remote model
&lt;/h2&gt;

&lt;p&gt;Open a new chat with &lt;strong&gt;Cmd+T&lt;/strong&gt;. Open the model picker in the chat: the server's models carry a &lt;strong&gt;Remote&lt;/strong&gt; tag, next to the models on your Mac. Pick one and type.&lt;/p&gt;

&lt;p&gt;While you chat, the app reports the remote model truthfully:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Which server answers.&lt;/strong&gt; The chat status shows the remote model and the server name, for example &lt;code&gt;Qwen 3.5 27B · Office PC&lt;/code&gt;, instead of a stopped local engine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thinking.&lt;/strong&gt; If the model can think, the thinking switch works on the remote server too. The app asks Ollama for the model's capabilities and asks &lt;code&gt;llama-server&lt;/code&gt; for its chat template, so the switch sends the control that server reads. The switch stays available while the server is still loading the model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context window.&lt;/strong&gt; A chat on a remote model uses the remote server's context window, not your Mac's local setting. In the model settings, the &lt;strong&gt;Context window&lt;/strong&gt; row reads "Set by the remote model server." A llama.cpp server reports its window, so you see the real number. Ollama does not report one, so the row reads &lt;strong&gt;Not reported&lt;/strong&gt; and the server decides how long a reply can be.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Several chats at once.&lt;/strong&gt; Two chats on a remote model run side by side. One no longer waits for the other to finish, as it would on a single local engine.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Run several servers
&lt;/h2&gt;

&lt;p&gt;You can save more than one server, for example Ollama on a gaming PC and &lt;code&gt;llama-server&lt;/code&gt; on a Mac Studio. Each one has its own &lt;strong&gt;Use this server&lt;/strong&gt; switch, so you can turn one off without touching the others. Turning one off moves chat, image, voice or transcription only to a server that offers a model for it. Picking an image model on one server does not move your chat to that server.&lt;/p&gt;

&lt;p&gt;If a server is off or removed while a chat uses it, the chat says so. It does not quietly answer with a different model.&lt;/p&gt;

&lt;p&gt;Use &lt;strong&gt;Change model&lt;/strong&gt; next to a saved server to pick a different model from its list, and &lt;strong&gt;Remove&lt;/strong&gt; to delete it.&lt;/p&gt;

&lt;h2&gt;
  
  
  When the server is another Off Grid AI Desktop
&lt;/h2&gt;

&lt;p&gt;If the other computer runs Off Grid AI Desktop, use its gateway at port 7878 instead of Ollama. That server tells your Mac what a request is waiting for, and the chat shows it: "Waiting for Office PC · 2 ahead" when other people are in line, or "Office PC is loading" and the model name while it loads. Ollama and llama.cpp do not send this, so with them the chat shows "Waiting for the model server..." until the first words arrive. See &lt;a href="https://getoffgridai.co/articles/how-to-run-a-local-ai-server-for-your-whole-team-on-your-mac-in-2026-ollama-alternative-no-cloud/" rel="noopener noreferrer"&gt;how to run a local AI server for your whole team on your Mac&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this does not do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It does not work outside your network by itself. To reach a server at home from a cafe, use a private network such as Tailscale. See &lt;a href="https://getoffgridai.co/articles/how-to-use-your-home-ai-models-from-your-laptop-anywhere-in-2026-with-tailscale/" rel="noopener noreferrer"&gt;how to use your home AI models from your laptop anywhere&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;It does not make the server faster. Reply speed is the server's speed, plus a few milliseconds of network time.&lt;/li&gt;
&lt;li&gt;It does not download or manage models on the server. Pull models with &lt;code&gt;ollama pull&lt;/code&gt;, or start &lt;code&gt;llama-server&lt;/code&gt; with the model you want, then click &lt;strong&gt;Test connection&lt;/strong&gt; again to refresh the list.&lt;/li&gt;
&lt;li&gt;With Ollama, the app cannot show a context window, because Ollama does not report one.&lt;/li&gt;
&lt;li&gt;Your prompts leave your Mac and go to that server. They stay on your network only if the server is on your network.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Can I use Ollama running on another computer from my Mac?&lt;/strong&gt;&lt;br&gt;
Yes. Set &lt;code&gt;OLLAMA_HOST=0.0.0.0&lt;/code&gt; on the server, then add &lt;code&gt;http://&amp;lt;server-ip&amp;gt;:11434&lt;/code&gt; under &lt;strong&gt;Settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Remote model server&lt;/strong&gt; in Off Grid AI Desktop. The server's models appear in the model picker with a &lt;strong&gt;Remote&lt;/strong&gt; tag.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does Off Grid AI Desktop work with llama.cpp's llama-server?&lt;/strong&gt;&lt;br&gt;
Yes. Start &lt;code&gt;llama-server&lt;/code&gt; with &lt;code&gt;--host 0.0.0.0&lt;/code&gt; and add &lt;code&gt;http://&amp;lt;server-ip&amp;gt;:8080&lt;/code&gt; as a server. The app reads the server's context window and thinking support from &lt;code&gt;llama-server&lt;/code&gt; itself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I need to download the model to my Mac?&lt;/strong&gt;&lt;br&gt;
No. The model stays on the server. Your Mac sends the conversation over the network and shows the reply.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I switch between local and remote models?&lt;/strong&gt;&lt;br&gt;
Yes. Local and remote models sit in the same model picker. Pick a local model for offline work and a remote one when you are on the same network as the server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is it free?&lt;/strong&gt;&lt;br&gt;
Yes. Remote servers are part of the free Off Grid AI Desktop app on Mac, with no account.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/desktop/" rel="noopener noreferrer"&gt;Download Off Grid AI Desktop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-llms-locally-on-your-mac-in-2026-completely-offline-no-subscription/" rel="noopener noreferrer"&gt;How to Run LLMs Locally on Your Mac in 2026 (Completely Offline, No Subscription)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-compare-local-ai-models-side-by-side-on-your-mac-in-2026-one-question-up-to-six-models/" rel="noopener noreferrer"&gt;How to Compare Local AI Models Side by Side on Your Mac in 2026 (One Question, Up to Six Models)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-a-local-ai-server-for-your-whole-team-on-your-mac-in-2026-ollama-alternative-no-cloud/" rel="noopener noreferrer"&gt;How to Run a Local AI Server for Your Whole Team on Your Mac in 2026 (Ollama Alternative, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ollama</category>
      <category>llamacpp</category>
      <category>macos</category>
      <category>ai</category>
    </item>
    <item>
      <title>A Private Microsoft Recall Alternative on Your Mac in 2026 (Local AI Reviews Your Day Overnight)</title>
      <dc:creator>Mohammed Ali Chherawalla</dc:creator>
      <pubDate>Sat, 24 Oct 2026 21:35:09 +0000</pubDate>
      <link>https://dev.to/alichherawalla/a-private-microsoft-recall-alternative-on-your-mac-in-2026-local-ai-reviews-your-day-overnight-1n14</link>
      <guid>https://dev.to/alichherawalla/a-private-microsoft-recall-alternative-on-your-mac-in-2026-local-ai-reviews-your-day-overnight-1n14</guid>
      <description>&lt;p&gt;You want a searchable memory of your workday on your Mac, the kind of thing Microsoft Recall does on Windows. But you do not want your screen sent to a cloud service, and you do not want a model reading screenshots while you are trying to work. Off Grid AI Desktop Pro saves your screen as you work and leaves the heavy part, the AI analysis, for the night. By default it runs from 3:00 to 8:00, it can wake your Mac to do it, and the model runs on the Mac itself. In the morning your &lt;strong&gt;Day&lt;/strong&gt; view has the journal, timeline and to-dos from yesterday.&lt;/p&gt;

&lt;p&gt;Microsoft Recall is a Windows feature for Copilot+ PCs, so it is not available on a Mac. This is the closest thing you can run on Apple silicon today.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Mac with Apple silicon. The Mac download is built for Apple silicon only.&lt;/li&gt;
&lt;li&gt;Off Grid AI Desktop 0.0.55 or later. Overnight analysis is in the current stable release. &lt;a href="https://getoffgridai.co/desktop/" rel="noopener noreferrer"&gt;Download Off Grid AI Desktop for Mac&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Off Grid AI Pro. Screen capture and the Day view are Pro features. Pro is monthly or a one-time lifetime price; the &lt;a href="https://getoffgridai.co/pro/" rel="noopener noreferrer"&gt;Pro page&lt;/a&gt; shows today's price.&lt;/li&gt;
&lt;li&gt;A local vision model downloaded in the app. The capture settings recommend a 16K context window for it.&lt;/li&gt;
&lt;li&gt;Screen Recording permission for Off Grid AI Desktop in macOS. Accessibility permission is optional, but the app reads exact names, URLs and text better with it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fgetoffgridai.co%2Fassets%2Fimg%2Fhome%2Fapp%2Fday-light-960.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fgetoffgridai.co%2Fassets%2Fimg%2Fhome%2Fapp%2Fday-light-960.webp" alt="The Day view in Off Grid AI Desktop on a Mac: to-dos, journal, meetings, time spent by app and a timeline." width="800" height="518"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br&gt;The Day view on a Mac. This is what the overnight pass fills in.
  &lt;p&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;Capture has two halves. Taking a screenshot and reading the text on screen is light, so it runs all day. Analyzing each saved moment with a local model is heavy: it is one model pass per frame. Overnight mode splits them. Screenshots are saved as you work, the frames wait in a queue, and the model works through the queue inside the window you choose.&lt;/p&gt;

&lt;p&gt;Nothing is lost while frames wait. They are saved to disk as pending and stay there until they are analyzed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Turn on capture and choose Overnight
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open Off Grid AI Desktop and click &lt;strong&gt;Replay&lt;/strong&gt; in the sidebar.&lt;/li&gt;
&lt;li&gt;At the top, the capture status shows &lt;strong&gt;Paused&lt;/strong&gt;. Click &lt;strong&gt;Resume capture&lt;/strong&gt;. If it already shows &lt;strong&gt;Capturing&lt;/strong&gt;, skip to Step 2 and pick &lt;strong&gt;Overnight&lt;/strong&gt; there.&lt;/li&gt;
&lt;li&gt;The first time you turn capture on, the app asks: "When should Off Grid analyze your day?" Two options appear:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Overnight (recommended)&lt;/strong&gt;: "Your Mac stays fast all day. Analysis runs 3:00-8:00 and can wake it."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;As it happens&lt;/strong&gt;: "Your day appears as you go, using some power while you work."&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Overnight (recommended)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;macOS shows a password prompt from Off Grid AI. Enter your Mac password and click &lt;strong&gt;OK&lt;/strong&gt;. This lets the app set a nightly wake at the start of the window.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you cancel the password prompt, overnight analysis still runs, but only while your Mac is already awake. The app tells you so: "The password prompt was cancelled, so the computer will not wake on its own."&lt;/p&gt;

&lt;p&gt;You are asked this question once. To change your answer later, use Settings.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Change the hours in Settings
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Settings&lt;/strong&gt; in the sidebar.&lt;/li&gt;
&lt;li&gt;Scroll to &lt;strong&gt;Capture &amp;amp; processing&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Processing&lt;/strong&gt;, find the &lt;strong&gt;Analyze&lt;/strong&gt; row. If it reads "As it happens.", switch its control to &lt;strong&gt;Overnight&lt;/strong&gt; and enter your Mac password when asked. It then reads "Overnight. Your Mac wakes at 03:00 to do it."&lt;/li&gt;
&lt;li&gt;Two time fields appear next to it: &lt;strong&gt;Analysis starts&lt;/strong&gt; and &lt;strong&gt;Analysis ends&lt;/strong&gt;. Set them to any hours you are away from the Mac, such as 01:00 to 06:00. A window can cross midnight, such as 22:00 to 06:00.&lt;/li&gt;
&lt;li&gt;To go back to analyzing during the day, switch the control from &lt;strong&gt;Overnight&lt;/strong&gt; to &lt;strong&gt;As it happens&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When you change the start time, the app moves the nightly wake to match. It may ask for your password again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Leave the Mac on power and the app running
&lt;/h2&gt;

&lt;p&gt;The Mac does the work, so a few things must be true at night:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Off Grid AI Desktop is running.&lt;/strong&gt; It can sit in the menu bar. If you quit it, nothing is analyzed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A MacBook is plugged in.&lt;/strong&gt; The wake is set with the macOS &lt;code&gt;pmset&lt;/code&gt; scheduler. While frames are waiting inside the window, the app keeps the Mac awake, then lets it sleep again when the queue is empty or the window ends.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Mac can be locked.&lt;/strong&gt; A locked Mac stops new screenshots, but it does not stop the analysis of frames already saved. That is the point of the overnight window.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Analysis does wait if you paused capture yourself. The Day view says so instead of promising a run that will not happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Read your day in the morning
&lt;/h2&gt;

&lt;p&gt;Click &lt;strong&gt;Day&lt;/strong&gt; in the sidebar. The journal, timeline, time spent by app and to-dos are built from what the model read overnight.&lt;/p&gt;

&lt;p&gt;During the day, the Day view shows how much is waiting, for example "42 moments waiting · analyzed tonight at 03:00". If you want the results now, click the &lt;strong&gt;Analyze now&lt;/strong&gt; button (the play icon) next to that line. It analyzes today's pending frames straight away.&lt;/p&gt;

&lt;p&gt;If you work on battery with &lt;strong&gt;As it happens&lt;/strong&gt; selected, the Day view offers the switch once: "On battery. Analyze overnight instead?" Click &lt;strong&gt;Overnight&lt;/strong&gt; to switch, or dismiss it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check what happened overnight
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Capture &amp;amp; processing&lt;/strong&gt; card has a &lt;strong&gt;Pipeline health&lt;/strong&gt; panel with &lt;strong&gt;Screen access&lt;/strong&gt;, &lt;strong&gt;Accessibility text&lt;/strong&gt;, &lt;strong&gt;Vision model&lt;/strong&gt;, &lt;strong&gt;Frame queue&lt;/strong&gt;, &lt;strong&gt;Last frame&lt;/strong&gt; and &lt;strong&gt;Last observation&lt;/strong&gt;. The queue counts update as frames move.&lt;/p&gt;

&lt;p&gt;If some frames failed, a panel reads, for example, "3 frames need another pass". It groups them by the real reason, with a count for each, and says how many "will retry on their own" and how many "need you". Frames stay saved, and a retry button sits next to them.&lt;/p&gt;

&lt;p&gt;A frame can also be too large for the active model's context. Those show as "frames are waiting for a larger model". There is no retry button for them, because retrying would not help. Raise the context or switch to a larger model, and they are analyzed on their own.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this does not do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It does not run when the app is closed.&lt;/strong&gt; Off Grid AI Desktop must be running at night.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It does not replace a wake schedule you already set.&lt;/strong&gt; macOS keeps one repeating wake. If your Mac already wakes at another time, the app says "Your Mac already wakes every day at" that time and does not change it. You can remove that schedule or set the window to start at your existing wake time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It does not send your screen anywhere by default.&lt;/strong&gt; Analysis uses a local model. One exception: if you have no local model installed and you selected a remote chat server in the app, capture analyzes with that server instead. Install a local vision model if you want every frame to stay on the Mac.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It does not capture everything.&lt;/strong&gt; Apps you add under &lt;strong&gt;Excluded apps&lt;/strong&gt; in &lt;strong&gt;Capture &amp;amp; processing&lt;/strong&gt; are not saved, and nothing is saved while capture is paused.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is there a Microsoft Recall for Mac?&lt;/strong&gt;&lt;br&gt;
Microsoft Recall itself is Windows only. Off Grid AI Desktop Pro gives you the same kind of searchable screen history on a Mac with Apple silicon, analyzed by a local model on the Mac.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does my Mac need to be awake all night?&lt;/strong&gt;&lt;br&gt;
No. The app asks macOS to wake the Mac at the start of the window, keeps it awake while frames are waiting, then lets it sleep. Keep a MacBook plugged in so the wake and the work are not cut short.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why does Off Grid AI ask for my Mac password?&lt;/strong&gt;&lt;br&gt;
Setting a repeating wake with &lt;code&gt;pmset&lt;/code&gt; needs administrator rights, so macOS asks. The app only removes a wake it set itself, and it asks again when you turn the wake off.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I see my day before the overnight run?&lt;/strong&gt;&lt;br&gt;
Yes. Click &lt;strong&gt;Analyze now&lt;/strong&gt; next to the waiting count in the Day view, or &lt;strong&gt;Re-process today&lt;/strong&gt; under &lt;strong&gt;Today's captures&lt;/strong&gt; in Settings. Live capture pauses while that pass runs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Will it slow down my Mac during the day?&lt;/strong&gt;&lt;br&gt;
With &lt;strong&gt;Overnight&lt;/strong&gt; selected, the model work waits for the window, so daytime use is limited to taking screenshots and reading on-screen text. With &lt;strong&gt;As it happens&lt;/strong&gt;, analysis runs while you work and uses more power.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-find-something-you-saw-on-your-mac-in-2026-without-taking-notes/" rel="noopener noreferrer"&gt;How to find something you saw on your Mac in 2026 without taking notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-create-a-private-work-journal-from-your-mac-activity-in-2026-no-manual-logging/" rel="noopener noreferrer"&gt;How to create a private work journal from your Mac activity in 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-keep-sensitive-apps-out-of-automatic-screen-history-in-off-grid-ai-on-mac-in-2026/" rel="noopener noreferrer"&gt;How to keep sensitive apps out of automatic screen history on Mac&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://getoffgridai.co/desktop/" rel="noopener noreferrer"&gt;Download Off Grid AI Desktop for Mac&lt;/a&gt; | &lt;a href="https://getoffgridai.co/pro/" rel="noopener noreferrer"&gt;Explore Pro&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>privacy</category>
      <category>macos</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to Run a Local AI Server for Your Whole Team on Your Mac in 2026 (Ollama Alternative, No Cloud)</title>
      <dc:creator>Mohammed Ali Chherawalla</dc:creator>
      <pubDate>Sat, 24 Oct 2026 04:13:39 +0000</pubDate>
      <link>https://dev.to/alichherawalla/how-to-run-a-local-ai-server-for-your-whole-team-on-your-mac-in-2026-ollama-alternative-no-cloud-4m7m</link>
      <guid>https://dev.to/alichherawalla/how-to-run-a-local-ai-server-for-your-whole-team-on-your-mac-in-2026-ollama-alternative-no-cloud-4m7m</guid>
      <description>&lt;p&gt;You have one Mac with plenty of memory and a team that wants to use local AI. Buying everyone a big machine is expensive, and sending your code and documents to a cloud API is the thing you were trying to avoid. Off Grid AI Desktop can turn that one Mac into a shared AI server. Its gateway has a &lt;strong&gt;Team&lt;/strong&gt; mode that answers several people at once, gives each person their own API key, and keeps the Mac awake while it works. Every request stays on your network.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Mac with Apple silicon (M1 or later) and macOS 13 or later. The Mac download is built for Apple silicon only.&lt;/li&gt;
&lt;li&gt;Off Grid AI Desktop 0.0.55 or later. Team mode is in the current stable release, 0.0.55. &lt;a href="https://getoffgridai.co/desktop/" rel="noopener noreferrer"&gt;Download Off Grid AI Desktop for Mac&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A chat model downloaded in the app, for example Qwen 3.5 9B.&lt;/li&gt;
&lt;li&gt;The other computers on the same network as the Mac, such as your office Wi-Fi.&lt;/li&gt;
&lt;li&gt;No account and no payment. The gateway and Team mode are part of the free app.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;More unified memory means more people at once. With &lt;strong&gt;Auto&lt;/strong&gt;, the app opens up to 4 requests at once on a Mac with 32 GB or less, up to 8 on a Mac with up to 96 GB, and up to 16 above that, such as a Mac Studio with 128 GB. Inside that cap, the real number comes from the memory left over after the model loads, so each request still has room for a long conversation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Open the Gateway
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open Off Grid AI Desktop and click &lt;strong&gt;Gateway&lt;/strong&gt; in the sidebar.&lt;/li&gt;
&lt;li&gt;The screen reads "One OpenAI-compatible API for every model on this Mac." Under &lt;strong&gt;Base URL&lt;/strong&gt; you see &lt;code&gt;http://127.0.0.1:7878/v1&lt;/code&gt;. That address is for the Mac itself.&lt;/li&gt;
&lt;li&gt;For other computers, use your Mac's network address with the same port. Find it in &lt;strong&gt;System Settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Wi-Fi&lt;/strong&gt; &amp;gt; &lt;strong&gt;Details&lt;/strong&gt; next to your network, under &lt;strong&gt;IP address&lt;/strong&gt;. If it reads &lt;code&gt;192.168.1.20&lt;/code&gt;, your team uses &lt;code&gt;http://192.168.1.20:7878/v1&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The gateway listens on port 7878 on every network interface, so other devices on the network can reach it as soon as the app runs. If the macOS firewall is on and asks whether to allow incoming connections for Off Grid AI Desktop, click &lt;strong&gt;Allow&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Switch from Just me to Team
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;On the right side of the Gateway screen, find &lt;strong&gt;Clients&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The switch reads &lt;strong&gt;Just me&lt;/strong&gt; and &lt;strong&gt;Team&lt;/strong&gt;. &lt;strong&gt;Just me&lt;/strong&gt; is the default: one request at a time, at full speed.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Team&lt;/strong&gt;. Its tooltip reads "Several clients at once; extras wait their turn."&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Requests at once&lt;/strong&gt; menu appears. Leave it on &lt;strong&gt;Auto&lt;/strong&gt;, which shows the maximum your Mac allows in brackets, for example &lt;strong&gt;Auto (8)&lt;/strong&gt;. Or pick a lower number, such as &lt;strong&gt;2 at once&lt;/strong&gt;, if you want each answer to come back faster.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The change applies to the next request. If someone is mid-answer when you change a setting, the app waits for that answer to finish before it restarts the engine, for up to a minute, so nobody gets a reply cut in half.&lt;/p&gt;

&lt;p&gt;When every slot is busy, new requests wait in line in the order they arrived. When the line is full, the gateway answers with HTTP 429 and tells the client to retry in 2 seconds, so a client backs off instead of hanging.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Give each person an API key
&lt;/h2&gt;

&lt;p&gt;By default the gateway does not ask for a key. On a shared network, turn keys on.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Under &lt;strong&gt;API keys&lt;/strong&gt;, turn on the switch. Its label changes to &lt;strong&gt;API key required&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the field that reads "New key name: phone, laptop, or service", type a name for one person or tool, for example &lt;code&gt;priya-laptop&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Pick an &lt;strong&gt;Expiry&lt;/strong&gt;: &lt;strong&gt;7 days&lt;/strong&gt;, &lt;strong&gt;30 days&lt;/strong&gt;, &lt;strong&gt;90 days&lt;/strong&gt;, &lt;strong&gt;Custom date and time&lt;/strong&gt; or &lt;strong&gt;No expiry&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create key&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Copy the key with the copy icon. The app says "Copy this key now. It will not be shown again."&lt;/li&gt;
&lt;li&gt;Repeat for each person or tool. The app's own hint is "Use one key per client."&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each key in the list shows whether it is &lt;strong&gt;Active&lt;/strong&gt;, &lt;strong&gt;Expired&lt;/strong&gt; or &lt;strong&gt;Revoked&lt;/strong&gt;, and when it was last used. If a laptop is lost, click the revoke icon next to that key. Requests with that key are refused from then on, and nobody else needs a new one. The keys are stored in the macOS keychain, not in a settings file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Connect your team's tools
&lt;/h2&gt;

&lt;p&gt;The gateway speaks the OpenAI API, so most tools that let you set a base URL and an API key can use it. The &lt;strong&gt;Quick start&lt;/strong&gt; section on the Gateway screen has copyable code for curl, Python, JavaScript and image generation. From another computer, the Python version looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;http://192.168.1.20:7878/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;THE_KEY_YOU_COPIED&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;resp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;local&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Summarise this changelog in two lines.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;resp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;choices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A request that names &lt;code&gt;local&lt;/code&gt; or no model runs on the chat model loaded on the Mac. The &lt;strong&gt;Endpoints&lt;/strong&gt; list on the Gateway screen shows what else the server offers: chat with images, text to image, speech to text, text to speech, embeddings and the model list.&lt;/p&gt;

&lt;p&gt;To use the Mac's models from the Off Grid AI phone app, follow the guide to &lt;a href="https://getoffgridai.co/guides/off-grid-ai-desktop-from-your-phone/" rel="noopener noreferrer"&gt;use Off Grid AI Desktop from your phone&lt;/a&gt; and give the phone its own key.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: See who is using it
&lt;/h2&gt;

&lt;p&gt;Open &lt;strong&gt;Settings&lt;/strong&gt; and find &lt;strong&gt;AI activity&lt;/strong&gt;. Every request is listed with its model and timing, and a request sent with a key shows that key's name beside its source. A request sent without a key shows no name.&lt;/p&gt;

&lt;p&gt;For scripts and monitoring, &lt;code&gt;GET /v1/gateway/status&lt;/code&gt; returns the mode, the requests-at-once setting, and for each part of the server how many requests are running, waiting and refused. It needs the same key as every other route.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep it serving
&lt;/h2&gt;

&lt;p&gt;In Team mode the Mac stays awake while it is answering, and is allowed to sleep a minute after the last request ends. In &lt;strong&gt;Just me&lt;/strong&gt; mode it does not hold the Mac awake.&lt;/p&gt;

&lt;p&gt;To serve without the desktop window, start the app from Terminal in server-only mode, with Team mode for that run only:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="s2"&gt;"/Applications/Off Grid AI Desktop.app/Contents/MacOS/Off Grid AI Desktop"&lt;/span&gt; &lt;span class="nt"&gt;--server-only&lt;/span&gt; &lt;span class="nt"&gt;--gateway-mode&lt;/span&gt; team &lt;span class="nt"&gt;--gateway-clients&lt;/span&gt; auto
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;--gateway-clients&lt;/code&gt; takes &lt;code&gt;auto&lt;/code&gt; or a number. These flags apply to that launch and do not change the settings you chose in the app. The environment variables &lt;code&gt;OFFGRID_GATEWAY_MODE&lt;/code&gt; and &lt;code&gt;OFFGRID_GATEWAY_CLIENTS&lt;/code&gt; do the same.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this does not do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It does not make one answer faster. Each extra person shares the same GPU and memory bandwidth, so with four people typing at once, each answer streams slower than it would for one person.&lt;/li&gt;
&lt;li&gt;Image generation runs one picture at a time even in Team mode. A second image request waits for the first.&lt;/li&gt;
&lt;li&gt;It does not reach people outside your network. There is no relay or cloud tunnel. Remote staff need a VPN into your office network.&lt;/li&gt;
&lt;li&gt;It does not stop a MacBook sleeping when you close the lid. For a shared server, leave the lid open or use a Mac mini or Mac Studio.&lt;/li&gt;
&lt;li&gt;Without the API key switch on, anyone on the same network can use the models. Turn keys on before you share the address.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is Off Grid AI Desktop an alternative to Ollama for a team server?&lt;/strong&gt;&lt;br&gt;
Yes, for teams whose tools speak the OpenAI API. It serves chat, vision, image generation, speech and embeddings from one address, with per-person API keys and a request log built in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How many people can use one Mac at once?&lt;/strong&gt;&lt;br&gt;
With &lt;strong&gt;Auto&lt;/strong&gt;, up to 4 requests at once on a Mac with 32 GB or less, up to 8 up to 96 GB, and up to 16 above that, limited further by the memory your model leaves free. More people can send requests; the extra ones wait in line.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does my team's data leave the office?&lt;/strong&gt;&lt;br&gt;
No. Requests go from each computer to the Mac on your network and the models run on the Mac. Nothing is sent to a cloud service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I revoke one person's access?&lt;/strong&gt;&lt;br&gt;
Yes. Click the revoke icon next to their key under &lt;strong&gt;API keys&lt;/strong&gt;. Their requests are refused and every other key keeps working.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is Team mode free?&lt;/strong&gt;&lt;br&gt;
Yes. The gateway, Team mode and API keys are part of the free Off Grid AI Desktop app on Mac, with no account.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/desktop/" rel="noopener noreferrer"&gt;Download Off Grid AI Desktop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-llms-locally-on-your-mac-in-2026-completely-offline-no-subscription/" rel="noopener noreferrer"&gt;How to Run LLMs Locally on Your Mac in 2026 (Completely Offline, No Subscription)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-compare-local-ai-models-side-by-side-on-your-mac-in-2026-one-question-up-to-six-models/" rel="noopener noreferrer"&gt;How to Compare Local AI Models Side by Side on Your Mac in 2026 (One Question, Up to Six Models)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-use-ai-models-on-your-mac-from-your-android-phone-in-2026-no-internet-required/" rel="noopener noreferrer"&gt;How to Use AI Models on Your Mac From Your Android Phone in 2026 (No Internet Required)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>macos</category>
      <category>llm</category>
      <category>selfhosted</category>
    </item>
    <item>
      <title>How to Find AI Models Your Android Phone Can Actually Run in 2026 (No Failed Downloads)</title>
      <dc:creator>Mohammed Ali Chherawalla</dc:creator>
      <pubDate>Fri, 23 Oct 2026 15:51:45 +0000</pubDate>
      <link>https://dev.to/alichherawalla/how-to-find-ai-models-your-android-phone-can-actually-run-in-2026-no-failed-downloads-529a</link>
      <guid>https://dev.to/alichherawalla/how-to-find-ai-models-your-android-phone-can-actually-run-in-2026-no-failed-downloads-529a</guid>
      <description>&lt;p&gt;You search Hugging Face for a model, wait for a 5 GB download on your Android phone, and then it will not load: too big for your RAM, or a format the app cannot run yet. Off Grid AI Mobile (OGAM) now filters that out before you tap download. Its model search lists only models your phone can load, shows one result per model instead of dozens of copies, and marks the files that only just fit.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;An Android phone. What search shows depends on your phone's RAM, so an 8 GB phone and a 16 GB phone get different results.&lt;/li&gt;
&lt;li&gt;OGAM 0.0.117, the current stable release. The search changes arrived in 0.0.116 and 0.0.117. &lt;a href="https://getoffgridai.co/mobile/" rel="noopener noreferrer"&gt;Download OGAM for Android&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;An internet connection while you search and download. After the download, the model runs on the phone with no connection.&lt;/li&gt;
&lt;li&gt;No account and no payment. Search is part of the free app.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How search decides what your phone can run
&lt;/h2&gt;

&lt;p&gt;The rule is the same one the app uses everywhere it offers a model, and it lives in the app's shared model code.&lt;/p&gt;

&lt;p&gt;An Android phone gives one app well under its total RAM, and a model needs more memory than its file size while it runs: the weights, plus the cache that holds your conversation. The app's phone budget comes from a measurement in the code: a model with a 4.64 GB file needed 6.4 GB to load at a 4K context, about 1.4 times its size. From that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A file under 36% of your RAM runs well.&lt;/li&gt;
&lt;li&gt;A file between 36% and 50% of your RAM is marked &lt;strong&gt;Tight&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;A file over 50% of your RAM is not offered.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Phone RAM&lt;/th&gt;
&lt;th&gt;Runs well&lt;/th&gt;
&lt;th&gt;Tight&lt;/th&gt;
&lt;th&gt;Hidden&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;8 GB&lt;/td&gt;
&lt;td&gt;under 2.9 GB&lt;/td&gt;
&lt;td&gt;2.9 to 4 GB&lt;/td&gt;
&lt;td&gt;over 4 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12 GB&lt;/td&gt;
&lt;td&gt;under 4.3 GB&lt;/td&gt;
&lt;td&gt;4.3 to 6 GB&lt;/td&gt;
&lt;td&gt;over 6 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16 GB&lt;/td&gt;
&lt;td&gt;under 5.8 GB&lt;/td&gt;
&lt;td&gt;5.8 to 8 GB&lt;/td&gt;
&lt;td&gt;over 8 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Search results from Hugging Face do not carry file sizes, so the list judges them by parameter count at 4-bit (about 0.6 GB per billion parameters). A 13B model on an 8 GB phone works out at about 7.8 GB and does not appear.&lt;/p&gt;

&lt;p&gt;Size is not the only check. Some new models need a newer llama.cpp engine than the one inside your version of the app. Every upload of those models is left out of search, so you do not download something that fails to load. Files that only speed up another model (draft and MTP files) are not offered as models, and image generators stay on the &lt;strong&gt;Image&lt;/strong&gt; tab instead of showing in chat search.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Search
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open OGAM and tap &lt;strong&gt;Models&lt;/strong&gt; in the bottom bar.&lt;/li&gt;
&lt;li&gt;Stay on the &lt;strong&gt;Text&lt;/strong&gt; tab and tap the &lt;strong&gt;Search models&lt;/strong&gt; field.&lt;/li&gt;
&lt;li&gt;Type a model or maker, for example &lt;code&gt;qwen&lt;/code&gt;, &lt;code&gt;gemma&lt;/code&gt; or &lt;code&gt;lfm&lt;/code&gt;. Results appear half a second after you stop typing, or when you tap search on the keyboard.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Curated models that match come first. These are the models in the app's catalog, with the same fit rules as the picks at the top of the screen. Hugging Face results follow, up to 30 per search, and a model already in the curated list is not repeated.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Read the cards
&lt;/h2&gt;

&lt;p&gt;Each search result is one model, not one upload. When several people uploaded the same model, you see it once, led by the most trusted upload, with a &lt;strong&gt;+N uploads&lt;/strong&gt; chip that counts the others.&lt;/p&gt;

&lt;p&gt;Cards are short. Beyond the name, maker and parameter count, a card can show:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MoE&lt;/strong&gt; with an active size, such as &lt;strong&gt;3B active&lt;/strong&gt;: a mixture-of-experts model. The active size sets its speed, so a large MoE model can reply like a much smaller one. It still needs RAM for its full size.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Newer: [model name]&lt;/strong&gt;: a newer model replaces this one. Older models are listed last.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Research licence&lt;/strong&gt;: the model's licence does not allow commercial use.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Uploads with safety training removed, such as "abliterated" or "uncensored" copies, are not shown.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Narrow the list with filters
&lt;/h2&gt;

&lt;p&gt;Next to the search field are two icons.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Tap the lightning icon to sort. &lt;strong&gt;Smart&lt;/strong&gt; is the default. &lt;strong&gt;For You&lt;/strong&gt; puts the best fit for your RAM first. &lt;strong&gt;Size&lt;/strong&gt;, &lt;strong&gt;Downloads&lt;/strong&gt; and &lt;strong&gt;Newest&lt;/strong&gt; do what they say.&lt;/li&gt;
&lt;li&gt;Tap the sliders icon to open the filters:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Org&lt;/strong&gt;: the maker. The list is OpenBMB, Qwen, Llama, Google, Microsoft, Mistral, DeepSeek, HuggingFace, NVIDIA and &lt;strong&gt;Liquid AI&lt;/strong&gt;. Pick a maker without typing anything and the app lists that maker's curated models, then its Hugging Face models.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Type&lt;/strong&gt;: &lt;strong&gt;Text&lt;/strong&gt;, &lt;strong&gt;Vision&lt;/strong&gt; or &lt;strong&gt;Code&lt;/strong&gt;. &lt;strong&gt;Vision&lt;/strong&gt; searches models that read images.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source&lt;/strong&gt;: &lt;strong&gt;LM Studio&lt;/strong&gt;, &lt;strong&gt;Official&lt;/strong&gt;, &lt;strong&gt;Verified&lt;/strong&gt; or &lt;strong&gt;Community&lt;/strong&gt;, by who uploaded the files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Size&lt;/strong&gt;: &lt;strong&gt;&amp;lt; 1B&lt;/strong&gt;, &lt;strong&gt;1-3B&lt;/strong&gt;, &lt;strong&gt;3-8B&lt;/strong&gt; or &lt;strong&gt;8B+&lt;/strong&gt; parameters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quant&lt;/strong&gt;: a quantization, such as &lt;strong&gt;Q4_K_M&lt;/strong&gt; or &lt;strong&gt;Q8_0&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Tap &lt;strong&gt;Clear&lt;/strong&gt; to remove all filters.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A dot on an icon means a sort or filter is on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Pick a size and download
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Tap a result. The detail screen shows the description, downloads and likes, then &lt;strong&gt;Sizes&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sizes&lt;/strong&gt; shows up to three files in plain words: &lt;strong&gt;Recommended&lt;/strong&gt; (the best file for your phone, listed first), &lt;strong&gt;Smaller&lt;/strong&gt; and &lt;strong&gt;Best&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Tap &lt;strong&gt;All files&lt;/strong&gt; to see every file your phone can run, and &lt;strong&gt;Fewer sizes&lt;/strong&gt; to go back. Files over your phone's limit are not in either list.&lt;/li&gt;
&lt;li&gt;A file marked &lt;strong&gt;Tight&lt;/strong&gt; loads, but leaves little room for other apps and a long chat. Pick the next size down if you switch apps often.&lt;/li&gt;
&lt;li&gt;Tap download. When it finishes, the app makes it your active model and offers &lt;strong&gt;Chat now&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you already have a GGUF file on the phone, tap the upload icon (&lt;strong&gt;Import local file&lt;/strong&gt;) next to the filters instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this does not do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It does not test speed. A model that fits can still be slow on an older chip. To tune speed after the download, use &lt;strong&gt;Use fastest settings&lt;/strong&gt; on the &lt;strong&gt;Model Settings&lt;/strong&gt; screen.&lt;/li&gt;
&lt;li&gt;It does not check free storage while you search. The app checks space when the download starts and tells you how much it needs.&lt;/li&gt;
&lt;li&gt;The fit check uses total RAM, not what is free right now. If other apps hold a lot of memory, a &lt;strong&gt;Tight&lt;/strong&gt; model can still fail to load, and the app keeps your current model loaded when that happens.&lt;/li&gt;
&lt;li&gt;Hugging Face results show at most 30 per search. Make the search more specific or add a filter to see others.&lt;/li&gt;
&lt;li&gt;Search needs a connection. Downloaded models do not.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Why can't I find a model I saw on Hugging Face?&lt;/strong&gt;&lt;br&gt;
It is too big for your phone's RAM, it needs a newer engine than your app version has, or it is an image generator, which lives on the &lt;strong&gt;Image&lt;/strong&gt; tab. Uncensored and abliterated uploads are also hidden.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does Tight mean on Android?&lt;/strong&gt;&lt;br&gt;
The file is between 36% and 50% of your phone's RAM. It can load, but there is little memory left, so a long chat or switching apps can cause trouble. A smaller size is steadier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the biggest model an 8 GB Android phone can run?&lt;/strong&gt;&lt;br&gt;
Search offers files up to about 4 GB on an 8 GB phone, and files under about 2.9 GB run well. In practice that means models up to about 4B parameters at 4-bit run comfortably.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does "3B active" mean on an MoE model?&lt;/strong&gt;&lt;br&gt;
The model is a mixture of experts and uses 3 billion parameters per word it writes, so it runs at about the speed of a 3B model. It still needs RAM for all of its parameters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why do some models show "+3 uploads"?&lt;/strong&gt;&lt;br&gt;
Three other people uploaded the same model. The app shows the most trusted upload and counts the rest, so the list does not fill with copies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I search for Liquid AI models?&lt;/strong&gt;&lt;br&gt;
Yes. Open the filters, tap &lt;strong&gt;Org&lt;/strong&gt; and pick &lt;strong&gt;Liquid AI&lt;/strong&gt;, or type &lt;code&gt;lfm&lt;/code&gt; in the search field.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/guides/android-setup/" rel="noopener noreferrer"&gt;Android setup guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/guides/which-model/" rel="noopener noreferrer"&gt;Which model should I use?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-pick-the-best-local-ai-model-on-your-android-phone-in-2026-fast-balanced-or-best-no-cloud/" rel="noopener noreferrer"&gt;How to Pick the Best Local AI Model on Your Android Phone in 2026 (Fast, Balanced or Best, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-qwen-3-5-on-your-android-phone-in-2026-locally-no-cloud/" rel="noopener noreferrer"&gt;How to Run Qwen 3.5 on Your Android Phone in 2026 (Locally, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-qwen-3-5-and-gemma-4-faster-on-your-android-phone-in-2026-one-tap-tuning-no-cloud/" rel="noopener noreferrer"&gt;How to Run Qwen 3.5 and Gemma 4 Faster on Your Android Phone in 2026 (One-Tap Tuning, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>android</category>
      <category>ai</category>
      <category>llm</category>
      <category>huggingface</category>
    </item>
    <item>
      <title>How to Compare Local AI Models Side by Side on Your Mac in 2026 (One Question, Up to Six Models)</title>
      <dc:creator>Mohammed Ali Chherawalla</dc:creator>
      <pubDate>Fri, 23 Oct 2026 12:53:34 +0000</pubDate>
      <link>https://dev.to/alichherawalla/how-to-compare-local-ai-models-side-by-side-on-your-mac-in-2026-one-question-up-to-six-models-2adb</link>
      <guid>https://dev.to/alichherawalla/how-to-compare-local-ai-models-side-by-side-on-your-mac-in-2026-one-question-up-to-six-models-2adb</guid>
      <description>&lt;p&gt;You have a few local models on your Mac and you want to know which one writes the better answer for your work. Copying the same prompt into one chat after another is slow, and by the third model you have lost track of what the first one said. Off Grid AI Desktop now splits its chat into two to six panes. Each pane can run on its own model, and one question goes to all of them at once, so the answers arrive next to each other in one window.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Mac with Apple silicon (M1 or later) and macOS 13 or later. The Mac download is built for Apple silicon only.&lt;/li&gt;
&lt;li&gt;Off Grid AI Desktop 0.0.55 or later. Split view is in the current stable release, 0.0.55. &lt;a href="https://getoffgridai.co/desktop/" rel="noopener noreferrer"&gt;Download Off Grid AI Desktop for Mac&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;At least one chat model downloaded in the app, such as Qwen 3.5 9B.&lt;/li&gt;
&lt;li&gt;For more than one model: a model server the app can reach. That can be Ollama or LM Studio running on the same Mac, a llama.cpp server, or another computer running Off Grid AI Desktop on your home network.&lt;/li&gt;
&lt;li&gt;No account and no payment. Split view is part of the free app.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How the panes choose a model
&lt;/h2&gt;

&lt;p&gt;Every pane has a &lt;strong&gt;Model for this pane&lt;/strong&gt; picker at the top. It offers two kinds of choice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Active model&lt;/strong&gt;: the model loaded in Off Grid AI Desktop itself, the one you picked under &lt;strong&gt;Active models&lt;/strong&gt;. Every pane set to this uses the same model.&lt;/li&gt;
&lt;li&gt;A model from a saved server: each entry shows the model name and the server it comes from, so you can tell two copies of the same model apart.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So to compare different models, put one pane on the &lt;strong&gt;Active model&lt;/strong&gt; and point the others at models served by Ollama, LM Studio or another machine. A pane that uses a server does not start the app's own engine on your Mac.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Add a model server
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Chat&lt;/strong&gt; from the sidebar.&lt;/li&gt;
&lt;li&gt;Click the gear icon at the top right (&lt;strong&gt;Settings&lt;/strong&gt;) and choose the &lt;strong&gt;Remote&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add server&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Type a &lt;strong&gt;Server name&lt;/strong&gt;, for example "Ollama on this Mac".&lt;/li&gt;
&lt;li&gt;Type the &lt;strong&gt;Address&lt;/strong&gt;. Ollama on the same Mac answers at &lt;code&gt;http://127.0.0.1:11434&lt;/code&gt;, and LM Studio at &lt;code&gt;http://127.0.0.1:1234&lt;/code&gt;. The app adds &lt;code&gt;/v1&lt;/code&gt; when needed, and the hint under the field shows the exact address it will call.&lt;/li&gt;
&lt;li&gt;If the server needs one, type its &lt;strong&gt;API key&lt;/strong&gt;. The key is stored in the system credential store, not in a settings file.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Test connection&lt;/strong&gt;. On success the status line reads "Connected in" followed by the time in milliseconds and the number of models found.&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Text + Vision&lt;/strong&gt;, search for and select a model.&lt;/li&gt;
&lt;li&gt;Leave &lt;strong&gt;Use this server&lt;/strong&gt; on and click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Saving a new server with a chat model also moves the app's chat to that server. If you want the &lt;strong&gt;Active model&lt;/strong&gt; to stay on your downloaded model, click the chip icon at the top right (&lt;strong&gt;Active models&lt;/strong&gt;) and pick your local model again.&lt;/p&gt;

&lt;p&gt;Repeat for each server. Every chat model a saved server offers shows up in the pane pickers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Split the chat
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;In &lt;strong&gt;Chat&lt;/strong&gt;, click the split icon at the top right. Its tooltip reads &lt;strong&gt;Open tabs side by side&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The chat opens as panes, one for each chat tab you had open, up to six. With fewer than two tabs open, you still get two panes, and the extra pane starts on a new chat.&lt;/li&gt;
&lt;li&gt;Use the minus and plus buttons next to the pane count to change the number of panes. Their tooltips read &lt;strong&gt;Remove the last pane&lt;/strong&gt; and &lt;strong&gt;Add a pane&lt;/strong&gt;. The count runs from 2 to 6.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The layout follows the count: two or three panes sit in one row, four make a two by two grid, and five or six make a grid of three columns and two rows. The split controls stay in the top right pane, so they do not move as you add or remove panes. &lt;strong&gt;Active models&lt;/strong&gt; and &lt;strong&gt;Settings&lt;/strong&gt; also show once, in that pane, because they apply to the whole app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Pick a model for each pane
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Model for this pane&lt;/strong&gt; in the first pane and choose &lt;strong&gt;Active model&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In each other pane, choose a model from a server.&lt;/li&gt;
&lt;li&gt;The picker reads the servers' model lists each time you open it, so a model you add to a server in &lt;strong&gt;Settings&lt;/strong&gt; shows up without closing the split.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The app remembers each pane's choice, so the next time you split, every pane starts on the model you gave it last time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Ask one question
&lt;/h2&gt;

&lt;p&gt;With split view on, the panes share one input at the bottom of the window. This is the default, shown as &lt;strong&gt;One input for every pane&lt;/strong&gt; in the top right controls.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Type your question in the shared input and send it.&lt;/li&gt;
&lt;li&gt;Every pane sends the same question to its own model, and the answers stream in side by side.&lt;/li&gt;
&lt;li&gt;Files you attach to the shared input go to every pane too, so you can compare how each model reads the same PDF or screenshot.&lt;/li&gt;
&lt;li&gt;To stop, click Stop in the shared input. It stops every pane that is still answering.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For follow-ups that should go to one model only, switch to &lt;strong&gt;An input in each pane&lt;/strong&gt;. Each pane then gets its own input, and what you type there goes to that pane alone. Switch back to send to all of them again.&lt;/p&gt;

&lt;p&gt;Each pane keeps its own chat tabs, its own gallery and its own tasks. Press Command-T to start a new chat in the pane you are typing in; the other panes keep their chats.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Go back to one chat
&lt;/h2&gt;

&lt;p&gt;Click the same split icon again. Its tooltip now reads &lt;strong&gt;One chat&lt;/strong&gt;. Your pane chats are saved like any other chat.&lt;/p&gt;

&lt;p&gt;The window now narrows to 450 pixels wide, so a two pane comparison fits next to your editor or browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this does not do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It does not score or rank the answers. You read them and decide.&lt;/li&gt;
&lt;li&gt;It does not load several models inside Off Grid AI Desktop at once from the split view. Every pane on &lt;strong&gt;Active model&lt;/strong&gt; uses the same in-app model. Different models come from servers.&lt;/li&gt;
&lt;li&gt;Running several models on one Mac takes memory for each of them, and they share the same unified memory. If the models together are larger than your RAM, the Mac slows down or a model fails to load. Use smaller models, fewer panes, or a second computer for the bigger ones.&lt;/li&gt;
&lt;li&gt;If a pane's server is turned off or removed, that pane does not quietly answer with another model. It tells you the server is off or gone and asks you to pick another model for that pane.&lt;/li&gt;
&lt;li&gt;Split view is not saved across restarts. When you quit and reopen the app, Chat opens as one chat; the pane model choices are kept for the next split.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;How do I compare two local LLMs on my Mac?&lt;/strong&gt;&lt;br&gt;
Install Off Grid AI Desktop, add Ollama or LM Studio as a server under &lt;strong&gt;Settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Remote&lt;/strong&gt;, then click &lt;strong&gt;Open tabs side by side&lt;/strong&gt; in Chat. Set one pane to &lt;strong&gt;Active model&lt;/strong&gt; and the other to a model from the server, and send one question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How many models can I compare at once?&lt;/strong&gt;&lt;br&gt;
Up to six panes. Each pane can use a different model, as long as your Mac or your servers can hold them in memory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does comparing models send my prompt to the cloud?&lt;/strong&gt;&lt;br&gt;
No. Each pane sends the question only to its own model: the one inside the app, or the server address you typed. If every server is on your Mac or your home network, the prompt never leaves them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is the split view free?&lt;/strong&gt;&lt;br&gt;
Yes. It is part of the free Off Grid AI Desktop app on Mac, with no account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I ask a follow-up to just one model?&lt;/strong&gt;&lt;br&gt;
Yes. Switch the top right control to &lt;strong&gt;An input in each pane&lt;/strong&gt;, and each pane gets its own input for its own follow-ups.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/desktop/" rel="noopener noreferrer"&gt;Download Off Grid AI Desktop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-llms-locally-on-your-mac-in-2026-completely-offline-no-subscription/" rel="noopener noreferrer"&gt;How to Run LLMs Locally on Your Mac in 2026 (Completely Offline, No Subscription)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-local-ai-on-your-mac-in-2026-no-cloud-no-account/" rel="noopener noreferrer"&gt;How to Run Local AI on Your Mac in 2026 (No Cloud, No Account)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-use-ai-models-on-your-mac-from-your-android-phone-in-2026-no-internet-required/" rel="noopener noreferrer"&gt;How to Use AI Models on Your Mac From Your Android Phone in 2026 (No Internet Required)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>localai</category>
      <category>llm</category>
      <category>macos</category>
      <category>ollama</category>
    </item>
    <item>
      <title>How to Run Qwen 3.5 and Gemma 4 Faster on Your Android Phone in 2026 (One-Tap Tuning, No Cloud)</title>
      <dc:creator>Mohammed Ali Chherawalla</dc:creator>
      <pubDate>Fri, 23 Oct 2026 09:53:52 +0000</pubDate>
      <link>https://dev.to/alichherawalla/how-to-run-qwen-35-and-gemma-4-faster-on-your-android-phone-in-2026-one-tap-tuning-no-cloud-1ja</link>
      <guid>https://dev.to/alichherawalla/how-to-run-qwen-35-and-gemma-4-faster-on-your-android-phone-in-2026-one-tap-tuning-no-cloud-1ja</guid>
      <description>&lt;p&gt;You have Qwen 3.5 or Gemma 4 running on your Android phone and you want replies to come faster. You do not want to guess whether the CPU, the GPU or the NPU is quicker on your chip, or how many threads to set. Off Grid AI Mobile (OGAM) now does that for you. Tap &lt;strong&gt;Use fastest settings&lt;/strong&gt;, and the app runs the model you use on each part of your phone that can run it, measures how fast each one writes, and keeps the winner. The test takes 30 seconds or less, and everything runs on the phone.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;An Android phone with 6 GB of RAM or more for the full test. Below 6 GB the app stays on the CPU, because the GPU and NPU buffers do not fit, and the button only resets the CPU settings.&lt;/li&gt;
&lt;li&gt;A Snapdragon chip to compare backends. On a Snapdragon phone the app tests the &lt;strong&gt;CPU&lt;/strong&gt;, the &lt;strong&gt;NPU&lt;/strong&gt; (Hexagon) and the &lt;strong&gt;GPU&lt;/strong&gt; (Adreno). On Google Tensor, Exynos and MediaTek Dimensity phones, the GPU backend is not available (it runs on Adreno only), so the app keeps the CPU and sets its threads and batch size for you.&lt;/li&gt;
&lt;li&gt;OGAM 0.0.116 or later. The button arrived in 0.0.116 and is in the current stable release, 0.0.117. &lt;a href="https://getoffgridai.co/mobile/" rel="noopener noreferrer"&gt;Download OGAM for Android&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A GGUF chat model already downloaded and selected, such as &lt;strong&gt;Qwen 3.5 2B&lt;/strong&gt;, &lt;strong&gt;Qwen 3.5 4B&lt;/strong&gt; or &lt;strong&gt;Gemma 4 E2B&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;No account and no payment. This is part of the free app.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What the test does
&lt;/h2&gt;

&lt;p&gt;When you tap the button, OGAM unloads your chat model, then loads it on each backend your phone can run, one at a time. On each one it reads a 64-token prompt and writes 16 tokens, then records the writing speed in tokens per second. The whole run has a 30-second budget. A backend that fails to load, runs out of time, or quietly falls back to the CPU counts as failed and cannot win.&lt;/p&gt;

&lt;p&gt;The fastest backend that ran becomes your &lt;strong&gt;Inference Backend&lt;/strong&gt;. If none of the accelerated backends ran, you stay on the CPU, which works on every Android phone. The app also sets the rest of the speed settings to match the winner:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CPU Threads&lt;/strong&gt; and &lt;strong&gt;Batch Size&lt;/strong&gt; go back to &lt;strong&gt;Auto&lt;/strong&gt;. Auto threads skip your phone's efficiency cores. The code notes a measurement on a OnePlus CPH2707 where five threads ran slower than four, so a lone prime core next to a larger performance cluster is left out too.&lt;/li&gt;
&lt;li&gt;On the CPU, &lt;strong&gt;Flash Attention&lt;/strong&gt; is on and the &lt;strong&gt;KV Cache Type&lt;/strong&gt; is q8_0.&lt;/li&gt;
&lt;li&gt;On the NPU, batch size is 128, the value from llama.cpp's own Snapdragon guide. On the NPU and the GPU, flash attention is off and the cache is f16, because those are the settings proven safe on those backends today.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speculative Decoding (MTP)&lt;/strong&gt; is turned off.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One more speed rule runs without any tap. On Android, when you run on the CPU or the NPU, the app downloads the Q4_0 version of a model when its repository has one, because llama.cpp repacks Q4_0 best for ARM CPUs and the NPU runs it natively.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Load the model you want to tune
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open OGAM and tap &lt;strong&gt;Models&lt;/strong&gt; in the bottom bar.&lt;/li&gt;
&lt;li&gt;Download or select the GGUF model you chat with, for example &lt;strong&gt;Qwen 3.5 4B&lt;/strong&gt; or &lt;strong&gt;Gemma 4 E2B&lt;/strong&gt;.
The test runs on the model that is selected now. If no model is selected, there is nothing to measure.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 2: Open the speed settings
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fgetoffgridai.co%2Fassets%2Fimg%2Fhome%2Fmobile%2Fsettings-1-light-640.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fgetoffgridai.co%2Fassets%2Fimg%2Fhome%2Fmobile%2Fsettings-1-light-640.webp" alt="Off Grid AI Mobile Settings tab on Android, with Model Settings as the first item." width="640" height="1410"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br&gt;The Settings tab on Android. Model Settings is the first item.
  &lt;p&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Tap &lt;strong&gt;Settings&lt;/strong&gt; in the bottom bar.&lt;/li&gt;
&lt;li&gt;Tap &lt;strong&gt;Model Settings&lt;/strong&gt; (System prompt, generation, and performance).&lt;/li&gt;
&lt;li&gt;Open the &lt;strong&gt;Text Generation&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt;Tap &lt;strong&gt;Advanced&lt;/strong&gt; to show the speed controls.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can also do this from inside a chat. Tap the sliders icon at the top right to open &lt;strong&gt;Chat Settings&lt;/strong&gt;, open &lt;strong&gt;TEXT GENERATION&lt;/strong&gt;, and tap &lt;strong&gt;Advanced&lt;/strong&gt;. Both places change the same settings.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Tap Use fastest settings
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Tap &lt;strong&gt;Use fastest settings&lt;/strong&gt;. It is the first control under the advanced sliders, above &lt;strong&gt;CPU Threads&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The button changes to &lt;strong&gt;Measuring... Cancel&lt;/strong&gt; while the test runs. Keep the app open.&lt;/li&gt;
&lt;li&gt;When the button reads &lt;strong&gt;Use fastest settings&lt;/strong&gt; again, the test is done.&lt;/li&gt;
&lt;li&gt;Look at &lt;strong&gt;Inference Backend&lt;/strong&gt; below it. The selected option, &lt;strong&gt;CPU&lt;/strong&gt;, &lt;strong&gt;GPU&lt;/strong&gt; or &lt;strong&gt;NPU (Beta)&lt;/strong&gt;, is the one that measured fastest on your phone.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you tap &lt;strong&gt;Measuring... Cancel&lt;/strong&gt;, nothing is written and your settings stay as they were.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Check the speed on a real reply
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go back to your chat and send a message. The model loads again on the new backend.&lt;/li&gt;
&lt;li&gt;To see the speed, turn on &lt;strong&gt;Show Generation Details&lt;/strong&gt; in the same &lt;strong&gt;Text Generation&lt;/strong&gt; section. Each reply then shows the model, the context used and the speed under it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Run the test again after you switch to a different model. A backend that wins for Qwen 3.5 may not win for Gemma 4 on the same phone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gemma 4 on LiteRT
&lt;/h2&gt;

&lt;p&gt;OGAM also offers Gemma 4 E2B and E4B in Google's LiteRT format, listed as &lt;strong&gt;Gemma 4 LiteRT&lt;/strong&gt; on the Models screen. These models use a different engine, so the &lt;strong&gt;Use fastest settings&lt;/strong&gt; button does not appear for them. Under &lt;strong&gt;Advanced&lt;/strong&gt; you get an &lt;strong&gt;Acceleration&lt;/strong&gt; switch with &lt;strong&gt;GPU&lt;/strong&gt; and &lt;strong&gt;CPU&lt;/strong&gt; instead. Since 0.0.117, a LiteRT model on the GPU loads faster after the first time, and if a GPU model fails to load, the app moves it to the CPU after one try instead of retrying in a loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this does not do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It does not check answer quality, only speed. The &lt;strong&gt;NPU (Beta)&lt;/strong&gt; option itself warns that some models, Gemma among them, can fall back to the CPU or produce invalid output there. If replies look wrong after the test picks the NPU, set &lt;strong&gt;Inference Backend&lt;/strong&gt; to &lt;strong&gt;GPU&lt;/strong&gt; or &lt;strong&gt;CPU&lt;/strong&gt;. If the NPU does not start at all, the app runs the model on the CPU.&lt;/li&gt;
&lt;li&gt;It does not run on its own. The test runs only when you tap the button, and every setting stays editable afterwards. Tap the reset icon next to &lt;strong&gt;CPU Threads&lt;/strong&gt; or &lt;strong&gt;Batch Size&lt;/strong&gt; to return either one to Auto later.&lt;/li&gt;
&lt;li&gt;It turns off &lt;strong&gt;Speculative Decoding (MTP)&lt;/strong&gt;. With MTP on, llama.rn reprocesses the whole prompt each turn, so the first word gets slower from the second message on. Turn it back on yourself if your model has an MTP head and you prefer it.&lt;/li&gt;
&lt;li&gt;It does not test image generation or speech models. Those have their own settings.&lt;/li&gt;
&lt;li&gt;It does not apply to remote servers. Chats that run on a computer over Wi-Fi use that computer's settings.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is the GPU or the NPU faster for local AI on Android?&lt;/strong&gt;&lt;br&gt;
It depends on the chip and the model, which is why OGAM measures it instead of guessing. On a Snapdragon phone with 6 GB or more, the app tests the CPU, the Hexagon NPU and the Adreno GPU on your model and keeps the one that writes fastest.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why does my Pixel or Samsung Exynos phone stay on the CPU?&lt;/strong&gt;&lt;br&gt;
The GPU backend in llama.rn runs on Qualcomm Adreno GPUs only, not Mali, and the NPU backend needs a Snapdragon Hexagon NPU. On those phones the app tunes CPU threads and batch size instead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How long does Use fastest settings take?&lt;/strong&gt;&lt;br&gt;
30 seconds or less. A backend that has not finished when the budget runs out counts as failed, and you can cancel at any time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How many CPU threads should I use for llama.cpp on Android?&lt;/strong&gt;&lt;br&gt;
Leave &lt;strong&gt;CPU Threads&lt;/strong&gt; on Auto. OGAM counts your performance cores and skips efficiency cores, and on phones with one prime core beside a larger performance cluster it leaves the prime core out, because more threads measured slower there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does tuning need internet?&lt;/strong&gt;&lt;br&gt;
No. The test loads and runs the model you already downloaded, on the phone. Nothing is sent anywhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I need to run it again after an app update?&lt;/strong&gt;&lt;br&gt;
Run it again when you change models or update the app. Each run replaces the last result.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/guides/android-setup/" rel="noopener noreferrer"&gt;Android setup guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/guides/run-llms-locally-android/" rel="noopener noreferrer"&gt;Run LLMs locally on Android&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-qwen-3-5-on-your-android-phone-in-2026-locally-no-cloud/" rel="noopener noreferrer"&gt;How to Run Qwen 3.5 on Your Android Phone in 2026 (Locally, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-gemma-4-on-your-android-phone-in-2026-locally-no-cloud/" rel="noopener noreferrer"&gt;How to Run Gemma 4 on Your Android Phone in 2026 (Locally, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-local-ai-on-your-android-phones-npu-in-2026-supported-devices/" rel="noopener noreferrer"&gt;How to Run Local AI on Your Android Phone's NPU in 2026 (Supported Devices)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>android</category>
      <category>ai</category>
      <category>llm</category>
      <category>performance</category>
    </item>
    <item>
      <title>How to Pick the Best Local AI Model on Your Android Phone in 2026 (Fast, Balanced or Best, No Cloud)</title>
      <dc:creator>Mohammed Ali Chherawalla</dc:creator>
      <pubDate>Fri, 23 Oct 2026 06:52:02 +0000</pubDate>
      <link>https://dev.to/alichherawalla/how-to-pick-the-best-local-ai-model-on-your-android-phone-in-2026-fast-balanced-or-best-no-cloud-37if</link>
      <guid>https://dev.to/alichherawalla/how-to-pick-the-best-local-ai-model-on-your-android-phone-in-2026-fast-balanced-or-best-no-cloud-37if</guid>
      <description>&lt;p&gt;You want a local AI model that runs well on your Android phone, and you do not want to read quantization tables to find it. Off Grid AI Mobile (OGAM) now opens the Models screen with three picks worked out for your phone's RAM: &lt;strong&gt;Fast&lt;/strong&gt;, &lt;strong&gt;Balanced&lt;/strong&gt; and &lt;strong&gt;Best&lt;/strong&gt;. Tap one, it downloads, and it becomes the model your chats use. After the download, the model runs on your phone's CPU, GPU or NPU, and nothing you type is sent anywhere.&lt;/p&gt;

&lt;p&gt;The same three picks are on the &lt;strong&gt;Image&lt;/strong&gt; tab for image generation and on the &lt;strong&gt;Speech&lt;/strong&gt; tab for voice transcription.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;An Android phone. The picks scale with RAM, so a 6 GB phone and a 16 GB phone see different models.&lt;/li&gt;
&lt;li&gt;OGAM 0.0.116 or later. The picks arrived in 0.0.116 and are in the current stable release, 0.0.117. &lt;a href="https://getoffgridai.co/mobile/" rel="noopener noreferrer"&gt;Download OGAM for Android&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Wi-Fi for the download. Chat models are hundreds of megabytes to a few gigabytes. After that, no connection is needed.&lt;/li&gt;
&lt;li&gt;No account and no payment. The model picks are part of the free app.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How OGAM chooses Fast, Balanced and Best
&lt;/h2&gt;

&lt;p&gt;The picks come from one rule that lives in the app's shared model catalog. It reads your phone's total RAM and each model's download size, then keeps only the models that run well on your phone.&lt;/p&gt;

&lt;p&gt;An Android phone does not give one app all of its RAM, and a model needs more memory than its file size while it runs (weights, plus the cache that holds your conversation). The app's phone budget is measured from that: a file under about 36% of your RAM runs well, a file between 36% and 50% is marked &lt;strong&gt;Tight&lt;/strong&gt;, and anything larger is not offered. On a 12 GB phone, that is under 4.3 GB to run well and up to 6 GB at most.&lt;/p&gt;

&lt;p&gt;From the models that run well:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best&lt;/strong&gt; is the highest-quality chat model in the catalog that fits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Balanced&lt;/strong&gt; is the next best.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fast&lt;/strong&gt; is a model that runs at the speed of a 4B model or faster, and faster than Balanced. A mixture-of-experts model counts by its active parameters, so a large model with a small active part can be the Fast pick.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Picks come from model makers people know, such as Qwen, Gemma, Llama, Mistral and Phi. A model that a newer one replaces is never picked, and neither is a model your app's engine is too old to load. As an example from the release notes, a 12 GB phone gets Qwen 3.5 0.8B, 2B and 4B.&lt;/p&gt;

&lt;p&gt;On Android, when you run on the CPU or the NPU, the app downloads the Q4_0 version of a model if one exists, because it runs faster there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Open the picks
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open OGAM and tap &lt;strong&gt;Models&lt;/strong&gt; in the bottom bar.&lt;/li&gt;
&lt;li&gt;Stay on the &lt;strong&gt;Text&lt;/strong&gt; tab. At the top, under &lt;strong&gt;For this phone&lt;/strong&gt;, you see three small cards side by side: &lt;strong&gt;Fast&lt;/strong&gt;, &lt;strong&gt;Balanced&lt;/strong&gt; and &lt;strong&gt;Best&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Each card shows the model name and its download size.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 2: Download one and switch to it
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Tap the download icon on the card you want.&lt;/li&gt;
&lt;li&gt;The card shows the download progress as a percentage.&lt;/li&gt;
&lt;li&gt;When the download finishes, the model becomes your active chat model. The card gets a highlighted border and a chat icon.&lt;/li&gt;
&lt;li&gt;Tap the chat icon (&lt;strong&gt;Chat now&lt;/strong&gt;) to open a chat with that model.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you already downloaded a pick earlier, its card shows a circle icon instead. Tap it to switch to that model without downloading again.&lt;/p&gt;

&lt;p&gt;If you download a model from the list below the picks instead, the app also makes it your active model when it finishes and shows "[model name] is ready" with &lt;strong&gt;Later&lt;/strong&gt; and &lt;strong&gt;Chat now&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you switch to a model that does not fit in the memory that is free right now, the app keeps your current model loaded, so you do not lose your chat.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Pick an image model and a speech model
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Tap the &lt;strong&gt;Image&lt;/strong&gt; tab. The same three cards appear under &lt;strong&gt;For this phone&lt;/strong&gt;. On this tab they take the place of the old RAM banner.&lt;/li&gt;
&lt;li&gt;Tap the download icon on a card. When it finishes, the app says the model is ready, and the pick becomes the image model your chats use.&lt;/li&gt;
&lt;li&gt;Tap the &lt;strong&gt;Speech&lt;/strong&gt; tab. The picks here are multilingual speech-to-text models only, so they work whatever language you speak.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Image and speech models have no quality score in the catalog, so these picks go by size: &lt;strong&gt;Best&lt;/strong&gt; is the largest that runs well, &lt;strong&gt;Fast&lt;/strong&gt; the smallest with at least 2 billion parameters, and &lt;strong&gt;Balanced&lt;/strong&gt; the one in between.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Choose a size in plain words
&lt;/h2&gt;

&lt;p&gt;When you tap a model in the list to open its details, the &lt;strong&gt;Sizes&lt;/strong&gt; section shows up to three choices instead of quantization names:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Recommended&lt;/strong&gt;: the file that suits your phone best. It is listed first.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smaller&lt;/strong&gt;: the smallest file below the recommended one, for when storage or memory is short.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best&lt;/strong&gt;: the largest file above the recommended one, for the highest quality your phone can run.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every file is still there. Tap &lt;strong&gt;All files&lt;/strong&gt; under the list to see them all, and &lt;strong&gt;Fewer sizes&lt;/strong&gt; to go back. Files too big for your phone are hidden, and files that only just fit carry a &lt;strong&gt;Tight&lt;/strong&gt; label.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Get new models without an app update
&lt;/h2&gt;

&lt;p&gt;New models are added to the catalog between app releases. To get them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;On the Models screen, tap the refresh icon at the top right, next to the downloads icon.&lt;/li&gt;
&lt;li&gt;A sheet opens. It names each new model, for example "2 new models", and the new models appear in the list straight away.&lt;/li&gt;
&lt;li&gt;If nothing changed, the sheet says &lt;strong&gt;Up to date&lt;/strong&gt;. If your phone is offline, it says it could not check and asks you to check your connection.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The picks are worked out again with the new models included, so a better model for your phone can move into the &lt;strong&gt;Best&lt;/strong&gt; slot.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this does not do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It does not test speed on your phone. The picks are based on RAM, file size and the catalog's quality ranking, not a benchmark run on your device. To tune speed, use &lt;strong&gt;Use fastest settings&lt;/strong&gt; on the &lt;strong&gt;Model Settings&lt;/strong&gt; screen, which tests each backend your phone can run in 30 seconds or less.&lt;/li&gt;
&lt;li&gt;It does not look at free storage when it picks. The app checks free space when the download starts and tells you how much it needs if space is short.&lt;/li&gt;
&lt;li&gt;It does not pick from all of Hugging Face. The picks come from the curated catalog. You can still search Hugging Face from the &lt;strong&gt;Text&lt;/strong&gt; tab, and the search hides files your phone cannot run.&lt;/li&gt;
&lt;li&gt;A slot can be empty. On a phone with little RAM, there may be fewer than three models that run well, and the row shows only the slots it can fill.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is the best local AI model for an Android phone with 8 GB of RAM?&lt;/strong&gt;&lt;br&gt;
Open the &lt;strong&gt;Text&lt;/strong&gt; tab in OGAM and look at the &lt;strong&gt;Best&lt;/strong&gt; card: that is the highest-quality catalog model that runs well in 8 GB. On 8 GB, files under about 2.9 GB run well, so the picks are small models at 4-bit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which is faster on Android, Fast or Balanced?&lt;/strong&gt;&lt;br&gt;
Fast is always the quicker of the two. It runs at the speed of a 4B model or faster, while Balanced is the next-best quality model and can be larger.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does picking a model need internet?&lt;/strong&gt;&lt;br&gt;
Only for the download and for checking for new models. After the download, chat, image generation and transcription with that model run on the phone with no connection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why does a model show Tight?&lt;/strong&gt;&lt;br&gt;
Its file is between about 36% and 50% of your phone's RAM. It can load, but there is little room left for other apps and a long conversation, so a smaller size may be steadier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I still choose a different model?&lt;/strong&gt;&lt;br&gt;
Yes. The list below the picks has the full curated catalog, and you can search Hugging Face. The picks are a starting point, not a limit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why did my picks change?&lt;/strong&gt;&lt;br&gt;
The picks follow the catalog. After you tap the refresh icon and new models arrive, a newer or better model that fits your phone can take a slot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/guides/android-setup/" rel="noopener noreferrer"&gt;Android setup guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/guides/which-model/" rel="noopener noreferrer"&gt;Which model should I use?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-qwen-3-5-on-your-android-phone-in-2026-locally-no-cloud/" rel="noopener noreferrer"&gt;How to Run Qwen 3.5 on Your Android Phone in 2026 (Locally, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-run-gemma-4-on-your-android-phone-in-2026-locally-no-cloud/" rel="noopener noreferrer"&gt;How to Run Gemma 4 on Your Android Phone in 2026 (Locally, No Cloud)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getoffgridai.co/articles/how-to-speed-up-local-ai-with-your-android-phones-gpu-in-2026/" rel="noopener noreferrer"&gt;How to Speed Up Local AI With Your Android Phone's GPU in 2026&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>android</category>
      <category>llm</category>
      <category>privacy</category>
    </item>
    <item>
      <title>How to Delete AI Chats and Generated Images From Your Phone in Off Grid AI in 2026</title>
      <dc:creator>Mohammed Ali Chherawalla</dc:creator>
      <pubDate>Tue, 13 Oct 2026 10:23:32 +0000</pubDate>
      <link>https://dev.to/alichherawalla/how-to-delete-ai-chats-and-generated-images-from-your-phone-in-off-grid-ai-in-2026-37le</link>
      <guid>https://dev.to/alichherawalla/how-to-delete-ai-chats-and-generated-images-from-your-phone-in-off-grid-ai-in-2026-37le</guid>
      <description>&lt;p&gt;An image experiment can leave several drafts in your phone's chat history and Gallery. OGAM (Off Grid AI Mobile) lets you delete an unwanted image, remove selected images, or delete a conversation and clean up its associated generated images.&lt;/p&gt;

&lt;p&gt;Use the control for the material you want to remove. Clearing a missing Gallery record is different from deleting an image file, and deleting a chat is different from removing a downloaded AI model. The steps below help you keep the useful result while removing the drafts you no longer need.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://getoffgridai.co/mobile/" rel="noopener noreferrer"&gt;Get OGAM for Android or iPhone&lt;/a&gt; | &lt;a href="https://github.com/off-grid-ai/OGAM/releases/tag/v0.0.114-beta.1" rel="noopener noreferrer"&gt;Mobile beta 114&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fgetoffgridai.co%2Fassets%2Fimg%2Fhome%2Fmobile%2Fhome-ios-1-light-640.webp" class="article-body-image-wrapper"&gt;&lt;img width="640" alt="Example OGAM Home screen on iPhone with recent conversations and the Image Gallery entry." src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fgetoffgridai.co%2Fassets%2Fimg%2Fhome%2Fmobile%2Fhome-ios-1-light-640.webp" height="1391"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What would you like to do with Off Grid AI?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Have a feature or use case you would like us to support? Tell us what you want to do and which device you use.&lt;/p&gt;

&lt;p&gt;Write to &lt;a href="mailto:support@getoffgridai.co"&gt;support@getoffgridai.co&lt;/a&gt;, &lt;a href="https://join.slack.com/t/off-grid-mobile/shared_invite/zt-494gbuv5c-kj9tT7U0AS8Kq8UUO63_jw" rel="noopener noreferrer"&gt;join our Slack community&lt;/a&gt;, or &lt;a href="https://www.reddit.com/r/off_grid_ai/" rel="noopener noreferrer"&gt;talk to us on Reddit&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Check the installed version and save what you need
&lt;/h2&gt;

&lt;p&gt;This guide follows mobile beta 114, which includes cleanup for chats deleted from Home or a project, deletion of synced image files by their saved path, and a visible state for missing images. The source release can appear before a store update. Check your installed version if the controls or messages differ.&lt;/p&gt;

&lt;p&gt;Open an image you want to keep and use its save or share control before deletion. On iPhone, this opens the share route for the file. On Android, the save route can copy it to &lt;code&gt;Pictures/OffgridMobile&lt;/code&gt; when storage access is available. Confirm that the exported copy opens where you saved it.&lt;/p&gt;

&lt;p&gt;The copy outside OGAM is separate from the Gallery item. Deleting the Gallery item does not promise to erase copies in Photos, Files, cloud backups, messages, or another app. Decide whether you want to remove a draft from OGAM or remove other copies too.&lt;/p&gt;

&lt;p&gt;You do not need a loaded AI model to inspect a saved image or delete an existing record. Keep model downloads separate from this cleanup task.&lt;/p&gt;

&lt;h2&gt;
  
  
  Delete one image from Gallery
&lt;/h2&gt;

&lt;p&gt;From Home, open &lt;strong&gt;Image Gallery&lt;/strong&gt;. Find the unwanted image and open it. Check the picture before selecting the delete control, then read &lt;strong&gt;Delete Image&lt;/strong&gt; and confirm &lt;strong&gt;Delete&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The app attempts to remove the saved image file and removes its Gallery record after success. If it reports &lt;strong&gt;Image was not deleted&lt;/strong&gt;, the record stays visible. Read the error before trying again; a failed delete is not a completed cleanup.&lt;/p&gt;

&lt;p&gt;This path also uses the saved location for images received through sync. Such an image may use a different location or file extension from one generated directly on the phone. You do not need to move it into a guessed folder first.&lt;/p&gt;

&lt;p&gt;Start with an unwanted test image. Return to Gallery and check that the expected item is gone while the image you wanted to keep remains available.&lt;/p&gt;

&lt;h2&gt;
  
  
  Remove several drafts together
&lt;/h2&gt;

&lt;p&gt;Use Gallery's selection control, or press and hold an image to enter selection mode. Select the unwanted drafts and check the displayed count. Use the delete control for the selected images and confirm &lt;strong&gt;Delete Images&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For example, if one useful illustration sits among six rejected drafts, open the useful one first and save it. Then select the six drafts. Check the selection count before confirming rather than using Select all and trying to remember what you wanted to keep.&lt;/p&gt;

&lt;p&gt;If some files cannot be removed, OGAM reports &lt;strong&gt;Some images were not deleted&lt;/strong&gt; and keeps their records. A completed bulk action can therefore have a partial result. Inspect the remaining Gallery entries before assuming the whole selection was removed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understand "Image is not on this device"
&lt;/h2&gt;

&lt;p&gt;A Gallery record can exist while its image file is unavailable. The release shows &lt;strong&gt;Image is not on this device&lt;/strong&gt; instead of treating a blank preview as a normal image. Its &lt;strong&gt;Remove&lt;/strong&gt; control asks whether to remove that record from Gallery.&lt;/p&gt;

&lt;p&gt;Removing this unavailable record is a list cleanup. It does not recover the image and is not proof that another device's copy was deleted. If you still need the image, look for a known exported copy or check the paired source device before removing the record.&lt;/p&gt;

&lt;p&gt;When sync has already supplied a usable local copy, the app can point the Gallery record to that copy if the original path is gone. This helps an existing file remain usable; it does not recreate a file that no device still has.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What you see&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;th&gt;Useful next step&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A normal preview&lt;/td&gt;
&lt;td&gt;The file can be displayed&lt;/td&gt;
&lt;td&gt;Save it or delete it deliberately&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Image is not on this device&lt;/td&gt;
&lt;td&gt;The current file is unavailable&lt;/td&gt;
&lt;td&gt;Locate a retained copy, or remove the stale record&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Image was not deleted&lt;/td&gt;
&lt;td&gt;The file removal failed&lt;/td&gt;
&lt;td&gt;Inspect the error and retained record&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Some images were not deleted&lt;/td&gt;
&lt;td&gt;A cleanup had a partial result&lt;/td&gt;
&lt;td&gt;Check the remaining items&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Delete a conversation and its generated images
&lt;/h2&gt;

&lt;p&gt;On Home, find the conversation in Recent. Swipe its row to reveal the delete action. Select it, read &lt;strong&gt;Delete Conversation&lt;/strong&gt;, and confirm the title before deleting. Project chat lists also have a delete action for the selected conversation; inspect its confirmation before proceeding.&lt;/p&gt;

&lt;p&gt;The cleanup first cancels image generation owned by that chat and waits for the request to end. It then attempts to remove the generated image files associated with the conversation. This prevents that request from saving another result after cleanup has started.&lt;/p&gt;

&lt;p&gt;If some image files cannot be removed, the conversation can still be deleted while those image records stay in Gallery. The app reports that result with &lt;strong&gt;Some images were not deleted&lt;/strong&gt;. Open Gallery and inspect those records separately.&lt;/p&gt;

&lt;p&gt;Only use this action when the conversation itself is no longer needed. If you want to keep its prompts and discussion, delete the unwanted Gallery images instead. Save any required answer text or exported files before removing the conversation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check paired devices and independent copies separately
&lt;/h2&gt;

&lt;p&gt;If you use Pro sync, do not treat a phone cleanup as a guaranteed local-only operation. Conversation changes can be shared with trusted devices. Check the intended sync state and retain anything important before deleting a conversation you still use elsewhere.&lt;/p&gt;

&lt;p&gt;At the same time, a deleted chat is not a global eraser for independent exports or backups. Inspect those locations separately when they are part of your cleanup. An offline paired device also cannot confirm a current transfer or deletion until the relevant connection and sync complete.&lt;/p&gt;

&lt;p&gt;These are saved-data controls. They do not remove the downloaded text, image, or speech models that let you start another local task. Use the model or download manager only when you intend to remove model files too. For a computer, follow the separate &lt;a href="https://dev.to/alichherawalla/how-to-delete-ai-chats-and-images-from-your-computer-in-off-grid-ai-in-2026-without-deleting-models-4cj2"&gt;Desktop chat and image cleanup guide&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Clean up one finished image experiment
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://getoffgridai.co/mobile/" rel="noopener noreferrer"&gt;Open OGAM&lt;/a&gt;, save the one result you need, then remove a small set of unwanted drafts. Read the outcome and check Gallery again. Once the result is clear, repeat the same process for the next finished conversation.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>privacy</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to Organise Work and Personal Logins in Off Grid AI Vault in 2026</title>
      <dc:creator>Mohammed Ali Chherawalla</dc:creator>
      <pubDate>Tue, 13 Oct 2026 10:22:44 +0000</pubDate>
      <link>https://dev.to/alichherawalla/how-to-organise-work-and-personal-logins-in-off-grid-ai-vault-in-2026-3nb0</link>
      <guid>https://dev.to/alichherawalla/how-to-organise-work-and-personal-logins-in-off-grid-ai-vault-in-2026-3nb0</guid>
      <description>&lt;p&gt;Two accounts at the same website are easy to confuse. A login called "Portal" tells you little when one account is for work and the other is personal. OGAD (Off Grid AI Desktop) Pro lets you give Vault entries clear titles, place them in folders, mark favorites, and store several website URLs for one login.&lt;/p&gt;

&lt;p&gt;Start with a few accounts you use each week. You can find the right entry on the computer and choose it from the paired browser extension without moving your password collection into a cloud password account.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://getoffgridai.co/desktop/" rel="noopener noreferrer"&gt;Get OGAD&lt;/a&gt; | &lt;a href="https://github.com/off-grid-ai/OGAD/releases/tag/v0.0.55-beta.122" rel="noopener noreferrer"&gt;Desktop beta 122&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flhjswr8bdly1034tjg1s.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flhjswr8bdly1034tjg1s.webp" alt="Example Off Grid AI Desktop Vault with a selected website login. Folder and URL controls appear when you edit an entry." width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What would you like to do with Off Grid AI?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Have a feature or use case you would like us to support? Tell us what you want to do and which device you use.&lt;/p&gt;

&lt;p&gt;Write to &lt;a href="mailto:support@getoffgridai.co"&gt;support@getoffgridai.co&lt;/a&gt;, &lt;a href="https://join.slack.com/t/off-grid-mobile/shared_invite/zt-494gbuv5c-kj9tT7U0AS8Kq8UUO63_jw" rel="noopener noreferrer"&gt;join our Slack community&lt;/a&gt;, or &lt;a href="https://www.reddit.com/r/off_grid_ai/" rel="noopener noreferrer"&gt;talk to us on Reddit&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Prepare the Vault before sorting it
&lt;/h2&gt;

&lt;p&gt;Use desktop beta 122 with Pro active. Open &lt;strong&gt;Vault&lt;/strong&gt; and unlock it. If this is your first use, complete Vault setup and keep its recovery information somewhere you can access if the computer is unavailable. For browser autofill, use the early-access extension paired with this Desktop and keep Vault unlocked.&lt;/p&gt;

&lt;p&gt;These organization controls do not need a chat model. You are editing saved records, not asking AI to inspect passwords. Do not paste passwords, recovery phrases, or exported password files into a chat to sort them.&lt;/p&gt;

&lt;p&gt;The illustration above shows an example login. Your entry names and available fields will depend on your saved items and installed version. The procedure below uses the beta's edit form.&lt;/p&gt;

&lt;h2&gt;
  
  
  Give each account a useful title
&lt;/h2&gt;

&lt;p&gt;Suppose you have a work account and a personal account at the same design service, plus a client portal. Use titles such as "Design service - work," "Design service - personal," and "Northwind portal - project account."&lt;/p&gt;

&lt;p&gt;The title should identify the purpose. Keep the actual account identity in &lt;strong&gt;Username / Email&lt;/strong&gt;. A clear title helps you choose, but it does not change which account the password belongs to.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select a login in Vault.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;Edit&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Check &lt;strong&gt;Title&lt;/strong&gt;, username, and the saved website address.&lt;/li&gt;
&lt;li&gt;Change the title to identify the account's purpose.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Save&lt;/strong&gt;, then reopen the entry to check it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Do one entry first. If it is correct, repeat the same naming rule for the related accounts. Renaming a Vault entry does not rename your account at the service.&lt;/p&gt;

&lt;h2&gt;
  
  
  Put related entries in a folder
&lt;/h2&gt;

&lt;p&gt;The edit form has a &lt;strong&gt;Folder&lt;/strong&gt; field. Type a useful folder name or choose an existing suggestion. For example, use &lt;code&gt;Work/Email&lt;/code&gt;, &lt;code&gt;Work/Client portals&lt;/code&gt;, and &lt;code&gt;Personal&lt;/code&gt;. Keep the set small enough that you can choose a folder without thinking about a complex filing system.&lt;/p&gt;

&lt;p&gt;Save the entry, then use &lt;strong&gt;Folder filter&lt;/strong&gt; above the list to choose that folder. &lt;strong&gt;All folders&lt;/strong&gt; restores the full list. &lt;strong&gt;No folder&lt;/strong&gt; helps find entries that have not been assigned yet.&lt;/p&gt;

&lt;p&gt;A folder is an organization label. It does not create a second encrypted Vault, a different unlock secret, or separate permissions for a colleague. Only place accounts in this Vault when they belong in your intended local password collection.&lt;/p&gt;

&lt;p&gt;If a login seems to disappear after editing, check the folder filter and search text before recreating it. An active filter can hide a valid entry. Clearing the filter is safer than making a duplicate with another password.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mark the few logins you use most
&lt;/h2&gt;

&lt;p&gt;Open the entry's edit form and enable &lt;strong&gt;Favorite&lt;/strong&gt;, then Save. Favorites are placed ahead of other entries in the relevant list. Use this for the accounts you open frequently rather than marking every entry.&lt;/p&gt;

&lt;p&gt;For a normal workday, you might favor your work email and current client portal while leaving occasional accounts in their folders. The folder answers "Which group?" The favorite answers "Which do I use most?"&lt;/p&gt;

&lt;p&gt;Remove the favorite mark when a project ends. That keeps the top of the list useful without deleting a login you still need for records or occasional access.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add another website address to the same login
&lt;/h2&gt;

&lt;p&gt;Some accounts use more than one legitimate sign-in address. In the edit form, check &lt;strong&gt;Primary URL&lt;/strong&gt;, then choose &lt;strong&gt;Add URL&lt;/strong&gt; for each additional address. Save the entry and review the grouped websites in its detail view.&lt;/p&gt;

&lt;p&gt;Only add an address where those same credentials are valid. A second account with a different username or password needs its own login entry, even if both accounts use the same website. Adding a URL is not a way to grant that account access to a new service.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Situation&lt;/th&gt;
&lt;th&gt;Useful record choice&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Same account and password, another valid sign-in address&lt;/td&gt;
&lt;td&gt;Add a URL to the existing login&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Work and personal accounts on one website&lt;/td&gt;
&lt;td&gt;Keep separate login entries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Old address no longer used&lt;/td&gt;
&lt;td&gt;Remove that URL after checking the replacement&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Another project uses a different account&lt;/td&gt;
&lt;td&gt;Create or retain its separate entry&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Check the actual address in the browser before filling. A similar-looking page title does not establish that the page is the service you intended.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choose the right login in the browser
&lt;/h2&gt;

&lt;p&gt;Open the service's normal sign-in page in the paired browser. Use the key control in the field or open the matching Vault entry in the panel. When several saved logins match the site, select the intended account. Check the filled username before submitting the form.&lt;/p&gt;

&lt;p&gt;The extension can also offer to save a login you typed when Desktop confirms that it is not already saved. Complete the sign-in normally, review any save offer, and inspect the resulting record. A multi-page form can make the username less obvious, so check that field rather than trusting the title alone.&lt;/p&gt;

&lt;p&gt;If no entry appears, confirm that OGAD is running, the pair is connected, and Vault is unlocked. Then check the saved URLs. The website still receives the credentials you submit to it; local Vault storage does not remove the website from the sign-in process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Review imported entries in small groups
&lt;/h2&gt;

&lt;p&gt;After &lt;a href="https://dev.to/alichherawalla/how-to-import-saved-passwords-and-secure-notes-into-off-grid-ai-in-2026-5d5m"&gt;importing passwords and notes&lt;/a&gt;, start with one folder's worth of accounts. Check the title, username, URLs, and any notes. Test an important login before removing its old source record. Keep exported CSV files out of shared folders because they can contain readable secrets.&lt;/p&gt;

&lt;p&gt;Use &lt;strong&gt;No folder&lt;/strong&gt; to find unsorted entries, assign a folder, then mark only the frequent ones as favorites. Do not merge entries just because their titles match. Two imported records can refer to different accounts or contain different current passwords.&lt;/p&gt;

&lt;p&gt;You can keep login organization separate from password quality. Use &lt;a href="https://dev.to/alichherawalla/how-to-find-weak-and-reused-passwords-in-your-off-grid-ai-vault-in-2026-e1l"&gt;Vault's password audit&lt;/a&gt; for weak or reused passwords, and change a password at the actual website before updating the saved value. Editing a stored password alone does not change the website's password.&lt;/p&gt;

&lt;h2&gt;
  
  
  Organise the accounts you will use tomorrow
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://getoffgridai.co/desktop/" rel="noopener noreferrer"&gt;Open OGAD&lt;/a&gt; and choose a small group of work and personal logins. Give each a clear title, assign its folder, and check one browser sign-in. Once that group is correct, apply the same simple rules to the rest of your Vault.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>privacy</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
