1.2.2
Fixes:
- A Control UI tab left open no longer keeps the install awake. After the idle close, the tab retries its connection and checks
/healthzabout every 15 s. Those requests reset the idle timer, so the install never slept. Now a tab that was idle-closed gets its requests answered without counting as activity and without waking the install. A health check from any tab is not activity either. Reload the tab to use it again. - The owner console no longer reloads the whole page every 30 s (every 5 s while the state changes). It now updates the state card and the open tab in place, so the page does not flash, the scroll position stays, and a Setup form you are typing in is not cleared. It skips a refresh while the browser tab is hidden or a form has focus or edits. A login page or an error still causes one full reload.
- Sleep now in the owner console now sleeps the install even if you used it in the last minutes. Before, it refused with
3:idleuntil the idle timer ran out, and opening the console counted as use. An open archive, an import or an unsent message still refuses it, with the reason.
1.2.1
Fixes:
- A full disk now shows. While alert
disk-fullis open (95 % used),ochost status,ochost doctorand the console say the install is degraded, with the reason.disk-high(80 %) is listed with the alerts only. Both close by themselves when the disk is back under 90 % and 80 %.ochost statusshows the disk use. - Soak engine: two waits for test installs, so leftover updates and a late creds copy no longer fail a run.
1.2.0
New:
ochost import <seed-dir>brings an old OpenClaw install in.--dry-runprints the plan. Workspace andmemory/merge into the workspace; the bootstrap files replace the new defaults (old copies in.ochost-import/<id>/backup/), other files the install already has are kept. Records, raw transcripts, media and skills without a target go to file storage (history/INDEX.jsonmaps keys to the old names). Cron jobs are re-created. Config keys that OpenClaw 2026.10.9 has merge into a new version; the rest is listed. Credentials,.envfiles and keys never leave the laptop. Rules for one old install (vault paths, dirs for file storage, skills to park, cron jobs to skip or turn off) come from an optional local file,--rules <file.json>;ochost import -hshows the fields. With the sandbox on, the same merge runs in the sandbox workspace.- The Setup tab of the owner console has controls for the sandbox (off, on, all), the alert channel (URL, Save, Test, Off) and the model. Each form is one POST and works with JavaScript off.
- New alert
no-reply: a Telegram message accepted 5 minutes ago has no reply while the install runs. The Telegram row in the console andochost doctorshows the count. ochost sandbox on|off --applywrites the setting, deploys, and restarts.- Channel setup from the OpenClaw UI. Paste a bot token in Settings > Channels and save; the Setup tab then shows an Adopt button, and
ochost channels adopt <telegram|slack|discord|twilio>does the same. The Worker moves the credentials out of the config, sets the webhook and restarts the gateway. Polling mode is refused. testTimersinoc-host.jsoncsets the timers of a test install. A real install ignores it.
Fixes:
- Data loss: a boot that does not use a valid clean marker now voids it. Before, a later crash boot from the same snapshot could restore SQLite from before the newest gen and lose rows.
- An inbox row that the gateway answers 404 or 501 goes dead after 5 misses and 5 minutes, with alert
inbox-dead. Before, such rows held the install awake for up to 23 hours. ochost restartduring a sleep no longer leaves the install stopped.ochost restartright after a deploy no longer asks for a second archive when the newest one finished less than 2 minutes ago.- The self-test at the end of
ochost initno longer warns on a healthy install. ochost model list --refreshreads every page of the model search.sandbox onsandboxes your Telegram DM too; only the Control UI chat stays on the gateway. The docs said the main chat was exempt.- Sandboxed sessions keep the
file_storetool. The agent skill names the search andfile_storetools. - The
firecrawlpackage is not in the image. Runochost config renderon a config that still names it. - Alert
archive-failedcloses when a later archive completes. The console cost guard line reads as a state, not a fault. - Soak engine checks for test installs are fixed.
1.1.1
- One plugin card, “Cloudflare capabilities”, for web search and web fetch through the gate, with the browser state in its status and Test. It replaces the “Cloudflare Web Search” card and the
firecrawlentry. Runochost config renderon an older install. - The
cfgwprovider lists the whole Workers AI chat catalogue, so you can pick a model in the Control UI or with/model.ochost model list --refreshupdates the list. - The owner console reads the config render version from the newest version that carries it, so a boot where OpenClaw’s Doctor rewrote the config no longer shows “config render outdated”.
- The file storage plugin card is named “Cloudflare R2 via oc-workers”; OpenClaw’s own “Cloudflare” plugin stays off.
- The skill is
oc-workers-cloudflare. ochost restartafter a deploy waits up to 5 minutes for the pre-restart archive and gives up after 90 s without progress.ochost destroy --delete-dataempties the bucket with an R2 job before it deletes it.- The main model’s thinking level is
agents.defaults.thinkingDefault(the Control UI’s Thinking row), set tolowonly when absent; utility and compaction keep a per-modeloff. The UI row is the one place to change it.
1.1.0
New:
- File storage on R2. The agent saves files to the storage location
r2through the gate, with no credential in the container. Files are durable on write and outside snapshots and archives. New toolfile_store,ochost caps set storage <gb>, afile storagerow in doctor and the console,ochost destroy --delete-datapurges them. - Model roles. The main model thinks at
low; titles, recaps and compaction run on@cf/google/gemma-4-26b-a4b-itwith thinking off. The gate passesreasoning_effortto Workers AI.ochost modelshows each role;ochost model set --role utility|compaction <id>;model bench --role; a deprecated model is refused. Runochost config renderon an older install. - One-shot init.
ochost initfinishes the setup: Telegram and Cloudflare Access from flags or one question each on a fresh install;--alerts ntfy|webhook;--sandbox ongoes in before the first deploy. ochost sandbox onsandboxes every session except your main chat (OpenClaw modenon-main);on --allsandboxes every session.
Fixes:
- Sandbox on: web search, web fetch, the browser, memory, media and the message tool work in sandboxed sessions. OpenClaw’s sandbox tool policy left them out.
- Speech model is
@cf/deepgram/aura-2-en;@cf/myshell-ai/melottsstops on 2026-11-15. ochost channels add telegramrestarts a running gateway so the bot starts at once.ochost auth accesswaits for the Control DO before the restart, ends with a login link, and names the--teamfix when the token cannot read the organization.- Token files may be env files (
KEY=value);~in a path expands; known files in~/.config/oc-host/are offered as defaults. - Ops commands run the wrangler the package ships, never
npx. ochost initrefuses a Worker of the same name that is not an oc-host install.- The bench shortlist drops two retired models and adds
glm-5.3andglm-4.7-flash.
1.0.0
Owner console
- The console has three tabs: Overview (cost, alerts summary, budgets, connected checks, backups), Alerts and log, and Setup. Tabs are links (
/?tab=) and need no script. Buttons are only in Alerts and log and in Setup. - The state card stays on top. One state button shows Wake now, Sleep now, Start or Retry now, by state.
- Setup has Approve for pairing requests, Raise for a budget near its cap, Archive now and Restore drill.
ochost doctorreadsGET /ops/doctor, the same JSON the console shows.- Without a session,
/shows the login form only.
Install and CLI
ochost initasks for no AI token. Model calls run on the Worker’s Workers AI binding through the capability gate.--ai-token-fileis an optional override.initprints one line per step and a summary block.--jsonoutput is complete, and WARN lines carry a fix.- New
init --telegram-owner <id>: your first direct message is approved without a code. - New
init --fake-telegramfor a test install. - New
ochost config render. Older installs pick up new capability settings.ochost deployruns it when the config render version is older. ochost deploywith a new image, thenochost restart, boots the new image. An archive runs first.ochost destroydeletes the sandbox app and its image tags.- The image push retries on
connection resetandbroken pipe. - The default model is DeepSeek V4.1 Flash on Workers AI through an AI Gateway. New
ochost model bench.
Channels
- New
ochost channels add slack|discord|twilio. The Worker checks the signature, stores and acknowledges the event before the container is up. - Slack and Twilio SMS messages reach the gateway. The image has the OpenClaw Slack and SMS plugins. Run
ochost deployon an older install. - New
ochost inbox listandochost inbox drop.channels remove --forceandsleep now --forcedrop messages that the gateway did not take. - The
inbox-blockedalert comes after 3 “route missing” answers. channels add smsandchannels remove smswork as names for Twilio.- Telegram cold replies show the typing indicator and a “Waking up” message while the install wakes (
telegram.wakeProgress).channels add telegramturns on streamed replies. - Pairing requests stay open 24 hours. Strangers and unlisted groups do not wake the install.
- Messages that arrive while the gateway restarts wait for it. After a crash, only recent messages are sent again.
Capabilities and sandbox
- The capability gate serves browser, web fetch, web search, embeddings, speech, transcription and image calls, with daily budgets. New
ochost caps. - Web fetch uses the
firecrawlplugin in the image. Web search uses the Cloudflare Web Search API. - New tool sandbox, off by default:
ochost sandbox on|off|sleep. Newexecandsandboxbudgets.
Security and access
- A login link from
ochost openopens a Continue button. A link preview cannot spend it. - Login works in Firefox.
- New
ochost auth access --domain <host>: Cloudflare Access on a custom domain. - A daily
heartbeatalert and adeadman-silentalert.ochost doctorchecks the alert sink. - The Worker answers with the waking page, not Error 1101, when the Runtime throws while the install sleeps or stops.
Backups and upgrades
- Archives run on a schedule, with verification and restore. A test restore marks each replica generation
verified. - Archives are pruned after each archive and taken from a copy, not the live database.
- Credentials are copied to R2 and restored if the Control DO is rewound.
- Disk checkpoints survive crash loops. Sleep snapshots are smaller. OpenClaw’s heartbeat no longer keeps waking an idle install.
- New
ochost upgrade check,runandrollback, with a schema gate. - After two failed Doctor boots on one image, the install raises one alert with the Doctor output tail.
Sleep and wake
- The install sleeps when idle and wakes on a message or a timer.
- New
sleep.minAwakeMinutes.