Repository navigation
Releases: wckdboy/autobot
Release list
Autobot 1.12.0
Your node's bots on your phone, a first chat in three taps, and a chat that reads like the terminal.
Bots (Android and iOS)
- Remote › Agents · my node lists your node's bots. Each row shows the name, persona, model, the channels it is on (telegram · slack), and what's wrong when a channel is down. The list refreshes each time you open the tab.
- A bot's page shows its channels and their state, its model and approvals mode, the approvals waiting for it (you can answer them there), its recent sessions, an on/off switch, and New chat with .
- The agent screen and approval cards say which bot is asking. "While you were away" gives one line per bot.
- It needs Invincible 0.0.13 or newer. Older nodes keep today's single agent.
A first chat in three taps
- Start here on Models picks one chat model that fits your phone. One button walks you through Download, Pause or Resume, then Start a chat.
- Autobot starts offline, and the card says so in one sentence: "Allow network and download" turns it on for the download. Once the model is ready, you can turn offline mode back on with one tap.
- Pair a PC and Add an API key on the welcome screen open what they say directly.
Chat (Android and iOS)
- Agent steps read like the terminal: ▪ for each step, with what it did underneath. A failed step is red and says why.
- Answers have Copy, Share and Read aloud. The last one has Retry.
- Long-press on any message gives the same menu on both apps.
Smaller things
- Models lists chat models first. Android shows NPU packages only on phones with a Snapdragon NPU.
- Remote, the Privacy Center and Providers use the same words on both apps. Model names replace catalog ids.
- The iOS tab bar now marks the active tab with a purple bar under its label, as on Android.
Autobot 1.11.1
See what your node did while you were away, and tell the agent what to do instead.
While you were away (Android and iOS)
- A card on the Run screen sums up what your node did since you last looked: requests answered (and whether they all stayed on your node), actions it ran (and who allowed them), and recipes and schedules that ran.
- What needs you comes first. "2 approvals waiting" opens the conversation they're in; team questions open the Board.
- Receipts are checked. "All 12 receipts verified" in grey, or a red line first when one fails to verify.
- Details opens the node's Activity, and ✕ dismisses the card. Nothing shows when nothing is new.
Something else (Android and iOS)
- An approval card from your node has a quiet third answer: Something else… Type what the agent should do instead and it does that. It needs Invincible 0.0.12 or newer.
Smaller things
- The theme follows your phone's setting by default. A theme you picked stays as it is.
- Android's welcome screen has the two quiet links again: Pair a PC and Add an API key.
Autobot 1.11.0
A new look on both apps: the purple pixel a, calmer screens, and the node's team board on your phone.
A new look (Android and iOS)
- The icon is the purple pixel a on white. The launch screen shows the same a.
- Calmer screens. Titles and buttons are in sentence case; the main screens' titles end in a small purple square. Labels and buttons are no longer in capitals.
- One way to show what's selected. Segments, chips and tabs show the choice in ink over a thin purple bar, everywhere.
- No more dot patterns. Progress bars are flat, loaders are three pixels, and image previews are plain panels.
- Purple is rare. It marks the a, the active tab, the switch you turned on and the main action of a screen. Links and code are in ink, and tags are neutral.
- Light mode looks as good as dark, and the Image screen follows your theme instead of always being paper.
- The node keeps its orange i on every screen about your node.
- Clearer empty screens: the a, one sentence and one action.
Your node's team board (Android and iOS)
- The Activity sheet has a Board tab with the team's plans and each task's state, and a count of the tasks waiting for you.
- A blocked task shows the member's question, with a field to answer it from the phone.
- Older nodes without a board show none.
Fixes
- Session rows line up with the margin. Large text no longer overlaps the Run cards on iPhone, and segment labels no longer break mid-word on small Android phones.
- On iPhone, "1 providers" now reads "1 provider".
- A voice test that depended on timing is steady.
Autobot 1.10.0
My node on iPhone too, what your machine did at a glance, recipes that run on your node, and the team of agents your machine can now run.
My node on iOS
- Pair your computer in Settings › Providers › + › My node (Invincible). Paste the code, or open the
invincible://pairlink from the camera. - Chats, signed receipts and "phone first, then my node" all work as on Android.
- The agent screen. Remote › Agents · my node: tasks on that machine, approval cards, and scheduled tasks.
What your machine did (Android and iOS)
The list button on the agent screen opens the node's Activity, read from its own logs:
- Requests: every request the node answered: who asked, which model, tokens, and whether anything left. Each receipt is checked against the key pinned at pairing.
- Actions: what the agent ran, and who allowed it.
- Memory and skills: what the agent remembered (you can make it forget), and your skills.
Recipes on your node
- Runs on in the recipe editor: this phone, or your node.
- On the node, a recipe runs on its schedule, always on and with no 8-minute limit, on the node's models, with only the recipe's tool groups (web included).
- Your time, wherever the node is. "07:00" means 07:00 where the phone is.
- Results come back as chats in the Recipes folder, with the node's signed receipts and a notification.
A team on your machine
- Team members. When the node's agent has a team, each member's answer shows under its name.
- You know who's asking. An approval says which member wants it ("coder: Run a command?").
- New approval cards for web fetches and MCP tools.
Fixes
- Several CI tests that depended on timing are steadier.
Autobot 1.9.0
Your own computer as Autobot's next tier: pair a machine running Invincible, chat with its models, hand its agent tasks you approve from the phone, and check what it signed.
My node (Android)
- Pair a computer. Install Invincible on a desktop or VPS (
curl -fsSL https://raw.githubusercontent.com/wckdboy/invincible/main/install.sh | sh), runinvincible pair, and scan the code with the camera app (or paste it). Settings › Providers › My node (Invincible). No account, no relay: the phone and the node pin each other's keys (Noise). - Chat with its models like any provider. Connections follow the kill switch (offline refuses them; Tor and SOCKS5 carry them with remote DNS) and show in the Privacy Center's audit log.
- Signed receipts. Every answer from the node is checked against the receipt key pinned when you paired: the receipt line says "kept on studio ✓" when nothing left the node, "studio → 1 host" when it used a cloud model (with the hosts, routes and what it redacted), or "studio unverified".
- Phone first, then my node. With "phone first" on a node chat, this phone answers first and a weak answer goes to your node instead of a cloud model. The node is hardware you own, so a sensitive prompt may go there and "Never" allows it; these turns are marked private, so the node never sends them on to a cloud model.
The agent on your machine (Android)
- REMOTE › Agents · my node. Give the Autobot Agent running on that machine a task: shell commands and file work, on its models. Every command, file write and read outside its working folder comes to the phone as a card first: Allow, Always (this conversation) or Deny.
- Scheduled tasks. The calendar button lists what the agent runs on a schedule (next run, how the last one went), adds tasks (cron, @daily, every 30m) and removes them. Scheduled runs only do what you allowlisted.
Fixes
- Node chats no longer show a REDACT chip: nothing is redacted for hardware you own.
- The streaming check with a real node leaves room for thinking models.
iOS: the pairing and receipt code is shared and tested on CryptoKit; the iOS node connector comes next, so "My node" says "not on iOS yet".
Autobot 1.8.0
Images come out the shape you pick, a full-screen viewer, recipes that run on their own, phone-first answers and a panic PIN.
Images (both platforms)
- 16:9 means 16:9. Picking a wide or tall shape could still give a square: on-device models compiled for one size (Core ML on iOS, QNN on Android) quietly swapped your size for theirs. They now render their square and return your shape cut from it, and Tune says "compiled for 1024² · other shapes are cut from the square".
- The resolution is a pixel budget. 16:9 at 1024 is about a million pixels in that shape (1368×768), so wide images keep the detail of the square. Every shape chip names the exact size it makes, and the picker remembers your choice instead of snapping back to 512.
- Picking a model keeps your shape instead of resetting to its square. MNN sizes round to the nearest 64 instead of always down.
- A server that sends back a square anyway is cut to your shape (Android) or named in a notice (iOS), and the gallery records the size it really got.
- Full-screen viewer. Tap a result, a gallery image or an image in chat: pinch or double-tap to zoom, pan, swipe through the batch, swipe down to close. The info sheet shows the real pixel size and every setting used.
- Do more with an image: use it for img2img (prompt and settings carried over, strength showing), inpaint, vary, reuse settings, same seed, upscale 4× (when an upscaler is installed), share, save, copy settings, favorite, delete.
- The agent's
generate_imagetakes an aspect ratio and keeps the shape when given one side. - img2img without an input image now says so instead of quietly running as text-to-image; Tune says when a model can't apply your LoRAs.
Recipes (both platforms)
- On-device agents on a schedule. Settings → Recipes: a prompt, a schedule, a model and the tools it may use. Runs in the background on the phone (WorkManager on Android, background processing on iOS), once for a missed time, safe across daylight-saving changes.
- A private notification opens the result chat after the app lock. While the phone is locked, iOS says "Unlock to run ". Recipe data is encrypted and goes with a wipe.
Phone first (both platforms)
- The phone answers first. Off by default. Settings → Privacy → Phone first (ask / auto / never) and a chip per chat: in a cloud chat the installed on-device model answers, and a quick judge decides whether the answer is good enough.
- Ask offers "Ask " under a weak answer; Auto sends it on only when nothing personal, health, money, attachment or memory related is involved; Never keeps it on the phone. A follow-up passes the redaction gateway, and the receipt says what happened and why.
Panic protection (both platforms)
- App PIN with back-off after wrong tries, an optional wipe after N failed unlocks, and a duress PIN that wipes and opens as a fresh app. The wipe survives being interrupted and can keep downloaded models.
- Incognito images stay out of the gallery: they're marked "Not saved" in chat and Imagine, and only Save keeps them.
Accessibility (both platforms)
- Red, amber, cyan and UV text now reads at WCAG AA contrast on both ink and paper.
- Android holds at 200% font size: crowded rows stack, labels wrap instead of cutting off, segmented tabs are 48 dp tall. An automated audit renders the main screens at 200%.
- iOS follows Dynamic Type up to the largest accessibility sizes, icons and tap targets grow with the text, and thumbnails tell VoiceOver they're buttons.
Files
autobot-1.8.0-release.apk: signed release (ai.wckd.autobot, arm64-v8a, Android 14+). Signer certificate SHA-2569a1378acf9587885e7920355558c85a1ec0e89304f58c153feebf90fdee7f3f1.autobot-1.8.0-debug.apkautobot-1.8.0-mapping.txt: R8 mapping, for reading crash reportsSHA256SUMS.txt
iOS: TestFlight build 1.8.0.
Autobot 1.7.1
Cleaner prints, a faster start, and dictation that keeps up: a polish release.
Cleaner ink (both platforms)
- No more doubled dots. On Android, the paper behind the Image screen, chat, voice, Models, Gallery and the lock drew every dot twice, with a faint copy a few pixels off. Paper is one plate again.
- Prints land on their own dots. When a result printed, its colour plate started half a dot away and read as a second grid. It now starts as a thin rim on the same dots and settles.
- Pictures print in where they show. A wide image in a square chat thumbnail or a Studio chip no longer prints a stretched copy next to the cropped one.
- One dot field per screen: the voice panel, the empty Models search and empty chat no longer stack a second field under the first, and image proofs sit on whole pixels.
- iOS: a halftone preview always matches its own image. A new image could pick up an old image's dots.
Faster (both platforms)
- Android starts sooner. The app now ships a Baseline Profile, so startup code runs precompiled even on a sideloaded install. On the emulator: 13–17% less time to the first real screen and about 20% less main-thread work.
- iOS starts sooner. Fonts and device checks load in the background, about 90 ms earlier to the first frame in the simulator.
- Live dictation shows words sooner and more often. Partial passes only encode the audio heard so far, 2–4× less work. Stopping usually has nothing left to transcribe.
- Faster draft-model checks. Each speculative step costs less, a draft that failed to load is retried later, and a failed check carries on without the draft instead of ending the answer.
- Image model warm-up. It loads again ahead of Generate after it was freed, switching models no longer loads both, and on Android it stays loaded while the Image screen is open.
- Smoother lists: the iOS chat list scrolls with fewer hitches, and Android's Models list only redraws rows that changed. Catalog previews and parsed chat text have a memory limit on iOS.
Fixed
- Read-aloud no longer cuts off the last words before the assistant uses a tool.
- Talking over a spoken answer no longer triggers by itself when the voice resumes after a pause.
- iOS: the last words you say before tapping stop are no longer lost from dictation.
- A quick double tap on the mic starts one dictation, not two.
- The Image screen no longer jumps when the style row appears, and its readouts stay readable at large text sizes.
- Android: tabs and switches grow with large text instead of clipping, the chat title fits on 360 dp phones, and unlocking no longer flashes the app for a frame.
- Usage: limits read "1 of 10 requests"; on iOS a limit typed as 1,000,000 saves correctly, a mistyped number can't be saved, and quick edits in a row all stick.
- iOS Studio: a video ending no longer stops another, Play/Pause shows the right state after coming back, and Play replays a finished clip.
- Android: the Compute benchmark explains a failed draft check in words, not an engine code.
- The image model is no longer reported as loaded after it was freed for another engine, and a malformed draft output can't pick a wrong token.
Files
autobot-1.7.1-release.apk: signed release (ai.wckd.autobot, arm64-v8a, Android 14+). Signer certificate SHA-2569a1378acf9587885e7920355558c85a1ec0e89304f58c153feebf90fdee7f3f1.autobot-1.7.1-debug.apkautobot-1.7.1-mapping.txt: R8 mapping, for reading crash reportsSHA256SUMS.txt
iOS: TestFlight build 1.7.1.
Autobot 1.7.0
Your words stay yours in the cloud, replies come faster on the device, voice answers while it thinks, and you can see what every model costs.
Redact before cloud (both platforms)
- Placeholders, not your data. Before a chat goes to a cloud model, names, emails, phone numbers, addresses, card, IBAN and account numbers, and your memory facts become placeholders like
[PERSON_1]. The answer comes back with your real words, put back on your phone. - Tools still work. The agent gets the real values back on the phone, so it can still write the email or fill in the file.
- On by default, in Settings → Privacy & security. A
REDACTchip turns it off for one chat. "This phone" and local servers are never redacted. - On the receipt. It shows what was hidden ("2 names · 1 email"), never the values. Code, links, dates and version numbers are left alone, so coding chats keep working.
Faster replies with a draft model (both platforms)
- A small model guesses, your model checks. Install Qwen3 0.6B next to Qwen3 4B Instruct 2507, Llama 3.2 1B next to 3B, or Qwen2.5 Coder 0.5B next to the Coders. On a Mac GPU, code, lists and rewrites came 1.3–1.7× faster and long answers about 2×.
- Every word is still your model's. Thinking budgets, tool calls and the stop button work as before. Short agent steps skip the draft, so they never get slower.
- Auto / On / Off in Compute. Auto drafts only when the pair fits your memory comfortably, and pauses when drafting doesn't pay. The benchmark and the diagnostics report show the speedup and how many guesses were kept.
- Qwen3.5 models don't use drafts: their memory can't take back wrong guesses cheaply. A draft from another model family is refused with a reason.
Voice that keeps up (both platforms)
- Your words as you speak. Dictation shows settled words in ink, with the rest firming up as you go. Audio is never saved.
- Answers start out loud after the first sentence, not after the whole reply. Code is skipped; numbers and abbreviations are read whole.
- Just talk to interrupt. In hands-free mode, speaking over an answer stops it, keeps your first words and listens.
- Stopping dictation is faster: the last pass starts right away.
Usage, counted on your phone (both platforms)
- Settings › Usage: tokens, requests and cost for today, this week and this month, a bar per day, and a breakdown by provider and model. Nothing is sent anywhere.
- Your prices, never guesses. Enter a model's price per million tokens; until then it says "cost unknown". Anthropic's published prices are built in.
- Subscription windows. Track OpenCode Go's 5-hour, weekly and monthly limits, or any plan's, with progress and when it resets.
- Tokens on every receipt, per model, with what they cost. On-device answers cost $0.
- When a provider throttles a request, its rate-limit headers say when to try again.
Images (both platforms)
{red|blue}in a prompt makes one image per option, with the same seed, side by side, up to 16 at a time. The agent'sgenerate_imagedoes the same.- One tap for a style (Photo, Cinematic, Risograph, Ink, Watercolour) or a negative preset on the Image screen.
- The first image comes sooner: your on-device model loads while you're still writing the prompt.
- Android shows "Loading the model" until sampling starts, the progress bar no longer jumps back on every preview, and batches show progress on each image in turn.
Fixed
- iOS Studio: reusing an inpaint recipe came back as img2img and repainted the whole picture. It now comes back as inpaint and asks for the mask.
- Steadier iOS test runs: waits no longer run out while another test holds the main thread.
Files
autobot-1.7.0-release.apk: signed release (ai.wckd.autobot, arm64-v8a, Android 14+). Signer certificate SHA-2569a1378acf9587885e7920355558c85a1ec0e89304f58c153feebf90fdee7f3f1.autobot-1.7.0-debug.apkautobot-1.7.0-mapping.txt: R8 mapping, for reading crash reportsSHA256SUMS.txt
iOS: TestFlight build 1.7.0.
Autobot 1.6.6
Faster and smarter on-device chat: a real thinking switch with a budget, the NPU reads your prompt while the CPU writes the answer, proper formatting in answers, and a lighter Run screen.
Thinking you control (both platforms)
- A real switch. The
∴ thinkchip above the composer cycles Auto / On / Off; long-press for a budget (256 to 4k tokens). It's remembered per chat, with optional per-model defaults. Thinking is turned off through the model's own chat template, not a prompt the model can ignore. - A budget the engine enforces. When thinking reaches its budget, the engine wraps up and the model answers. Part of the output is always reserved for the answer, and a loop guard ends thinking that goes in circles.
- Auto is sensible. Small models (under 4B) skip thinking in quick chat, which is faster and, on 0.8B models, also more accurate. Agent and code modes think within a budget. Subagents and summaries never think.
- Before and after: Qwen3.5 0.8B used to think about 2,000 tokens and never answer. Now it answers in 25 ms with thinking off, 1 s with a 128-token budget, and 3.3 s on Auto in agent mode.
- Cloud providers get their real reasoning control (OpenAI, Claude, OpenRouter, Qwen, DeepSeek, Z.ai, Groq, Gemini, vLLM, llama.cpp server). Auto leaves each provider's default alone.
NPU reads, CPU writes (Android, Snapdragon)
- A new npu+cpu setup: the Hexagon NPU reads your prompt, then the CPU writes the reply. On a OnePlus 15 with Qwen3.5 0.8B: prompts read at about 2,500 tok/s (CPU about 100), and replies are written at about 50 tok/s (NPU alone about 40). A long agent prompt that took 10–20 s to read now takes under a second.
- Auto now ranks engines by a typical turn (about 1,000 prompt tokens + 200 generated), so it picks npu+cpu where that's fastest. If memory is short, it falls back to the NPU alone.
- The Compute screen shows all five engines. An on-device bench (
engine/llama/bench/android.sh) is included for anyone measuring their own phone.
Formatted answers (both platforms)
- Answers render headings, bold, italic, lists (nested and checkboxes), quotes, tables, code blocks with copy, and links.
- Still private: nothing in a message can make a network request. Images show as text ("[image: alt · host]"), HTML stays literal, and links ask before opening in your browser, with a warning for plain http.
- Streaming stays smooth: half-written formatting shows as text until it closes. Parsing a 20 KB answer takes under 1 ms per update.
- A copy button under each answer copies the original markdown. Read-aloud speaks the plain text without symbols.
Smoother
- Run screen (Android): each card's dots draw in their own layer, and the image art is drawn once. Main-thread work per frame dropped from 5.5 ms to 2.5 ms.
- Background dots on both platforms update 5 times a second instead of 10. The slow wave looks the same, and the GPU wakes up half as often, saving battery.
Fixed
- Claude: newer models reject
temperature, which conversation summaries were sending. It's no longer sent. - Android: panic wipe also clears the formatted-text cache.
Files
autobot-1.6.6-release.apk: signed release (ai.wckd.autobot, arm64-v8a, Android 14+). Signer certificate SHA-2569a1378acf9587885e7920355558c85a1ec0e89304f58c153feebf90fdee7f3f1.autobot-1.6.6-debug.apkautobot-1.6.6-mapping.txt: R8 mapping, for reading crash reportsSHA256SUMS.txt
iOS: TestFlight build 1.6.6.
Autobot 1.6.5
Clear Settings and a new About screen, honest engine labels, the right image defaults, and smoother screens. Tuned on a real OnePlus 15.
Settings and About (both platforms)
- Settings is laid out in one clear order: Privacy & security › Agent › Appearance › Data › About. Every setting has exactly one home. Providers, image backends and accounts live in Remote, and Panic wipe lives only in Settings.
- About shows your version, build number and build date, and this release's "What's new". The notes are built into the app, so they work offline. "All releases" and "Source code" open in your browser. It also has licenses, the privacy statement ("No analytics. No telemetry. Network only where you allow it.") and Copy diagnostics.
- Android: About shows the release signing certificate and checks it against the APK you're running, so you can verify your install is genuine.
Labels you can trust
- Route tags show the engine actually doing the work.
- Android: NPU, GPU or CPU, for images and for chat (from what the engine reports).
- iPhone: Neural Engine or GPU for images, GPU (Metal) for chat.
- "CPU" no longer appears for models running elsewhere.
Better image defaults
- Picking a model applies its recommended steps, guidance, sampler and size, without overriding anything you changed. Illustrious DMD2 now opens at 8 steps and 1024² instead of 20 steps at 512². SDXL models never default to 512².
Cleaner screens
- Run: the status line fits, the card grid is aligned, the image art is clean, subtitles wrap instead of cutting off, and an empty "Recent runs" is hidden.
- Models: the phone header fits; installed rows read like "image · NPU · 4.5 GB".
- No halftone dots behind text or numbers anywhere.
- iPhone: nothing is cut off on the iPhone 17e or at extra-large text, and the 17e shows its chip name.
Smoother
- Android: halftone fields are drawn as batched dots. On the OnePlus 15, Imagine's dropped frames halved (22% → 11%), and slow frames went from 42 ms to 16 ms (p90).
- iPhone: screens hidden under the Studio stop animating (stutters 3–6 → 0). Studio Library reloads thumbnails 4× less often while scrolling, and Imagine at rest uses half the main-thread time.
Measured on a OnePlus 15 (Snapdragon 8 Elite Gen 5)
- Qwen3.5 0.8B: CPU 49 tok/s generation, NPU 576 tok/s prompt reading. After the Compute benchmark, Auto picks the fastest engine.
- Illustrious SDXL DMD2 on the NPU: 1024², 8 steps in 8.8 s with the model loaded (17 s cold).
Files
autobot-1.6.5-release.apk: signed release (ai.wckd.autobot, arm64-v8a, Android 14+). Signer certificate SHA-2569a1378acf9587885e7920355558c85a1ec0e89304f58c153feebf90fdee7f3f1.autobot-1.6.5-debug.apkautobot-1.6.5-mapping.txt: R8 mapping, for reading crash reportsSHA256SUMS.txt
iOS: TestFlight build 1.6.5.