{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"alan2z-dsh-speak","slug":"alan2z-dsh-speak","rank":497,"url":"https://github.com/Alan2Z/dsh-speak","name":"Alan2Z/dsh-speak","category":"voice","description":{"zh":"语音播报 agent 最终回复：Windows SAPI5 自然语音 / macOS 系统语音，自动跳过思考与工具调用，npm 一行安装。","en":"Voice-announce the final reply on Windows (SAPI5 natural voices) and macOS (system voice); skips reasoning and tool calls, one-line npm install."},"stars":5,"starsCheckedAt":"2026-08-21","repository":{"owner":"Alan2Z","repo":"dsh-speak","requestedRef":null,"subpath":""},"npm":"dsh-speak","downloads":787,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-speak","tarball":null,"added":"2026-08-16","page":"https://awesome-dsh-plugin.com/p/Alan2Z/dsh-speak/","screenshots":[],"discovery":{"provider":"awesome-dsh-plugin","channel":"plugins.json","indexUrl":"https://github.com/awesome-dsh-plugin/awesome-dsh-plugin","selection":"all curated entries"}},"report":{"sourceId":"alan2z-dsh-speak","slug":"alan2z-dsh-speak","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:25:32.202Z","scanStatus":"static-complete","verdict":"pass","score":99,"commit":"24393a8e37b2539a9cdc79cefe9126569bdd5dfb","commitDate":"2026-08-16T18:18:06+08:00","artifactDigest":"sha256:f6454d3af04af064c48644a5ea49912c01503461aee120691be6577db93bdaf6","downloadUrl":"https://github.com/Alan2Z/dsh-speak/archive/24393a8e37b2539a9cdc79cefe9126569bdd5dfb.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-speak","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-speak","packageVersion":"1.5.0","bundle":{"patch":"./cordis.patch.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-speak","manifestName":"dsh-speak","nameMatch":true,"npm":{"name":"dsh-speak","latestVersion":"1.5.0","publishedAt":"2026-08-16T10:22:29.747Z","createdAt":"2026-08-14T19:35:28.838Z","versionCount":5,"maintainers":1,"repository":"git+https://github.com/Alan2Z/dsh-speak.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"none","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"speech-hook","name":"dsh-speak","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":null,"parseErrors":[]},"capabilities":["filesystem","host-bundle","session","subprocess"],"outboundHosts":[],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"adapters/dsh/speech-hook.js","pathClass":"source","line":41,"evidence":"child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"f5d1f9a2db8037931462605b"}],"counts":{"critical":0,"high":0,"medium":0,"low":1},"rawCounts":{"critical":0,"high":0,"medium":0,"low":1},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-missing","vulnerabilities":"lockfile-missing","identity":"complete","artifact":"not-compared","llmReview":"not-needed","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":15,"bytesScanned":91354,"truncated":false,"lockfiles":[],"pathClasses":{"markdown":6,"script":6,"source":1,"cordis":1,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:25:32.202Z","commit":"24393a8e37b2539a9cdc79cefe9126569bdd5dfb","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:26:53.461Z","commit":"24393a8e37b2539a9cdc79cefe9126569bdd5dfb","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:55:43.022Z","commit":"24393a8e37b2539a9cdc79cefe9126569bdd5dfb","policyVersion":"HT-DSH-0.2.0","verdict":"pass","status":"static-complete"}],"events":[{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"24393a8e37b2539a9cdc79cefe9126569bdd5dfb","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:25:32.202Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"24393a8e37b2539a9cdc79cefe9126569bdd5dfb","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:26:53.461Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"24393a8e37b2539a9cdc79cefe9126569bdd5dfb","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:55:43.022Z"}]}