{
  "schemaVersion": "1.0",
  "item": {
    "slug": "clawboard",
    "name": "Clawboard",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/sirouk/clawboard",
    "canonicalUrl": "https://clawhub.ai/sirouk/clawboard",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/clawboard",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=clawboard",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/setup-openclaw-memory-backup.sh",
      "scripts/backup_openclaw_curated_memories.sh",
      "scripts/setup-openclaw-local-memory.sh",
      "scripts/export_clawboard_backup.py",
      "agents/openai.yaml"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/clawboard"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/clawboard",
    "agentPageUrl": "https://openagent3.xyz/skills/clawboard/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawboard/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawboard/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Status",
        "body": "ClawHub: not available yet.\nInstall path today: scripted bootstrap or manual repo install.\nIf OpenClaw is missing and user wants Chutes provider, start with add_chutes.sh after creating a https://chutes.ai account."
      },
      {
        "title": "Current Architecture Snapshot",
        "body": "web (Next.js): http://localhost:3010\napi (FastAPI + SQLite): http://localhost:8010\nclassifier (async stage-2 worker): topic/task classification loop\nqdrant (vector index): dense retrieval backend on internal Docker network\nclawboard-logger plugin: stage-1 firehose logging + response-time context extension\n\nRetrieval/search stack:\n\nDense vectors + BM25 + lexical matching\nReciprocal rank fusion + reranking\nQdrant primary, SQLite embeddings mirror/fallback"
      },
      {
        "title": "Goal",
        "body": "Get a user to a working Clawboard install where:\n\nClawboard web/api/classifier are running.\nclawboard-logger plugin is installed and enabled.\nToken flow is configured correctly (required for writes + non-localhost reads).\nOpenClaw gateway is restarted and logging into Clawboard."
      },
      {
        "title": "Hard Rules (Repo vs Installed Skill)",
        "body": "Repo copy (version controlled): $CLAWBOARD_DIR/skills/clawboard\nInstalled skill path (what OpenClaw reads): $HOME/.openclaw/skills/clawboard\nDefault install mode is symlink (~/.openclaw/skills/clawboard -> $CLAWBOARD_DIR/skills/clawboard).\nDetect mode deterministically at runtime:\n\nif [ -L \"$HOME/.openclaw/skills/clawboard\" ]; then\n  echo \"symlink\"\nelse\n  echo \"copy\"\nfi\n\nIn symlink mode (default), repo edits are immediately visible to OpenClaw.\nIn copy mode, repo edits do not update OpenClaw until you sync/copy again. After skill file changes (SKILL.md, agents/, references/, scripts/), sync into OpenClaw:\n\ncd \"$CLAWBOARD_DIR\"\nbash scripts/sync_openclaw_skill.sh --to-openclaw --apply --force\n\nIf you changed files under ~/.openclaw/skills/clawboard while in copy mode, sync them back before committing:\n\ncd \"$CLAWBOARD_DIR\"\nbash scripts/sync_openclaw_skill.sh --to-repo --apply"
      },
      {
        "title": "Workspace + Runtime Assumptions (for coding tasks)",
        "body": "Typical repo locations for Clawboard code:\n\n~/[agent_name]/clawboard\n~/[agent_name]/projects/clawboard\n\n\nFor scripted installs, bootstrap auto-detects OpenClaw workspace conventions and usually lands in one of those layouts.\nWhen asked to work on Clawboard frontend/backend, prefer the active git repo copy under those locations, not ~/.openclaw/skills/*.\nAfter typical bootstrap, assume Docker services are running:\n\nCLAWBOARD_WEB_HOT_RELOAD=1: web-dev is used for Next.js hot reload (web is stopped).\nCLAWBOARD_WEB_HOT_RELOAD=0: production-style web service is used.\n\n\nFast runtime check commands:\n\ndocker compose ps\necho \"$CLAWBOARD_WEB_HOT_RELOAD\" (or read from $CLAWBOARD_DIR/.env)\ncurl -s http://localhost:8010/api/health\n\n\nParity rules while editing:\n\nSkill path mode should be checked first (test -L ~/.openclaw/skills/clawboard).\nIf symlink mode: edit repo files directly ($CLAWBOARD_DIR/skills/clawboard/**).\nIf copy mode: sync to OpenClaw after edits (bash scripts/sync_openclaw_skill.sh --to-openclaw --apply --force).\nLogger plugin edits (extensions/clawboard-logger/**) must be reinstalled/enabled in OpenClaw:\n\nopenclaw plugins install -l \"$CLAWBOARD_DIR/extensions/clawboard-logger\"\nopenclaw plugins enable clawboard-logger\n\n\n~/.openclaw/skills/clawboard-logger is optional and may not exist by default. If your environment has it, keep it synced with its repo copy explicitly."
      },
      {
        "title": "1) Quick Scripted Install (recommended)",
        "body": "Use:\n\ncurl -fsSL https://raw.githubusercontent.com/sirouk/clawboard/main/scripts/bootstrap_openclaw.sh | bash\n\nWhat the script does:\n\nClones/updates repo by auto-detecting your OpenClaw workspace. If it finds a projects/ (or project/) convention, it installs there; otherwise it falls back to ~/clawboard.\n\nOverride with --dir <path>, CLAWBOARD_DIR=<path>, or CLAWBOARD_PARENT_DIR=<path> (installs to <parent>/clawboard).\n\n\nGenerates a token if missing and writes .env with CLAWBOARD_TOKEN.\nDetects browser access URLs (Tailscale if available, else localhost) and writes .env CLAWBOARD_PUBLIC_API_BASE and CLAWBOARD_PUBLIC_WEB_URL.\nBuilds and starts Docker services.\nEnsures web + api + classifier + qdrant are running.\nInstalls skill at $HOME/.openclaw/skills/clawboard (default: symlink to repo skill; optional copy mode).\nInstalls/enables clawboard-logger plugin.\nWrites plugin config (baseUrl, token, enabled) via openclaw config set.\nEnsures OpenClaw OpenResponses endpoint is enabled (POST /v1/responses) for attachments.\nRestarts OpenClaw gateway.\nSets /api/config title + integration level.\n\nIf openclaw CLI is not installed yet, the script still deploys Clawboard and prints follow-up instructions.\nIt now also offers to run the Chutes fast path automatically when openclaw is missing.\n\nUseful flags:\n\n--integration-level full|write|manual (default write)\n--no-backfill (same as manual)\n--api-url http://localhost:8010\n--web-url http://localhost:3010\n--web-hot-reload / --no-web-hot-reload\n--public-api-base https://api.example.com\n--public-web-url https://clawboard.example.com\n--token <token>\n--title \"<name>\"\n--skill-symlink (default)\n--skill-copy (fallback if you do not want symlink mode)\n--update"
      },
      {
        "title": "2) Human Manual Install",
        "body": "Prereqs:\n\ngit, docker (+ compose), openclaw CLI\nDocker Desktop on macOS\n\nSteps:\n\nClone repo:\n\nCLAWBOARD_PARENT_DIR=\"${CLAWBOARD_PARENT_DIR:-}\"\nCLAWBOARD_DIR=\"${CLAWBOARD_DIR:-${CLAWBOARD_PARENT_DIR:+$CLAWBOARD_PARENT_DIR/clawboard}}\"\nCLAWBOARD_DIR=\"${CLAWBOARD_DIR:-$HOME/clawboard}\"\ngit clone https://github.com/sirouk/clawboard \"$CLAWBOARD_DIR\"\ncd \"$CLAWBOARD_DIR\"\n\nCreate token and env:\n\ncp .env.example .env\nopenssl rand -hex 32\n\nSet CLAWBOARD_TOKEN=<value> in $CLAWBOARD_DIR/.env.\nSet CLAWBOARD_PUBLIC_API_BASE=<browser-reachable-api-url> in $CLAWBOARD_DIR/.env.\nOptional: set CLAWBOARD_PUBLIC_WEB_URL=<browser-reachable-ui-url> in $CLAWBOARD_DIR/.env.\nExamples:\n\nlocal: http://localhost:8010\ntailscale: http://100.x.y.z:8010\ncustom domain: https://api.example.com\n\nStart Clawboard:\n\ndocker compose up -d --build\n\nInstall skill:\n\nmkdir -p \"$HOME/.openclaw/skills\"\nrm -rf \"$HOME/.openclaw/skills/clawboard\"\nln -s \"$CLAWBOARD_DIR/skills/clawboard\" \"$HOME/.openclaw/skills/clawboard\"\n\nIf you explicitly want copy mode instead of symlink:\n\nmkdir -p \"$HOME/.openclaw/skills\"\nrm -rf \"$HOME/.openclaw/skills/clawboard\"\ncp -R \"$CLAWBOARD_DIR/skills/clawboard\" \"$HOME/.openclaw/skills/clawboard\"\n\nIf user keeps skills elsewhere, use that path instead of $HOME/.openclaw/skills.\n\nInstall + enable logger plugin:\n\nopenclaw plugins install -l \"$CLAWBOARD_DIR/extensions/clawboard-logger\"\nopenclaw plugins enable clawboard-logger\n\nConfigure plugin (writes into OpenClaw config):\n\n# contextMode options: auto | cheap | full | patient\nopenclaw config set plugins.entries.clawboard-logger.config --json '{\n  \"baseUrl\":\"http://localhost:8010\",\n  \"token\":\"YOUR_TOKEN\",\n  \"enabled\":true,\n  \"contextMode\":\"auto\",\n  \"contextFallbackMode\":\"cheap\",\n  \"contextFetchTimeoutMs\":1200,\n  \"contextTotalBudgetMs\":2200,\n  \"contextMaxChars\":2200\n}'\nopenclaw config set plugins.entries.clawboard-logger.enabled --json true\n\nEnable OpenResponses (recommended for attachments):\n\nopenclaw config set gateway.http.endpoints.responses.enabled --json true\n\nRestart gateway:\n\nopenclaw gateway restart\n\nNotes:\n\nOpenClaw config is stored at $HOME/.openclaw/openclaw.json.\nKeep plugin token aligned with API server CLAWBOARD_TOKEN."
      },
      {
        "title": "3) Agentic Install (copy/paste into OpenClaw)",
        "body": "Use this exact prompt:\n\nInstall Clawboard for me end-to-end. ClawHub is not available yet, so choose one of these:\n\n1) Scripted install (preferred):\n- Run: curl -fsSL https://raw.githubusercontent.com/sirouk/clawboard/main/scripts/bootstrap_openclaw.sh | bash\n\n2) Manual install:\n- Clone repo to `$CLAWBOARD_DIR`\n- Create `CLAWBOARD_TOKEN` and write `$CLAWBOARD_DIR/.env`\n- Set `CLAWBOARD_PUBLIC_API_BASE` (local/Tailscale/custom domain) in `$CLAWBOARD_DIR/.env`\n- Set `CLAWBOARD_PUBLIC_WEB_URL` (local/Tailscale/custom domain) in `$CLAWBOARD_DIR/.env`\n- Start docker compose\n- Symlink skill to $HOME/.openclaw/skills/clawboard (default; copy only if explicitly requested)\n- Install/enable clawboard-logger plugin\n- Set plugin config (baseUrl + token) in OpenClaw config\n- Restart gateway\n\nAfter install, validate:\n- http://localhost:8010/api/health\n- http://localhost:8010/api/config\n- plugin enabled + gateway restarted\n- send one test message and confirm it appears in Clawboard logs\n\nAsk me before choosing local vs Tailscale API base URL.\n\nSecurity reminder for all methods:\n\nCLAWBOARD_TOKEN is required for all writes and all non-localhost reads.\nLocalhost reads can run tokenless (read-only default posture).\nKeep network boundaries strict (localhost/firewall/Tailscale ACLs; avoid Funnel/public exposure unless explicitly intended).\nCompose defaults keep vector/db/cache services off host ports; use the API as the supported read/write/delete interface."
      },
      {
        "title": "Validation Checklist",
        "body": "Run:\n\ncurl -s http://localhost:8010/api/health\ncurl -s http://localhost:8010/api/config\nopenclaw plugins list | rg clawboard-logger\ncurl -s \"http://localhost:8010/api/search?q=continuity\"\n\nExpect:\n\nAPI health is ok.\ntokenRequired is true.\ntokenConfigured is true.\nLogger plugin is enabled.\nSearch endpoint returns mode/details (and will include qdrant mode when vectors are available).\nNew OpenClaw message appears in Clawboard Logs."
      },
      {
        "title": "Optional Helpers",
        "body": "Local memory setup script:\n\n$CLAWBOARD_DIR/skills/clawboard/scripts/setup-openclaw-local-memory.sh\n\n\nCurated memory cloud backup (GitHub private repo):\n\nSetup (interactive):\n\n$CLAWBOARD_DIR/skills/clawboard/scripts/setup-openclaw-memory-backup.sh\n\n\nBackup run (safe for automation; commits/pushes only when changed):\n\n$CLAWBOARD_DIR/skills/clawboard/scripts/backup_openclaw_curated_memories.sh\n\n\nIncludes optional full Clawboard state export (config/topics/tasks/logs + optional attachments).\nStores config at:\n\n$HOME/.openclaw/credentials/clawboard-memory-backup.json (chmod 600)\n\n\n\n\nChutes provider helper:\n\ncurl -fsSL https://raw.githubusercontent.com/sirouk/clawboard/main/inference-providers/add_chutes.sh | bash"
      },
      {
        "title": "References",
        "body": "references/clawboard-api.md\nreferences/openclaw-hooks.md\nreferences/openclaw-memory-local.md"
      }
    ],
    "body": "Clawboard\nStatus\nClawHub: not available yet.\nInstall path today: scripted bootstrap or manual repo install.\nIf OpenClaw is missing and user wants Chutes provider, start with add_chutes.sh after creating a https://chutes.ai account.\nCurrent Architecture Snapshot\nweb (Next.js): http://localhost:3010\napi (FastAPI + SQLite): http://localhost:8010\nclassifier (async stage-2 worker): topic/task classification loop\nqdrant (vector index): dense retrieval backend on internal Docker network\nclawboard-logger plugin: stage-1 firehose logging + response-time context extension\n\nRetrieval/search stack:\n\nDense vectors + BM25 + lexical matching\nReciprocal rank fusion + reranking\nQdrant primary, SQLite embeddings mirror/fallback\nGoal\n\nGet a user to a working Clawboard install where:\n\nClawboard web/api/classifier are running.\nclawboard-logger plugin is installed and enabled.\nToken flow is configured correctly (required for writes + non-localhost reads).\nOpenClaw gateway is restarted and logging into Clawboard.\nHard Rules (Repo vs Installed Skill)\nRepo copy (version controlled): $CLAWBOARD_DIR/skills/clawboard\nInstalled skill path (what OpenClaw reads): $HOME/.openclaw/skills/clawboard\nDefault install mode is symlink (~/.openclaw/skills/clawboard -> $CLAWBOARD_DIR/skills/clawboard).\nDetect mode deterministically at runtime:\nif [ -L \"$HOME/.openclaw/skills/clawboard\" ]; then\n  echo \"symlink\"\nelse\n  echo \"copy\"\nfi\n\nIn symlink mode (default), repo edits are immediately visible to OpenClaw.\nIn copy mode, repo edits do not update OpenClaw until you sync/copy again. After skill file changes (SKILL.md, agents/, references/, scripts/), sync into OpenClaw:\ncd \"$CLAWBOARD_DIR\"\nbash scripts/sync_openclaw_skill.sh --to-openclaw --apply --force\n\nIf you changed files under ~/.openclaw/skills/clawboard while in copy mode, sync them back before committing:\ncd \"$CLAWBOARD_DIR\"\nbash scripts/sync_openclaw_skill.sh --to-repo --apply\n\nWorkspace + Runtime Assumptions (for coding tasks)\nTypical repo locations for Clawboard code:\n~/[agent_name]/clawboard\n~/[agent_name]/projects/clawboard\nFor scripted installs, bootstrap auto-detects OpenClaw workspace conventions and usually lands in one of those layouts.\nWhen asked to work on Clawboard frontend/backend, prefer the active git repo copy under those locations, not ~/.openclaw/skills/*.\nAfter typical bootstrap, assume Docker services are running:\nCLAWBOARD_WEB_HOT_RELOAD=1: web-dev is used for Next.js hot reload (web is stopped).\nCLAWBOARD_WEB_HOT_RELOAD=0: production-style web service is used.\nFast runtime check commands:\ndocker compose ps\necho \"$CLAWBOARD_WEB_HOT_RELOAD\" (or read from $CLAWBOARD_DIR/.env)\ncurl -s http://localhost:8010/api/health\nParity rules while editing:\nSkill path mode should be checked first (test -L ~/.openclaw/skills/clawboard).\nIf symlink mode: edit repo files directly ($CLAWBOARD_DIR/skills/clawboard/**).\nIf copy mode: sync to OpenClaw after edits (bash scripts/sync_openclaw_skill.sh --to-openclaw --apply --force).\nLogger plugin edits (extensions/clawboard-logger/**) must be reinstalled/enabled in OpenClaw:\nopenclaw plugins install -l \"$CLAWBOARD_DIR/extensions/clawboard-logger\"\nopenclaw plugins enable clawboard-logger\n~/.openclaw/skills/clawboard-logger is optional and may not exist by default. If your environment has it, keep it synced with its repo copy explicitly.\nInstall Modes\n1) Quick Scripted Install (recommended)\n\nUse:\n\ncurl -fsSL https://raw.githubusercontent.com/sirouk/clawboard/main/scripts/bootstrap_openclaw.sh | bash\n\n\nWhat the script does:\n\nClones/updates repo by auto-detecting your OpenClaw workspace. If it finds a projects/ (or project/) convention, it installs there; otherwise it falls back to ~/clawboard.\nOverride with --dir <path>, CLAWBOARD_DIR=<path>, or CLAWBOARD_PARENT_DIR=<path> (installs to <parent>/clawboard).\nGenerates a token if missing and writes .env with CLAWBOARD_TOKEN.\nDetects browser access URLs (Tailscale if available, else localhost) and writes .env CLAWBOARD_PUBLIC_API_BASE and CLAWBOARD_PUBLIC_WEB_URL.\nBuilds and starts Docker services.\nEnsures web + api + classifier + qdrant are running.\nInstalls skill at $HOME/.openclaw/skills/clawboard (default: symlink to repo skill; optional copy mode).\nInstalls/enables clawboard-logger plugin.\nWrites plugin config (baseUrl, token, enabled) via openclaw config set.\nEnsures OpenClaw OpenResponses endpoint is enabled (POST /v1/responses) for attachments.\nRestarts OpenClaw gateway.\nSets /api/config title + integration level.\n\nIf openclaw CLI is not installed yet, the script still deploys Clawboard and prints follow-up instructions. It now also offers to run the Chutes fast path automatically when openclaw is missing.\n\nUseful flags:\n\n--integration-level full|write|manual (default write)\n--no-backfill (same as manual)\n--api-url http://localhost:8010\n--web-url http://localhost:3010\n--web-hot-reload / --no-web-hot-reload\n--public-api-base https://api.example.com\n--public-web-url https://clawboard.example.com\n--token <token>\n--title \"<name>\"\n--skill-symlink (default)\n--skill-copy (fallback if you do not want symlink mode)\n--update\n2) Human Manual Install\n\nPrereqs:\n\ngit, docker (+ compose), openclaw CLI\nDocker Desktop on macOS\n\nSteps:\n\nClone repo:\nCLAWBOARD_PARENT_DIR=\"${CLAWBOARD_PARENT_DIR:-}\"\nCLAWBOARD_DIR=\"${CLAWBOARD_DIR:-${CLAWBOARD_PARENT_DIR:+$CLAWBOARD_PARENT_DIR/clawboard}}\"\nCLAWBOARD_DIR=\"${CLAWBOARD_DIR:-$HOME/clawboard}\"\ngit clone https://github.com/sirouk/clawboard \"$CLAWBOARD_DIR\"\ncd \"$CLAWBOARD_DIR\"\n\nCreate token and env:\ncp .env.example .env\nopenssl rand -hex 32\n\n\nSet CLAWBOARD_TOKEN=<value> in $CLAWBOARD_DIR/.env. Set CLAWBOARD_PUBLIC_API_BASE=<browser-reachable-api-url> in $CLAWBOARD_DIR/.env. Optional: set CLAWBOARD_PUBLIC_WEB_URL=<browser-reachable-ui-url> in $CLAWBOARD_DIR/.env. Examples:\n\nlocal: http://localhost:8010\ntailscale: http://100.x.y.z:8010\ncustom domain: https://api.example.com\nStart Clawboard:\ndocker compose up -d --build\n\nInstall skill:\nmkdir -p \"$HOME/.openclaw/skills\"\nrm -rf \"$HOME/.openclaw/skills/clawboard\"\nln -s \"$CLAWBOARD_DIR/skills/clawboard\" \"$HOME/.openclaw/skills/clawboard\"\n\n\nIf you explicitly want copy mode instead of symlink:\n\nmkdir -p \"$HOME/.openclaw/skills\"\nrm -rf \"$HOME/.openclaw/skills/clawboard\"\ncp -R \"$CLAWBOARD_DIR/skills/clawboard\" \"$HOME/.openclaw/skills/clawboard\"\n\n\nIf user keeps skills elsewhere, use that path instead of $HOME/.openclaw/skills.\n\nInstall + enable logger plugin:\nopenclaw plugins install -l \"$CLAWBOARD_DIR/extensions/clawboard-logger\"\nopenclaw plugins enable clawboard-logger\n\nConfigure plugin (writes into OpenClaw config):\n# contextMode options: auto | cheap | full | patient\nopenclaw config set plugins.entries.clawboard-logger.config --json '{\n  \"baseUrl\":\"http://localhost:8010\",\n  \"token\":\"YOUR_TOKEN\",\n  \"enabled\":true,\n  \"contextMode\":\"auto\",\n  \"contextFallbackMode\":\"cheap\",\n  \"contextFetchTimeoutMs\":1200,\n  \"contextTotalBudgetMs\":2200,\n  \"contextMaxChars\":2200\n}'\nopenclaw config set plugins.entries.clawboard-logger.enabled --json true\n\nEnable OpenResponses (recommended for attachments):\nopenclaw config set gateway.http.endpoints.responses.enabled --json true\n\nRestart gateway:\nopenclaw gateway restart\n\n\nNotes:\n\nOpenClaw config is stored at $HOME/.openclaw/openclaw.json.\nKeep plugin token aligned with API server CLAWBOARD_TOKEN.\n3) Agentic Install (copy/paste into OpenClaw)\n\nUse this exact prompt:\n\nInstall Clawboard for me end-to-end. ClawHub is not available yet, so choose one of these:\n\n1) Scripted install (preferred):\n- Run: curl -fsSL https://raw.githubusercontent.com/sirouk/clawboard/main/scripts/bootstrap_openclaw.sh | bash\n\n2) Manual install:\n- Clone repo to `$CLAWBOARD_DIR`\n- Create `CLAWBOARD_TOKEN` and write `$CLAWBOARD_DIR/.env`\n- Set `CLAWBOARD_PUBLIC_API_BASE` (local/Tailscale/custom domain) in `$CLAWBOARD_DIR/.env`\n- Set `CLAWBOARD_PUBLIC_WEB_URL` (local/Tailscale/custom domain) in `$CLAWBOARD_DIR/.env`\n- Start docker compose\n- Symlink skill to $HOME/.openclaw/skills/clawboard (default; copy only if explicitly requested)\n- Install/enable clawboard-logger plugin\n- Set plugin config (baseUrl + token) in OpenClaw config\n- Restart gateway\n\nAfter install, validate:\n- http://localhost:8010/api/health\n- http://localhost:8010/api/config\n- plugin enabled + gateway restarted\n- send one test message and confirm it appears in Clawboard logs\n\nAsk me before choosing local vs Tailscale API base URL.\n\n\nSecurity reminder for all methods:\n\nCLAWBOARD_TOKEN is required for all writes and all non-localhost reads.\nLocalhost reads can run tokenless (read-only default posture).\nKeep network boundaries strict (localhost/firewall/Tailscale ACLs; avoid Funnel/public exposure unless explicitly intended).\nCompose defaults keep vector/db/cache services off host ports; use the API as the supported read/write/delete interface.\nValidation Checklist\n\nRun:\n\ncurl -s http://localhost:8010/api/health\ncurl -s http://localhost:8010/api/config\nopenclaw plugins list | rg clawboard-logger\ncurl -s \"http://localhost:8010/api/search?q=continuity\"\n\n\nExpect:\n\nAPI health is ok.\ntokenRequired is true.\ntokenConfigured is true.\nLogger plugin is enabled.\nSearch endpoint returns mode/details (and will include qdrant mode when vectors are available).\nNew OpenClaw message appears in Clawboard Logs.\nOptional Helpers\nLocal memory setup script:\n$CLAWBOARD_DIR/skills/clawboard/scripts/setup-openclaw-local-memory.sh\nCurated memory cloud backup (GitHub private repo):\nSetup (interactive):\n$CLAWBOARD_DIR/skills/clawboard/scripts/setup-openclaw-memory-backup.sh\nBackup run (safe for automation; commits/pushes only when changed):\n$CLAWBOARD_DIR/skills/clawboard/scripts/backup_openclaw_curated_memories.sh\nIncludes optional full Clawboard state export (config/topics/tasks/logs + optional attachments).\nStores config at:\n$HOME/.openclaw/credentials/clawboard-memory-backup.json (chmod 600)\nChutes provider helper:\ncurl -fsSL https://raw.githubusercontent.com/sirouk/clawboard/main/inference-providers/add_chutes.sh | bash\nReferences\nreferences/clawboard-api.md\nreferences/openclaw-hooks.md\nreferences/openclaw-memory-local.md"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/sirouk/clawboard",
    "publisherUrl": "https://clawhub.ai/sirouk/clawboard",
    "owner": "sirouk",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/clawboard",
    "downloadUrl": "https://openagent3.xyz/downloads/clawboard",
    "agentUrl": "https://openagent3.xyz/skills/clawboard/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawboard/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawboard/agent.md"
  }
}