Repository navigation
Off Grid AI Desktop 0.0.55-beta.122
Pre-release
Pre-release
Highlights
New
- Scroll bars are thin and appear only while their area is scrolling
- An assistant can show its own welcome in an empty conversation; God explains what it can do there
- The Off Grid AI guide reads the pages that answer a question in full, with their steps, tables and links
- The Off Grid AI guide reads the quick start, guides, articles, perspectives and ethos, and finds the pages about a task
- Admit LAN and Tailscale peers to the extension bridge
- Connectors grouped by service, each group a section saying how many are on
- The Tasks tab lists grounding specialists and decision models apart, as cards like Text
- Text, Transcription, Tools and Tasks open a section at a time; God shows Active models and Settings
- Image, Voice and Remote tabs open in collapsible sections, each saying what is set inside
- A collapsible settings section, with a summary line and a smooth open
- The Tasks tab shows the models working together, and each card its role
- One task roles view for every Models screen, over IPC and the gateway
- A ding when a reply arrives, in Chat and God, from one setting
- A reaction on a message just sent comes after a natural pause
- A web task that falls back to the Off Grid AI browser says so
- God moves to Pro; core keeps only the seams
- Work can run without the AI request log keeping any of it
- Pick Manual, Auto or Hands-free right in God's voice box
- A trained wake word listens all the time; the transcriber waits until after
- Train and run the wake-word model on this machine with onnxruntime
- One Ares in both places: the same pose, spin, motion and sword swing
- Ares talks hands-free in voice mode
- A ding when Ares hears its name, so you know it is listening
- List every active model, so a client sees the decider and the specialist
- Routines that react to what happens, and an Add form
- See and manage scheduled tasks in God settings
- Scheduled tasks God runs on its own (routines)
- God reacts with an emoji when a message only needs acknowledging
- A dot on God when it has something new for you
- God is Chat, set up to do everything, with Ares's controls under him
- Conversations know whether they belong to Chat or God
- Edit a connector and confirm before removing it
- God is Pro, and chat mode does not listen
- God knows Off Grid AI's features and what is new
- The wake word is Ares, the companion's name
- God is a chat with Ares that knows your day and speaks up
- Call it God, not God Twin
- God Twin is the assistant: one name, and it acts as well as answers
- A paired browser sees each account's access, and cannot add one
- God Twin replaces Assistant: talk to Ares, wake it with Aries
- Check short clips for the wake word on this machine
- Add branded connection setup to onboarding and integrations
- Support direct provider authentication and identity hooks
Fixes
- Patch vulnerable desktop development tools
- Patch compatible vulnerable desktop dependencies
- Cancel owned image requests and detach browser tabs before release
- Clear lint and guide parsing blockers and pin recovery test
- Let a thinking Qwen model on OpenRouter choose its tool
- Website-capture fixes for task titles, chat rendering, routing and loopback ports
- Settle the assistant when the chat closes mid-rest, instead of from a timer that outlives it
- Open browser frames in arrival order, so a reply never overtakes the event sent before it
- Update Pro pointer for Athena shield clearance
- Update Pro pointer for corrected motion assets
- Moving a conversation to God tells paired devices, and Pro syncs the conversation's screen
- Adopting the offered tab names the task, so a task that queued for minutes still gets its tab
- A browser rename updates the desktop title, and an edit the desktop cannot apply is refused as a conflict, never reported as synced
- Continue runs inside the same privacy gate and model settings as a new task of its kind
- A voice turn keeps the chat it was recorded in and is never delivered into another
- Task model roles change only from this machine or a paired browser, and only to a model that fits
- Core loads Pro's account cards through the Pro loader, never by importing Pro
- Each browser task has its own id and its own tab from the moment it is accepted
- Lineups show only task models; the reasoner is the Text model
- Use on a decision model sets it for both Web Use and Computer Use
- A remote decision model carries the Decision tag, so no list offers it as a grounder
- Decode article titles once, and keep only links on the site's own origin
- The grounding and decider backends live in Tasks, beside the models they run
- One turn mode for Chat and God, picked in the voice box, Auto by default
- Models screens mark task models active by their Tasks role, remote ones included
- Retry runs a web task in the browser Tasks > Web Use chooses
- A Continue never inherits a Stop meant for an earlier run
- A web task stopped while it waits never starts
- A remote chat model never leaves a local one loaded, at startup or on switching
- A turn that ends with no answer is asked once more, then says why
- Web Use and Computer Use settings tell every window when they change
- Clicks pass through Ares on the desktop; only his controls take the mouse
- Listening for its name works in Chat mode too, not only Voice
- A chat's offered tab wins over the Web Use browser setting
- Browser chats keep syncing past the browser's 40-turn window
- Change token gives an edited local connector its token again
- A chat follows its own task by id, and a tool turned off never runs
- A wake always carries its source; drop the dead check
- Match the extension's bridge: a web task starts in the chat's tab, reports its id and progress, and Stop stops it
- A web task a browser offers its tab for starts in that tab, not a new one
- The first test saves the tools for the services granted at sign-in
- A new command does not inherit the old command's secrets
- A tool the desktop lists also runs, connector tools on a free desktop included
- A routine's held action says it waits for approval, not that it failed
- A routine never runs an unapproved change, and its runs never wait on each other
- A paired browser gets the same tools this chat has on, built-ins included
- Always offer the acting tools in assistant mode and let the model decide
- A request put as a question still gets Web Use
- Ares on the desktop steps aside while the God screen is in front
- Room at the ends of Ares's control bar; type the routine gate test
- Forward remote reasoning exactly as Chat does
- God's empty chat asks for a question; no model or gallery buttons
- "emails" finds the email tools in every connected account
- Answer plain questions instead of starting a web task
- Sealed frames to the browser stay in sequence; pin Pro refresh fix
- Ares's Talk button stops listening too, and its controls are clear
- Wait for a model load while the engine is working, not a fixed minute
- Keep Connect your work up when the connector list is missing; align stale tests
- Onboarding says accounts are read live, and Reconnect fixes the broken account
- Say an account is read live instead of offering to sync it
- Let Pro revoke a provider sign-in before a connector is removed
- Tolerate partial renderer bridges
What's Changed
- Re-staple only when the library's staple failed on a dropped connection (675e6bb)
- Notarize Mac builds in an afterSign hook that keeps stapling while Apple's ticket service drops (9755306)
- Retry Apple's ticket service when its connection drops during Mac stapling (aadea46)
- Show what a failing macOS trust check printed, so a stapling failure names its cause (87038e0)
- Launch the speech spec through the shared helper so its run counts toward E2E coverage (57e1a50)
- Use Pro with Desktop-styled vault screens and their passing tests (3d9029b)
- Answer trusted gateway origins from the fixed allowlist, never from the request (75e1c7d)
- Answer untrusted gateway origins with the wildcard, not their own origin (e860d80)
- Refuse extension origins on protected gateway routes (40d2821)
- Skip embedding journeys when the local cache is absent (be17dee)
- Activate the test license once and confirm status after reload (7b5c601)
- Clear previous action effects when vision milestones advance (218e479)
- Accept conversation compaction when it reduces estimated tokens (2199d2c)
- Update Pro: vault field test type-checks (e7a8468)
- Keep the sponsoring Mac licensed when pairing another device (902fca4)
- Pair a real peer in the Devices journey with its licence seat registered (0e0eaa3)
- Close the Google setup dialog before the next screenshot case (7ce6668)
- Give the browser approval journey a real conversation, and cover both cases (e6a054a)
- Update Pro: steady capture exclusion journey (39f747d)
- Let the e2e licence seeding survive Pro starting in place (65ee3fe)
- Bring the remaining e2e journeys up to the current app (7307bfd)
- Stop the embedding worker when the app quits (41d1dc2)
- Bring the Pro, settings and onboarding e2e journeys up to the current app (0e76731)
- Bring the chat e2e journeys up to the current Chat (d718155)
- Wait for an installed routing model; cap the wait only for a download (597c4f4)
- Report Chat tool results to Pro, and walk the approval gate through Chat (c5a403e)
- Expect the sidebar Menu label to stay in place, hidden, while collapsed (0113319)
- Expect a resource mode to save without a model in the resource-mode test (c5e589d)
- Regenerate the mirrored debugging doctrine in CLAUDE.md (6dd0797)
- Update Pro: proximity helper survives discovery restarts (23b98e1)
- Expect a fresh install to save its resource mode in the gateway journey (402685d)
- Update Pro: clipboard capture on by default again (d4b197c)
- Send each new question to the model once (6a2f546)
- Offer every tool while the routing model is still loading (f5f5536)
- Save a resource mode on a fresh install without reporting a failure (9fadca7)
- Don't hold a chat turn while the tool-routing model downloads (3746afb)
- Keep sidebar items still when the rail expands on hover (984fa19)
- Open a fresh install on Models, not a locked Day screen (bfe57ef)
- Update Pro: steady capture journeys and the meeting journey on macOS (9ea0a04)
- Keep the vision guard test from downloading the embedding model (ea5f425)
- Expect the browser's own task and link to run in the approval test (62c3788)
- Keep the gateway's inference routes open to any origin, as 0.0.54 did (28b1b4d)
- Update Pro: open every card in the browser, and store notes with the type older builds hide (40a688c)
- Compact long chats in time for Japanese and Chinese (024c25d)
- Test that upgrading a 0.0.54 profile keeps every hand-set setting (82b2d57)
- Keep the legacy Kev checkpoint after Kev 1.0 downloads (3b0749f)
- Keep linked models and metadata when moving models to another folder (35ad223)
- Refuse website requests to the local gateway (508443f)
- Ask on Desktop before a browser chat sends or changes anything (9c7f9ce)
- Close the paired browser's data-out and settings paths, and show who is pairing (c1500a5)
- Update Pro: give the native bridge test a read-only connector catalog (e96642b)
- Keep extension read-only tools on the paired browser's tool list (761ce48)
- Match a page tag without overlapping whitespace in the fence (e06cbd7)
- Allow only read-only tools through a paired browser's direct tool call (91a5bf9)
- Escape an unfinished page tag in browser page text (a61efee)
- Mark the mobile audit rows merged (a8d368d)
- Update Pro: receive transferred models into the current models folder (1ffe965)
- Find the legacy Kev base in the profile after a models Move (7b3e84d)
- Keep an upgraded install's own settings instead of fastest ones (f677f72)
- Expect the turn count on a listed browser conversation (d8a0d42)
- Say Desktop is built for macOS, Windows and Linux (4957b7c)
- Update Pro: give the browser one-time codes, card digits and turn counts (bde9b4f)
- Name the page title and address limits in the shared chat contract (c24994f)
- Count every stored turn when listing a conversation for the browser (97459ec)
- Update Pro: wait for the TOTP code in the vault test (135e3f5)
- Break the four import cycles the dependency check found (ddbcd72)
- Strip tags from a conversation snippet until none is left (aeb00ef)
- Update Pro: tell the browser whether a submitted login is already saved (3d2077b)
- Keep the shared chat contract under the complexity limit (364f8b2)
- Send the voice playback speed to the paired browser (8e3e4a0)
- Test uncertain browser actions through the real Web Use host (6a20b1e)
- Export the chat page parser from the shared bridge contract (3656a7e)
- Test native recording against the matching shared branch (05902e8)
- Treat an unconfirmed browser action as uncertain, never repeat it (b704d64)
- Update pro: show the error message when the browser Agent tool test fails (1373efa)
- Check grouped websites in the vault journey and point Pro at both changes (18f4856)
- Build the page block in Desktop and size it from the model's context (090ce94)
- Update pro: report offered tools when the browser Agent tool test fails (7bf65a8)
- Check every vault kind in Desktop's vault screen end to end (9406bc6)
- Serve models, voices, transcription and speech over the sealed bridge (716e7d5)
- Hide support GGUFs from the model file picker and label each file (7bdd875)
- Send or delete a queued chat message (9b5f5f5)
- Give a quiet model load ten minutes before trying the next engine (c4a6272)
- Read image, voice and transcription models from added model folders (811d0ef)
- Point Pro at the vault screen for every item kind (bc73d43)
- Use the Kev 1.0 checkpoint for Kev 4B (d52cf95)
- Give the browser valid setting choices from Desktop's own rules (d88f26d)
- Serve chat search and paging to the paired browser (2b454a0)
- Save a stopped partial answer once, and drain queued images after Send Now (0118c57)
- Embed memory with no chosen model folder, and escape search text for FTS5 (cd45cd3)
- Own the browser conversation origin rule in one core helper (c6a432f)
- Release stuck chats, keep answer versions with their question, and keep queued messages (7bd8d4c)
- Point Pro at the stricter weak-password audit (b47786c)
- Point Pro at the one-save LastPass import (4b2f9f3)
- Report browser chat support and keep the bridge chat files identical to the extension (44b9191)
- Point Pro at clear endings for over-long and stuck browser runs (d61fdda)
- Point Pro at the DB suite move for browser chat branch tests (93fb1bc)
- Accept a branch point on browser chat starts (529dead)
- Keep the active model and settings after Leave files, and read from scan folders offline (fb223e4)
- Move only Off Grid's model files and delete old copies after restart (3caf22f)
- Offer only read tools to plain browser chat (c92738e)
- Refuse computer_use for any request that carries a paired browser tab (34f6003)
- List the full tool catalog for browser tool handoffs again (e5747e7)
- Escape page tags inside browser page text (542819d)
- Follow a new tab that a web_use page opens in the user's browser (f2f2e81)
- Keep computer_use and page actions away from paired-browser chats (0932c57)
- Accept task control and guidance from the browser panel (4657d46)
- Handle model folder read failures without an invalid optional call (242b68e)
- Explain media model support in added folders (aef6994)
- Reuse speech assets from saved model folders (e3e1a2b)
- Keep image and transcription models available across storage folders (ffe7a59)
- Keep the compaction summary with the chat and send it on later turns (c4ed4f9)
- Summarize a chat that fills its window instead of keeping 400 characters of it (5e8f4b8)
- Update pro: task events, God rules, Tasks pane (ae46fd6)
- Stop a vision task after 5 invalid replies in a row (8e7a54a)
- Plan extension tasks from the page already open (82435fb)
- Give the web_use step model history and repair its replies (aa92052)
- Fall back to el.click() and hand CAPTCHAs to the user (98e2d46)
- Fall back to in-page tools after two debugger refusals (df43b94)
- Route browser-panel tasks to web_use on the paired tab (e2e85fd)
- Accept task control and guidance from the browser panel (0e47f44)
- Run pre-push tests under Electron's Node runtime (827bd55)
- Run chat queue and image persistence e2e in CI on Linux (b65248d)
- Find the chat composer by its Message label in e2e (5cf1431)
- Queue chat messages and keep earlier answer versions (b09a257)
- Use real runtime path checks in speech worker tests (e429fe9)
- Send the user's standing rules with every chat turn (83787a5)
- Suggest the next chat message after an answer (e21e37e)
- Let the user choose where model files live (a8f383c)
- Pair Gemma 4 E4B and 12B with their MTP draft models (cf5cbe1)
- Use real runtime path checks in embedding request tests (44e3066)
- Keep an empty folder list when discovery returns no data (7efb9eb)
- Preserve executable permission on the push hook (525f341)
- Run push tests without replacing the open app SQLite module (8415570)
- Guard optional model inventory subscription cleanup (a47e00b)
- Keep Storage available when folder discovery is unavailable (d5d1203)
- Add model folder controls to Storage (9f0f7d8)
- Bring model storage selection and external folders from the video branch (61b7f86)
- Match the MTP control to the Models filter row (f338171)
- Offer Gemma E4B and 12B MTP companions in the model GUI (d3c286d)
- Keep Web Use going when another extension blocks Chrome's debugger (5bab7d1)
- Account for next-message suggestions in real chat journeys (051ce95)
- Verify the reported speech runtime error in database journeys (67b48ff)
- Elide older tool results before a long tool sequence fills the window (911499e)
- Stop the model from repeating the same tool call (9920b77)
- Let the model recover when a tool fails or is called by the wrong name (4d1152c)
- Declare the native browser test result type (799eeb1)
- Use the DOM test library accessible-name options (237d7aa)
- Update Pro with the narrow task-panel width fix (ff11dac)
- Keep the message input accessible when suggestions change (5b6b929)
- Show the speech provider error instead of an install hint (7eed65a)
- Include the compact task details regression test (79aed7e)
- Keep optional suggestions from interrupting voice playback (da38a14)
- Check the tool failure through its result contract (9f0e8af)
- Reject Computer Use in the paired browser task contract (149993b)
- Update Pro browser routing, memory, and compact task view (7264133)
- Run browser recovery and suggestion native tests in CI (736833f)
- Avoid a duplicate Desktop browser for running external tasks (0a6189c)
- Verify the paired browser tool instructions (8527273)
- Update Pro to frame the move playing now, and never shrink the God below two thirds (4f0e872)
- Offer a suggested next message in Desktop chat (1e4187a)
- Preserve stopped task state after the action worker finishes (ad732b5)
- Keep paired browser tasks on Web Use (9d309a6)
- Fix browser task errors and recover page control in the same tab (88b8b75)
- Start fresh installs on their fastest settings (788f4df)
- Add Use fastest settings to the model settings panel (df538ea)
- Default Computer Use screenshots to 1440px (4b63ae4)
- Space context checkpoints 2048 tokens apart for hybrid models (771fcc5)
- Keep a conversation's tools in place so each turn reuses the prompt cache (b773075)
- Verify bounded browser chat contracts and native tool selection (54acec3)
- Use bounded-time LastPass expiry parsing from Pro (368667e)
- Settle unfinished chat test requests during teardown (eac0d15)
- Keep chat ownership and queued input across navigation (2f028a9)
- Keep prior replies safe during replacement and use current queued history (6522d23)
- Keep prior replies safe during replacement and use current queued history (8230fbe)
- Keep prior replies safe during replacement and use current queued history (7ed5793)
- Keep prior replies safe during replacement and use current queued history (85f3baa)
- Keep prior replies safe during replacement and use current queued history (4e5516c)
- Keep prior replies safe during replacement and use current queued history (e391434)
- Keep prior replies safe during replacement and use current queued history (a0cdd4f)
- Add Desktop queue shortcuts and saved response versions; test the real browser bridge (79ef38e)
- Apply Desktop tool budgets and Pro access rules to browser requests (94582a1)
- Add Pro-gated browser chat bridge using Desktop tool budgets (3680c61)
- Update Pro to frame every attack on its own so a jump is never cut off (026c365)
- Update Pro to fold each hand's attacks into its own section under Fight (606b87c)
- Update Pro to keep the Fight moves list in its own scrolling box (c438938)
- Update Pro to let people choose which attacks the God makes (bd002a3)
- Update Pro to rotate the Gods through captured sword and spear attacks (5bb7e53)
- Update Pro to let the free hand swing when the God carries a weapon without a shield (e6ee17a)
- Update Pro to close Athena's hand round her spear and put her nails back on her fingers (2c47b01)
- Fix active text selection and Grounder CI; use shorter MTP drafts (779b46d)
- Update Pro to taunt with a chest thump then a battlecry, and frame the God and gear panel (902d5da)
- Update Pro to make the Taunt control alternate a chest thump and a battlecry (ee555ee)
- Add MTP model selection and saved draft token limits (ee30ea3)
- Update Pro to add a Taunt control and stop the God's control bar being cut off (31ebe8a)
- Update Pro to rotate the Gods through seven captured unarmed attacks (6bcd9dc)
- Update Pro to give the Gods captured armed motion, a battlecry and an idle taunt (8a5a408)
- Update chat engines and support compatible MTP companion decoding (3f2eeea)
- Update Pro to keep Sync logs panel development-only (71f276c)
- Update Pro to fix eviction of unpaired licensed devices (cb564b8)
- Update Pro for God toolbar settings and monitor positioning (9ab7b05)
- fix(release): patch vulnerable desktop development tools (e7f3e03)
- fix(release): patch compatible vulnerable desktop dependencies (cc7200f)
- fix(gateway): cancel owned image requests and detach browser tabs before release (f315a6e)
- fix(release): clear lint and guide parsing blockers and pin recovery test (5ca692a)
- docs: add the 2026-10-06 agent landscape (6761bff)
- fix(remote-chat): let a thinking Qwen model on OpenRouter choose its tool (eab2b0a)
- chore(demo): seed the Acme pilot scenes for website capture (f08b2a7)
- fix(desktop): website-capture fixes for task titles, chat rendering, routing and loopback ports (ec9bc62)
- build(pro): update pro (20e2506)
- build(pro): update pro (0ffd38a)
- build(pro): update pro (d93f0c1)
- test(chat): closing the chat while the assistant rests settles it at once, with nothing left to fire (f4bcb6f)
- build(pro): update pro (4ea0e59)
- fix(chat): settle the assistant when the chat closes mid-rest, instead of from a timer that outlives it (e6dbbb9)
- fix(extension-bridge): open browser frames in arrival order, so a reply never overtakes the event sent before it (807cc85)
- build(pro): update pro (fe1ebe8)
- build(pro): update pro (0deafa0)
- build(pro): update pro (8c6eef9)
- State the next price tier: $119 once or $7.99/month (495603f)
- Match Pro pricing copy to getoffgridai.co: $69 once or $4.99/month (1e244d4)
- build(pro): update pro (e2f5864)
- build(pro): update pro (d6fb441)
- build(pro): update pro (1e3339c)
- fix(god): update Pro pointer for Athena shield clearance (dad90e0)
- fix(god): update Pro pointer for corrected motion assets (821aed9)
- build(pro): update pro (4a77132)
- build(pro): update pro (ce42da5)
- build(pro): update pro (f6b110e)
- build(pro): update pro (af4ce0d)
- build(pro): update pro (ca51df8)
- build(pro): update pro (4e55848)
- build(pro): update pro (c1ba26b)
- build(pro): update pro (fccc441)
- build(pro): update pro (c3353e5)
- test: keep pro's Playwright journeys out of unit-test coverage (6c2c803)
- build(pro): update pro (211254c)
- build(pro): update pro (99eeef2)
- build(pro): update pro (56ebb08)
- build(pro): update pro (232b609)
- build(pro): update pro (08dd2c5)
- build(pro): update pro (0311fad)
- build(pro): update pro (abe5f71)
- build(pro): update pro (ff6b592)
- build(pro): update pro (163e079)
- feat(ui): scroll bars are thin and appear only while their area is scrolling (a64c168)
- feat(chat): an assistant can show its own welcome in an empty conversation; God explains what it can do there (e6dd6bb)
- build(pro): gods download from R2 at runtime.getoffgridai.co (92fe6a7)
- build(pro): Choose your god with portraits, who each god is, and progress on the card (025db19)
- build(pro): no god downloaded means no empty slot in God mode and no desktop God (8131125)
- build(pro): gods download from R2 on first use: Choose your god, publish script, Athena joins Ares (e263665)
- build(pro): Ares ships as a character with helmet, shield, spear and greaves; the old single model is gone (b6cbd72)
- build(pro): the God code is free of lint warnings: scene, wake capture, settings and routines split into named parts (ef9d161)
- feat(guide): the Off Grid AI guide reads the pages that answer a question in full, with their steps, tables and links (4f50f0b)
- build(pro): God characters and equipment are wired in: avatar, settings and saved look; the shipped Ares is unchanged (1477f79)
- build(pro): the God's character and equipment are saved with its look (7808bb5)
- feat(guide): the Off Grid AI guide reads the quick start, guides, articles, perspectives and ethos, and finds the pages about a task (2183381)
- test: the task history composition gives Electron a userData path, now that retries run inside the screen-task gate (8c6668e)
- refactor(models): role requests are checked in their own module, so the model inventory and task roles no longer import each other (5733ad8)
- fix(sync): moving a conversation to God tells paired devices, and Pro syncs the conversation's screen (8d650bb)
- fix(browser): adopting the offered tab names the task, so a task that queued for minutes still gets its tab (e55ddbe)
- fix(bridge): a browser rename updates the desktop title, and an edit the desktop cannot apply is refused as a conflict, never reported as synced (28ef947)
- build(pro): Use your own application shows the setup steps for Google and Microsoft again (6ff5ace)
- fix(tasks): Continue runs inside the same privacy gate and model settings as a new task of its kind (8137eb3)
- build(pro): tests for Microsoft and Google accounts, Obsidian vaults, God context and the Ares window (e125ac9)
- build(pro): a queued routine checks again when the model queue admits it; more Pro tests (85ad290)
- fix(voice): a voice turn keeps the chat it was recorded in and is never delivered into another (f4c3f36)
- fix(security): task model roles change only from this machine or a paired browser, and only to a model that fits (def8a5d)
- test: the OAuth-cancel journey keeps the real slot registry and overrides only getSlot (87bce52)
- test: the voice journey chooses Manual turns, the remote journey opens Other models, a typed helper (7f7f3db)
- fix(boundary): core loads Pro's account cards through the Pro loader, never by importing Pro (90e5486)
- fix(tasks): each browser task has its own id and its own tab from the moment it is accepted (1f219ca)
- ci: the checkout's saved GitHub login no longer overrides the UI package token (46ffcb2)
- ci: trim the UI token secret, and say which way GitHub refused it (ac4fcb9)
- ci: say plainly when the private UI package cannot be read, instead of a later missing-module error (d22304e)
- feat: admit LAN and Tailscale peers to the extension bridge (a50d66c)
- ci: let npm read the private UI package for Pro, with OPERATOR_UI_TOKEN or the cross-repo token (d784544)
- feat(settings): connectors grouped by service, each group a section saying how many are on (6f7f160)
- build(pro): Pro owns the private UI package's styles (94265f0)
- build: core no longer needs the private UI package; it is an optional dependency Pro uses (61394ca)
- build(pro): Tasks lists on-device models only (cb904c3)
- feat(models): the Tasks tab lists grounding specialists and decision models apart, as cards like Text (8640c61)
- fix(models): lineups show only task models; the reasoner is the Text model (fc0f7ca)
- fix(models): Use on a decision model sets it for both Web Use and Computer Use (bc5cf59)
- fix(models): a remote decision model carries the Decision tag, so no list offers it as a grounder (c98a059)
- fix(guide): decode article titles once, and keep only links on the site's own origin (a1d7d9b)
- build(pro): AI inference runtimes inventory (2831df1)
- build(pro): Tasks and God settings in sections (8b607e0)
- feat(settings): Text, Transcription, Tools and Tasks open a section at a time; God shows Active models and Settings (df8eb24)
- feat(settings): Image, Voice and Remote tabs open in collapsible sections, each saying what is set inside (18053c6)
- feat(settings): a collapsible settings section, with a summary line and a smooth open (beddf69)
- feat(models): the Tasks tab shows the models working together, and each card its role (f8a1310)
- feat(models): one task roles view for every Models screen, over IPC and the gateway (a2ffc4d)
- refactor(models): one place sets or clears a task model role, and every screen goes through it (955e612)
- build(pro): God's reply sound uses the shared setting and chime (2f34e8a)
- feat(chat): a ding when a reply arrives, in Chat and God, from one setting (5d973c5)
- chore(settings): keep the slot's lint exception beside it (a0601d4)
- fix(settings): the grounding and decider backends live in Tasks, beside the models they run (629d84c)
- build(pro): God's voice and reaction tests follow the shared turn mode (7b248f3)
- feat(god): a reaction on a message just sent comes after a natural pause (868239a)
- fix(voice): one turn mode for Chat and God, picked in the voice box, Auto by default (76836e2)
- fix(models): Models screens mark task models active by their Tasks role, remote ones included (bec4b85)
- build(pro): Web Use browser choice shows pairing and connection (7cb7e74)
- feat(tasks): a web task that falls back to the Off Grid AI browser says so (af8642b)
- fix(tasks): Retry runs a web task in the browser Tasks > Web Use chooses (f9e5be0)
- build(pro): God answers a wake from another screen; teaching closes its mic on leave (b29c68a)
- fix(tasks): a Continue never inherits a Stop meant for an earlier run (fca6fb6)
- fix(tasks): a web task stopped while it waits never starts (c620235)
- feat(god): God moves to Pro; core keeps only the seams (f4787c4)
- test: the bridge journey mocks the embeddings package the app loads; a reopen keeps its profile (99b9f9a)
- feat(privacy): work can run without the AI request log keeping any of it (a08ff1a)
- fix(models): a remote chat model never leaves a local one loaded, at startup or on switching (02d1483)
- feat(god): pick Manual, Auto or Hands-free right in God's voice box (aaf3e38)
- fix(chat): a turn that ends with no answer is asked once more, then says why (aaa6595)
- fix(settings): Web Use and Computer Use settings tell every window when they change (0b38334)
- fix(god): clicks pass through Ares on the desktop; only his controls take the mouse (f3040c1)
- fix(god): listening for its name works in Chat mode too, not only Voice (aa9f243)
- feat(god): a trained wake word listens all the time; the transcriber waits until after (9a126b8)
- feat(god): train and run the wake-word model on this machine with onnxruntime (5ae4c2f)
- chore(pro): the next meeting comes from connected calendars too (9711622)
- fix(web-use): a chat's offered tab wins over the Web Use browser setting (aae5a64)
- fix(bridge): browser chats keep syncing past the browser's 40-turn window (1f2b70b)
- fix(connectors): Change token gives an edited local connector its token again (f14b9c9)
- fix(bridge): a chat follows its own task by id, and a tool turned off never runs (7dc46c4)
- feat(god): one Ares in both places: the same pose, spin, motion and sword swing (1bd9c1a)
- fix(god): a wake always carries its source; drop the dead check (066771c)
- feat(god): Ares talks hands-free in voice mode (fba7801)
- feat(god): a ding when Ares hears its name, so you know it is listening (f037937)
- chore(pro): a failed mail read is never taken for an empty inbox (3f08627)
- fix(bridge): match the extension's bridge: a web task starts in the chat's tab, reports its id and progress, and Stop stops it (a87979f)
- fix(web-use): a web task a browser offers its tab for starts in that tab, not a new one (747c757)
- fix(connectors): the first test saves the tools for the services granted at sign-in (9eb2369)
- fix(connectors): a new command does not inherit the old command's secrets (f207309)
- chore(pro): updating a Google account keeps its new sign-in (6c70ac3)
- fix(bridge): a tool the desktop lists also runs, connector tools on a free desktop included (756bd6a)
- fix(god): a routine's held action says it waits for approval, not that it failed (bd76a5f)
- fix(god): a routine never runs an unapproved change, and its runs never wait on each other (3c176f6)
- feat(gateway): list every active model, so a client sees the decider and the specialist (971ee8a)
- fix(bridge): a paired browser gets the same tools this chat has on, built-ins included (5389631)
- fix(god): always offer the acting tools in assistant mode and let the model decide (60c4ce5)
- Revert "fix(god): a request put as a question still gets Web Use" (8c8695c)
- fix(god): a request put as a question still gets Web Use (3685813)
- build(pro): pin the hooks God's routines react to (cf07a01)
- feat(god): routines that react to what happens, and an Add form (3766c4b)
- feat(god): see and manage scheduled tasks in God settings (650a496)
- fix(god): Ares on the desktop steps aside while the God screen is in front (6d114e2)
- fix(god): room at the ends of Ares's control bar; type the routine gate test (26b7b30)
- feat(god): scheduled tasks God runs on its own (routines) (683dc4d)
- feat(god): God reacts with an emoji when a message only needs acknowledging (f5629c0)
- feat(god): a dot on God when it has something new for you (3f3cdd4)
- fix(gateway): forward remote reasoning exactly as Chat does (b95fce3)
- docs: screenshots for the PR (synthetic profile): God, accounts, Obsidian, MCP (dabb0cd)
- test: give jsdom's storage back where Node 26 shadows it (10f3a2d)
- docs(audit): answer every row of the work log audit (079e869)
- build(pro): pin Pro's revoke-failure notice (80401a7)
- test(accounts): wait for a cold first launch before opening Integrations (cf2052b)
- fix(god): God's empty chat asks for a question; no model or gallery buttons (0b75fad)
- test(app): render App inside TooltipProvider, as main.tsx does (720bce7)
- feat(god): God is Chat, set up to do everything, with Ares's controls under him (5bbdb99)
- feat(god): conversations know whether they belong to Chat or God (7f83048)
- fix(tools): "emails" finds the email tools in every connected account (ea971d8)
- test(accounts): add, change and remove every account kind in the real app (01db4b7)
- test(god): the shell test expects God to be Pro in a free build (7bc153c)
- feat(connectors): edit a connector and confirm before removing it (9a0d9d9)
- fix(god): answer plain questions instead of starting a web task (b02a1f9)
- fix(bridge): sealed frames to the browser stay in sequence; pin Pro refresh fix (6e6d0de)
- build: every build can find the Google and Microsoft app registrations (dc21ff8)
- feat(god): God is Pro, and chat mode does not listen (6c63375)
- feat(god): God knows Off Grid AI's features and what is new (cce8323)
- ui: replace God robot icon with Ares helmet (a789c83)
- fix(god): Ares's Talk button stops listening too, and its controls are clear (75a4b37)
- docs: save Codex work log audit (0d83654)
- docs: save Microsoft registration evidence locally (e44e2d5)
- fix(llm): wait for a model load while the engine is working, not a fixed minute (f15fb10)
- feat(god): the wake word is Ares, the companion's name (48171d0)
- feat(god): God is a chat with Ares that knows your day and speaks up (47395b1)
- feat(god): call it God, not God Twin (437474a)
- fix: keep Connect your work up when the connector list is missing; align stale tests (2df1ee7)
- feat(god-twin): God Twin is the assistant: one name, and it acts as well as answers (13812b8)
- feat(accounts): a paired browser sees each account's access, and cannot add one (aa8f2e1)
- fix(accounts): onboarding says accounts are read live, and Reconnect fixes the broken account (9c388b6)
- fix(accounts): say an account is read live instead of offering to sync it (3d3c331)
- fix(accounts): let Pro revoke a provider sign-in before a connector is removed (75b82ca)
- feat(god-twin): God Twin replaces Assistant: talk to Ares, wake it with Aries (416cea1)
- feat(god-twin): check short clips for the wake word on this machine (b13ffa5)
- chore: pin provider integration submodule and include review evidence (9957a22)
- docs: align brand guidance and record integration research (93ef76f)
- feat: add branded connection setup to onboarding and integrations (3b38993)
- feat: support direct provider authentication and identity hooks (78f5319)
- fix(god-twin): tolerate partial renderer bridges (f818b70)
- Start hands-free capture when Ares wakes (17c4f86)
- interim (cfdcddd)
Full Changelog: v0.0.55-beta.114...v0.0.55-beta.122