releaseintermediate
[Release] openclaw/openclaw v2026.4.24-beta.1: openclaw 2026.4.24-beta.1
By steipetegithub
View original on githubOpenClaw v2026.4.24-beta.1 introduces Google Meet as a bundled participant plugin with real-time voice capabilities, adds DeepSeek V4 models to the default catalog, and implements WebRTC-backed realtime voice loops across Talk, Voice Call, and Google Meet. The release includes browser automation improvements (coordinate clicks, longer action budgets, per-profile headless overrides), lighter plugin/model infrastructure at startup, and breaking changes to plugin SDK tool-result transforms requiring migration to `registerAgentToolResultMiddleware`.
Key Points
- •Google Meet plugin now bundled with personal Google auth, Chrome/Twilio realtime transports, artifact/attendance exports, and OAuth recovery tooling for existing tabs
- •DeepSeek V4 Flash and V4 Pro added to bundled model catalog with V4 Flash as onboarding default; thinking/replay behavior fixed for follow-up tool-call turns
- •WebRTC realtime voice loops implemented across Talk, Voice Call, and Google Meet with full OpenClaw agent consultation via `openclaw_agent_consult` handoff
- •Browser automation enhanced with viewport coordinate clicks, 60s default action budget, per-profile headless overrides, and improved tab reuse/recovery
- •Plugin/model infrastructure optimized: static model catalogs, manifest-backed model rows, lazy provider dependencies reduce startup overhead
- •Breaking change: Plugin SDK must migrate from `api.registerEmbeddedExtensionFactory()` to `api.registerAgentToolResultMiddleware()` with explicit contract declarations for consistent Pi/Codex behavior
- •Gemini Live realtime voice provider added for backend Voice Call and Google Meet audio bridges with bidirectional audio and function-call support
- •Control UI refined with compact live-tool chips, collapsible tool groups, per-tool toggles, and Steer action for injecting follow-up messages into active runs
- •Model listing performance improved with safe static catalogs, narrower row-source orchestration, and reduced registry enumeration
- •Codex harness now runs context-engine operations in app-server sessions while maintaining native thread state and compaction auditability
Found this useful? Add it to a playbook for a step-by-step implementation guide.
Workflow Diagram
Start Process
Step A
Step B
Step C
Complete
Concepts
Artifacts (5)
Plugin SDK Breaking Change Migrationjavascripttemplate
// OLD - DEPRECATED
api.registerEmbeddedExtensionFactory(...)
// NEW - REQUIRED
api.registerAgentToolResultMiddleware({
contracts: {
agentToolResultMiddleware: {
targetedHarnesses: ['pi', 'codex']
}
},
transform: (result) => {
// Tool-result transform logic
return result;
}
});Browser Automation Configurationyamlconfig
browser:
actionTimeoutMs: 60000 # 60s default action budget
profiles:
profile-name:
headless: true # Per-profile headless override
# Other profile settings...Voice Call Setup Commandsbashcommand
# Setup voice call provider
openclawvoicecall setup
# Dry-run smoke test for Twilio/provider readiness
openclawvoicecall smoke
# Google Meet OAuth doctor
openclawgooglemeet doctor --oauth
# Recover existing Meet tab
openclawgooglemeet recover-tab
# Browser coordinate click
openclawbrowser click-coords <x> <y>
# Matrix self-device verification
openclawmatrix verify selfAgent Bootstrap Configurationyamlconfig
agents:
defaults:
contextInjection: "never" # Disable workspace bootstrap file injection
# Agent fully owns its prompt lifecyclePlugin Manifest Model Catalog Contractjsontemplate
{
"setup": {
"requiresRuntime": false
},
"modelCatalog": {
"provider": "provider-name",
"models": [
{
"id": "model-id",
"name": "Model Name",
"aliases": ["alias1", "alias2"],
"discoveryMode": "public"
}
],
"suppressionRules": [],
"providers": [
{
"name": "provider-name",
"envVars": ["ENV_VAR_1", "ENV_VAR_2"]
}
]
}
}