如何构建一个支持工单与 SLA 的客户支持 Web 应用
从规划、设计到构建一个客户支持 Web 应用:包含工单工作流、SLA 跟踪与可搜索的知识库——并覆盖角色设置、分析与集成方案。

定义目标、用户与范围
当工单产品围绕功能而不是结果构建时,很容易变得混乱。在你设计字段、队列或自动化之前,先就应用面向谁、能解决什么痛点以及“良好”的标准达成一致。
确定你的用户(以及他们的日常工作)
从列出角色及其在一周内必须完成的任务开始:
- 坐席(Agents): 快速分流、回复、解决并记录解决方案。
- 团队负责人(Team leads): 重新平衡工作量、发现卡住的工单、执行 SLA、指导坐席。
- 管理员(Admins): 配置渠道、类别、自动化、权限和模板。
- 客户(可选): 提交请求、跟踪状态、添加细节、在门户中查找答案。
如果跳过这一步,你可能会不小心只为管理员优化,而让坐席在队列中倍感挣扎。
写下你要解决的问题
保持具体,并与可观察的行为关联:
- 未达成的 SLA: 工单静默老化;升级过迟发生。
- 混乱的队列: 所有权不明确、重复工作以及“这该放哪?”的困惑。
- 重复问题: 相同答案被反复输入,拖慢解决速度。
决定应用的使用场景
明确说明:这是仅内部工具,还是也会发布面向客户的门户?门户会改变需求(认证、权限、内容、品牌、通知)。
及早选择成功指标
从第一天起跟踪一小组指标:
- 首次回复时间
- 解决时间
- 减载率(通过知识库解决的问题占比,替代工单的比例)
创建一个简单的 v1 范围声明
用 5–10 句描述 v1 包含什么(必须具备的工作流)以及什么是后期再做的(如高级路由、AI 建议或深度报表)。当请求堆积时,这将成为你的界限。
设计工单模型与生命周期
你的工单模型是其他一切的“事实源”:队列、SLA、报表以及坐席在界面上看到的内容。早期把它做对,能避免后期痛苦的迁移。
绘制一个一句话就能解释的生命周期
从明确的一组状态开始,并定义每个状态在运营上的含义:
- New(新建):已创建,未分流\n- Assigned(已分配):由坐席或团队拥有\n- In progress(处理中):正在处理\n- Waiting(等待):被阻塞(客户回复、第三方、研发)\n- Solved(已解决):坐席认为已解决(通常触发通知)\n- Closed(已关闭):最终状态(锁定或限制编辑)
为状态转换添加规则。例如,只有 Assigned/In progress 的工单才能置为 Solved,而 Closed 的工单不能在不创建后续工单的情况下重新打开。
决定工单如何进入系统
列出你目前支持的所有接入路径(以及将来会添加的):网页表单、入站邮件、聊天和 API。每个渠道都应创建相同的工单对象,但可以包含少量渠道特定字段(例如邮件头或聊天记录 ID)。一致性让自动化和报表保持清晰。
选择必填字段(并保持精简)
至少要求:
- 主题(Subject) 和 描述(description)
- 请求人(Requester)(客户身份)
- 优先级(Priority)(紧急程度)
- 类别(Category)(问题类型)
其他一切可以设为可选或派生字段。臃肿的表单会降低填写质量并拖慢坐席操作。
为真实团队规划标签与自定义字段
使用 标签(tags) 做轻量过滤(例如 “billing”,“bug”,“vip”),在需要结构化报表或路由时使用 自定义字段(custom fields)(例如 “产品领域”、“订单号”、“区域”)。确保字段可以按团队范围配置,避免一个部门给另一个部门造成混乱。
定义工单内的协作方式
坐席需要一个安全的协调空间:
- 内部备注(客户不可见)
- @ 提及 与 关注/抄送 列表
- 关联工单(重复、父子事故)
你的坐席 UI 应该让这些元素在主时间线附近一键可达。
构建工单队列与分配工作流
队列和分配是工单系统从共享收件箱变成运营工具的关键。你的目标很简单:每个工单都应有一个明显的“下一步最佳动作”,每个坐席都应知道当前应处理什么。
设计能回答“下一步是什么?”的坐席队列
创建一个默认显示最紧急工作的队列视图。坐席实际会用到的常见排序选项:
- 优先级(例如 P1–P4)
- SLA 到期时间(最早到期优先)
- 最后更新(用于捕捉停滞对话)
添加快速过滤(团队、渠道、产品、客户等级)和快速搜索。保持列表紧凑:主题、请求人、优先级、状态、SLA 倒计时和分配坐席通常就足够了。
分配规则:能自动就自动,需人工时支持手动
支持几种分配路径,让团队在不更换工具的情况下演进:
- 手动分配:针对边缘案例和培训场景
- 轮询(Round-robin):均匀分配工作量
- 基于技能的路由(语言、产品领域、账单 vs 技术)
- 基于团队的路由(例如 “Payments”、“Enterprise”、“Returns”)
让规则决策可见(例如 “Assigned by: Skills → French + Billing”),以便坐席信任系统。
保持工作流动的状态与模板
像 等待客户 和 等待第三方 这样的状态可以避免在被阻塞时工单看起来“闲置”,并使报表更真实。
为加速回复,提供 常用回复 和 回复模板,并带有安全变量(姓名、订单号、SLA 日期)。模板应可搜索且由授权负责人编辑。
防止冲突(两位坐席同时处理同一工单)
增加冲突处理:当坐席打开工单时,放置短期的“查看/编辑锁”或“当前由某人处理”的横幅。如果其他人试图回复,警告他们并要求确认发送(或阻止发送),以避免重复或矛盾的回复。
实施 SLA 规则、计时器与升级策略
SLA 只有在所有人就测量内容达成一致并且系统一致性地执行时才有用。先把“我们快速回复”变成系统可计算的策略。
定义 SLA 策略(你要测量什么)
多数团队从每个工单两个计时器开始:
- 首次响应时间:从工单创建到第一次坐席回复(或第一次非自动化的公开回复)的时间。
- 解决时间:从工单创建到“Solved/Closed”的时间。
让策略可按 优先级、渠道 或 客户等级 配置(例如:VIP 首次响应 1 小时,标准客户为 8 个工作小时)。
决定 SLA 计时器何时启动与停止
在编码前把规则写清楚,因为边缘案例很快会堆积:
- 工作时间 vs 24/7:定义日历(时区、工作日、节假日)。
- 暂停状态:当工单处于 “等待客户” 或 “等待外部供应商” 时停止计时。
- 恢复条件:客户回复或状态变回“打开/处理中”时重启计时。
保存 SLA 事件(启动、暂停、恢复、违规),以便以后能解释 为何 出现违规。
在 UI 中让 SLA 状态一目了然
坐席不应打开工单才发现它即将违规。添加:
- 倒计时器(剩余时间)
- 逾期标记,带清晰的严重度(警告 vs 违规)
- 可选的 提醒(应用内、邮件或聊天)在阈值临近时触发
构建升级路径
升级应自动且可预测:
- 在允许时间的 80% 时通知团队负责人
- 违规时重新分配到值班队列
- 提高优先级或添加 “Escalated” 标签
规划 SLA 报表
至少跟踪 违规计数、违规率 和 趋势。还要记录 违规原因(暂停过久、错误优先级、队列人手不足),以便报表导向行动而非指责。
创建能减少重复工单的知识库
好的知识库(KB)不仅仅是 FAQ 的集合——它是一个产品功能,应该能可量化地减少重复问题并加速解决。把它设计成工单流程的一部分,而不是独立的“文档站点”。
结构:让内容易于维护
从一个可扩展的信息模型开始:
- 类别 → 章节 → 文章(便于客户和坐席导航)
- 用 标签 做跨主题组织(账单、登录、集成),避免复制文章
- 明确所有权(谁来审阅),以保持内容最新
保持文章模板一致:问题陈述、分步解决、可选截图,以及“如果这没帮到你……”的指引,指向正确的工单表单或渠道。
真正能找到答案的搜索
大多数知识库失败都是搜索失败。实现搜索时应包含:
- 相关性调优(标题/标题层级权重、更新鲜度提升)
- 同义词(例如 “invoice” ↔ “bill”,“2FA” ↔ “authentication code”)
- 容错(错别字)、词干处理(单复数)
同时索引工单主题行(匿名化),学习真实客户的措辞并用来补充同义词列表。
草稿、审阅与发布审批
加入轻量工作流:草稿 → 审阅 → 发布,并可选支持定时发布。保存版本历史并显示“最后更新”元数据。配合角色(作者、审阅者、发布者),避免每位坐席都能编辑公开文档。
测量能减少工单的指标
跟踪的不应仅是页面浏览。可用指标包括:
- 是否有帮助投票(是/否)和“缺少什么?”的反馈
- 减载信号:搜索 → 浏览文章 → X 小时内无工单创建
- 未命中好结果的热门搜索(内容缺口)
在处理工单的地方关联文章
在坐席的回复编辑器中,基于工单主题、标签和检测到的意图显示 建议文章。一键即可插入公开链接(例如 /help/account/reset-password)或插入内部片段以加速回复。
做得好时,知识库就是你的第一道支持线:客户自助解决问题,坐席处理更少的重复工单且一致性更高。
设置角色、权限与可审计性
权限决定工单工具是保持安全与可预测,还是很快变得混乱。不要等到上线后才“加锁”。早期建模访问方式,让团队能在不暴露敏感工单或让错误人员更改系统规则的情况下快速行动。
划分角色(并保持简洁)
从几个清晰的角色开始,只有在有真实需求时才增加细化:
- Agent(坐席):处理工单、添加备注、回复、更新字段。
- Lead(负责人):坐席权限 + 重新分配、队列管理与辅导工作流。
- Admin(管理员):系统范围设置,如渠道、用户管理与配置。
- Content editor(内容编辑):创建并发布知识库文章。
- 只读(Read-only):审计、财务、法务或需要查看但不可修改的利益相关者。
按能力定义权限
避免“全有或全无”的访问。把主要动作视为显式权限:
- 查看 vs 编辑 工单(包括私有备注)
- 管理宏/常用回复
- 编辑 SLA 规则、计时器与升级策略
- 发布/撤回知识库内容
这使得按最小权限授予访问更容易,并支持增长(新团队、新区域、外包人员)。
对敏感队列的基于团队访问
一些队列应默认受限——账单、安全、VIP 或 HR 相关 请求。使用团队成员关系来控制:
- 哪些队列可见
- 谁可以重新分配或合并工单
- 是否屏蔽客户数据字段
你会真正用到的审计日志
记录关键操作及 谁、做了什么、何时 和 前/后 值:分配变更、删除、SLA/策略编辑、角色变更与 KB 发布。使日志可搜索并可导出,这样调查不必直接访问数据库。
提前规划多品牌或多收件箱
如果要支持多品牌或收件箱,决定用户是能切换上下文还是访问被分区。这会影响权限检查与报表,应从一开始就保持一致。
设计坐席与管理员的用户体验
工单系统的成败取决于坐席理解情况并采取下一步行动的速度。把坐席工作区当作“主屏幕”:它应立即回答三个问题——发生了什么、这是谁的客户、下一步我该做什么。
坐席工作区布局
从分栏视图开始,让上下文在工作时始终可见:
- 对话线程(邮件/聊天/消息),带清晰时间戳、附件与引用。
- 客户面板,包含身份、套餐/账户等级、组织、历史工单与关键备注。
- 工单字段(状态、优先级、队列、受理人、标签、SLA 计时器)逻辑分组,而非分散。
保持线程可读:区分客户与坐席与系统事件,并让内部备注视觉上明显不同,避免意外发送。
一键操作以减少摩擦
把常用操作放在光标附近——接近最后一条消息和工单顶部:
- 分配 / 重新分配
- 更改状态(包括 “等待客户”)
- 添加内部备注
- 应用宏(预填回复 + 字段更新)
目标是“一个点击 + 可选备注”的流程。如果操作需要弹窗,弹窗应简短且支持键盘操作。
高流量团队的加速功能
高吞吐量支持需要感觉可预测的快捷方式:
- 键盘快捷键(回复、添加备注、指派给我、关闭、下一条工单)
- 列表视图的批量操作(打标签、分配、关闭、合并)
- 面向进阶用户的快速命令面板
无障碍与界面安全
从第一天就考虑无障碍:足够的对比度、可见的焦点态、完整的 Tab 导航和屏幕阅读器标签(用于控件和计时器)。同时用小的保护措施防止代价高昂的错误:确认破坏性操作,清晰标记“公开回复”与“内部备注”,并在发送前展示将要发送的内容。
管理与客户门户的 UX
管理员需要简洁、引导式的界面来管理队列、字段、自动化与模板——避免把关键项藏在多层设置里。
如果客户能提交和跟踪问题,设计一个轻量的门户:创建工单、查看状态、添加更新,并在提交前看到建议文章。保持与公开品牌一致,并从 /help 链接过去。
规划集成、API 与全渠道接入
当工单应用连接客户已经使用的渠道以及团队解决问题所依赖的工具时,它才真正变得有用。
从必须连接的系统开始
列出“第一天”需要的集成及每个集成需要的数据:
- 邮件(共享收件箱、转发规则、出站 SMTP)
- 聊天(网站组件、WhatsApp、类似 Intercom 的工具)
- CRM(账户上下文、负责人、套餐等级)
- 计费(订阅状态、发票、退款)
- 身份提供商(SSO:Google/Microsoft、SCIM 用户配置)
写明数据流向(只读 vs 回写)以及各集成的内部负责人。
及早设计 API 与 webhook
即便稍后才发布集成,也要现在定义稳定的原语:
- API 端点:ticket.create、ticket.update、search,以及评论/消息和状态变更。
- Webhooks:关键事件(ticket.created、ticket.updated、message.received、sla.breached),以便外部系统做出反应。
认证要可预测(服务器用 API keys;用户安装的应用用 OAuth),并对 API 做版本管理以避免破坏客户。
用稳健的邮件线程防止重复工单
邮件是边缘情况最先暴露的地方。计划如何:
- 使用 Message-ID / In-Reply-To / References 头做线程关联
- 安全解析转发内容与常见签名
- 通过检测重复入站负载来去重(尤其是来自邮件提供商的重复)
在这里投入一点能避免“每次回复都创建新工单”的灾难。
安全处理附件
支持附件,但加上防护:文件类型/大小限制、安全存储,并支持 病毒扫描(或使用扫描服务)。考虑剥离危险格式,且绝不内联渲染不可信的 HTML。
像产品功能一样编写集成文档
创建简短的集成指南:所需凭据、逐步配置、故障排除与测试步骤。若你维护文档,在 /docs 链接到你的集成中心,让管理员无需工程支持即可连接系统。
为支持绩效添加分析与报表
分析把工单系统从“一个工作场所”变成“改进手段”。关键是捕获正确事件、计算几项一致的指标,并向不同受众展示,不泄露敏感数据。
从事件轨迹开始(而不是仅仅是当前状态)
保存能解释 为何 工单如今状态的时刻。至少要跟踪:状态变更、客户和坐席回复、分配与再分配、优先级/类别更新以及 SLA 计时器事件(启动/停止、暂停与违规)。这让你能回答“我们是因为人手不足还是因为等待客户而违规?”这类问题。
尽可能保持事件的追加式存储;这会让审计与报表更可信。
为团队负责人准备的仪表盘
负责人通常需要可立即采取行动的运营视图:
- 按队列/优先级/类别的积压情况
- 工单老化(例如:最早未结、最早等待客户)
- SLA 风险(X 小时内可能违规的工单)
- 坐席工作量(分配数、活跃工作、距上次更新时间)
让这些仪表盘可按时间范围、渠道和团队过滤——不要把负责人逼进表格。
给高管的报表
高管更关心趋势而非单个工单:
- 按类别/渠道的工单量,包括峰值日期与小时
- 首次回复与解决趋势(中位数与 90 百分位)
- CSAT 趋势(以及回应率,以免分数误导)
若你将结果与类别关联,可为人员配置、培训或产品修复提供依据。
过滤、导出与访问控制
添加常见视图的 CSV 导出,但用权限来控制(并尽量做字段级控制),以避免泄露邮件、消息正文或客户标识。记录谁在何时导出了什么。
在不做不靠谱承诺的前提下做数据保留
定义你保留工单事件、消息内容、附件与分析聚合的时长。优先提供可配置的保留设置并说明哪些是真正删除、哪些是匿名化,以免承诺无法验证的保证。
选择可行的架构与技术栈
工单产品不需要复杂架构即可有效。对大多数团队来说,简单的方案更快交付、更易维护,同时仍具备良好扩展性。
从一个简单的系统图开始
一个实用的基线包括:
- Web 前端:坐席/管理员 UI 与面向客户的表单与门户
- API 后端:处理工单、SLA、用户与知识库的业务规则
- 数据库:工单、用户、事件与设置的事实源
- 后台任务:所有基于时间或长时运行的任务
这种“模块化单体(modular monolith)”方式使 v1 可控,并留出未来拆分服务的空间。
如果你想加速 v1 原型而不重写整个交付管道,像 Koder.ai 这样的低代码/对话式编码平台可以帮助你通过聊天快速构建坐席仪表盘、工单生命周期和管理界面——当你准备好掌控源代码时再导出。
明确必须在后台运行的任务
工单系统看起来是实时的,但许多工作是异步的。尽早规划后台任务以处理:
- SLA 计时器与升级(例如 “首次回复在 30 分钟内到期”)
- 通知(邮件、应用内、webhook)
- 搜索索引(工单与知识库文章)
- 入站邮件处理(解析、附件、线程归并)
若把后台处理当作事后考虑,SLA 会变得不可靠,坐席也会失去信任。
把数据用于正确性,搜索用于速度
使用 关系型数据库(PostgreSQL/MySQL)保存核心记录:工单、评论、状态、分配、SLA 策略与审计/事件表。
为了快速搜索与相关性,保留单独的搜索索引(Elasticsearch/OpenSearch 或托管等价物)。如果你的产品依赖高质量搜索,不要试图让关系型数据库在大规模下做全文检索。
决定自建还是购买(并说明原因)
三个常能节省数月时间的领域:
- 认证:使用成熟的提供商(SSO、MFA、密码策略)
- 邮件投递:事务性邮件服务以保证投递率与退信处理
- 搜索:若无内部专长,采用托管搜索
把能区分你产品的内容做自建:工作流规则、SLA 行为、路由逻辑与坐席体验。
用清晰的 v1 里程碑规划进度
按里程碑估算工作量,而不是按功能。一个稳健的 v1 里程碑清单通常包括:工单 CRUD + 评论、基本分配、SLA 计时器(核心)、邮件通知、最小报表。把“好有的”(高级自动化、复杂角色、深度分析)显式排除在 v1 范围之外,直到使用数据证明其价值。
覆盖安全、隐私与可靠性的基础
安全与可靠性的决策在早期就建立比较容易且成本低。支持应用处理敏感对话、附件与账户细节——把它当成核心系统来对待,而不是边缘工具。
默认保护客户数据
从端到端都启用传输层加密(HTTPS/TLS),如果有多服务部署,也包含服务间通信。对静态数据加密数据库与对象存储(附件),并把密钥与秘密保存在托管的密钥库中。
采用最小权限访问:坐席只看到有权限处理的工单,管理员仅在必要时拥有提升权限。添加访问日志,以便能回答“谁何时查看/导出过什么?”的问题。
根据受众选择认证方式
认证不是一刀切。对小团队,邮箱+密码可能足够;若面向大组织,SSO(SAML/OIDC)可能是必须;对轻量客户门户,魔法链接(一次性登录链接)能降低摩擦。
无论选择何种方式,确保会话安全(短期令牌、刷新策略、安全 Cookie),并为管理员账户添加 MFA。
在问题发生前防御常见攻击
对登录、工单创建与搜索端点做速率限制以减缓暴力与垃圾邮件攻击。验证并清洗输入以防注入与不安全 HTML。若使用 Cookie,添加 CSRF 保护;对 API 应用严格的 CORS 规则。文件上传要做恶意软件扫描并限制文件类型与大小。
备份、恢复与可衡量目标
定义 RPO/RTO 目标(能容忍丢失多少数据、多久恢复)。自动化数据库与文件存储的备份,并——关键点——定期测试恢复。不能恢复的备份等于没有备份。
用户会提出的隐私基础需求
支持应用经常面临隐私请求。提供导出与删除客户数据的途径,并说明哪些数据会被移除、哪些为法律/审计原因保留。让审计轨迹与访问日志对管理员可用(见 /security),以便迅速调查事件。
与真实支持团队一起测试、上线并持续改进
发布客户支持网页应用不是终点,而是开始了解真实坐席在真实压力下如何工作的过程。测试与上线的目标是保护日常支持,同时验证工单系统与 SLA 管理的正确性。
编写匹配真实工作的端到端测试场景
除了单元测试,记录(并尽量自动化)一小组端到端场景,覆盖最高风险的流程:
- 工单创建: 邮件/网页表单/API 接入创建工单并填充正确字段、客户身份与初始状态。
- 回复与线程: 客户回复关联到正确工单,坐席回复通知客户,内部备注保持私有。
- SLA 违规: 计时器正确启动/停止(例如在 “等待客户” 时暂停)、违规触发正确升级并记录审计轨迹。
- 知识库搜索: 坐席能从工单视图快速找到相关文章,客户在提交前看到有帮助的建议。
如果有预发布环境,请用真实感的数据(客户、标签、队列、工作时间)填充,避免测试只在理论上通过。
运行试点并每周收集反馈
先用小范围支持组(或单个队列)试点 2–4 周。设立每周反馈例会:30 分钟回顾阻碍他们的事项、令客户困惑的点以及哪些规则带来意外行为。
把反馈结构化:“任务是什么?”,“你期望什么?”,“实际发生了什么?”,“这种情况多常见?”——有助于优先修复影响吞吐与 SLA 合规的问题。
为管理员与坐席创建入职清单
让入职可重复,避免上线依赖某个人。
包含基础操作:登录、队列视图、回复 vs 内部备注、分配/提及、变更状态、使用宏、读取 SLA 指示与查找/创建知识库文章。管理员部分:角色管理、工作时间、标签、自动化与报表基础。
规划分阶段上线(并留有回滚选项)
按团队、渠道或工单类型分阶段上线。提前定义回滚路径:如何临时把接入切回原系统、哪些数据可能需要重新同步以及谁来决定回滚。
早期试点时,使用像 Koder.ai 这样的快照与回滚功能可以安全迭代工作流(队列、SLA 与门户表单),而不干扰线上运营。
制定迭代路线图
试点稳定后,按波次规划改进:
- 更完善的自动化规则(宏、触发器、自动打标签)
- 高级路由(基于技能的分配、负载均衡)
- 更丰富的知识库工作流(文章审阅、反馈回路、减载指标)
把每一波当作小版本:测试 → 试点 → 测量 → 推广。
常见问题
工单应用的第一版应包含哪些功能?
先从工单创建、分配、公开回复、内部备注、基本状态以及首次响应和解决计时器开始。等客服人员使用第一版后,再添加高级路由、详细分析和复杂自动化功能。
客服团队需要哪些工单状态?
采用简短的生命周期,例如新建、已分配、处理中、等待中、已解决和已关闭。明确规定谁可以在状态之间移动工单,尤其是在解决或重新打开请求时。
每张工单应包含哪些信息?
只要求填写主题、描述、请求者、优先级和类别。只有当团队需要这些字段用于路由或报告时,才添加结构化自定义字段。
客服人员的工单队列应如何运作?
在队列中显示优先级、SLA 到期时间、最后更新时间、状态、请求者和受理人。将紧急工作排在前面,并为客服人员提供按团队、渠道和客户层级快速筛选的功能。
工单分配应自动进行还是手动进行?
除手动分配外,还应提供轮询分配、团队路由和技能路由等规则。显示分配该工单的规则,让客服人员了解工单为何会分配给自己。
支持应用中的 SLA 计时器如何运作?
至少跟踪首次响应时间和解决时间。在构建计时器之前,先设置日历、暂停状态和升级规则,然后记录每次开始、暂停、恢复和违约事件。
知识库如何减少支持工单?
使用类别、分区和文章,再添加能处理常用术语、拼写错误和替代表述的搜索功能。在工单编辑器中以及客户提交请求之前,推荐相关文章。
工单系统需要哪些权限?
区分客服人员、主管、管理员、内容编辑和只读角色。根据团队成员身份限制账单或安全等敏感队列,并记录对工单、角色、策略和导出的更改。
客户支持 Web 应用适合使用什么技术栈?
为工单、用户、评论、分配、SLA 策略和事件历史使用关系型数据库。将 SLA 检查、通知、电子邮件处理和索引作为后台任务运行;当工单量使数据库搜索变慢时,再添加搜索索引。
支持团队应如何测试并上线该应用?
先在一个队列或小型支持团队中试运行两到四周。使用真实数据测试受理、电子邮件串联、内部备注、SLA 暂停、违约和文章搜索,然后分阶段推出,并准备好回滚方案。