From 84a488d911ca3d09b2e9e8e54e4c4b9afe0bc2dc Mon Sep 17 00:00:00 2001 From: ThanhNguyxn Date: Fri, 30 Jan 2026 13:41:03 +0700 Subject: [PATCH 1/8] docs: update issue templates for OpenClaw --- .github/ISSUE_TEMPLATE/bug_report.md | 4 ++-- .github/ISSUE_TEMPLATE/config.yml | 2 +- .github/ISSUE_TEMPLATE/feature_request.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 46ee3da04..bba6eb81e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,6 +1,6 @@ --- name: Bug report -about: Report a problem or unexpected behavior in Clawdbot. +about: Report a problem or unexpected behavior in OpenClaw. title: "[Bug]: " labels: bug --- @@ -20,7 +20,7 @@ What did you expect to happen? What actually happened? ## Environment -- Clawdbot version: +- OpenClaw version: - OS: - Install method (pnpm/npx/docker/etc): diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 26c896f06..e5943b895 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,7 +2,7 @@ blank_issues_enabled: true contact_links: - name: Onboarding url: https://discord.gg/clawd - about: New to Clawdbot? Join Discord for setup guidance from Krill in #help. + about: New to OpenClaw? Join Discord for setup guidance from Krill in #help. - name: Support url: https://discord.gg/clawd about: Get help from Krill and the community on Discord in #help. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 742bf184e..34a08983b 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,6 +1,6 @@ --- name: Feature request -about: Suggest an idea or improvement for Clawdbot. +about: Suggest an idea or improvement for OpenClaw. title: "[Feature]: " labels: enhancement --- @@ -9,7 +9,7 @@ labels: enhancement Describe the problem you are trying to solve or the opportunity you see. ## Proposed solution -What would you like Clawdbot to do? +What would you like OpenClaw to do? ## Alternatives considered Any other approaches you have considered? From 3a65afed762b9bc003eb2d1cae11b91e07b2e030 Mon Sep 17 00:00:00 2001 From: ThanhNguyxn Date: Fri, 30 Jan 2026 13:41:10 +0700 Subject: [PATCH 2/8] chore: update pre-commit header branding --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 80813a0d3..d3744ac60 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,4 @@ -# Pre-commit hooks for clawdbot +# Pre-commit hooks for openclaw # Install: prek install # Run manually: prek run --all-files # From 0f5facebe5c93129ed92ef7aef6a7765f1290e6d Mon Sep 17 00:00:00 2001 From: ThanhNguyxn Date: Fri, 30 Jan 2026 13:41:17 +0700 Subject: [PATCH 3/8] docs: update upstream sync workflow branding --- .agent/workflows/update_clawdbot.md | 30 ++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.agent/workflows/update_clawdbot.md b/.agent/workflows/update_clawdbot.md index 692ee84e4..2dc31c173 100644 --- a/.agent/workflows/update_clawdbot.md +++ b/.agent/workflows/update_clawdbot.md @@ -1,8 +1,8 @@ --- -description: Update Clawdbot from upstream when branch has diverged (ahead/behind) +description: Update OpenClaw from upstream when branch has diverged (ahead/behind) --- -# Clawdbot Upstream Sync Workflow +# OpenClaw Upstream Sync Workflow Use this workflow when your fork has diverged from upstream (e.g., "18 commits ahead, 29 commits behind"). @@ -110,7 +110,7 @@ pnpm build pnpm ui:build # Run diagnostics -pnpm clawdbot doctor +pnpm openclaw doctor ``` --- @@ -129,16 +129,16 @@ pnpm mac:package ```bash # Kill running app -pkill -x "Clawdbot" || true +pkill -x "OpenClaw" || true # Move old version -mv /Applications/Clawdbot.app /tmp/Clawdbot-backup.app +mv /Applications/OpenClaw.app /tmp/OpenClaw-backup.app # Install new build -cp -R dist/Clawdbot.app /Applications/ +cp -R dist/OpenClaw.app /Applications/ # Launch -open /Applications/Clawdbot.app +open /Applications/OpenClaw.app ``` --- @@ -149,13 +149,13 @@ After rebuilding the macOS app, always verify it works correctly: ```bash # Check gateway health -pnpm clawdbot health +pnpm openclaw health # Verify no zombie processes -ps aux | grep -E "(clawdbot|gateway)" | grep -v grep +ps aux | grep -E "(openclaw|gateway)" | grep -v grep # Test agent functionality by sending a verification message -pnpm clawdbot agent --message "Verification: macOS app rebuild successful - agent is responding." --session-id YOUR_TELEGRAM_SESSION_ID +pnpm openclaw agent --message "Verification: macOS app rebuild successful - agent is responding." --session-id YOUR_TELEGRAM_SESSION_ID # Confirm the message was received on Telegram # (Check your Telegram chat with the bot) @@ -225,7 +225,7 @@ If upstream introduced new model configurations: # Check for OpenRouter API key requirements grep -r "openrouter\|OPENROUTER" src/ --include="*.ts" --include="*.js" -# Update clawdbot.json with fallback chains +# Update openclaw.json with fallback chains # Add model fallback configurations as needed ``` @@ -235,7 +235,7 @@ grep -r "openrouter\|OPENROUTER" src/ --include="*.ts" --include="*.js" ```bash # Verify everything works -pnpm clawdbot health +pnpm openclaw health pnpm test # Push (force required after rebase) @@ -342,13 +342,13 @@ pnpm build pnpm ui:build echo "==> Running doctor..." -pnpm clawdbot doctor +pnpm openclaw doctor echo "==> Rebuilding macOS app..." ./scripts/restart-mac.sh echo "==> Verifying gateway health..." -pnpm clawdbot health +pnpm openclaw health echo "==> Checking for Swift 6.2 compatibility issues..." if grep -r "FileManager\.default\|Thread\.isMainThread" src/ apps/ --include="*.swift" --quiet; then @@ -360,7 +360,7 @@ fi echo "==> Testing agent functionality..." # Note: Update YOUR_TELEGRAM_SESSION_ID with actual session ID -pnpm clawdbot agent --message "Verification: Upstream sync and macOS rebuild completed successfully." --session-id YOUR_TELEGRAM_SESSION_ID || echo "Warning: Agent test failed - check Telegram for verification message" +pnpm openclaw agent --message "Verification: Upstream sync and macOS rebuild completed successfully." --session-id YOUR_TELEGRAM_SESSION_ID || echo "Warning: Agent test failed - check Telegram for verification message" echo "==> Done! Check Telegram for verification message, then run 'git push --force-with-lease' when ready." ``` From 5a2eeeeaed7882ed40bc6ad51f6ee9941dfba2ac Mon Sep 17 00:00:00 2001 From: ThanhNguyxn Date: Fri, 30 Jan 2026 13:41:25 +0700 Subject: [PATCH 4/8] chore: refresh gitignore OpenClaw paths --- .gitignore | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 9dc547c9c..fb32301de 100644 --- a/.gitignore +++ b/.gitignore @@ -19,21 +19,21 @@ ui/test-results/ # Bun build artifacts *.bun-build apps/macos/.build/ -apps/shared/MoltbotKit/.build/ +apps/shared/OpenClawKit/.build/ **/ModuleCache/ bin/ -bin/clawdbot-mac +bin/openclaw-mac bin/docs-list apps/macos/.build-local/ apps/macos/.swiftpm/ -apps/shared/MoltbotKit/.swiftpm/ +apps/shared/OpenClawKit/.swiftpm/ Core/ apps/ios/*.xcodeproj/ apps/ios/*.xcworkspace/ apps/ios/.swiftpm/ vendor/ -apps/ios/Clawdbot.xcodeproj/ -apps/ios/Clawdbot.xcodeproj/** +apps/ios/OpenClaw.xcodeproj/ +apps/ios/OpenClaw.xcodeproj/** apps/macos/.build/** **/*.bun-build apps/ios/*.xcfilelist From 467bf972248e3226b1a8cb1eb61e43af84f29f9c Mon Sep 17 00:00:00 2001 From: ThanhNguyxn Date: Fri, 30 Jan 2026 13:41:32 +0700 Subject: [PATCH 5/8] docs: update internal OpenClaw path guidance --- AGENTS.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index db5d68eb5..aa3b84b1b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,7 +7,7 @@ - Tests: colocated `*.test.ts`. - Docs: `docs/` (images, queue, Pi config). Built output lives in `dist/`. - Plugins/extensions: live under `extensions/*` (workspace packages). Keep plugin-only deps in the extension `package.json`; do not add them to the root `package.json` unless core uses them. -- Plugins: install runs `npm install --omit=dev` in plugin dir; runtime deps must live in `dependencies`. Avoid `workspace:*` in `dependencies` (npm install breaks); put `openclaw` in `devDependencies` or `peerDependencies` instead (runtime resolves `clawdbot/plugin-sdk` via jiti alias). +- Plugins: install runs `npm install --omit=dev` in plugin dir; runtime deps must live in `dependencies`. Avoid `workspace:*` in `dependencies` (npm install breaks); put `openclaw` in `devDependencies` or `peerDependencies` instead (runtime resolves `openclaw/plugin-sdk` via jiti alias). - Installers served from `https://openclaw.ai/*`: live in the sibling repo `../openclaw.ai` (`public/install.sh`, `public/install-cli.sh`, `public/install.ps1`). - Messaging channels: always consider **all** built-in + extension channels when refactoring shared logic (routing, allowlists, pairing, command gating, onboarding, docs). - Core channel docs: `docs/channels/` @@ -97,8 +97,8 @@ - **Landing mode:** create an integration branch from `main`, bring in PR commits (**prefer rebase** for linear history; **merge allowed** when complexity/conflicts make it safer), apply fixes, add changelog (+ thanks + PR #), run full gate **locally before committing** (`pnpm lint && pnpm build && pnpm test`), commit, merge back to `main`, then `git switch main` (never stay on a topic branch after landing). Important: contributor needs to be in git graph after this! ## Security & Configuration Tips -- Web provider stores creds at `~/.clawdbot/credentials/`; rerun `openclaw login` if logged out. -- Pi sessions live under `~/.clawdbot/sessions/` by default; the base directory is not configurable. +- Web provider stores creds at `~/.openclaw/credentials/`; rerun `openclaw login` if logged out. +- Pi sessions live under `~/.openclaw/sessions/` by default; the base directory is not configurable. - Environment variables: see `~/.profile`. - Never commit or publish real phone numbers, videos, or live configuration values. Use obviously fake placeholders in docs, tests, and examples. - Release flow: always read `docs/reference/RELEASING.md` and `docs/platforms/mac/release.md` before any release work; do not ask routine questions once those docs answer them. @@ -145,7 +145,7 @@ - Code style: add brief comments for tricky logic; keep files under ~500 LOC when feasible (split/refactor as needed). - Tool schema guardrails (google-antigravity): avoid `Type.Union` in tool input schemas; no `anyOf`/`oneOf`/`allOf`. Use `stringEnum`/`optionalStringEnum` (Type.Unsafe enum) for string lists, and `Type.Optional(...)` instead of `... | null`. Keep top-level tool schema as `type: "object"` with `properties`. - Tool schema guardrails: avoid raw `format` property names in tool schemas; some validators treat `format` as a reserved keyword and reject the schema. -- When asked to open a “session” file, open the Pi session logs under `~/.clawdbot/agents//sessions/*.jsonl` (use the `agent=` value in the Runtime line of the system prompt; newest unless a specific ID is given), not the default `sessions.json`. If logs are needed from another machine, SSH via Tailscale and read the same path there. +- When asked to open a “session” file, open the Pi session logs under `~/.openclaw/agents//sessions/*.jsonl` (use the `agent=` value in the Runtime line of the system prompt; newest unless a specific ID is given), not the default `sessions.json`. If logs are needed from another machine, SSH via Tailscale and read the same path there. - Do not rebuild the macOS app over SSH; rebuilds must be run directly on the Mac. - Never send streaming/partial replies to external messaging surfaces (WhatsApp, Telegram); only final replies should be delivered there. Streaming/tool events may still go to internal UIs/control channel. - Voice wake forwarding tips: From 36263713c38984c3dd02c7da5bebd0c7976b6400 Mon Sep 17 00:00:00 2001 From: ThanhNguyxn Date: Fri, 30 Jan 2026 13:41:42 +0700 Subject: [PATCH 6/8] docs: update skill paths for OpenClaw state dir --- skills/bluebubbles/SKILL.md | 2 +- skills/canvas/SKILL.md | 6 +++--- skills/nano-banana-pro/SKILL.md | 2 +- skills/openai-whisper-api/SKILL.md | 2 +- skills/session-logs/SKILL.md | 12 ++++++------ skills/sherpa-onnx-tts/SKILL.md | 12 ++++++------ 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/skills/bluebubbles/SKILL.md b/skills/bluebubbles/SKILL.md index b7cb0076c..078754047 100644 --- a/skills/bluebubbles/SKILL.md +++ b/skills/bluebubbles/SKILL.md @@ -28,7 +28,7 @@ Use this skill when working on the BlueBubbles channel plugin. - BlueBubbles posts JSON to the gateway HTTP server. - Normalize sender/chat IDs defensively (payloads vary by version). - Skip messages marked as from self. -- Route into core reply pipeline via the plugin runtime (`api.runtime`) and `clawdbot/plugin-sdk` helpers. +- Route into core reply pipeline via the plugin runtime (`api.runtime`) and `openclaw/plugin-sdk` helpers. - For attachments/stickers, use `` placeholders when text is empty and attach media paths via `MediaUrl(s)` in the inbound context. ## Config (core) diff --git a/skills/canvas/SKILL.md b/skills/canvas/SKILL.md index 999f644dd..09237444c 100644 --- a/skills/canvas/SKILL.md +++ b/skills/canvas/SKILL.md @@ -55,7 +55,7 @@ This is why localhost URLs don't work - the node receives the Tailscale hostname ## Configuration -In `~/.clawdbot/openclaw.json`: +In `~/.openclaw/openclaw.json`: ```json { @@ -102,7 +102,7 @@ HTML Check how your gateway is bound: ```bash -cat ~/.clawdbot/openclaw.json | jq '.gateway.bind' +cat ~/.openclaw/openclaw.json | jq '.gateway.bind' ``` Then construct the URL: @@ -148,7 +148,7 @@ canvas action:hide node: **Cause:** URL mismatch between server bind and node expectation. **Debug steps:** -1. Check server bind: `cat ~/.clawdbot/openclaw.json | jq '.gateway.bind'` +1. Check server bind: `cat ~/.openclaw/openclaw.json | jq '.gateway.bind'` 2. Check what port canvas is on: `lsof -i :18793` 3. Test URL directly: `curl http://:18793/__moltbot__/canvas/.html` diff --git a/skills/nano-banana-pro/SKILL.md b/skills/nano-banana-pro/SKILL.md index 9374450a9..66ff224ff 100644 --- a/skills/nano-banana-pro/SKILL.md +++ b/skills/nano-banana-pro/SKILL.md @@ -26,7 +26,7 @@ uv run {baseDir}/scripts/generate_image.py --prompt "combine these into one scen API key - `GEMINI_API_KEY` env var -- Or set `skills."nano-banana-pro".apiKey` / `skills."nano-banana-pro".env.GEMINI_API_KEY` in `~/.clawdbot/openclaw.json` +- Or set `skills."nano-banana-pro".apiKey` / `skills."nano-banana-pro".env.GEMINI_API_KEY` in `~/.openclaw/openclaw.json` Notes - Resolutions: `1K` (default), `2K`, `4K`. diff --git a/skills/openai-whisper-api/SKILL.md b/skills/openai-whisper-api/SKILL.md index 702906567..751479167 100644 --- a/skills/openai-whisper-api/SKILL.md +++ b/skills/openai-whisper-api/SKILL.md @@ -30,7 +30,7 @@ Defaults: ## API key -Set `OPENAI_API_KEY`, or configure it in `~/.clawdbot/openclaw.json`: +Set `OPENAI_API_KEY`, or configure it in `~/.openclaw/openclaw.json`: ```json5 { diff --git a/skills/session-logs/SKILL.md b/skills/session-logs/SKILL.md index 6dab44fdd..da3990cbc 100644 --- a/skills/session-logs/SKILL.md +++ b/skills/session-logs/SKILL.md @@ -14,7 +14,7 @@ Use this skill when the user asks about prior chats, parent conversations, or hi ## Location -Session logs live at: `~/.clawdbot/agents//sessions/` (use the `agent=` value from the system prompt Runtime line). +Session logs live at: `~/.openclaw/agents//sessions/` (use the `agent=` value from the system prompt Runtime line). - **`sessions.json`** - Index mapping session keys to session IDs - **`.jsonl`** - Full conversation transcript per session @@ -32,7 +32,7 @@ Each `.jsonl` file contains messages with: ### List all sessions by date and size ```bash -for f in ~/.clawdbot/agents//sessions/*.jsonl; do +for f in ~/.openclaw/agents//sessions/*.jsonl; do date=$(head -1 "$f" | jq -r '.timestamp' | cut -dT -f1) size=$(ls -lh "$f" | awk '{print $5}') echo "$date $size $(basename $f)" @@ -41,7 +41,7 @@ done | sort -r ### Find sessions from a specific day ```bash -for f in ~/.clawdbot/agents//sessions/*.jsonl; do +for f in ~/.openclaw/agents//sessions/*.jsonl; do head -1 "$f" | jq -r '.timestamp' | grep -q "2026-01-06" && echo "$f" done ``` @@ -63,7 +63,7 @@ jq -s '[.[] | .message.usage.cost.total // 0] | add' .jsonl ### Daily cost summary ```bash -for f in ~/.clawdbot/agents//sessions/*.jsonl; do +for f in ~/.openclaw/agents//sessions/*.jsonl; do date=$(head -1 "$f" | jq -r '.timestamp' | cut -dT -f1) cost=$(jq -s '[.[] | .message.usage.cost.total // 0] | add' "$f") echo "$date $cost" @@ -88,7 +88,7 @@ jq -r '.message.content[]? | select(.type == "toolCall") | .name' .json ### Search across ALL sessions for a phrase ```bash -rg -l "phrase" ~/.clawdbot/agents//sessions/*.jsonl +rg -l "phrase" ~/.openclaw/agents//sessions/*.jsonl ``` ## Tips @@ -101,5 +101,5 @@ rg -l "phrase" ~/.clawdbot/agents//sessions/*.jsonl ## Fast text-only hint (low noise) ```bash -jq -r 'select(.type=="message") | .message.content[]? | select(.type=="text") | .text' ~/.clawdbot/agents//sessions/.jsonl | rg 'keyword' +jq -r 'select(.type=="message") | .message.content[]? | select(.type=="text") | .text' ~/.openclaw/agents//sessions/.jsonl | rg 'keyword' ``` diff --git a/skills/sherpa-onnx-tts/SKILL.md b/skills/sherpa-onnx-tts/SKILL.md index 275b77ae2..73abfca93 100644 --- a/skills/sherpa-onnx-tts/SKILL.md +++ b/skills/sherpa-onnx-tts/SKILL.md @@ -1,7 +1,7 @@ --- name: sherpa-onnx-tts description: Local text-to-speech via sherpa-onnx (offline, no cloud) -metadata: {"openclaw":{"emoji":"🗣️","os":["darwin","linux","win32"],"requires":{"env":["SHERPA_ONNX_RUNTIME_DIR","SHERPA_ONNX_MODEL_DIR"]},"install":[{"id":"download-runtime-macos","kind":"download","os":["darwin"],"url":"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.23/sherpa-onnx-v1.12.23-osx-universal2-shared.tar.bz2","archive":"tar.bz2","extract":true,"stripComponents":1,"targetDir":"~/.clawdbot/tools/sherpa-onnx-tts/runtime","label":"Download sherpa-onnx runtime (macOS)"},{"id":"download-runtime-linux-x64","kind":"download","os":["linux"],"url":"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.23/sherpa-onnx-v1.12.23-linux-x64-shared.tar.bz2","archive":"tar.bz2","extract":true,"stripComponents":1,"targetDir":"~/.clawdbot/tools/sherpa-onnx-tts/runtime","label":"Download sherpa-onnx runtime (Linux x64)"},{"id":"download-runtime-win-x64","kind":"download","os":["win32"],"url":"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.23/sherpa-onnx-v1.12.23-win-x64-shared.tar.bz2","archive":"tar.bz2","extract":true,"stripComponents":1,"targetDir":"~/.clawdbot/tools/sherpa-onnx-tts/runtime","label":"Download sherpa-onnx runtime (Windows x64)"},{"id":"download-model-lessac","kind":"download","url":"https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_US-lessac-high.tar.bz2","archive":"tar.bz2","extract":true,"targetDir":"~/.clawdbot/tools/sherpa-onnx-tts/models","label":"Download Piper en_US lessac (high)"}]}} +metadata: {"openclaw":{"emoji":"🗣️","os":["darwin","linux","win32"],"requires":{"env":["SHERPA_ONNX_RUNTIME_DIR","SHERPA_ONNX_MODEL_DIR"]},"install":[{"id":"download-runtime-macos","kind":"download","os":["darwin"],"url":"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.23/sherpa-onnx-v1.12.23-osx-universal2-shared.tar.bz2","archive":"tar.bz2","extract":true,"stripComponents":1,"targetDir":"~/.openclaw/tools/sherpa-onnx-tts/runtime","label":"Download sherpa-onnx runtime (macOS)"},{"id":"download-runtime-linux-x64","kind":"download","os":["linux"],"url":"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.23/sherpa-onnx-v1.12.23-linux-x64-shared.tar.bz2","archive":"tar.bz2","extract":true,"stripComponents":1,"targetDir":"~/.openclaw/tools/sherpa-onnx-tts/runtime","label":"Download sherpa-onnx runtime (Linux x64)"},{"id":"download-runtime-win-x64","kind":"download","os":["win32"],"url":"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.23/sherpa-onnx-v1.12.23-win-x64-shared.tar.bz2","archive":"tar.bz2","extract":true,"stripComponents":1,"targetDir":"~/.openclaw/tools/sherpa-onnx-tts/runtime","label":"Download sherpa-onnx runtime (Windows x64)"},{"id":"download-model-lessac","kind":"download","url":"https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_US-lessac-high.tar.bz2","archive":"tar.bz2","extract":true,"targetDir":"~/.openclaw/tools/sherpa-onnx-tts/models","label":"Download Piper en_US lessac (high)"}]}} --- # sherpa-onnx-tts @@ -10,10 +10,10 @@ Local TTS using the sherpa-onnx offline CLI. ## Install -1) Download the runtime for your OS (extracts into `~/.clawdbot/tools/sherpa-onnx-tts/runtime`) -2) Download a voice model (extracts into `~/.clawdbot/tools/sherpa-onnx-tts/models`) +1) Download the runtime for your OS (extracts into `~/.openclaw/tools/sherpa-onnx-tts/runtime`) +2) Download a voice model (extracts into `~/.openclaw/tools/sherpa-onnx-tts/models`) -Update `~/.clawdbot/openclaw.json`: +Update `~/.openclaw/openclaw.json`: ```json5 { @@ -21,8 +21,8 @@ Update `~/.clawdbot/openclaw.json`: entries: { "sherpa-onnx-tts": { env: { - SHERPA_ONNX_RUNTIME_DIR: "~/.clawdbot/tools/sherpa-onnx-tts/runtime", - SHERPA_ONNX_MODEL_DIR: "~/.clawdbot/tools/sherpa-onnx-tts/models/vits-piper-en_US-lessac-high" +SHERPA_ONNX_RUNTIME_DIR: "~/.openclaw/tools/sherpa-onnx-tts/runtime", +SHERPA_ONNX_MODEL_DIR: "~/.openclaw/tools/sherpa-onnx-tts/models/vits-piper-en_US-lessac-high" } } } From ed0f26457f22a9758460db1046131d58e0f0fc6a Mon Sep 17 00:00:00 2001 From: ThanhNguyxn Date: Fri, 30 Jan 2026 13:41:49 +0700 Subject: [PATCH 7/8] chore: update tmux socket default --- skills/tmux/scripts/find-sessions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/tmux/scripts/find-sessions.sh b/skills/tmux/scripts/find-sessions.sh index 18076e901..ab9981b8c 100755 --- a/skills/tmux/scripts/find-sessions.sh +++ b/skills/tmux/scripts/find-sessions.sh @@ -20,7 +20,7 @@ socket_name="" socket_path="" query="" scan_all=false -socket_dir="${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/moltbot-tmux-sockets}" +socket_dir="${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/openclaw-tmux-sockets}" while [[ $# -gt 0 ]]; do case "$1" in From 760a960d8f2f5b27044379c2de68c936f59e24aa Mon Sep 17 00:00:00 2001 From: ThanhNguyxn Date: Fri, 30 Jan 2026 22:56:50 +0700 Subject: [PATCH 8/8] ci: skip submodule update when no .gitmodules --- .github/workflows/ci.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 885d87fcb..a2abe26ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,10 @@ jobs: - name: Checkout submodules (retry) run: | set -euo pipefail + if [ ! -f .gitmodules ]; then + echo "No .gitmodules found; skipping submodule update." + exit 0 + fi git submodule sync --recursive for attempt in 1 2 3 4 5; do if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then @@ -101,6 +105,10 @@ jobs: - name: Checkout submodules (retry) run: | set -euo pipefail + if [ ! -f .gitmodules ]; then + echo "No .gitmodules found; skipping submodule update." + exit 0 + fi git submodule sync --recursive for attempt in 1 2 3 4 5; do if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then @@ -217,6 +225,10 @@ jobs: - name: Checkout submodules (retry) run: | set -euo pipefail + if [ ! -f .gitmodules ]; then + echo "No .gitmodules found; skipping submodule update." + exit 0 + fi git submodule sync --recursive for attempt in 1 2 3 4 5; do if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then @@ -293,6 +305,10 @@ jobs: - name: Checkout submodules (retry) run: | set -euo pipefail + if [ ! -f .gitmodules ]; then + echo "No .gitmodules found; skipping submodule update." + exit 0 + fi git submodule sync --recursive for attempt in 1 2 3 4 5; do if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then @@ -389,6 +405,10 @@ jobs: - name: Checkout submodules (retry) run: | set -euo pipefail + if [ ! -f .gitmodules ]; then + echo "No .gitmodules found; skipping submodule update." + exit 0 + fi git submodule sync --recursive for attempt in 1 2 3 4 5; do if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then