OpenClaw 2026.10.10 broke every chat turn on my box (11/11 failed). Will updates ever not be gambling?
I've been using openclaw since it was moltbot. For six+ month I've been on and off active in this subreddit.
Updating already has its own routine: read the release, dry run, detached updater, and afterwards a script that checks every model and every connection and usually have it fixed with an outside model. We all know: that routine exists for a reason. But today even that didn't help.
This morning I went from 2026.9.7 to 2026.10.10. The release was about seven hours old and tagged latest.
- The migration rewrote my claude-cli model refs to anthropic refs. One agent had an API primary with a Claude CLI fallback on purpose. After the update it was pinned to the CLI and the fallback was gone. Had to restore it from the pre-update config.
- Then every agent turn in my main chat failed. 11 out of 11. The SQLite worker has a hard-coded 512 MB heap cap, and my main session is big (~127k transcript events, 1 GB agent DB). The worker hits the cap, dies with ERR_WORKER_OUT_OF_MEMORY and gets respawned, followed by a full integrity check of the DB that takes up to 28 s on the Pi. Whatever was in flight is gone. 13 worker deaths in about 50 minutes.
- In Telegram that shows up as "Agent database execution admission is closed", "This Codex session changed before your message could run. Please send it again." or "OpenClaw couldn't finish this request". Replies that were already generated never arrived.
- Switching from Codex to Claude changed nothing. /new changed nothing either; the session ID stays the same.
Yesterday on 2026.9.7, same session, same DB: zero of these errors.
The best part: there's already an issue for this exact failure class (#185953, reported on 2026.10.7: an unbounded transcript read kills the 512 MB worker). It was closed as "already implemented on main". It still happens on 2026.10.10. Searching the repo's issues for "admission is closed" gives 56 results.
It's not the first time either. After the June update, the Codex OAuth had to be repaired before I could even smoke-test. Last week every Codex request failed with a 403 "Codex cannot verify the owner of this model request" for about 45 minutes, until a gateway restart fixed it.
I was defending OC against the Hermes onslaught, I tried to help other users to go through painful updates and I fixed mine a hundred time, but I think I finally arrive at a point where I had enough. I thought stable was supposed to be stable?
I know this is opensource, I know people put a lot of personal effort into this but honestly we see these issues with every update, we are told it gets better, it gets worse.
Here's the issue if someone cares: openclaw#191847
8 points · 9 comments
Engineers are working on multiple sessions, and LLM is doing most of the commits/pushes. This is becoming norm at big techs.
If you are wondering what these changes are, you can take a peek at github.com/openclaw/openclaw/commits/main
This isn't to say that such pace of iteration is good or bad. That's a separate discussion.
@nicongdev 解决办法:不要使用 GPT
看到 GPT 写测试我就头痛,经常会因为 GPT 写的垃圾测试太多干脆把项目删掉
不过听说这个是有用的:
github.com/openclaw/openclaw/blob/main/.agents/sk…
4 likes · 564 views
An AI agent read a Japanese novel as 208,953 replacement characters
OpenClaw is an open-source AI agent. When a message contains a link, its link-understanding step fetches the page and hands the text to the model, so the agent can answer questions about it. I pointed it at Natsume Sōseki's Kokoro on Aozora Bunko, and the model received 208,953 copies of U+FFFD, the replacement character. The Japanese text was gone.
The bug
Aozora Bunko serves its texts as Shift_JIS. The link fetcher didn't care what the page declared and did this:
const content = new TextDecoder().decode(buffer).trim();
new TextDecoder() with no argument is a UTF-8 decoder. Shift_JIS bytes are not valid UTF-8, so almost every character became �. Any page served in a legacy encoding (Shift_JIS, EUC-JP, GBK, Big5) went through the same thing.
Nothing failed loudly, which is the annoying part. The model got a wall of replacement characters, and the replies came back garbled too.
The decoder was already there
It turned out web_fetch, the agent's general web tool, already had a decoder that does this properly. It checks, in order:
1. A byte order mark (UTF-8, UTF-16LE, UTF-16BE)
2. The charset parameter of the Content-Type header
3. For HTML and XML responses without a header charset: an <?xml encoding="..."> declaration, <meta charset>, or <meta http-equiv="Content-Type">
If the label is one TextDecoder doesn't know, it falls back to UTF-8 instead of throwing.
So the fix is mostly an export:
// src/agents/tools/web-shared.ts
export function decodeResponseBytes(res: Response, bytes: Uint8Array, truncated = false): string {
// src/link-understanding/apply.ts
import { decodeResponseBytes } from "../agents/tools/web-shared.js";
const content = decodeResponseBytes(response, buffer).trim();
Writing a second decoder would have been easy. Keeping two of them in sync would not.
Why the first attempt stalled
An earlier PR for the same bug used a strict decoder. That fixes Shift_JIS pages but breaks pages that declare no charset at all, and plenty of pages don't declare one. Reusing the web_fetch decoder keeps those on UTF-8, exactly where they were before.
The test
The regression test serves a page from a local HTTP server with this header:
content-type: text/plain; charset=Shift_JIS
and the body [147, 250, 150, 123, 140, 234], which is 日本語 ("Japanese") in Shift_JIS. The test expects the agent to see 日本語. On main it fails, with the fix it passes, and nothing else in the suite changes.
Proving it on real pages
Six bytes in a unit test is a start, not proof. I ran the change through the production link-understanding path, with the strict SSRF guard on, against live public pages:
| Page | Replacement characters before | After |
|---|---|---|
| Kokoro on Aozora Bunko | 208,953 | 0 |
| 阿部寛のホームページ | 13 | 0 |
Then the maintainer, obviyus, re-ran it through a built Gateway: a real session, a real chat message, and a model fixture that records exactly what the model receives. On main the Shift_JIS turns came back garbled. With the fix the model got 阿部寛のホームページ, and the UTF-8 control page stayed the same. It merged as openclaw/openclaw#188766.
If your agent fetches web pages
Check how it turns bytes into text. Both new TextDecoder() and Response.text() decode as UTF-8 no matter what the server says, so an agent built on either one has this bug on legacy-encoded pages. You don't need a library to fix it: read the BOM, the Content-Type charset and the document's own declaration, then fall back to UTF-8.
An AI agent read a Shift_JIS page as 208,953 replacement characters
1 point
10 coding agents, one Qwen 3.8 27B, same llama-server: tokens and cache reuse differ more than pass rates
Part 2 of my agent test (part 1 was a 4B model)
Hardware I used: MacBook Pro M5 Max, 64 GB. Qwen 3.8 27B Q4 on llama.cpp, thinking off.
Setup
- same model and server for everyone
- 5 small coding tasks, each with a little trap
- each agent locked in a sandbox: it can only touch its own folder and only talk to the model
- auto-approve on, telemetry off, 5 min limit
Results
|#|Agent|Passed|Median time|Median tokens|Cache reuse|Tried to go online|
|:-|:-|:-|:-|:-|:-|:-|
|1|Pi|5/5|38 s|9.2k|72%|no|
|2|DeepSeek Harness|5/5|60 s|35.3k|83%|no|
|3|Codex CLI|5/5|94 s|36.3k|79%|every run|
|4|OpenClaw|5/5|106 s|39.0k|72%|unclear|
|5|Cline|5/5|152 s|29.6k|79%|every run|
|6|OpenCode|4/5|50 s|32.4k|75%|every run|
|7|Hermes|4/5|80 s|64.9k|93%|no|
|8|Atomic Agent|5/5|56 s|30.4k|86%|no|
|9|goose|4/5|98 s|20.3k|76%|every run|
|10|Qwen Code|4/5|183 s|107.9k|74%|unclear|
Tokens and cache
Pi is crazy lean: about 9k tokens per task, the lowest on every single task. Qwen Code was the hungriest at about 108k per task.
Atomic Agent is the odd one out in how it works. It was the only one talking to llama.cpp's native endpoint with a grammar that forces the tool calls into shape. The other nine all went through the OpenAI-style API. It's also built to keep its prompt the same from step to step, which is why it reused 86% of the cache (2rd of 10). It stayed offline the whole time and passed 5/5.
DeepSeek Harness was the surprise. It’s still an alpha, but it went 5/5, never tried to go online, and had the best cache reuse after Atomic Agent (83%).
The trap and the network
The log task got three agents. They grepped "ERROR" and got 244 instead of 64, because some normal lines just mention errors. OpenCode, goose and Atomic Agent fell for it.
Codex, Cline, goose and OpenCode tried to reach the internet in every run, even with telemetry off. The sandbox blocked it, so I don't know what they were calling. OpenClaw and Qwen Code are "unclear" because they run as plain node and I couldn't tell them apart.
llama.cpp notes
- Codex needs llama-server's /v1/responses now
- Hermes needs at least 64K context
- Cline and Qwen Code have usage stats on by default, DeepSeek Harness uploads session logs (per their docs). I turned it all off
Which column matters most to you when you pick an agent for a local model like Qwen 3.8 27B: passing, speed, tokens, or staying offline?
36 points · 36 comments
An OpenClaw Skill for Exchange Rates: Stop Your Agent Guessing the USD/EUR Rate
Ask an agent built on OpenClaw what 2,400 dollars is in euros and, without a tool, it answers from training data. The number looks right and is months old. We published a skill on ClawHub that fixes that with one install:
openclaw skills install allratestoday
What an OpenClaw skill is
OpenClaw is an open-source agent framework that runs on your own machine and acts through tools such as web_fetch and the shell. A skill is a SKILL.md file: a description that tells the agent when to load it, and a body with the procedure to follow. Skills live on the ClawHub registry, are scanned for safety, and install per agent or globally. There is no server to run, which is the main difference from an MCP server.
Rule zero: never state a rate from memory
The first line of the skill body is the rule everything else depends on. A remembered rate is stale by definition, and in a checkout, an invoice line or a customs declaration that is a financial bug. The skill tells the agent to fetch the rate and quote the date that came back with it. If the fetch fails, the agent says the rate is unknown rather than filling in a plausible constant.
Two kinds of rate, one decision
Most currency mistakes in agent output come from using a market rate where a rule names a publisher. The skill makes the agent decide first:
| The request | What the agent fetches | Key |
|---|---|---|
| Convert an amount, show a price in another currency | /api/open/latest/{BASE}, the ECB daily table re-based to any currency | none |
| Invoice, VAT, customs, audit, "the ECB rate", "the HMRC rate" | /api/open/central-bank/{code}, the named institution's own table | none, non-commercial |
| Live mid-market, 160+ currencies | /api/v1/rates | free key |
| A past date or a history series | paid-plan endpoints | paid key |
The ECB table and an institution's table routinely differ by a percent or more. An auditor will ask which publisher a figure came from, so the agent names it: "ECB reference table, 2026-10-29" or "SAMA official reference rate, 2026-10-29".
Reading a central bank table without getting the direction wrong
This is where agents fail quietly. Institutions publish in both directions. SAMA and the Bank of Korea quote home currency per foreign unit; the Reserve Bank of New Zealand and the Bank of England quote foreign units per home unit. The API returns every row as 1 base = value quote with both codes spelled out, and the skill tells the agent to read those fields rather than assume.
Many banks publish several rows for one pair: buy, sell, middle, reference. The skill sets the preference order (reference, then middle, then official, buy/sell mean last) and explains the stale flag, so a table the bank has not refreshed is reported with its real date.
The skill ships a reference file with all 127 institution codes and worked response examples, so the agent does not spend a fetch looking codes up.
Why keyless first
The skill works with nothing configured. The ECB table for any base and the latest table of every institution are open endpoints; the only requirement is a visible attribution link where rates are shown to others. A free key, read from ALLRATESTODAY_API_KEY, adds live mid-market rates. History and dated tables are on paid plans, and the skill tells the agent to say so on a 403 instead of improvising.
Try it
1. openclaw skills install allratestoday
2. Ask: "Convert 2,400 USD to EUR and tell me which table you used."
3. Ask: "What is HMRC's rate for AED this month?" and check that the answer carries the publication date.
MIT licensed. Source: AllRates-Today/openclaw-skill. Page and FAQ: allratestoday.com.
---
Rates by AllRatesToday. Follow @Allratestoday.
How well do coding agents drive Qwen 3.8 27B locally? I lined up 10 of them on one hardware
My hardware: MacBook Pro M5 Max, 64 GB. Qwen 3.8 27B Q4 on llama.cpp, thinking off.
I put Qwen 3.8 27B behind one llama.cpp server and gave 10 coding agents the same 5 tasks.
|#|Agent|Passed|Median time|Median tokens|Cache reuse|Tried to go online|
|:-|:-|:-|:-|:-|:-|:-|
|1|Pi|5/5|38 s|9.2k|72%|no|
|2|DeepSeek Harness|5/5|60 s|35.3k|83%|no|
|3|Codex CLI|5/5|94 s|36.3k|79%|every run|
|4|OpenClaw|5/5|106 s|39.0k|72%|unclear|
|5|Cline|5/5|152 s|29.6k|79%|every run|
|6|OpenCode|4/5|50 s|32.4k|75%|every run|
|7|Hermes|4/5|80 s|64.9k|93%|no|
|8|Atomic Agent|5/5|56 s|30.4k|86%|no|
|9|goose|4/5|98 s|20.3k|76%|every run|
|10|Qwen Code|4/5|183 s|107.9k|74%|unclear|
Pi is crazy lean: about 9k tokens per task, the lowest on every single task. Qwen Code was the hungriest at about 108k per task.
The setup
- same model and server for everyone
- 5 small coding tasks, each with a little trap
- each agent locked in a sandbox: it can only touch its own folder and only talk to the model
- auto-approve on, telemetry off, 5 min limit
What I noticed
The log task got three agents. They grepped "ERROR" and got 244 instead of 64, because some normal lines just mention errors. OpenCode, goose and Atomic Agent fell for it.
Codex, Cline, goose and OpenCode tried to reach the internet in every run, even with telemetry off. The sandbox blocked it, so I don't know what they were calling. OpenClaw and Qwen Code are "unclear" because they run as plain node and I couldn't tell them apart.
Atomic Agent is the odd one out in how it works. It was the only one talking to llama.cpp's native endpoint with a grammar that forces the tool calls into shape. The other nine all went through the OpenAI-style API. It's also built to keep its prompt the same from step to step, which is why it reused 86% of the cache (3rd of 10). It stayed offline the whole time and passed 5/5.
Setup notes
- Cline and Qwen Code have usage stats on by default, DeepSeek Harness uploads session logs (per their docs). I turned it all off
- Codex needs llama-server's /v1/responses now
- Hermes needs at least 64K context
Would you pick an agent for fewer tokens or for passing every task?
23 points · 19 comments
393,342 people starred OpenClaw on GitHub, and it is not a chatbot.
393,342 people starred OpenClaw on GitHub, and it is not a chatbot. It is a self hosted AI agent that runs on your own computer, talks to you on WhatsApp, Telegram, Signal, Discord, or Slack, and does real work on the machine you control.
OpenClaw is open source under the MIT license, with 82,690 forks, and its latest release landed October 27. The honest catch: it runs on your hardware, so you configure your own model provider. The fun part: message your agent from your phone, and your own computer does the job.
Repo: openclaw/openclaw
I checked the repo README and GitHub page today, October 29, 2026. I did not install or run it, so this is what the project says it does, in plain words.
Follow @aiqasinow for more open source gems like this.
#OpenClaw #OpenSource #AIAgent #SelfHosted #AITools
3 likes · 133 views
How to Deploy OpenClaw on Cloudflare, Vercel, or SimpleClaw?
OpenClaw stands out as an open-source, autonomous AI agent that executes real actions across your digital life. Originally launched as Clawdbot, briefly renamed Moltbot, and now solidified as OpenClaw, the project enables proactive automation via messaging platforms such as Telegram, WhatsApp, Discord, Slack, and more. The core OpenClaw daemon runs persistently, connects large language models (typically Claude from Anthropic or compatible alternatives), and grants the agent controlled access to files, commands, browsers, and APIs.
{% cta apidog.com %} Try Apidog today {% endcta %}
💡Before starting, download Apidog for free. This powerful API client helps you inspect, mock, and debug webhook endpoints, model provider calls, and custom skills during OpenClaw deployment on Cloudflare, Vercel, or SimpleClaw. Testing integrations early prevents frustrating runtime errors.
Cloud platforms eliminate the need for dedicated local hardware like Mac Minis. Cloudflare delivers edge security and low-latency Workers. Vercel streamlines serverless deployments with automatic scaling. SimpleClaw removes nearly all configuration through one-click provisioning. Each approach keeps your OpenClaw instance private, responsive, and operational around the clock.
Prerequisites Before Deploying OpenClaw Anywhere
Prepare these elements regardless of the target platform:
- GitHub account with the official OpenClaw repository forked or cloned (github.com/openclaw/openclaw or the maintained fork at moltbot/moltbot depending on the latest redirect).
- API key from a supported model provider: Anthropic (recommended for Claude), OpenAI, Grok, or local Ollama/LM Studio endpoints.
- Bot tokens for at least one messaging platform (Telegram BotFather token works reliably for initial tests).
- Node.js 18+ and npm/yarn/pnpm installed locally for any build steps.
- Apidog desktop or web client open import OpenAPI specs from OpenClaw docs or manually create collections for gateway endpoints.
- Basic understanding of environment variables and JSON configuration.
Run these commands locally first to validate:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
npm install
Review the README.md for the latest OpenClaw runtime flags.
Why Choose Cloudflare Vercel or SimpleClaw for OpenClaw Deployment
Local OpenClaw runs great on laptops or desktops, but power cycles and network instability disrupt 24/7 availability. Cloud options address this:
Cloudflare provides durable objects, R2 object storage for persistence, and Workers AI for edge inference when possible. Costs stay minimal often $3–$8 monthly for moderate usage.
!Image
Vercel suits developers familiar with Next.js-style projects. Serverless functions handle the OpenClaw gateway efficiently, while edge caching speeds up responses.
!Image
SimpleClaw targets users who want zero server management. It provisions pre-configured VMs, installs OpenClaw, and exposes secure endpoints instantly.
!Image
All three maintain strong isolation compared to running on personal machines.
How to Deploy OpenClaw on Cloudflare Step by Step
Cloudflare leverages Workers and the community-maintained Moltworker template (adapted for OpenClaw) to host the agent runtime securely.
1. Account and Billing Setup
Log into the Cloudflare dashboard. Enable Workers Paid plan (includes free tier credits). Activate R2 for file/object persistence.
!Image
Workers Paid plan
2. Fork or Use Moltworker Repository
Visit the Moltworker GitHub repo (search "cloudflare moltworker openclaw"). Fork it or create a new Worker from the template. Many tutorials reference one-click GitHub deployment for OpenClaw variants.
3. Connect GitHub and Deploy
In Workers & Pages > Create > Deploy from Git Repository. Authorize GitHub, select your forked repo.
Set production branch (main/master).
Configure build: Preset "None" or "Node.js", build command npm run build if the repo includes it.
4. Configure Bindings and Environment Variables
Add these secrets:
- ANTHROPIC_API_KEY (or equivalent for other providers)
- TELEGRAM_BOT_TOKEN / WHATSAPP_* tokens
- OPENCLAW_GATEWAY_SECRET for authentication
Bind R2 bucket for long-term memory and file access.
Enable Durable Objects if the deployment uses them for state.
5. Deploy and Secure
Trigger deployment. Cloudflare assigns a *.workers.dev subdomain.
Add Cloudflare Access policies: Require email or OAuth login to protect the OpenClaw dashboard.
Use Apidog to POST test messages to /api/gateway endpoint and verify model responses.
6. Optimization and Monitoring
Enable Workers analytics. Set usage limits to control spend. Monitor for cold starts Workers minimize them effectively.
This method achieves high reliability with global edge distribution.
How to Deploy OpenClaw on Vercel Step by Step
Vercel excels when you adapt OpenClaw as a serverless Node.js application.
1. Project Preparation
In your cloned OpenClaw directory, ensure serverless compatibility. Focus on the gateway and agent runtime folders. Add a vercel.json if missing:
{
"version": 2,
"builds": [{ "src": "index.js", "use": "@vercel/node" }],
"routes": [{ "src": "/(.*)", "dest": "index.js" }]
}
2. Import to Vercel
Push changes to GitHub.
Vercel dashboard > New Project > Import Git Repository. Select the repo.
3. Environment Variables
Add keys under Settings > Environment Variables:
- Model APIs
- Messaging tokens
- Any persistence config (use Vercel Blob or connect external storage).
4. Build and Deploy
Vercel detects Node.js automatically. Deploy.
Custom domain optional use the .vercel.app URL initially.
5. Integrations and Testing
Hook up messaging webhooks to the Vercel endpoint.
In Apidog, create a new API project, add the base URL, and test chat completions or action calls.
6. Scaling Considerations
Vercel auto-scales functions. Monitor logs for timeout issues extend if needed via configuration.
Vercel deployment suits rapid iteration and frontend-linked experiences.
How to Deploy OpenClaw on SimpleClaw Step by Step
SimpleClaw simplifies everything with managed hosting.
1. Access SimpleClaw Platform
Navigate to simpleclaw.com. Create an account.
2. Select Server and Plan
Choose from available cloud servers (inventory limited check frequently). Plans start low-cost for basic OpenClaw usage.
3. Connect Messaging Provider
Select Telegram or WhatsApp. Paste your bot token. SimpleClaw auto-validates.
!Image
SimpleClaw Messaging connection interface
4. Choose AI Model
Input Anthropic key or select alternatives. Configure basic preferences.
5. One-Click Deploy
Click Deploy. The platform provisions VM, installs OpenClaw, sets up environment, and starts the agent in under 60 seconds.
6. Access and Customize
Receive dashboard URL. Log in, verify connectivity.
Extend with Apidog by exporting webhook specs and testing custom skills.
SimpleClaw handles SSH, updates, and backups automatically.
Advanced Testing Optimization and Security for OpenClaw
Post-deployment tasks ensure robustness:
- Send varied test commands via connected apps. Observe action execution.
- Monitor platform logs for errors in model calls or permissions.
- Use Apidog extensively: Mock failing APIs, simulate high load, document endpoints.
- Add OpenClaw skills from community hubs for email, calendar, or browser control.
- Implement rate limiting on gateways to prevent abuse.
- Regularly rotate API keys and review granted permissions OpenClaw agents can execute powerful actions.
Common pitfalls include token expiration, insufficient RAM (aim for ≥8 GB on VMs), and over-permissive file access. Isolate OpenClaw instances strictly.
Comparing Cloudflare Vercel and SimpleClaw for OpenClaw
Cloudflare wins on cost and security for technical users.
Vercel offers developer-friendly workflows and fast deploys.
SimpleClaw provides the quickest path for non-experts.
Experiment across platforms migrate configurations easily since core OpenClaw settings remain consistent.
Final Thoughts on Running OpenClaw in Production
Deploying OpenClaw on Cloudflare, Vercel, or SimpleClaw transforms it into a reliable 24/7 AI companion without hardware overhead. Cloudflare emphasizes edge performance and protection. Vercel streamlines modern web practices. SimpleClaw removes barriers entirely.
With Apidog facilitating clean API interactions, focus shifts to creative automations rather than troubleshooting. Start small, monitor closely, and scale as your agent proves value. Your personalized, action-oriented AI awaits deploy OpenClaw today.
Mentions
OpenClaw 2026.10.10 broke every chat turn on my box (11/11 failed). Will updates ever not be gambling? I've been using openclaw since it was moltbot. For six+ month I've been on and off active in this subreddit. Updating already has its own routine: read the release, dry run, detached updater, and afterwards a script that checks every model and every connection and usually have it fixed with an outside model. We all know: that routine exists for a reason. But today even that didn't help. This morning I went from 2026.9.7 to 2026.10.10. The release was about seven hours old and tagged latest. - The migration rewrote my claude-cli model refs to anthropic refs. One agent had an API primary with a Claude CLI fallback on purpose. After the update it was pinned to the CLI and the fallback was gone. Had to restore it from the pre-update config. - Then every agent turn in my main chat failed. 11 out of 11. The SQLite worker has a hard-coded 512 MB heap cap, and my main session is big (~127k transcript events, 1 GB agent DB). The worker hits the cap, dies with ERR_WORKER_OUT_OF_MEMORY and gets respawned, followed by a full integrity check of the DB that takes up to 28 s on the Pi. Whatever was in flight is gone. 13 worker deaths in about 50 minutes. - In Telegram that shows up as "Agent database execution admission is closed", "This Codex session changed before your message could run. Please send it again." or "OpenClaw couldn't finish this request". Replies that were already generated never arrived. - Switching from Codex to Claude changed nothing. /new changed nothing either; the session ID stays the same. Yesterday on 2026.9.7, same session, same DB: zero of these errors. The best part: there's already an issue for this exact failure class (#185953, reported on 2026.10.7: an unbounded transcript read kills the 512 MB worker). It was closed as "already implemented on main". It still happens on 2026.10.10. Searching the repo's issues for "admission is closed" gives 56 results. It's not the first time either. After the June update, the Codex OAuth had to be repaired before I could even smoke-test. Last week every Codex request failed with a 403 "Codex cannot verify the owner of this model request" for about 45 minutes, until a gateway restart fixed it. I was defending OC against the Hermes onslaught, I tried to help other users to go through painful updates and I fixed mine a hundred time, but I think I finally arrive at a point where I had enough. I thought stable was supposed to be stable? I know this is opensource, I know people put a lot of personal effort into this but honestly we see these issues with every update, we are told it gets better, it gets worse. Here's the issue if someone cares: openclaw#191847
Engineers are working on multiple sessions, and LLM is doing most of the commits/pushes. This is becoming norm at big techs. If you are wondering what these changes are, you can take a peek at github.com/openclaw/openclaw/commits/main This isn't to say that such pace of iteration is good or bad. That's a separate discussion.
@nicongdev 解决办法:不要使用 GPT 看到 GPT 写测试我就头痛,经常会因为 GPT 写的垃圾测试太多干脆把项目删掉 不过听说这个是有用的: github.com/openclaw/openclaw/blob/main/.agents/sk…
An AI agent read a Japanese novel as 208,953 replacement characters OpenClaw is an open-source AI agent. When a message contains a link, its link-understanding step fetches the page and hands the text to the model, so the agent can answer questions about it. I pointed it at Natsume Sōseki's Kokoro on Aozora Bunko, and the model received 208,953 copies of U+FFFD, the replacement character. The Japanese text was gone. The bug Aozora Bunko serves its texts as Shift_JIS. The link fetcher didn't care what the page declared and did this: const content = new TextDecoder().decode(buffer).trim(); new TextDecoder() with no argument is a UTF-8 decoder. Shift_JIS bytes are not valid UTF-8, so almost every character became �. Any page served in a legacy encoding (Shift_JIS, EUC-JP, GBK, Big5) went through the same thing. Nothing failed loudly, which is the annoying part. The model got a wall of replacement characters, and the replies came back garbled too. The decoder was already there It turned out web_fetch, the agent's general web tool, already had a decoder that does this properly. It checks, in order: 1. A byte order mark (UTF-8, UTF-16LE, UTF-16BE) 2. The charset parameter of the Content-Type header 3. For HTML and XML responses without a header charset: an <?xml encoding="..."> declaration, <meta charset>, or <meta http-equiv="Content-Type"> If the label is one TextDecoder doesn't know, it falls back to UTF-8 instead of throwing. So the fix is mostly an export: // src/agents/tools/web-shared.ts export function decodeResponseBytes(res: Response, bytes: Uint8Array, truncated = false): string { // src/link-understanding/apply.ts import { decodeResponseBytes } from "../agents/tools/web-shared.js"; const content = decodeResponseBytes(response, buffer).trim(); Writing a second decoder would have been easy. Keeping two of them in sync would not. Why the first attempt stalled An earlier PR for the same bug used a strict decoder. That fixes Shift_JIS pages but breaks pages that declare no charset at all, and plenty of pages don't declare one. Reusing the web_fetch decoder keeps those on UTF-8, exactly where they were before. The test The regression test serves a page from a local HTTP server with this header: content-type: text/plain; charset=Shift_JIS and the body [147, 250, 150, 123, 140, 234], which is 日本語 ("Japanese") in Shift_JIS. The test expects the agent to see 日本語. On main it fails, with the fix it passes, and nothing else in the suite changes. Proving it on real pages Six bytes in a unit test is a start, not proof. I ran the change through the production link-understanding path, with the strict SSRF guard on, against live public pages: | Page | Replacement characters before | After | |---|---|---| | Kokoro on Aozora Bunko | 208,953 | 0 | | 阿部寛のホームページ | 13 | 0 | Then the maintainer, obviyus, re-ran it through a built Gateway: a real session, a real chat message, and a model fixture that records exactly what the model receives. On main the Shift_JIS turns came back garbled. With the fix the model got 阿部寛のホームページ, and the UTF-8 control page stayed the same. It merged as openclaw/openclaw#188766. If your agent fetches web pages Check how it turns bytes into text. Both new TextDecoder() and Response.text() decode as UTF-8 no matter what the server says, so an agent built on either one has this bug on legacy-encoded pages. You don't need a library to fix it: read the BOM, the Content-Type charset and the document's own declaration, then fall back to UTF-8.
An AI agent read a Shift_JIS page as 208,953 replacement characters
10 coding agents, one Qwen 3.8 27B, same llama-server: tokens and cache reuse differ more than pass rates Part 2 of my agent test (part 1 was a 4B model) Hardware I used: MacBook Pro M5 Max, 64 GB. Qwen 3.8 27B Q4 on llama.cpp, thinking off. Setup - same model and server for everyone - 5 small coding tasks, each with a little trap - each agent locked in a sandbox: it can only touch its own folder and only talk to the model - auto-approve on, telemetry off, 5 min limit Results |#|Agent|Passed|Median time|Median tokens|Cache reuse|Tried to go online| |:-|:-|:-|:-|:-|:-|:-| |1|Pi|5/5|38 s|9.2k|72%|no| |2|DeepSeek Harness|5/5|60 s|35.3k|83%|no| |3|Codex CLI|5/5|94 s|36.3k|79%|every run| |4|OpenClaw|5/5|106 s|39.0k|72%|unclear| |5|Cline|5/5|152 s|29.6k|79%|every run| |6|OpenCode|4/5|50 s|32.4k|75%|every run| |7|Hermes|4/5|80 s|64.9k|93%|no| |8|Atomic Agent|5/5|56 s|30.4k|86%|no| |9|goose|4/5|98 s|20.3k|76%|every run| |10|Qwen Code|4/5|183 s|107.9k|74%|unclear| Tokens and cache Pi is crazy lean: about 9k tokens per task, the lowest on every single task. Qwen Code was the hungriest at about 108k per task. Atomic Agent is the odd one out in how it works. It was the only one talking to llama.cpp's native endpoint with a grammar that forces the tool calls into shape. The other nine all went through the OpenAI-style API. It's also built to keep its prompt the same from step to step, which is why it reused 86% of the cache (2rd of 10). It stayed offline the whole time and passed 5/5. DeepSeek Harness was the surprise. It’s still an alpha, but it went 5/5, never tried to go online, and had the best cache reuse after Atomic Agent (83%). The trap and the network The log task got three agents. They grepped "ERROR" and got 244 instead of 64, because some normal lines just mention errors. OpenCode, goose and Atomic Agent fell for it. Codex, Cline, goose and OpenCode tried to reach the internet in every run, even with telemetry off. The sandbox blocked it, so I don't know what they were calling. OpenClaw and Qwen Code are "unclear" because they run as plain node and I couldn't tell them apart. llama.cpp notes - Codex needs llama-server's /v1/responses now - Hermes needs at least 64K context - Cline and Qwen Code have usage stats on by default, DeepSeek Harness uploads session logs (per their docs). I turned it all off Which column matters most to you when you pick an agent for a local model like Qwen 3.8 27B: passing, speed, tokens, or staying offline?
An OpenClaw Skill for Exchange Rates: Stop Your Agent Guessing the USD/EUR Rate Ask an agent built on OpenClaw what 2,400 dollars is in euros and, without a tool, it answers from training data. The number looks right and is months old. We published a skill on ClawHub that fixes that with one install: openclaw skills install allratestoday What an OpenClaw skill is OpenClaw is an open-source agent framework that runs on your own machine and acts through tools such as web_fetch and the shell. A skill is a SKILL.md file: a description that tells the agent when to load it, and a body with the procedure to follow. Skills live on the ClawHub registry, are scanned for safety, and install per agent or globally. There is no server to run, which is the main difference from an MCP server. Rule zero: never state a rate from memory The first line of the skill body is the rule everything else depends on. A remembered rate is stale by definition, and in a checkout, an invoice line or a customs declaration that is a financial bug. The skill tells the agent to fetch the rate and quote the date that came back with it. If the fetch fails, the agent says the rate is unknown rather than filling in a plausible constant. Two kinds of rate, one decision Most currency mistakes in agent output come from using a market rate where a rule names a publisher. The skill makes the agent decide first: | The request | What the agent fetches | Key | |---|---|---| | Convert an amount, show a price in another currency | /api/open/latest/{BASE}, the ECB daily table re-based to any currency | none | | Invoice, VAT, customs, audit, "the ECB rate", "the HMRC rate" | /api/open/central-bank/{code}, the named institution's own table | none, non-commercial | | Live mid-market, 160+ currencies | /api/v1/rates | free key | | A past date or a history series | paid-plan endpoints | paid key | The ECB table and an institution's table routinely differ by a percent or more. An auditor will ask which publisher a figure came from, so the agent names it: "ECB reference table, 2026-10-29" or "SAMA official reference rate, 2026-10-29". Reading a central bank table without getting the direction wrong This is where agents fail quietly. Institutions publish in both directions. SAMA and the Bank of Korea quote home currency per foreign unit; the Reserve Bank of New Zealand and the Bank of England quote foreign units per home unit. The API returns every row as 1 base = value quote with both codes spelled out, and the skill tells the agent to read those fields rather than assume. Many banks publish several rows for one pair: buy, sell, middle, reference. The skill sets the preference order (reference, then middle, then official, buy/sell mean last) and explains the stale flag, so a table the bank has not refreshed is reported with its real date. The skill ships a reference file with all 127 institution codes and worked response examples, so the agent does not spend a fetch looking codes up. Why keyless first The skill works with nothing configured. The ECB table for any base and the latest table of every institution are open endpoints; the only requirement is a visible attribution link where rates are shown to others. A free key, read from ALLRATESTODAY_API_KEY, adds live mid-market rates. History and dated tables are on paid plans, and the skill tells the agent to say so on a 403 instead of improvising. Try it 1. openclaw skills install allratestoday 2. Ask: "Convert 2,400 USD to EUR and tell me which table you used." 3. Ask: "What is HMRC's rate for AED this month?" and check that the answer carries the publication date. MIT licensed. Source: AllRates-Today/openclaw-skill. Page and FAQ: allratestoday.com. --- Rates by AllRatesToday. Follow @Allratestoday.
How well do coding agents drive Qwen 3.8 27B locally? I lined up 10 of them on one hardware My hardware: MacBook Pro M5 Max, 64 GB. Qwen 3.8 27B Q4 on llama.cpp, thinking off. I put Qwen 3.8 27B behind one llama.cpp server and gave 10 coding agents the same 5 tasks. |#|Agent|Passed|Median time|Median tokens|Cache reuse|Tried to go online| |:-|:-|:-|:-|:-|:-|:-| |1|Pi|5/5|38 s|9.2k|72%|no| |2|DeepSeek Harness|5/5|60 s|35.3k|83%|no| |3|Codex CLI|5/5|94 s|36.3k|79%|every run| |4|OpenClaw|5/5|106 s|39.0k|72%|unclear| |5|Cline|5/5|152 s|29.6k|79%|every run| |6|OpenCode|4/5|50 s|32.4k|75%|every run| |7|Hermes|4/5|80 s|64.9k|93%|no| |8|Atomic Agent|5/5|56 s|30.4k|86%|no| |9|goose|4/5|98 s|20.3k|76%|every run| |10|Qwen Code|4/5|183 s|107.9k|74%|unclear| Pi is crazy lean: about 9k tokens per task, the lowest on every single task. Qwen Code was the hungriest at about 108k per task. The setup - same model and server for everyone - 5 small coding tasks, each with a little trap - each agent locked in a sandbox: it can only touch its own folder and only talk to the model - auto-approve on, telemetry off, 5 min limit What I noticed The log task got three agents. They grepped "ERROR" and got 244 instead of 64, because some normal lines just mention errors. OpenCode, goose and Atomic Agent fell for it. Codex, Cline, goose and OpenCode tried to reach the internet in every run, even with telemetry off. The sandbox blocked it, so I don't know what they were calling. OpenClaw and Qwen Code are "unclear" because they run as plain node and I couldn't tell them apart. Atomic Agent is the odd one out in how it works. It was the only one talking to llama.cpp's native endpoint with a grammar that forces the tool calls into shape. The other nine all went through the OpenAI-style API. It's also built to keep its prompt the same from step to step, which is why it reused 86% of the cache (3rd of 10). It stayed offline the whole time and passed 5/5. Setup notes - Cline and Qwen Code have usage stats on by default, DeepSeek Harness uploads session logs (per their docs). I turned it all off - Codex needs llama-server's /v1/responses now - Hermes needs at least 64K context Would you pick an agent for fewer tokens or for passing every task?
393,342 people starred OpenClaw on GitHub, and it is not a chatbot. 393,342 people starred OpenClaw on GitHub, and it is not a chatbot. It is a self hosted AI agent that runs on your own computer, talks to you on WhatsApp, Telegram, Signal, Discord, or Slack, and does real work on the machine you control. OpenClaw is open source under the MIT license, with 82,690 forks, and its latest release landed October 27. The honest catch: it runs on your hardware, so you configure your own model provider. The fun part: message your agent from your phone, and your own computer does the job. Repo: openclaw/openclaw I checked the repo README and GitHub page today, October 29, 2026. I did not install or run it, so this is what the project says it does, in plain words. Follow @aiqasinow for more open source gems like this. #OpenClaw #OpenSource #AIAgent #SelfHosted #AITools
How to Deploy OpenClaw on Cloudflare, Vercel, or SimpleClaw? OpenClaw stands out as an open-source, autonomous AI agent that executes real actions across your digital life. Originally launched as Clawdbot, briefly renamed Moltbot, and now solidified as OpenClaw, the project enables proactive automation via messaging platforms such as Telegram, WhatsApp, Discord, Slack, and more. The core OpenClaw daemon runs persistently, connects large language models (typically Claude from Anthropic or compatible alternatives), and grants the agent controlled access to files, commands, browsers, and APIs. {% cta apidog.com %} Try Apidog today {% endcta %} 💡Before starting, download Apidog for free. This powerful API client helps you inspect, mock, and debug webhook endpoints, model provider calls, and custom skills during OpenClaw deployment on Cloudflare, Vercel, or SimpleClaw. Testing integrations early prevents frustrating runtime errors. Cloud platforms eliminate the need for dedicated local hardware like Mac Minis. Cloudflare delivers edge security and low-latency Workers. Vercel streamlines serverless deployments with automatic scaling. SimpleClaw removes nearly all configuration through one-click provisioning. Each approach keeps your OpenClaw instance private, responsive, and operational around the clock. Prerequisites Before Deploying OpenClaw Anywhere Prepare these elements regardless of the target platform: - GitHub account with the official OpenClaw repository forked or cloned (github.com/openclaw/openclaw or the maintained fork at moltbot/moltbot depending on the latest redirect). - API key from a supported model provider: Anthropic (recommended for Claude), OpenAI, Grok, or local Ollama/LM Studio endpoints. - Bot tokens for at least one messaging platform (Telegram BotFather token works reliably for initial tests). - Node.js 18+ and npm/yarn/pnpm installed locally for any build steps. - Apidog desktop or web client open import OpenAPI specs from OpenClaw docs or manually create collections for gateway endpoints. - Basic understanding of environment variables and JSON configuration. Run these commands locally first to validate: git clone https://github.com/openclaw/openclaw.git cd openclaw npm install Review the README.md for the latest OpenClaw runtime flags. Why Choose Cloudflare Vercel or SimpleClaw for OpenClaw Deployment Local OpenClaw runs great on laptops or desktops, but power cycles and network instability disrupt 24/7 availability. Cloud options address this: Cloudflare provides durable objects, R2 object storage for persistence, and Workers AI for edge inference when possible. Costs stay minimal often $3–$8 monthly for moderate usage. !Image Vercel suits developers familiar with Next.js-style projects. Serverless functions handle the OpenClaw gateway efficiently, while edge caching speeds up responses. !Image SimpleClaw targets users who want zero server management. It provisions pre-configured VMs, installs OpenClaw, and exposes secure endpoints instantly. !Image All three maintain strong isolation compared to running on personal machines. How to Deploy OpenClaw on Cloudflare Step by Step Cloudflare leverages Workers and the community-maintained Moltworker template (adapted for OpenClaw) to host the agent runtime securely. 1. Account and Billing Setup Log into the Cloudflare dashboard. Enable Workers Paid plan (includes free tier credits). Activate R2 for file/object persistence. !Image Workers Paid plan 2. Fork or Use Moltworker Repository Visit the Moltworker GitHub repo (search "cloudflare moltworker openclaw"). Fork it or create a new Worker from the template. Many tutorials reference one-click GitHub deployment for OpenClaw variants. 3. Connect GitHub and Deploy In Workers & Pages > Create > Deploy from Git Repository. Authorize GitHub, select your forked repo. Set production branch (main/master). Configure build: Preset "None" or "Node.js", build command npm run build if the repo includes it. 4. Configure Bindings and Environment Variables Add these secrets: - ANTHROPIC_API_KEY (or equivalent for other providers) - TELEGRAM_BOT_TOKEN / WHATSAPP_* tokens - OPENCLAW_GATEWAY_SECRET for authentication Bind R2 bucket for long-term memory and file access. Enable Durable Objects if the deployment uses them for state. 5. Deploy and Secure Trigger deployment. Cloudflare assigns a *.workers.dev subdomain. Add Cloudflare Access policies: Require email or OAuth login to protect the OpenClaw dashboard. Use Apidog to POST test messages to /api/gateway endpoint and verify model responses. 6. Optimization and Monitoring Enable Workers analytics. Set usage limits to control spend. Monitor for cold starts Workers minimize them effectively. This method achieves high reliability with global edge distribution. How to Deploy OpenClaw on Vercel Step by Step Vercel excels when you adapt OpenClaw as a serverless Node.js application. 1. Project Preparation In your cloned OpenClaw directory, ensure serverless compatibility. Focus on the gateway and agent runtime folders. Add a vercel.json if missing: { "version": 2, "builds": [{ "src": "index.js", "use": "@vercel/node" }], "routes": [{ "src": "/(.*)", "dest": "index.js" }] } 2. Import to Vercel Push changes to GitHub. Vercel dashboard > New Project > Import Git Repository. Select the repo. 3. Environment Variables Add keys under Settings > Environment Variables: - Model APIs - Messaging tokens - Any persistence config (use Vercel Blob or connect external storage). 4. Build and Deploy Vercel detects Node.js automatically. Deploy. Custom domain optional use the .vercel.app URL initially. 5. Integrations and Testing Hook up messaging webhooks to the Vercel endpoint. In Apidog, create a new API project, add the base URL, and test chat completions or action calls. 6. Scaling Considerations Vercel auto-scales functions. Monitor logs for timeout issues extend if needed via configuration. Vercel deployment suits rapid iteration and frontend-linked experiences. How to Deploy OpenClaw on SimpleClaw Step by Step SimpleClaw simplifies everything with managed hosting. 1. Access SimpleClaw Platform Navigate to simpleclaw.com. Create an account. 2. Select Server and Plan Choose from available cloud servers (inventory limited check frequently). Plans start low-cost for basic OpenClaw usage. 3. Connect Messaging Provider Select Telegram or WhatsApp. Paste your bot token. SimpleClaw auto-validates. !Image SimpleClaw Messaging connection interface 4. Choose AI Model Input Anthropic key or select alternatives. Configure basic preferences. 5. One-Click Deploy Click Deploy. The platform provisions VM, installs OpenClaw, sets up environment, and starts the agent in under 60 seconds. 6. Access and Customize Receive dashboard URL. Log in, verify connectivity. Extend with Apidog by exporting webhook specs and testing custom skills. SimpleClaw handles SSH, updates, and backups automatically. Advanced Testing Optimization and Security for OpenClaw Post-deployment tasks ensure robustness: - Send varied test commands via connected apps. Observe action execution. - Monitor platform logs for errors in model calls or permissions. - Use Apidog extensively: Mock failing APIs, simulate high load, document endpoints. - Add OpenClaw skills from community hubs for email, calendar, or browser control. - Implement rate limiting on gateways to prevent abuse. - Regularly rotate API keys and review granted permissions OpenClaw agents can execute powerful actions. Common pitfalls include token expiration, insufficient RAM (aim for ≥8 GB on VMs), and over-permissive file access. Isolate OpenClaw instances strictly. Comparing Cloudflare Vercel and SimpleClaw for OpenClaw Cloudflare wins on cost and security for technical users. Vercel offers developer-friendly workflows and fast deploys. SimpleClaw provides the quickest path for non-experts. Experiment across platforms migrate configurations easily since core OpenClaw settings remain consistent. Final Thoughts on Running OpenClaw in Production Deploying OpenClaw on Cloudflare, Vercel, or SimpleClaw transforms it into a reliable 24/7 AI companion without hardware overhead. Cloudflare emphasizes edge performance and protection. Vercel streamlines modern web practices. SimpleClaw removes barriers entirely. With Apidog facilitating clean API interactions, focus shifts to creative automations rather than troubleshooting. Start small, monitor closely, and scale as your agent proves value. Your personalized, action-oriented AI awaits deploy OpenClaw today.