{
  "schemaVersion": "1.0",
  "item": {
    "slug": "usewhisper",
    "name": "usewhisper",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/Alinxus/usewhisper",
    "canonicalUrl": "https://clawhub.ai/Alinxus/usewhisper",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/usewhisper",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=usewhisper",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "whisper-context.mjs"
    ],
    "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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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/usewhisper"
    },
    "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/usewhisper",
    "agentPageUrl": "https://openagent3.xyz/skills/usewhisper/agent",
    "manifestUrl": "https://openagent3.xyz/skills/usewhisper/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/usewhisper/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Whisper Context (OpenClaw Skill)",
        "body": "Reduce OpenClaw API spend by shrinking the context you send to the model (delta compression + caching), while keeping long-term memory across sessions.\n\nThis skill provides a minimal Node-based helper (whisper-context.mjs) that OpenClaw agents can run to:\n\nRetrieve packed context for a user/session (query_context) with compress: true and compression_strategy: \"delta\"\nPersist the latest turn into long-term memory (ingest_session)\nWrite/search memories (memory_write, memory_search)\nRun Oracle search/research (oracle_search)\nFetch cost analytics (get_cost_summary)\nInspect/warm cache (cache_stats, cache_warm)"
      },
      {
        "title": "Install (ClawHub)",
        "body": "npx clawhub@latest install whisper-context\n\nClawHub installs the skill folder into your OpenClaw skills workspace (typically ~/.openclaw/workspace/skills/)."
      },
      {
        "title": "Setup",
        "body": "Set environment variables (where OpenClaw reads env for your agent):\n\nWHISPER_CONTEXT_API_URL=https://context.usewhisper.dev\nWHISPER_CONTEXT_API_KEY=YOUR_KEY\nWHISPER_CONTEXT_PROJECT=openclaw-cost-optimization\n\nNotes:\n\nWHISPER_CONTEXT_API_URL is optional (defaults to https://context.usewhisper.dev).\nWHISPER_CONTEXT_PROJECT can be a project slug/name.\nIf the project does not exist yet, the helper will auto-create it in your org on first use.\nFor best memory behavior, use stable user_id and session_id values (don’t hardcode them globally; derive them per user/session in your agent)."
      },
      {
        "title": "Usage",
        "body": "All commands print JSON to stdout."
      },
      {
        "title": "Global flags",
        "body": "--project <slugOrName>: override WHISPER_CONTEXT_PROJECT\n--api_url <url>: override WHISPER_CONTEXT_API_URL\n--timeout_ms <n>: request timeout (default: 30000)"
      },
      {
        "title": "Tips for real agents (to actually slash spend)",
        "body": "Always call query_context first and inject the returned context instead of re-sending your entire chat history.\nKeep compress: true, compression_strategy: \"delta\", and use_cache: true (the defaults in this helper) to maximize token savings.\nUse stable user_id and session_id so memory works across sessions and cache keys stay effective."
      },
      {
        "title": "Query packed context",
        "body": "node whisper-context.mjs query_context \\\n  --query \"What did we decide about the retriever cache?\" \\\n  --user_id \"user-123\" \\\n  --session_id \"session-123\""
      },
      {
        "title": "Ingest a completed turn",
        "body": "node whisper-context.mjs ingest_session \\\n  --user_id \"user-123\" \\\n  --session_id \"session-123\" \\\n  --user \"...\" \\\n  --assistant \"...\"\n\nIf your message text is large or hard to shell-escape, pass JSON via stdin:\n\necho '{ \"user\": \"....\", \"assistant\": \"....\" }' | node whisper-context.mjs ingest_session --session_id \"session-123\" --turn_json -"
      },
      {
        "title": "Security / Privacy Notes",
        "body": "ingest_session sends both user and assistant text to the Context API (so it can build memory and improve retrieval).\nThe helper only reads local files if you explicitly pass @path (or stdin via -).\nTreat your WHISPER_CONTEXT_API_KEY like a secret; don’t commit it to git."
      },
      {
        "title": "Write a memory",
        "body": "node whisper-context.mjs memory_write \\\n  --memory_type \"preference\" \\\n  --content \"User prefers concise answers.\" \\\n  --user_id \"user-123\""
      },
      {
        "title": "Search memories",
        "body": "node whisper-context.mjs memory_search \\\n  --query \"preferences\" \\\n  --user_id \"user-123\""
      },
      {
        "title": "Oracle search / research",
        "body": "node whisper-context.mjs oracle_search --query \"How does delta compression work?\" --mode search\nnode whisper-context.mjs oracle_search --query \"Design a plan...\" --mode research --max_steps 3"
      },
      {
        "title": "Cost summary",
        "body": "node whisper-context.mjs get_cost_summary \\\n  --start_date \"2026-01-01T00:00:00.000Z\" \\\n  --end_date \"2026-02-01T00:00:00.000Z\""
      },
      {
        "title": "Cache stats (prove your savings)",
        "body": "node whisper-context.mjs cache_stats"
      },
      {
        "title": "Cache warm (optional)",
        "body": "node whisper-context.mjs cache_warm --queries \"retriever cache,l1 query cache,delta compression\" --ttl_seconds 3600"
      },
      {
        "title": "Agent Integration Pattern",
        "body": "Before calling the model: run query_context and prepend the returned context (if present) to your prompt.\nAfter replying: run ingest_session with the user + assistant messages to persist memory."
      },
      {
        "title": "Troubleshooting",
        "body": "Missing WHISPER_CONTEXT_API_KEY: export the env var where OpenClaw runs commands.\nHTTP 401/403: verify your API key and that it has access to the project/org.\nHTTP 404 Project not found: verify WHISPER_CONTEXT_PROJECT (slug/name) exists."
      }
    ],
    "body": "Whisper Context (OpenClaw Skill)\n\nReduce OpenClaw API spend by shrinking the context you send to the model (delta compression + caching), while keeping long-term memory across sessions.\n\nThis skill provides a minimal Node-based helper (whisper-context.mjs) that OpenClaw agents can run to:\n\nRetrieve packed context for a user/session (query_context) with compress: true and compression_strategy: \"delta\"\nPersist the latest turn into long-term memory (ingest_session)\nWrite/search memories (memory_write, memory_search)\nRun Oracle search/research (oracle_search)\nFetch cost analytics (get_cost_summary)\nInspect/warm cache (cache_stats, cache_warm)\nInstall (ClawHub)\nnpx clawhub@latest install whisper-context\n\n\nClawHub installs the skill folder into your OpenClaw skills workspace (typically ~/.openclaw/workspace/skills/).\n\nSetup\n\nSet environment variables (where OpenClaw reads env for your agent):\n\nWHISPER_CONTEXT_API_URL=https://context.usewhisper.dev\nWHISPER_CONTEXT_API_KEY=YOUR_KEY\nWHISPER_CONTEXT_PROJECT=openclaw-cost-optimization\n\n\nNotes:\n\nWHISPER_CONTEXT_API_URL is optional (defaults to https://context.usewhisper.dev).\nWHISPER_CONTEXT_PROJECT can be a project slug/name.\nIf the project does not exist yet, the helper will auto-create it in your org on first use.\nFor best memory behavior, use stable user_id and session_id values (don’t hardcode them globally; derive them per user/session in your agent).\nUsage\n\nAll commands print JSON to stdout.\n\nGlobal flags\n--project <slugOrName>: override WHISPER_CONTEXT_PROJECT\n--api_url <url>: override WHISPER_CONTEXT_API_URL\n--timeout_ms <n>: request timeout (default: 30000)\nTips for real agents (to actually slash spend)\nAlways call query_context first and inject the returned context instead of re-sending your entire chat history.\nKeep compress: true, compression_strategy: \"delta\", and use_cache: true (the defaults in this helper) to maximize token savings.\nUse stable user_id and session_id so memory works across sessions and cache keys stay effective.\nQuery packed context\nnode whisper-context.mjs query_context \\\n  --query \"What did we decide about the retriever cache?\" \\\n  --user_id \"user-123\" \\\n  --session_id \"session-123\"\n\nIngest a completed turn\nnode whisper-context.mjs ingest_session \\\n  --user_id \"user-123\" \\\n  --session_id \"session-123\" \\\n  --user \"...\" \\\n  --assistant \"...\"\n\n\nIf your message text is large or hard to shell-escape, pass JSON via stdin:\n\necho '{ \"user\": \"....\", \"assistant\": \"....\" }' | node whisper-context.mjs ingest_session --session_id \"session-123\" --turn_json -\n\nSecurity / Privacy Notes\ningest_session sends both user and assistant text to the Context API (so it can build memory and improve retrieval).\nThe helper only reads local files if you explicitly pass @path (or stdin via -).\nTreat your WHISPER_CONTEXT_API_KEY like a secret; don’t commit it to git.\nWrite a memory\nnode whisper-context.mjs memory_write \\\n  --memory_type \"preference\" \\\n  --content \"User prefers concise answers.\" \\\n  --user_id \"user-123\"\n\nSearch memories\nnode whisper-context.mjs memory_search \\\n  --query \"preferences\" \\\n  --user_id \"user-123\"\n\nOracle search / research\nnode whisper-context.mjs oracle_search --query \"How does delta compression work?\" --mode search\nnode whisper-context.mjs oracle_search --query \"Design a plan...\" --mode research --max_steps 3\n\nCost summary\nnode whisper-context.mjs get_cost_summary \\\n  --start_date \"2026-01-01T00:00:00.000Z\" \\\n  --end_date \"2026-02-01T00:00:00.000Z\"\n\nCache stats (prove your savings)\nnode whisper-context.mjs cache_stats\n\nCache warm (optional)\nnode whisper-context.mjs cache_warm --queries \"retriever cache,l1 query cache,delta compression\" --ttl_seconds 3600\n\nAgent Integration Pattern\nBefore calling the model: run query_context and prepend the returned context (if present) to your prompt.\nAfter replying: run ingest_session with the user + assistant messages to persist memory.\nTroubleshooting\nMissing WHISPER_CONTEXT_API_KEY: export the env var where OpenClaw runs commands.\nHTTP 401/403: verify your API key and that it has access to the project/org.\nHTTP 404 Project not found: verify WHISPER_CONTEXT_PROJECT (slug/name) exists."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Alinxus/usewhisper",
    "publisherUrl": "https://clawhub.ai/Alinxus/usewhisper",
    "owner": "Alinxus",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/usewhisper",
    "downloadUrl": "https://openagent3.xyz/downloads/usewhisper",
    "agentUrl": "https://openagent3.xyz/skills/usewhisper/agent",
    "manifestUrl": "https://openagent3.xyz/skills/usewhisper/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/usewhisper/agent.md"
  }
}