Skip to content

提案:为 Markra 增加可选匿名诊断 #349

Description

@murongg

背景

我在考虑给 Markra 增加一个可选的匿名诊断功能,用来帮助定位崩溃、性能问题,以及了解哪些功能值得优先改进。

在正式实现之前,我希望先公开征求大家的意见,尤其是关于采集范围、默认开关策略和隐私边界。

为什么考虑这个功能

Markra 是一个本地优先的 Markdown 编辑器,很多问题很难仅靠本地复现发现,例如:

  • 某些系统或版本下启动失败
  • 打开大文档时性能较差
  • 某些功能实际使用率很低或问题较多
  • 崩溃发生后缺少足够的信息定位原因

匿名诊断数据的目标是帮助我更快发现和修复这些问题,而不是追踪用户个人行为。

可能采集的数据

只考虑采集与应用质量和功能改进相关的匿名数据,例如:

  • 应用版本
  • 操作系统大类,例如 macOS / Windows / Linux
  • CPU 架构,例如 arm64 / x64
  • 应用语言
  • 启动是否成功
  • 崩溃类型或错误码
  • 启动耗时、打开文档耗时、渲染耗时等性能区间
  • 功能使用频率,例如导出、搜索、预览、AI 面板是否被使用
  • 文档特征的粗粒度区间,例如文件大小区间、是否包含图片/代码块/表格

不会采集的数据

不会采集以下内容:

  • 文档正文
  • 文件名
  • 文件路径
  • 最近打开文件列表
  • 剪贴板内容
  • AI prompt
  • AI 返回内容
  • API Key
  • 用户名、邮箱、机器名
  • 精确 IP
  • 精确地理位置
  • 可用于识别个人身份的信息

开关策略

目前有几个备选方案:

  1. 默认关闭,需要用户手动开启
  2. 首次启动时询问用户是否开启
  3. 默认开启,但在设置里明确提供关闭入口

我个人更倾向于方案 1 或方案 2,但希望听听大家的真实想法。

透明度承诺

如果后续实现这个功能,会先补充一份公开的 telemetry 文档和采集字段清单,说明:

  • 为什么采集这些数据
  • 每个事件会采集哪些字段
  • 每个字段的用途
  • 数据会发送到哪里
  • 数据保留多久
  • 如何关闭
  • 对应的源码实现位置

未写入清单的字段不会被采集。

想征求的意见

欢迎大家回复:

  1. 你是否能接受 Markra 增加这种可选匿名诊断功能?
  2. 你更倾向哪种开关策略?
  3. 你觉得哪些数据可以采集?
  4. 你觉得哪些数据绝对不应该采集?
  5. 对隐私说明、数据保留时间、开源透明度还有什么建议?

所有反馈都会在正式实现前参考。这个功能即使做,也会尽量保持透明、克制、可关闭。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions