大多数客服工具都要你“搬进去”:你的帮助文章、客户的对话、甚至商店的密钥,都放在别人的服务器上,再按坐席或按解决次数收费。
Desk 走的是另一条路。它是一个你自己运行的开源客服应用:一个根据帮助中心作答的聊天窗口,帮助中心本身,由团队通过邮件答复的工单,以及一个团队后台,让团队接手那些不该只交给 AI 的对话。它只是一个 Node.js 进程加一个 SQLite 文件,采用 MIT 许可证。了解 Desk,或直接阅读文档。

访客看到的是什么
访客提出问题。Desk 在你的文章和私有笔记中搜索,挑选最相关的段落,回答会边写边流式显示在聊天窗口中,并附上所引用文章的链接。
聊天窗口顶部的小机器人会展示正在发生什么:等待时为在线,访客输入时为倾听,撰写回答时为思考,回答完成后为已解决,把对话交给团队时为让位。
当访客要求人工服务,或 AI 无法回答时,对话会转交给你的团队,AI 随即保持安静。之后任何人都可以把对话交还给 AI,AI 会带着完整的对话记录继续。
没人在线时:工单
有些问题一次对话解决不了,有时也没人能接手对话。为此,Desk 提供了由团队通过邮件答复的工单,以及让客户跟进工单的客户门户。
- 工单可以从任何地方开始。 访客可以在聊天窗口或门户中提交工单,团队可以把对话转为工单,也可以手动新建。每个工单都有一个类似
#K7F3Q9的简短编号、完整的历史记录,以及客户看不到的内部备注。 - 回复通过邮件发送。 同一工单的邮件在客户的邮件应用中会归为一个会话;发送失败的邮件会在接下来几个小时内自动重试,而不会丢失。
- AI 起草会根据你的帮助文章和私有笔记写出回复,由团队检查、修改后再发送。
- 客户门户位于
/customer-portal,客户用 6 位邮箱验证码登录,即可阅读回复、作答并提交新工单。每封回复邮件都直接链接到对应的工单。 - 两个适合非工作时间的开关。 关闭访客可以与人工交谈后,助手会说明目前没有人有空,并提供提交工单的选项。关闭客户可以提交工单可以暂停新工单,已有工单仍可继续答复。
已解决的工单会在解决 90 天后删除。
“我的订单到哪了?”终于有了真正的答案
帮助文章讲的是产品如何运作,却无法告诉客户他们自己的订单到哪了、他们自己的套餐什么时候续费,而这些才是客户真正会问的问题。
所以 Desk 提供了 Shopify、Stripe 和 Cal.com 的只读集成,以及一个连接你自己 API 的 Custom HTTP 连接器。管理员在后台 → 集成中粘贴密钥即可开启。

谁能看到什么,我们处理得很谨慎:
- 访客先验证邮箱。 通过 6 位验证码,或者如果访客已在你的网站登录,由你的网站传入签名令牌。查询只使用这个已验证的邮箱,所以没人能查询别人的订单。验证有效期为 24 小时,或在 2 小时没有消息后失效。
- 只读,强制执行。 带写入权限的 Shopify 令牌或完整的 Stripe 密钥会被拒绝。退款和修改会给出链接,或转交给你的团队。
- 密钥留在你的服务器上。 密钥加密保存,之后不再显示。Desk 自己调用各项服务,模型在该轮对话中只看到一组固定的少量字段:没有地址、电话号码或银行卡信息。
- 没有额外的 AI 请求。 Desk 在询问模型之前就取好数据,所以一个账户相关的回答和其他回答成本相同。
每次查询都会记录(邮箱已打码),你的团队也能在对话中看到。下图中,Custom HTTP 连接器指向一个返回套餐和续费日期的小型演示 API:

AI 永远看不到的草稿
一篇帮助文章往往要改好几遍,你不会希望助手引用第一版。保存草稿会让文章不出现在帮助中心和搜索中,也不会进入发送给 AI 的任何内容。发布会让它上线,发布前会确认并告诉你它将出现在哪里。取消发布会把它移回草稿,一个字都不会丢。

私有笔记用来放那些 AI 应该知道、但绝不能展示的内容,比如升级处理规则或退款额度。它们会影响回答,但从不被引用、展示或链接。
这些内容都在后台 → 知识库中管理。新上传的文件默认是草稿,你可以一次发布或取消发布多篇文章。顶层文件夹会成为带图标和简短说明的合集,帮助中心 /articles 以卡片展示这些合集,并提供面包屑导航、最后更新日期,以及用 ⌘K 打开的搜索窗口。文章中的图片可以存放在你自己的服务器上,也可以存放在 Cloudflare R2 等兼容 S3 的存储中。
打造你自己的样子
设置 → 外观可以设置浅色和深色模式下的标志、一种品牌色(Desk 会为两种模式算出易读的按钮、链接和高亮色)、字体、圆角样式,以及首页的标题和示例问题。设置 → SEO 可以设置页面标题、首页描述和网站图标。修改立即生效,无需重启。
团队成员可以添加头像,头像会显示在他们于聊天中的回复旁边。想要更大空间的访客,可以把聊天展开为 /chat 全页聊天。
小而精,因为重活交给了 ModelRiver
Desk 也是 ModelRiver 的参考应用。那些通常要花几个月搭建的部分,都由平台提供:
- 流式回答来自
POST /v1/ai/async和客户端 SDK。 - 对话记录保存在 ModelRiver 的会话中。Desk 不保存消息副本,它自己的数据库只记录对话与会话的对应关系。
- 实时更新让聊天窗口和后台在消息、接手和交还发生时保持同步。
- 模型和备用模型来自你的工作流,所以无需改动 Desk 就能切换提供商。
在团队这一侧,后台显示每个对话、谁在处理、谁在等待。洞察列出帮助中心无法回答的问题和评分最低的文章,让你知道下一步该写什么。
试试看
你需要 Node.js 26.12.1 或更高版本,以及一个 ModelRiver API 密钥。
在 ModelRiver 控制台中导入示例工作流并发布,然后打开 http://localhost:3000。Desk 文档介绍了配置、每个连接器以及如何在 HTTPS 后部署。
在 Ubuntu 服务器上,setup-server.sh 还会安装 desk-update。运行 sudo desk-update 会先备份你的数据,在正在运行的版本旁边构建新版本,几秒内完成切换;如果新版本无法启动,会自动回到上一个版本。参见更新 Desk。源码和问题反馈在 GitHub 上。
不想自己运行?联系我们,我们帮你搭建好。

