diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index ae45c94e7..eb4df64ca 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "d5e6abcb3d22c5fb96869e916059163928dba718", - "syncedAt": "2026-04-27T07:38:03.611Z" + "sha": "da55212c6e2ad3fa730b1708ba8d0f893e23e4de", + "syncedAt": "2026-04-27T07:39:50.095Z" } diff --git a/docs/gateway/local-models.md b/docs/gateway/local-models.md index 338b70f22..2967a39ed 100644 --- a/docs/gateway/local-models.md +++ b/docs/gateway/local-models.md @@ -164,6 +164,11 @@ Compatibility notes for stricter OpenAI-compatible backends: structured content-part arrays. Set `models.providers..models[].compat.requiresStringContent: true` for those endpoints. +- Some local models emit standalone bracketed tool requests as text, such as + `[tool_name]` followed by JSON and `[END_TOOL_REQUEST]`. OpenClaw promotes + those into real tool calls only when the name exactly matches a registered + tool for the turn; otherwise the block is treated as unsupported text and is + hidden from user-visible replies. - Some smaller or stricter local backends are unstable with OpenClaw's full agent-runtime prompt shape, especially when tool schemas are included. If the backend works for tiny direct `/v1/chat/completions` calls but fails on normal