What it does
语音 AI 女友(Voice AI girlfriend for DeepSeek Harness):Whisper 语音输入 + Qwen3-TTS 声音克隆 + 句子级流式朗读 + 数字人动画窗。插话/排队双模式,说话即打断。
Installation
dsh plugin --profile web add dsh-voice-ai-girlfriendInstall method: npm · not yet tested in container (L3+)
Compatibility
| DSH Version | Status |
|---|---|
| not stated | Declared — not tested |
Requirements
- • Node.js: not stated
- • DSH: declared "not stated"
- • External credentials: none detected
Security Report
Automated static scan, not manual review.
No critical findings, but warning-level issues were detected (file writes, remote imports, base64 decoding, downloads).
ecd45d66579b2026-08-16ecd45d66579bThe scan result is only valid for the scanned commit. If the latest commit differs, the badge shows outdated until the daily pipeline rescans.
Disclaimer: automated static analysis, not a security guarantee. Always review what you install.
• Static heuristic scan: done (15 files)
• Dependency vulnerabilities: requires deep audit (L3+)
• Permission sandboxing: requires runtime testing (L4+)
Scan findings · 12
- warningHTTP request to a raw IP addressbridge/smoke_stt.py:23ap.add_argument("--url", default="http://127.0.0.1:8765/api/stt")
- infoHardcoded IP addressbridge/smoke_stt.py:23ap.add_argument("--url", default="http://127.0.0.1:8765/api/stt")
- warningHTTP request to a raw IP addressbridge/smoke_tts.py:22ap.add_argument("--url", default="http://127.0.0.1:8765/api/tts")
- infoHardcoded IP addressbridge/smoke_tts.py:22ap.add_argument("--url", default="http://127.0.0.1:8765/api/tts")
- infoUses localStoragedsh-plugin/src/client/BusyToggle.tsx:25return localStorage.getItem(INTERRUPT_KEY) !== '0'
- infoUses localStoragedsh-plugin/src/client/BusyToggle.tsx:53localStorage.setItem(INTERRUPT_KEY, next ? '1' : '0')
- infoUses localStoragedsh-plugin/src/client/QqPushToggle.tsx:19return localStorage.getItem(QQ_PUSH_KEY) !== '0'
- infoUses localStoragedsh-plugin/src/client/QqPushToggle.tsx:48localStorage.setItem(QQ_PUSH_KEY, next ? '1' : '0')
- infoUses localStoragedsh-plugin/src/client/VoiceToggle.tsx:20return localStorage.getItem(VOICE_ENABLED_KEY) !== '0'
- infoUses localStoragedsh-plugin/src/client/VoiceToggle.tsx:50localStorage.setItem(VOICE_ENABLED_KEY, next ? '1' : '0')
- infoUses localStoragedsh-plugin/src/client/voice/companion-controller.ts:17this.value = localStorage.getItem(COMPANION_KEY) !== '0'
- infoUses localStoragedsh-plugin/src/client/voice/companion-controller.ts:31localStorage.setItem(COMPANION_KEY, next ? '1' : '0')
Heuristic static scan — may produce false positives. Review the source yourself before trusting.
Activity
Last commit 2026-08-16 · activity: Active
• Repo created: 2026-08-16
• Stars: ★ 9 · Forks: 1
• Health: Active — committed within last 30 days
