#6260·openhuman

语音 STT 没有 EgressDescriptor,因此 local_only 不会阻止麦克风音频离开设备

作者: YellowSnnowmann创建于 2026年9月15日更新于 2026年9月15日

Voice STT 船的麦克风音频离线设备没有 " EgressDescriptor " ,因此S2披露层看不到,也没有S7 " 本地-只 " 区块的强制。

在更正 # 6258 中的隐私模式文件时发现; CodeRabbit 要求将其与 docs PR 分开跟踪 。

□今天会发生什么

推论/语音/云 trancis.rs:trancis cloud' POST 将录入的音频输入后端的'/ZOpenAI/v1/audio/trancisions',以及语音/构件/输入.rs:创建-stt production ' 路线,通过创建-st production by slug'到外部StProvider',任何端点的`config.voice production'条目名。 无论哪种方式,用户的原始麦克风音频离开机器.

两者都无法构建“侵略描述器”:

bash
grep - rn “EgressDescriptor\ enforce  egress  external  transfer  local  only tool  block” \ \
箱/开口人-核心/弧/音/箱/开口人-核心/弧/推/音/音/
没有匹配

所有其他数据传送点确实有一个——推论/嵌入/云-适应器.rs'、集成/组合/客户/执行.rs'、集成/客户/请求.rs'、搜索/工具/{exa,tavily-}',以及工具/简化/网络/'下的三个网络工具。 声音是缺口。

□ 后果

** S2(# 4436)无法披露。 ** 外传事件, 每一个其他的外出 永远不会为声音发火, 所以在UI或活动表面 没有说音频去任何地方, 或谁。

** S7(# 4441)无法执行。 ** 安全/侵略/武力.rs ' 只能通过enforce-egress ' /`local only tool block ' 进行阻断转让。 没有说明,“PrivacyMode:Local Only”对语音没有影响:一个用户专门设置“local Only”来保存机器上的数据,仍然在每张相片上上传他们的麦克风音频。

最后一个才是最重要的 隐私模式的整个主张是,执行是结构性的,而不是即时的,因此沉默的例外比有文件记载的限制更糟糕. #6258记录了它 同时, 但医生是一个工作环 一个缺失的窒息点。

□ 建议形状

镜像嵌入式适配器的所为——在转接点搭建一个描述器并经过两道门:

  • trancis cloud'和externalSt.Provider'的请求路径中,构建一个`EgressDescriptionor',命名实际目的地(后端终点,或第三方提供者的卫星路径主机)。
  • 在发送前呼叫enforce-egress(和desc?)',在验证后呼叫emit external ters(desc)',匹配`cloud adapter.rs:160-161'。
  • `数据金德 ' 应反映有效载荷是原始音频而不是文本——值得决定现有种类是涵盖该载荷还是需要新的载荷。
  • 同一问题也适用于TTS(reply speech.rs' POSTs to /OpenAI/v1/audio/speech'),后者运送要讲的文字。 可能是同样的待遇,叫它出来,所以这是一个蓄意的决定,而不是疏忽。

□ 需要决定

是否“ 仅本地” . . . . . . .

内容来源: tinyhumansai/openhuman