[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:mateclaw":3},"\u003Cdiv align=\"center\">\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fmateaix\u002Fmateclaw\u002FHEAD\u002Fmateclaw-ui\u002Fpublic\u002Flogo\u002Fmateclaw_logo_s.png\" alt=\"MateClaw Logo\" width=\"120\" \u002F>\n\u003C\u002Fp>\u003Ch1>MateClaw\u003C\u002Fh1>\n\u003Cp align=\"center\">\u003Cb>Your second brain\u003C\u002Fb>\u003C\u002Fp>\u003Cp align=\"center\">\u003Csub>\u003Cb>Agent Harness · Spring Boot inside · One JAR to ship\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fp>\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmateaix\u002Fmateclaw\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGitHub-Repo-black.svg?logo=github\" alt=\"GitHub Repo\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fclaw.mate.vip\u002Fdocs\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocs-Website-green.svg?logo=readthedocs&amp;label=Docs\" alt=\"Documentation\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fclaw-demo.mate.vip\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDemo-Online-orange.svg?logo=vercel&amp;label=Demo\" alt=\"Live Demo\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fclaw.mate.vip\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWebsite-claw.mate.vip-blue.svg?logo=googlechrome&amp;label=Site\" alt=\"Website\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fadoptium.net\u002F\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJava-21+-blue.svg?logo=openjdk&amp;label=Java\" alt=\"Java Version\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fspring.io\u002Fprojects\u002Fspring-boot\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSpring%20Boot-3.5-brightgreen.svg?logo=springboot\" alt=\"Spring Boot\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fvuejs.org\u002F\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVue-3-4FC08D.svg?logo=vuedotjs\" alt=\"Vue\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmateaix\u002Fmateclaw\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fmateaix\u002Fmateclaw\" alt=\"Last Commit\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmateaix\u002Fmateclaw\u002Fblob\u002FHEAD\u002FLICENSE\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache--2.0-red.svg?logo=opensourceinitiative&amp;label=License\" alt=\"License\" \u002F>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>[\u003Ca href=\"https:\u002F\u002Fclaw.mate.vip\" rel=\"nofollow ugc noopener\">Website\u003C\u002Fa>] [\u003Ca href=\"https:\u002F\u002Fclaw-demo.mate.vip\" rel=\"nofollow ugc noopener\">Live Demo\u003C\u002Fa>] [\u003Ca href=\"https:\u002F\u002Fclaw.mate.vip\u002Fdocs\" rel=\"nofollow ugc noopener\">Documentation\u003C\u002Fa>] [\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmateaix\u002Fmateclaw\u002Fblob\u002FHEAD\u002FREADME_zh.md\" rel=\"nofollow ugc noopener\">中文\u003C\u002Fa>]\u003C\u002Fp>\n\u003C\u002Fdiv>\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fmateaix\u002Fmateclaw\u002FHEAD\u002Fassets\u002Fimages\u002Fpreview.png\" alt=\"MateClaw Preview\" width=\"800\" \u002F>\n\u003C\u002Fp>\u003Chr \u002F>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Latest stable: v2.1.0 — Team Runs, closed skill evolution, and replayable reasoning.\u003C\u002Fstrong> One team request is now one durable \u003Ccode>runId\u003C\u002Fcode> across Chat, Agents, and Teams; skills can mine recurring requests under explicit controls and restore from snapshots; reasoning, tool calls, and observations can be exported in execution order. Read the \u003Ca href=\"https:\u002F\u002Fclaw.mate.vip\u002Fdocs\u002Fen\u002Freleases\u002F2.1.0\" rel=\"nofollow ugc noopener\">v2.1.0 release notes\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Chr \u002F>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Other personal AI agents are built for one person. MateClaw is the one your IT department can actually sign off on.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Multi-user workspaces. Approval-gated sensitive actions. Full audit trail. Spring Boot Actuator health monitoring. Per-channel error isolation so one chat platform's outage doesn't take down the rest. One JAR in your environment; you control persisted data, and task content is sent only to model, channel, or tool services you explicitly configure.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>And underneath, a real agent harness.\u003C\u002Fstrong> ReAct + Plan-and-Execute on a StateGraph runtime — not a one-shot RAG call dressed up. Tools, Skills, MCP, and ACP converge on one registry with per-employee binding. Sensitive tool calls flow through an approval gate you can actually inspect. Multi-vendor failover keeps the loop running when a provider doesn't.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Most AI tools die when their vendor has a bad day. Most forget you the moment the tab closes. Most give you a chatbox and call it a product.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>MateClaw is the whole widget.\u003C\u002Fstrong> One deployment. Reasoning, knowledge, memory, tools, channels — built together, not bolted on. And when your primary model is unavailable, the next healthy provider retries the current request.\u003C\u002Fp>\n\u003Chr \u002F>\n\u003Ch2>Three things that make it different\u003C\u002Fh2>\n\u003Ch3>1 · Your AI doesn't die when a model does\u003C\u002Fh3>\n\u003Cp>Primary key expired. Vendor returns 401. Network blip. Quota drained.\u003C\u002Fp>\n\u003Cp>Other tools hand you a red error card. MateClaw tries the next healthy provider in configured order — including built-in and OpenAI-compatible options such as DashScope, OpenAI, Anthropic, Gemini, DeepSeek, Kimi, Ollama, LM Studio, and MLX — and attempts to recover the current request. It returns an error only when the available chain is exhausted. A provider health tracker parks bad vendors in a cooldown window so they don't waste seconds on every turn.\u003C\u002Fp>\n\u003Cp>You don't write a retry script. You drag providers into priority order in \u003Cstrong>Settings → Models\u003C\u002Fstrong> and watch the health dashboard fill with gr\u003C\u002Fp>\n",1787581367049]