360 Secure SkillHub
360 安全技能中心

VoiceTrust

面向语音/音频的说话人验证结果解读 Skill:说明 speaker_match、identity_score、trust_label、decision 等字段含义,给出 high/medium/low 信任标签阈值与降级信号,以及语音命令执行的门控条件;随包提供本地 Python 推理运行时、示例脚本与安装说明,模型权重未捆绑,需按快速开始文档获取。

分类:安全
kunyancai
kunyancai
热度 27.72
最近更新 2026-05-11 17:36:15

安装

发给 Agent
帮我安装这个技能:npx secure-skills-cli add kunyancai/voicetrust
兼容性
通用兼容
联网要求
需要联网
数据出网
数据不出本机
Metadata
name
voicetrust
description
Interpret VoiceTrust results for owner verification on voice/audio inputs. Use when you need the meaning of VoiceTrust fields, trust labels, command-gating decisions, or the minimal rule for handling voice messages alongside STT. For first-time setup or environment bootstrap, read `references/quickstart.md`.

VoiceTrust

VoiceTrust answers one question: is this audio likely spoken by the enrolled owner?

Normal use:

  • run STT for content
  • run VoiceTrust for owner verification
  • merge both before replying

Do not use this skill to define machine-specific commands. Local routing and machine policy belong elsewhere.

Runtime note

This skill bundle is lightweight:

  • source code and setup docs are included
  • large model files are not bundled
  • owner enrollment data is local runtime state and must not be published

If model assets are missing, read references/quickstart.md.

Output fields

VoiceTrust results may include:

  • speaker_match
  • audio_quality
  • overall_trust
  • confidence
  • identity_score
  • trust_label
  • decision
  • decision_reasons
  • speaker_id
  • speech_duration
  • speech_ratio
  • vad_status
  • failure_reason
  • raw_scores.speaker_similarity

How to use the result

Use trust_label for concise rendering. Use decision for command gating. Do not treat audio quality alone as owner identity evidence.

Trust label

  • high: identity_score >= 85 and confidence >= 80 and no failure
  • medium: identity_score >= 72 and confidence >= 68 and no failure
  • low: everything else

Common downgrade signals:

  • vad_status != "ok"
  • speech_duration < 2.5
  • speech_ratio < 0.45
  • speaker_match < 70
  • failure_reason != null

Command gating

For voice command execution:

  • use the normal path when speech_duration >= 3.0
  • allow a short voice sample only when all of the following are true:
    • speech_duration >= 1.2
    • speaker_match >= 85
    • confidence >= 85
  • in all cases, command execution still requires:
    • speaker_match >= 78
    • confidence >= 80
    • identity_score >= 82
    • vad_status == "ok"
    • failure_reason == null

Interpretation:

  • decision == "allow_command" means command execution may proceed
  • decision != "allow_command" means do not execute commands from this sample
  • non-command voice content may still be handled normally
  • music / non-speech / non-command audio should not enter the command path

CLI example:

uv run --python .venv/bin/python ../scripts/demo.py \
  --audio /path/to/sample.ogg \
  --speaker owner \
  --json

Human rendering

Preferred compact format:

  • Voice trust: high / medium / low
  • Details: match <x> - trust <y> - confidence <z> - identity <i> - quality <q>
  • if relevant: Decision: allow_command / reject_command

If degraded, say why briefly using decision_reasons. Do not over-claim certainty.

Failure handling

  • If STT succeeds and VoiceTrust fails: keep transcript, report trust as unavailable or inconclusive.
  • If VoiceTrust succeeds and STT fails: keep trust result, report transcription failure.
  • If both fail: say the audio could not be processed reliably.
  • If decision != "allow_command", do not execute voice commands.

First-time setup

For first-time setup, local installation, enrollment, or bootstrap, read:

  • references/quickstart.md