diff --git a/docs/assets/docs-chat-widget.js b/docs/assets/docs-chat-widget.js
deleted file mode 100644
index d7be57bcf..000000000
--- a/docs/assets/docs-chat-widget.js
+++ /dev/null
@@ -1,667 +0,0 @@
-(() => {
- if (document.getElementById("docs-chat-root")) return;
-
- // Determine if we're on the docs site or embedded elsewhere
- const hostname = window.location.hostname;
- const isDocsSite = hostname === "localhost" || hostname === "127.0.0.1" ||
- hostname.includes("docs.openclaw") || hostname.endsWith(".mintlify.app");
- const assetsBase = isDocsSite ? "" : "https://docs.openclaw.ai";
- const apiBase = "https://claw-api.openknot.ai/api";
-
- // Load marked for markdown rendering (via CDN)
- let markedReady = false;
- const loadMarkdownLib = () => {
- if (window.marked) {
- markedReady = true;
- return;
- }
- const script = document.createElement("script");
- script.src = "https://cdn.jsdelivr.net/npm/marked@15.0.6/marked.min.js";
- script.onload = () => {
- if (window.marked) {
- markedReady = true;
- }
- };
- script.onerror = () => console.warn("Failed to load marked library");
- document.head.appendChild(script);
- };
- loadMarkdownLib();
-
- // Markdown renderer with fallback before module loads
- const renderMarkdown = (text) => {
- if (markedReady && window.marked) {
- // Configure marked for security: disable HTML pass-through
- const html = window.marked.parse(text, { async: false, gfm: true, breaks: true });
- // Open links in new tab by rewriting tags
- return html.replace(//g, ">")
- .replace(/\n/g, "
");
- };
-
- const style = document.createElement("style");
- style.textContent = `
-#docs-chat-root { position: fixed; right: 20px; bottom: 20px; z-index: 9999; font-family: var(--font-body, system-ui, -apple-system, sans-serif); }
-#docs-chat-root.docs-chat-expanded { right: 0; bottom: 0; top: 0; }
-/* Thin scrollbar styling */
-#docs-chat-root ::-webkit-scrollbar { width: 6px; height: 6px; }
-#docs-chat-root ::-webkit-scrollbar-track { background: transparent; }
-#docs-chat-root ::-webkit-scrollbar-thumb { background: var(--docs-chat-panel-border); border-radius: 3px; }
-#docs-chat-root ::-webkit-scrollbar-thumb:hover { background: var(--docs-chat-muted); }
-#docs-chat-root * { scrollbar-width: thin; scrollbar-color: var(--docs-chat-panel-border) transparent; }
-:root {
- --docs-chat-accent: var(--accent, #ff7d60);
- --docs-chat-text: #1a1a1a;
- --docs-chat-muted: #555;
- --docs-chat-panel: rgba(255, 255, 255, 0.92);
- --docs-chat-panel-border: rgba(0, 0, 0, 0.1);
- --docs-chat-surface: rgba(250, 250, 250, 0.95);
- --docs-chat-shadow: 0 18px 50px rgba(0,0,0,0.15);
- --docs-chat-code-bg: rgba(0, 0, 0, 0.05);
- --docs-chat-assistant-bg: #f5f5f5;
-}
-html[data-theme="dark"] {
- --docs-chat-text: #e8e8e8;
- --docs-chat-muted: #aaa;
- --docs-chat-panel: rgba(28, 28, 30, 0.95);
- --docs-chat-panel-border: rgba(255, 255, 255, 0.12);
- --docs-chat-surface: rgba(38, 38, 40, 0.95);
- --docs-chat-shadow: 0 18px 50px rgba(0,0,0,0.5);
- --docs-chat-code-bg: rgba(255, 255, 255, 0.08);
- --docs-chat-assistant-bg: #2a2a2c;
-}
-#docs-chat-button {
- display: inline-flex;
- align-items: center;
- gap: 10px;
- background: linear-gradient(140deg, rgba(255,90,54,0.25), rgba(255,90,54,0.06));
- color: var(--docs-chat-text);
- border: 1px solid rgba(255,90,54,0.4);
- border-radius: 999px;
- padding: 10px 14px;
- cursor: pointer;
- box-shadow: 0 8px 30px rgba(255,90,54, 0.08);
- backdrop-filter: blur(12px);
- -webkit-backdrop-filter: blur(12px);
- font-family: var(--font-pixel, var(--font-body, system-ui, sans-serif));
-}
-#docs-chat-button span { font-weight: 600; letter-spacing: 0.04em; font-size: 14px; }
-.docs-chat-logo { width: 20px; height: 20px; }
-#docs-chat-panel {
- width: min(440px, calc(100vw - 40px));
- height: min(696px, calc(100vh - 80px));
- background: var(--docs-chat-panel);
- color: var(--docs-chat-text);
- border-radius: 16px;
- border: 1px solid var(--docs-chat-panel-border);
- box-shadow: var(--docs-chat-shadow);
- display: none;
- flex-direction: column;
- overflow: hidden;
- backdrop-filter: blur(16px);
- -webkit-backdrop-filter: blur(16px);
-}
-#docs-chat-root.docs-chat-expanded #docs-chat-panel {
- width: min(512px, 100vw);
- height: 100vh;
- height: 100dvh;
- border-radius: 18px 0 0 18px;
- padding-top: env(safe-area-inset-top, 0);
- padding-bottom: env(safe-area-inset-bottom, 0);
-}
-@media (max-width: 520px) {
- #docs-chat-root.docs-chat-expanded #docs-chat-panel {
- width: 100vw;
- border-radius: 0;
- }
- #docs-chat-root.docs-chat-expanded { right: 0; left: 0; bottom: 0; top: 0; }
-}
-#docs-chat-header {
- padding: 12px 14px;
- font-weight: 600;
- font-family: var(--font-pixel, var(--font-body, system-ui, sans-serif));
- letter-spacing: 0.03em;
- border-bottom: 1px solid var(--docs-chat-panel-border);
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-#docs-chat-header-title { display: inline-flex; align-items: center; gap: 8px; }
-#docs-chat-header-title span { color: var(--docs-chat-text); font-size: 15px; }
-#docs-chat-header-actions { display: inline-flex; align-items: center; gap: 6px; }
-.docs-chat-icon-button {
- border: 1px solid var(--docs-chat-panel-border);
- background: transparent;
- color: inherit;
- border-radius: 8px;
- width: 30px;
- height: 30px;
- cursor: pointer;
- font-size: 16px;
- line-height: 1;
-}
-#docs-chat-messages { flex: 1; padding: 12px 14px; overflow: auto; background: transparent; }
-#docs-chat-input {
- display: flex;
- gap: 8px;
- padding: 12px 14px;
- border-top: 1px solid var(--docs-chat-panel-border);
- background: var(--docs-chat-surface);
- backdrop-filter: blur(10px);
- -webkit-backdrop-filter: blur(10px);
-}
-#docs-chat-input textarea {
- flex: 1;
- resize: none;
- border: 1px solid var(--docs-chat-panel-border);
- border-radius: 10px;
- padding: 9px 10px;
- font-size: 14px;
- line-height: 1.5;
- font-family: inherit;
- color: var(--docs-chat-text);
- background: var(--docs-chat-surface);
- min-height: 42px;
- max-height: 120px;
- overflow-y: auto;
-}
-#docs-chat-input textarea::placeholder { color: var(--docs-chat-muted); }
-#docs-chat-send {
- background: var(--docs-chat-accent);
- color: #fff;
- border: none;
- border-radius: 10px;
- padding: 8px 14px;
- cursor: pointer;
- font-weight: 600;
- font-family: inherit;
- font-size: 14px;
- transition: opacity 0.15s ease;
-}
-#docs-chat-send:hover { opacity: 0.9; }
-#docs-chat-send:active { opacity: 0.8; }
-.docs-chat-bubble {
- margin-bottom: 10px;
- padding: 10px 14px;
- border-radius: 12px;
- font-size: 14px;
- line-height: 1.6;
- max-width: 92%;
-}
-.docs-chat-user {
- background: rgba(255, 125, 96, 0.15);
- color: var(--docs-chat-text);
- border: 1px solid rgba(255, 125, 96, 0.3);
- align-self: flex-end;
- white-space: pre-wrap;
- margin-left: auto;
-}
-html[data-theme="dark"] .docs-chat-user {
- background: rgba(255, 125, 96, 0.18);
- border-color: rgba(255, 125, 96, 0.35);
-}
-.docs-chat-assistant {
- background: var(--docs-chat-assistant-bg);
- color: var(--docs-chat-text);
- border: 1px solid var(--docs-chat-panel-border);
-}
-/* Markdown content styling for chat bubbles */
-.docs-chat-assistant p { margin: 0 0 10px 0; }
-.docs-chat-assistant p:last-child { margin-bottom: 0; }
-.docs-chat-assistant code {
- background: var(--docs-chat-code-bg);
- padding: 2px 6px;
- border-radius: 5px;
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
- font-size: 0.9em;
-}
-.docs-chat-assistant pre {
- background: var(--docs-chat-code-bg);
- padding: 10px 12px;
- border-radius: 8px;
- overflow-x: auto;
- margin: 6px 0;
- font-size: 0.9em;
- max-width: 100%;
- white-space: pre;
- word-wrap: normal;
-}
-.docs-chat-assistant pre::-webkit-scrollbar-thumb { background: transparent; }
-.docs-chat-assistant pre:hover::-webkit-scrollbar-thumb { background: var(--docs-chat-panel-border); }
-@media (hover: none) {
- .docs-chat-assistant pre { -webkit-overflow-scrolling: touch; }
- .docs-chat-assistant pre::-webkit-scrollbar-thumb { background: var(--docs-chat-panel-border); }
-}
-.docs-chat-assistant pre code {
- background: transparent;
- padding: 0;
- font-size: inherit;
- white-space: pre;
- word-wrap: normal;
- display: block;
-}
-/* Compact single-line code blocks */
-.docs-chat-assistant pre.compact {
- margin: 4px 0;
- padding: 6px 10px;
-}
-/* Longer code blocks with copy button need extra top padding */
-.docs-chat-assistant pre:not(.compact) {
- padding-top: 28px;
-}
-.docs-chat-assistant a {
- color: var(--docs-chat-accent);
- text-decoration: underline;
- text-underline-offset: 2px;
-}
-.docs-chat-assistant a:hover { opacity: 0.8; }
-.docs-chat-assistant ul, .docs-chat-assistant ol {
- margin: 8px 0;
- padding-left: 18px;
- list-style: none;
-}
-.docs-chat-assistant li {
- margin: 4px 0;
- position: relative;
- padding-left: 14px;
-}
-.docs-chat-assistant li::before {
- content: "•";
- position: absolute;
- left: 0;
- color: var(--docs-chat-muted);
-}
-.docs-chat-assistant strong { font-weight: 600; }
-.docs-chat-assistant em { font-style: italic; }
-.docs-chat-assistant h1, .docs-chat-assistant h2, .docs-chat-assistant h3 {
- font-weight: 600;
- margin: 12px 0 6px 0;
- line-height: 1.3;
-}
-.docs-chat-assistant h1 { font-size: 1.2em; }
-.docs-chat-assistant h2 { font-size: 1.1em; }
-.docs-chat-assistant h3 { font-size: 1.05em; }
-.docs-chat-assistant blockquote {
- border-left: 3px solid var(--docs-chat-accent);
- margin: 10px 0;
- padding: 4px 12px;
- color: var(--docs-chat-muted);
- background: var(--docs-chat-code-bg);
- border-radius: 0 6px 6px 0;
-}
-.docs-chat-assistant hr {
- border: none;
- height: 1px;
- background: var(--docs-chat-panel-border);
- margin: 12px 0;
-}
-/* Copy buttons */
-.docs-chat-assistant { position: relative; padding-top: 28px; }
-.docs-chat-copy-response {
- position: absolute;
- top: 8px;
- right: 8px;
- background: var(--docs-chat-surface);
- border: 1px solid var(--docs-chat-panel-border);
- border-radius: 5px;
- padding: 4px 8px;
- font-size: 11px;
- cursor: pointer;
- color: var(--docs-chat-muted);
- transition: color 0.15s ease, background 0.15s ease;
-}
-.docs-chat-copy-response:hover {
- color: var(--docs-chat-text);
- background: var(--docs-chat-code-bg);
-}
-.docs-chat-assistant pre {
- position: relative;
-}
-.docs-chat-copy-code {
- position: absolute;
- top: 8px;
- right: 8px;
- background: var(--docs-chat-surface);
- border: 1px solid var(--docs-chat-panel-border);
- border-radius: 4px;
- padding: 3px 7px;
- font-size: 10px;
- cursor: pointer;
- color: var(--docs-chat-muted);
- transition: color 0.15s ease, background 0.15s ease;
- z-index: 1;
-}
-.docs-chat-copy-code:hover {
- color: var(--docs-chat-text);
- background: var(--docs-chat-code-bg);
-}
-/* Resize handle - left edge of expanded panel */
-#docs-chat-resize-handle {
- position: absolute;
- left: 0;
- top: 0;
- bottom: 0;
- width: 6px;
- cursor: ew-resize;
- z-index: 10;
- display: none;
-}
-#docs-chat-root.docs-chat-expanded #docs-chat-resize-handle { display: block; }
-#docs-chat-resize-handle::after {
- content: "";
- position: absolute;
- left: 1px;
- top: 50%;
- transform: translateY(-50%);
- width: 4px;
- height: 40px;
- border-radius: 2px;
- background: var(--docs-chat-panel-border);
- opacity: 0;
- transition: opacity 0.15s ease, background 0.15s ease;
-}
-#docs-chat-resize-handle:hover::after,
-#docs-chat-resize-handle.docs-chat-dragging::after {
- opacity: 1;
- background: var(--docs-chat-accent);
-}
-@media (max-width: 520px) {
- #docs-chat-resize-handle { display: none !important; }
-}
-`;
- document.head.appendChild(style);
-
- const root = document.createElement("div");
- root.id = "docs-chat-root";
-
- const button = document.createElement("button");
- button.id = "docs-chat-button";
- button.type = "button";
- button.innerHTML =
- `` +
- `Ask Molty`;
-
- const panel = document.createElement("div");
- panel.id = "docs-chat-panel";
- panel.style.display = "none";
-
- // Resize handle for expandable sidebar width (desktop only)
- const resizeHandle = document.createElement("div");
- resizeHandle.id = "docs-chat-resize-handle";
-
- const header = document.createElement("div");
- header.id = "docs-chat-header";
- header.innerHTML =
- `