{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"haoku123-dsh-voice","slug":"haoku123-dsh-voice","rank":769,"url":"https://github.com/haoku123/dsh-voice","name":"haoku123/dsh-voice","category":"voice","description":{"zh":"Web UI 全双工语音对话：点按切换或按住说话（发送键或 `Ctrl`）并显示实时字幕，宿主端 SenseVoice（sherpa-onnx）转写，回复按句流式朗读，开口说话即打断播放与正在运行的回合（真 barge-in），无需 API key。","en":"Full-duplex voice mode for the Web UI: tap-to-toggle or hold-to-talk dictation (send key or `Ctrl`) with a live caption, host-side SenseVoice ASR via sherpa-onnx, sentence-by-sentence spoken replies, and speaking interrupts playback and the running turn (true barge-in). No API key."},"stars":3,"starsCheckedAt":"2026-08-21","repository":{"owner":"haoku123","repo":"dsh-voice","requestedRef":null,"subpath":""},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:haoku123/dsh-voice","tarball":null,"added":"2026-08-15","page":"https://awesome-dsh-plugin.com/p/haoku123/dsh-voice/","screenshots":["https://raw.githubusercontent.com/haoku123/dsh-voice/main/docs/demo.gif"],"discovery":{"provider":"awesome-dsh-plugin","channel":"plugins.json","indexUrl":"https://github.com/awesome-dsh-plugin/awesome-dsh-plugin","selection":"all curated entries"}},"report":{"sourceId":"haoku123-dsh-voice","slug":"haoku123-dsh-voice","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:28:26.435Z","scanStatus":"static-complete","verdict":"pass","score":100,"commit":"edccb0133766c3cde26ef5ee9b91c2388e8507e8","commitDate":"2026-08-19T17:34:37+08:00","artifactDigest":"sha256:2d4c2a4fadde8d2500305f9c4da11deea0a34d81c475e5a4d086bf0220409c57","downloadUrl":"https://github.com/haoku123/dsh-voice/archive/edccb0133766c3cde26ef5ee9b91c2388e8507e8.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:haoku123/dsh-voice","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"@haoku123/dsh-voice","packageVersion":"0.7.0","bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web","inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"]},"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/cordis","@deepseek-ai/dsh-web"]},"identity":{"status":"found","installMode":"github-source","upstreamNpm":null,"manifestName":"@haoku123/dsh-voice","nameMatch":null,"npm":{"name":"@haoku123/dsh-voice","latestVersion":"0.7.0","publishedAt":"2026-08-19T09:27:28.153Z","createdAt":"2026-08-19T06:15:09.251Z","versionCount":3,"maintainers":1,"repository":null,"hasInstallScripts":false,"deprecated":false},"repositoryMatch":"missing","provenance":"none","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"voice","name":"@haoku123/dsh-voice","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["browser-ui","environment","filesystem","host-bundle","network","session","subprocess","telemetry"],"outboundHosts":[{"host":"huggingface.co","count":2}],"findings":[{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"low","layer":"static","path":"src/client.test.tsx","pathClass":"test-example-docs","line":376,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","note":"位于测试、示例或文档目录","hash":"47c91793d8914de0417cc282"},{"id":"HT-RUNTIME-001","title":"动态代码执行","severity":"high","confidence":"low","layer":"static","path":"test/bargein.test.mjs","pathClass":"test-example-docs","line":31,"evidence":"new Function(","remediation":"使用静态模块和受约束的配置解析器，避免在宿主权限下执行动态字符串。","note":"位于测试、示例或文档目录","hash":"4af233f7fd75a2c440f9e17c"},{"id":"HT-RUNTIME-001","title":"动态代码执行","severity":"high","confidence":"low","layer":"static","path":"verify-client.mjs","pathClass":"source","line":32,"evidence":"new Function(","remediation":"使用静态模块和受约束的配置解析器，避免在宿主权限下执行动态字符串。","hash":"dc026463550d8d39b0c68fa9","review":{"verdict":"placeholder","reason":"new Function调用位于测试脚本verify-client.mjs，仅用于自测打包产物导出形状，未列入files分发列表，不在用户环境运行时执行。","model":"sonnet@p2","reviewedAt":"2026-08-21T11:30:22.259Z"}}],"counts":{"critical":0,"high":0,"medium":0,"low":0},"rawCounts":{"critical":0,"high":2,"medium":1,"low":0},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-present","vulnerabilities":"complete","identity":"complete","artifact":"not-compared","llmReview":"complete","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":24,"bytesScanned":344583,"truncated":false,"lockfiles":["package-lock.json"],"pathClasses":{"markdown":2,"source":12,"cordis":1,"test-example-docs":7,"data":1,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"],"review":{"model":"sonnet","reviewedAt":"2026-08-22T08:28:26.435Z","summary":null,"intentMatch":null,"findingsReviewed":1,"findingsCandidates":1,"fromCache":1,"usage":null}},"timeline":[{"scannedAt":"2026-08-22T08:28:26.435Z","commit":"edccb0133766c3cde26ef5ee9b91c2388e8507e8","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:30:22.258Z","commit":"edccb0133766c3cde26ef5ee9b91c2388e8507e8","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:59:26.481Z","commit":"edccb0133766c3cde26ef5ee9b91c2388e8507e8","policyVersion":"HT-DSH-0.2.0","verdict":"caution","status":"static-complete"}],"events":[{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"edccb0133766c3cde26ef5ee9b91c2388e8507e8","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:28:26.435Z"},{"kind":"verdict-change","from":"caution","to":"pass","commit":"edccb0133766c3cde26ef5ee9b91c2388e8507e8","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:30:22.258Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"edccb0133766c3cde26ef5ee9b91c2388e8507e8","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:59:26.481Z"}]}