[Bug 报告 / 隐私] 匿名用户 ID 无条件随每次 LLM 请求外发:关闭遥测不豁免,且自定义第三方 baseURL 也会收到稳定身份 #952
truelove-dreamer
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
摘要
DeepSeek 官方 LLM 适配器(
dsh-llm-deepseek)在每次 chat/completions 请求上都会附加:x-deepseek-harness-user-id:一个持久的 per-harness-home 匿名 UUID(首次请求时创建并落盘$DSH_HOME/.anonymous-user-id);x-deepseek-harness-session-id、x-deepseek-harness-compact。关键问题:
DSH_TELEMETRY_MODE=DISABLED(默认)/DSH_TELEMETRY_DISABLED只关闭 OTLP 上传,不阻止该匿名 ID 的创建与外发——实测默认配置下首次请求即生成.anonymous-user-id文件;DEEPSEEK_BASE_URLenv / settings 均支持)时,该稳定身份与会话 ID 同样发往第三方端点;证据(代码与行号)
dsh-llm-deepseek/lib/index.js:536(const userId = this.config.resolveUserId())→:753(resolveUserId = () => userId ??= getOrCreateAnonymousUserId(),无任何 telemetry 开关判断)→:578("x-deepseek-harness-user-id": String(userId));:584(fetch(${connection.baseURL}/chat/completions, ...)),baseURL 可由 env/settings 指向任意端点(:707附近);dsh-anonymous-user-id/lib/index.js:50-76(getOrCreateAnonymousUserId,首次调用即 mkdir+writeFile);dsh-command-feedback/lib/index.js:69的/feedback也会创建/回显该 ID,与遥测开关无关;dsh-llm-pi-ai适配器不发送该头(不一致)。复现步骤
DSH_TELEMETRY_MODE/DSH_TELEMETRY_DISABLED均未设置(默认关闭);dsh --profile web,发一条消息触发 LLM 请求;$DSH_HOME/.anonymous-user-id:已被创建(尽管遥测默认关闭);x-deepseek-harness-user-id与x-deepseek-harness-session-id头发往该端点。影响
user.id(开启时),构成跨通道关联。建议修复(供讨论)
DISABLED时不创建、不发送;/feedback与 LLM 适配器共用同一开关语义。附注
All reactions