Help for Offgrid Coder
The app is in development. This page describes the prepared first version. The app's interface is currently in German; the German names of the controls are given in quotation marks so you can find them.
Setting up Mac and editor
The same guide is available in the app and shows which steps are already done.
- Download Offgrid Coder Companion, open the file, drag “Offgrid Coder Companion” to “Applications” and launch it from there.
- Connect the iPad with a USB-C cable, unlock it and confirm “Trust This Computer”.
- Pair: on the iPad tap “Kopplungscode zeigen” (show pairing code); in the Companion open “Gateway & Kopplung”, enter the code and choose “Koppeln” (pair).
- On the iPad, under “Server”, pick a model, tap “Server starten” (start server) and wait until READY is shown.
- In the Companion, under “Gateway & Kopplung”, turn on the loopback gateway with “Starten”. It then runs at
http://127.0.0.1:18080/v1. - In Visual Studio Code, install the “Continue” extension from “Extensions”.
- In the Companion, under “Einrichtung” (setup), choose “Vom Gateway holen”, then “Reiseprofil einrichten” and “Sichern und schreiben”. Your existing Continue configuration is backed up first; “Rollback” restores it.
- In Visual Studio Code open the Continue icon and choose “Offgrid Coder (…)” in the model picker – the same model that is running on the iPad. No sign-in is needed.
- Ask a question.
Other tools can be connected by hand: provider “OpenAI-compatible”, address http://127.0.0.1:18080/v1, and as the key the local gateway token from the Companion.
Downloading and importing models
From the catalog: on the iPad under “Server”, in the model list, tap “Aus Katalog laden” (load from catalog). This is the only place where the app uses the internet; the files come from huggingface.co and are verified with SHA-256.
Without internet: connect the iPad to the Mac by cable, select the iPad in the Finder, open the “Files” tab and drag the model folder onto “Offgrid Coder”. The app then offers the folder for import and afterwards asks whether the copy in file sharing should be deleted. The folder must contain a model in MLX format with a config.json.
Which model fits?
- Qwen3.5 9B – recommended for code, with long context and tool calls. Needs an iPad with a lot of memory.
- Qwen2.5 Coder 7B – coding model, somewhat less demanding.
- Qwen3 4B – fast, also for iPads with less memory.
- Qwen3 0.6B – for the function test only.
Before every start the app checks whether the chosen model, including its loading peak, fits into memory, and otherwise refuses to start with an explanation. Closing other apps frees memory.
Pairing
Pairing runs over the USB-C cable. The code is valid for 120 seconds and allows at most five attempts. An iPad is paired with exactly one Mac; a new pairing replaces the old one.
While running
- Offgrid Coder stays in the foreground. If you switch apps or lock the display, iPadOS pauses the server.
- A power adapter is recommended. When hot or low on battery, the resource guard pauses the model and shows an alert with cause and recommendation.
- One request is handled at a time; a second one gets the notice “Belegt” (busy).
- After a longer period of inactivity the server stops by itself. “Server starten” loads the model again.
- Under sustained load iPadOS throttles performance; answers then get slower but remain complete.
If it does not work
- The editor reaches nothing at 127.0.0.1:18080: turn on the gateway in the Companion with “Starten”.
- “401” or “Unauthorized”: run “Reiseprofil einrichten” in the Companion again – the gateway token has changed.
- “Message exceeds context limit”: also run “Reiseprofil einrichten” again so that Continue knows the context limit of the running model.
- “Model not loaded”: in Continue choose the model that is running on the iPad.
- No answer: is the server on the iPad running (READY)? Is the app in the foreground and the display unlocked? Is the cable plugged in?
- Answer stops on very long requests: if generation makes no progress for 60 seconds, the request ends with a partial answer. Ask a shorter question or pass fewer files as context.
- Model does not start: the pre-check names the reason – usually too little free memory or a damaged file (checksum). In the second case download the model again.
Deleting data
“Alle Chats löschen” (delete all chats) removes saved conversations. Models can be deleted individually in the model list. Removing the app deletes everything: models, pairing and history.
Contact
Questions, bugs or ideas: info@zerfas.de. Please state iPad model, iPadOS version, app version and the language model used – but do not send confidential source code.