首页 / 博客 / 2026 DeepSeek Ha
ENGINEERING_BLOG · 2026.08.19

2026 DeepSeek Harness OpenTelemetry 怎么开才不泄露会话?

会话里出现了工具结果、仓库路径,甚至用户原始输入,你却只看到了“日志上传成功”。

最快的安全解法是:先保持 DISABLED;确有反馈需求时先试 FEEDBACK_ONLY;只有完成数据分类、端点认证、传输验证、失败回退和删除策略后,才评估 FULL。

SECTION 01 谁该看这篇

这篇文章适合需要集中排查远程 Mac 上 Agent 故障的平台工程师,也适合负责判断会话内容能否离开执行环境的安全与合规人员。

如果你要把可观察的 DeepSeek Harness 环境交付给团队,下面这条时间线可以作为上线前的签收依据,而不是把“端点能收到数据”误当成安全验收。

SECTION 02 第 0 天:先把会话遥测当成业务数据分类

DeepSeek Harness 的会话遥测不是普通运行日志。普通运行日志通常记录进程状态、错误码或耗时,而 Agent 会话可能关联用户输入、模型响应、工具调用、工具返回值、文件路径、仓库名称和反馈内容。OpenTelemetry 官方也提醒,遥测可能意外捕获个人信息、认证凭据、会话令牌和应用专属数据,数据收集方必须自行承担识别与保护责任。OpenTelemetry 敏感数据处理指南

在改配置前,先建立一张数据所有权表。至少写清楚以下三项:

  • 数据所有者:用户、项目团队、平台团队,还是组织安全部门。
  • 允许用途:故障定位、反馈分析、质量改进,不能只写“可观察性”。
  • 禁止上传内容:用户原始提示、工具完整输出、访问令牌、私有仓库路径、客户标识和未脱敏错误堆栈。

如果其中任何一项无法确认,配置就不要离开 DISABLED。OpenTelemetry 提供过滤、属性删除、正则转换和允许列表等处理方式,但这些能力属于数据管道治理,不能证明上游已经没有产生敏感记录;最稳妥的做法仍然是源头少采集。OpenTelemetry 数据安全建议

共享政策先于端点配置

截至 2026 年 8 月 19 日,本文按任务书锁定的官方配置目录处理三种共享模式:DISABLED、FEEDBACK_ONLY 和 FULL。它们应被理解为会话数据共享政策,而不是“日志少一点、日志多一点”的显示选项。

模式 适合的阶段 你必须先确认的边界 默认建议
DISABLED 尚未完成分类、审批或交付 不允许依赖“应该没有上传”来推断 ✅ 首选
FEEDBACK_ONLY 只验证反馈收集是否有价值 反馈是否包含原始输入、工具结果或上下文 ⚠️ 小范围试点
FULL 已完成字段级审查和用途审批 会话、工具结果、路径、反馈与留存范围 ❌ 不作为起点

因此,DeepSeek Harness 会不会默认上传会话遥测,不能只靠安装说明或界面印象判断。你需要在当前版本标签对应的配置目录和源码中核对默认值;若团队无法在交付记录中证明默认策略,就按 DISABLED 处理,并由明确的配置所有者批准后续修改。

建议把“谁有权改共享模式”单独记录下来。开发者可以提交变更,但不应自动拥有生产远程 Mac 的遥测放行权;安全负责人或平台负责人至少要能追溯修改人、修改时间、旧值、新值和审批理由。

SECTION 03 第 1 天:DeepSeek Harness OpenTelemetry 配置先接隔离测试端点

确定共享模式后,再处理 OpenTelemetry 导出。OTLP/HTTP 的端点需要包含协议、主机、端口和路径;日志信号通常使用 /v1/logs,也可以通过专用日志端点变量覆盖基础端点。官方规范还定义了 Header、TLS、压缩和单批次超时等配置项。OTLP Exporter 官方规范

配置示例只能使用占位信息,下面不是可直接复制的真实凭据:

telemetry:
  sharing_mode: DISABLED

  otlp_http:
    logs_endpoint: "https://<测试端点>/v1/logs"
    headers:
      authorization: "${OTLP_AUTH_PLACEHOLDER}"
    tls:
      verify_server: true
    timeout: "${OTLP_TIMEOUT_PLACEHOLDER}"

你需要把这段示例映射到当前版本配置目录中的真实字段名,不要因为字段看起来合理就直接写入生产环境。尤其不要在正文、工单、截图或 Shell 历史中展示真实 Header、访问令牌和完整端点。

测试端点应与生产接收端隔离,至少做到:

  • 单独的接收空间或测试租户;
  • 单独的认证凭据;
  • 单独的网络出口规则;
  • 明确的留存时间和删除责任;
  • 能够按测试会话标识查询接收记录。
检查项目 通过条件 不通过时的处理
端点 URL、路径和协议与接收端配置一致 保持 DISABLED
认证 凭据由运行时注入,日志不回显 重新发放凭据
TLS 使用 HTTPS,并验证服务端证书 不切换到明文
网络出口 仅允许访问批准的测试目标 收紧防火墙或代理规则
记录一致性 接收端只出现预期的最小会话记录 停止扩展模式并调查字段

OTLP 的默认超时在规范中为 10 秒,但具体 Harness 版本可能采用自己的导出器封装或关停参数,因此不能把这个值当作 DeepSeek Harness 的实际行为。你应在当前版本配置和源码中确认超时单位,再用一个无敏感内容的最小会话验证:请求是否发出、发送到哪里、接收端收到什么,以及本地是否留下了额外副本。OTLP 配置参数说明

SECTION 04 第 2 天:用最小会话验证字段、失败和重试边界

第一条测试会话不要使用真实仓库、真实路径或生产密钥。你可以使用不存在的临时目录、无业务含义的提示词和明确标记为测试的工具返回值,然后逐项检查接收端。

重点看四类字段:

  1. 用户输入:是否出现完整提示、上下文或反馈文本。
  2. 工具结果:是否包含命令输出、文件内容、错误堆栈或环境变量。
  3. 路径与仓库信息:是否出现用户名、项目名、绝对路径和分支名称。
  4. 关联标识:是否能通过会话 ID、设备名或任务 ID 反推具体用户。

不要把“接收端没有展示某字段”当成“字段没有离开 Mac”。你还应检查代理访问日志、出口防火墙日志、应用调试日志和本地缓存;如果数据在中间层出现过,接收端的字段过滤并不能消除已经发生的暴露。

失败测试至少安排三次,但这里的“三次”是你的验收动作,不代表 Harness 会重试三次:

  • 端点不可达:阻断测试端点的网络出口,观察 Agent 任务是否继续运行。
  • 认证失败:使用已撤销或明显无效的占位凭据,观察错误是否只影响遥测。
  • 接收端延迟:让测试端点延迟响应,观察任务是否被同步阻塞。

OTLP 规范定义了瞬时错误的重试语义和每批导出超时,但具体重试次数、退避方式、队列容量和丢弃策略取决于实现。OTLP 重试与超时规范 因此,除非当前版本源码或本站复现已经证明,否则不要在运行手册中写“失败后会自动重试 X 次”或“所有记录都会保存在本地”。

⚠️ 注意:遥测发送失败是否影响 Agent 任务,必须用断网和认证失败分别验证。不要把“日志导出通常是旁路操作”当成 Harness 的产品保证。

验收结果建议用四种状态记录:继续执行、任务阻塞、部分记录保留、记录直接丢弃。每一种状态都要附版本标签、配置摘要、测试时间和本地及接收端证据。

SECTION 05 第 3 天:从试点扩展到远程 Mac 集中运维

当 FEEDBACK_ONLY 的最小会话通过后,你才有理由讨论扩大范围。远程 Mac 带来的隐性成本,不只是配置文件难以同步,还包括多个用户共用同一台执行节点、网络出口集中、停机时导出器仍在排队,以及租期结束后凭据和缓存未被清理。

扩展前先完成以下勾选清单:

  • [ ] 已为会话输入、工具结果、反馈、路径和仓库标识指定数据所有者。
  • [ ] 已列出允许用途与禁止上传字段,并获得安全或合规审批。
  • [ ] 当前共享模式仍为 DISABLED,直到审批记录可追溯。
  • [ ] FEEDBACK_ONLY 已用无敏感内容会话验证。
  • [ ] OTLP 测试端点使用独立凭据、TLS 和受限网络出口。
  • [ ] 真实 Header、令牌和完整端点不会出现在配置仓库、截图或进程参数中。
  • [ ] 已分别完成端点不可达、认证失败和延迟响应测试。
  • [ ] 已记录 Agent 任务是否受遥测失败影响,未把推测写成结论。
  • [ ] 已验证工具结果、路径、仓库信息和用户输入是否进入记录。
  • [ ] 已明确本地缓存、代理日志和接收端数据的留存期限。
  • [ ] 已确定谁负责删除测试数据、撤销凭据和确认删除结果。
  • [ ] 远程 Mac 交付文档包含停用遥测、关停进程和网络复核步骤。

如果你要集中管理多台远程 Mac,建议把遥测配置拆成三个层次:节点默认策略、项目级例外和一次性测试覆盖。节点默认策略应保持 DISABLED;项目级例外必须带审批编号;一次性测试覆盖应设置自动失效时间,避免临时打开 FULL 后长期遗留。

远程 Mac 的环境交接还应纳入 VPSNIX 隐私政策 中涉及数据处理的核对项,以及 VPSNIX 帮助中心 中关于远程环境操作和交付的支持流程。这样做的目的不是把合规责任转交给服务商,而是让节点配置、团队权限和数据删除责任保持一致。

SECTION 06 停机验收:导出器收尾不能靠“进程已退出”

正常停机时,未发送的日志可能仍在批处理器或导出器队列中。OpenTelemetry 日志规范要求 SDK 提供 Shutdown 和 ForceFlush 语义,并要求关停过程能够报告成功、失败或超时;但最终是否等待队列清空、超时后保留什么,仍要看具体实现。OpenTelemetry Logs SDK 规范

因此,远程 Mac 交接前不要只执行一次终止命令。按以下顺序验收:

  1. 将共享模式切换为 DISABLED,并保存变更记录。
  2. 停止新会话和后台 Agent 任务,避免停机期间继续产生遥测。
  3. 触发应用支持的正常关闭流程,观察是否执行导出器收尾。
  4. 等待当前版本规定的关停超时边界,不要无限等待。
  5. 检查接收端是否出现停机前最后一批测试记录。
  6. 检查未发送记录的处理结果:发送、失败、丢弃或仍留在本地。
  7. 撤销 OTLP 端点凭据,并删除节点上的临时配置与缓存。
  8. 从网络出口日志确认停用后没有新的遥测连接。
  9. 将删除责任、完成时间和证据交给下一位运维负责人签收。

OpenTelemetry 的 Shutdown 不应无限阻塞,ForceFlush 也应在超时前完成或中止;这意味着你必须把“未发送记录怎么办”写进交付清单,而不是默认它们一定会补发。OpenTelemetry 关停与刷新说明

从 DISABLED 放行到 FULL 的门槛

放行条件 DISABLED → FEEDBACK_ONLY FEEDBACK_ONLY → FULL
数据所有者和用途已书面确认 必须 必须
用户输入与工具结果已完成字段审查 必须 必须
测试端点、TLS、凭据和出口已验证 必须 必须
断网、认证失败和停机测试已完成 必须 必须
接收端删除责任可追溯 必须 必须
需要扩大到完整会话范围 不需要 必须
无法证明某字段不会外发 回退 DISABLED 禁止放行

如果你的当前方案是直接在本地或普通云主机上长期跑,常见缺点是硬件权限和网络出口不统一、多人共用凭据难以追责、停机交接容易遗漏缓存,而且为了一次短期试点还要承担持续维护成本。对于需要临时验证 DeepSeek Harness、集中观察远程 Agent 或在交付前快速复现故障的团队,租赁 VPSNIX 的远程 Mac 通常更容易把节点隔离、权限回收和租期结束清理纳入同一套流程;但如果你需要长期稳定的高负载任务、固定物理接口或永久保留本地数据,自购 Mac 仍然可能更合适。

若你准备把这套流程落到团队环境,先从 DISABLED 开始,完成上面的门槛表后再决定是否进入 FEEDBACK_ONLY。需要继续规划远程 Mac 网络出口、会话数据交付和租期结束回收时,可从 VPSNIX 中文主页 的远程 Mac 运维路径继续核对。

SECTION 07 常见问题

DeepSeek Harness 会不会一安装就把会话遥测上传出去?

不能仅凭插件已安装就判断会话已经外发。你需要读取当前版本的实际共享模式、端点和导出器状态;如果配置来源、默认值或版本行为无法确认,应按 DISABLED 处理,并在最小测试会话中检查网络出口与接收端记录。

FEEDBACK_ONLY 和 FULL 在数据治理上差在哪里?

两者不是日志详细程度开关,而是不同的数据共享政策。FEEDBACK_ONLY 适合只验证反馈收集价值的试点,FULL 则可能扩大会话、工具结果或运行上下文的外发范围。只有完成字段分类、用途审批和删除责任确认后,才应评估 FULL。

OTLP 日志端点的认证凭据应该怎样保护?

不要把真实令牌写入配置文件、截图、工单或命令历史。优先使用运行时注入、权限受控的密钥存储和 TLS;测试时只展示占位变量,并验证日志、调试输出和进程列表不会回显 Header、令牌或完整端点凭据。

导出端点中断后,Agent 任务会怎样处理?

不能凭经验直接下结论。影响取决于 Harness 版本、导出器实现、队列和错误处理方式。你应分别测试端点不可达、认证失败和停机导出,并记录 Agent 是否继续执行、哪些记录被放弃,以及失败信息是否进入本地日志。

远程 Mac 交接前怎样彻底关闭会话遥测?

先将共享模式改为 DISABLED,再停止相关进程并执行正常关停;随后撤销端点凭据、删除本地残留配置,向接收方确认接收端数据删除责任和完成时间。最后用网络检查与进程检查证明停用后的 Mac 不再向遥测端点发起连接。

延伸阅读