{
  "schemaVersion": "1.0",
  "item": {
    "slug": "voice-log",
    "name": "Voice Log",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/easwee/voice-log",
    "canonicalUrl": "https://clawhub.ai/easwee/voice-log",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/voice-log",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=voice-log",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "agents/openai.yaml",
      "package.json",
      "scripts/voice_journal_ctl.js",
      "scripts/voice_journal_daemon.js",
      "skill.json"
    ],
    "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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/voice-log"
    },
    "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/voice-log",
    "agentPageUrl": "https://openagent3.xyz/skills/voice-log/agent",
    "manifestUrl": "https://openagent3.xyz/skills/voice-log/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/voice-log/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": "Voice log",
        "body": "Conversation journal that uses Soniox realtime STT in a background daemon that:\n\nCaptures microphone audio continuously.\nKeeps a text-only log file, with live conversation logs bucketed by minute.\nKeeps only the latest 60 minutes (for now)."
      },
      {
        "title": "Commands",
        "body": "Run from this skill directory:\n\nnpm install\nnode scripts/voice_journal_ctl.js start\nnode scripts/voice_journal_ctl.js end\nnode scripts/voice_journal_ctl.js status\nnode scripts/voice_journal_ctl.js last 10"
      },
      {
        "title": "OpenClaw trigger handling",
        "body": "When user says:\n\nstart voice journal: run node scripts/voice_journal_ctl.js start.\nstart voice log: run node scripts/voice_journal_ctl.js start.\nstart voice log [\"en\",\"de\"]: run node scripts/voice_journal_ctl.js start '[\"en\",\"de\"]'.\nend voice journal: run node scripts/voice_journal_ctl.js end.\nsummarize what we talked about for last 10 minutes: run node scripts/voice_journal_ctl.js last 10, then summarize the returned text.\n\nAlways:\n\nReply with only the requested outcome in one short sentence.\nDo not paste raw command output or transcript snippets unless the user explicitly asks for raw transcript/log text.\nIf no text exists in range, report that explicitly.\nNever fabricate transcript text."
      },
      {
        "title": "Required env",
        "body": "Set:\n\nSONIOX_API_KEY (required)\nGet/create key: https://soniox.com/speech-to-text\n\nOptional:\n\nNone. Runtime settings are intentionally hard-coded except language hints passed in the start command."
      },
      {
        "title": "Fixed defaults",
        "body": "Data directory: ./.data under this skill.\nSoniox websocket endpoint: SDK default (SONIOX_API_WS_URL).\nSoniox model: stt-rt-v4.\nlast output cap: 1800 chars by default, or override per command with --max-chars.\nDaemon environment: only SONIOX_API_KEY (and optional language hints) is forwarded; unrelated host env secrets are not inherited."
      },
      {
        "title": "Audio capture defaults",
        "body": "Auto-selects available command by platform. Recommended:\n\nLinux: arecord -q -f S16_LE -r 16000 -c 1 -t raw\nmacOS: sox -q -d -t raw -b 16 -e signed-integer -r 16000 -c 1 -"
      }
    ],
    "body": "Voice log\n\nConversation journal that uses Soniox realtime STT in a background daemon that:\n\nCaptures microphone audio continuously.\nKeeps a text-only log file, with live conversation logs bucketed by minute.\nKeeps only the latest 60 minutes (for now).\nCommands\n\nRun from this skill directory:\n\nnpm install\nnode scripts/voice_journal_ctl.js start\nnode scripts/voice_journal_ctl.js end\nnode scripts/voice_journal_ctl.js status\nnode scripts/voice_journal_ctl.js last 10\n\nOpenClaw trigger handling\n\nWhen user says:\n\nstart voice journal: run node scripts/voice_journal_ctl.js start.\nstart voice log: run node scripts/voice_journal_ctl.js start.\nstart voice log [\"en\",\"de\"]: run node scripts/voice_journal_ctl.js start '[\"en\",\"de\"]'.\nend voice journal: run node scripts/voice_journal_ctl.js end.\nsummarize what we talked about for last 10 minutes: run node scripts/voice_journal_ctl.js last 10, then summarize the returned text.\n\nAlways:\n\nReply with only the requested outcome in one short sentence.\nDo not paste raw command output or transcript snippets unless the user explicitly asks for raw transcript/log text.\nIf no text exists in range, report that explicitly.\nNever fabricate transcript text.\nRequired env\n\nSet:\n\nSONIOX_API_KEY (required)\nGet/create key: https://soniox.com/speech-to-text\n\nOptional:\n\nNone. Runtime settings are intentionally hard-coded except language hints passed in the start command.\nFixed defaults\nData directory: ./.data under this skill.\nSoniox websocket endpoint: SDK default (SONIOX_API_WS_URL).\nSoniox model: stt-rt-v4.\nlast output cap: 1800 chars by default, or override per command with --max-chars.\nDaemon environment: only SONIOX_API_KEY (and optional language hints) is forwarded; unrelated host env secrets are not inherited.\nAudio capture defaults\n\nAuto-selects available command by platform. Recommended:\n\nLinux: arecord -q -f S16_LE -r 16000 -c 1 -t raw\nmacOS: sox -q -d -t raw -b 16 -e signed-integer -r 16000 -c 1 -"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/easwee/voice-log",
    "publisherUrl": "https://clawhub.ai/easwee/voice-log",
    "owner": "easwee",
    "version": "0.1.5",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/voice-log",
    "downloadUrl": "https://openagent3.xyz/downloads/voice-log",
    "agentUrl": "https://openagent3.xyz/skills/voice-log/agent",
    "manifestUrl": "https://openagent3.xyz/skills/voice-log/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/voice-log/agent.md"
  }
}