反馈

使用基于情感的交互式小部件收集用户反馈并创建 GitHub Issues

反馈功能允许阅读者通过交互式小部件分享他们对文档页面的看法。反馈会自动以 issues 的形式发布到集中管理的 GitHub 仓库,便于跟踪、标记和响应用户输入。

工作原理

反馈小部件会显示在每个文档页面的目录侧边栏中。当用户点击“提供反馈”时,他们可以:

  1. 撰写他们的反馈信息
  2. 选择表示其体验的情感(🤩、🙂、😕、😭)
  3. 可选地提供他们的姓名和电子邮件
  4. 提交他们的反馈

反馈工作流

当反馈被提交时:

  1. 反馈会根据 JSON 模式进行验证
  2. 在配置的反馈仓库中创建一个新的 GitHub Issue
  3. 根据情感、主题和其他元数据自动应用标签
  4. 用户详情和元数据被格式化为结构化的 markdown 表格

每条反馈都会创建一个单独的 issue,便于单独跟踪和解决。

反馈架构

API 接受以下字段:

FieldTypeRequiredMax LengthDescription
notestring16,384反馈消息
urlstring1,024提交反馈的页面 URL
emotionstring1表示用户情感的表情符号
topicstring1,024反馈主题/类别
namestring1,024用户姓名
emailstring1,024用户电子邮件
uastring256用户代理字符串
labelstring64用于 issue 的自定义标签
thumbsstring4赞成/反对 指示器
reasonstring10不赞成的原因
planstring10用户的计划类型

附加字段会作为元数据被捕获并显示在 issue 正文中。

功能

自动标记

Issues 会根据以下内容自动添加标签:

  • 情感: emotion-amazed, emotion-happy, emotion-sad, emotion-cry
  • 主题: topic-{topic-name}
  • 计划: {plan}-plan
  • 赞/踩: thumbs-up, thumbs-down
  • 原因: reason-{reason}(用于不赞成)
  • 自定义标签: 通过 label 字段传入的任何标签
  • 默认标签: unresolved, vercel-site

结构化的 Issue 正文

每个 issue 包含格式化的 markdown 正文,包含:

  • 反馈内容
  • 提交反馈的页面 URL
  • 用户详情表(电子邮件、上下文、IP、用户代理)
  • 用于任何附加字段的元数据表

元数据支持

在请求正文中传递任何附加字段,它们将被作为元数据捕获并显示在 issue 的单独表格中。这允许你包含:

  • 用户 ID
  • 功能开关
  • 实验分组
  • 自定义跟踪数据