SelfHost Hub SelfHost Hub
EN
← 返回到所有服务

GitHub 仓库信息

获取时间 · 2026年6月5日
★ 6,048 最新版本: v1.0.0 最后更新: 2026年6月5日
README
**:warning: Maintenance Mode**

> _Papercups is in maintenance mode. This means there won't be any major new features in the near future. We will still accept pull requests and conduct major bug fixes. Read more [here](https://papercups.io/blog/papercups-maintenance)_

# Papercups

Papercups is an open source live customer support tool web app written in Elixir. We offer a hosted version at [app.papercups.io](https://app.papercups.io/).

You can check out how our chat widget looks and play around with customizing it on our [demo page](https://app.papercups.io/demo/). The chat widget component is also open sourced at [github.com/papercups-io/chat-widget](https://github.com/papercups-io/chat-widget).

_Watch how easy it is to get set up with our Slack integration 🚀 :_
![slack-setup](https://user-images.githubusercontent.com/4218509/88716918-a0583180-d0d4-11ea-93b3-12437ac51138.gif)

## One click Heroku deployment

The fastest way to get started is one click deploy on Heroku with:

<a href="https://heroku.com/deploy?template=https://github.com/papercups-io/papercups"><img src="https://www.herokucdn.com/deploy/button.svg" width="200px" /></a>

## Philosophy

We wanted to make a self-hosted customer support tool like Zendesk and Intercom for companies that have privacy and security concerns about having customer data going to third party services.

## Features

- **Reply from email** - use Papercups to answer support tickets via email
- **Reply from SMS** - forward Twilio conversations and respond to SMS requests from Papercups
- **Custom chat widget** - a customizable chat widget you can embed on your website to talk to your customers
- **React support** - embed the chat widget as a [React component](https://github.com/papercups-io/chat-widget#using-in-react), or a simple [HTML snippet](https://github.com/papercups-io/chat-widget#using-in-html)
- **React Native support** - embed the chat widget in your [React Native](https://github.com/papercups-io/chat-widget-native#papercups-iochat-widget-native) app
- **Flutter support** - embed the chat widget in your [Flutter](https://github.com/papercups-io/papercups_flutter) app (courtesy of @aguilaair :heart:)
- **Slack integration** - connect with Slack, so you can view and reply to messages directly from a Slack channel
- **Mattermost integration** - connect with [Mattermost](https://docs.papercups.io/reply-from-mattermost), so you can view and reply to messages directly from Mattermost
- **Markdown and emoji support** - use markdown and emoji to add character to your messages!
- **Invite your team** - send invite links to your teammates to join your account
- **Conversation management** - close, assign, and prioritize conversations
- **Built on Elixir** - optimized for responsiveness, fault-tolerance, and support for realtime updates

## Demo

We set up a [simple page](https://app.papercups.io/demo) that demonstrates how Papercups works.

Try sending us a message to see what the chat experience is like!

## Blog

Check out our [blog](https://papercups.io/blog) for more updates and learnings

## Documentation

Check out our docs at [docs.papercups.io](https://docs.papercups.io/)

## Contributing

We :heart: contributions big or small. See [CONTRIBUTING.md](https://github.com/papercups-io/papercups/blob/master/CONTRIBUTING.md) for a guide on how to get started.

## Thanks to all of our contributors!

<td>
<a href="https://github.com/reichert621"><img src="https://avatars0.githubusercontent.com/u/5264279?v=4" title="reichert621" width="80" height="80"></a>
<a href="https://github.com/cheeseblubber"><img src="https://avatars0.githubusercontent.com/u/4218509?v=4" title="cheeseblubber" width="80" height="80"></a>
<a href="https://github.com/jalford14"><img src="https://avatars0.githubusercontent.com/u/7582183?v=4" title="jalford14" width="80" height="80"></a>
<a href="https://github.com/ZmagoD"><img src="https://avatars0.githubusercontent.com/u/7046787?v=4" title="ZmagoD" width="80" height="80"></a>
<a href="https://github.com/raditya3"><img src="https://avatars1.githubusercontent.com/u/25644166?v=4" title="raditya3" width="80" height="80"></a>
<a href="https://github.com/eikooc"><img src="https://avatars1.githubusercontent.com/u/1305015?v=4" title="eikooc" width="80" height="80"></a>
<a href="https://github.com/daskycodes"><img src="https://avatars1.githubusercontent.com/u/19915462?v=4" title="daskycodes" width="80" height="80"></a>
<a href="https://github.com/rberrelleza"><img src="https://avatars0.githubusercontent.com/u/475313?v=4" title="rberrelleza" width="80" height="80"></a>
<a href="https://github.com/kamilpikula"><img src="https://avatars1.githubusercontent.com/u/23015380?v=4" title="kamilpikula" width="80" height="80"></a>
<a href="https://github.com/alisinabh"><img src="https://avatars1.githubusercontent.com/u/16141016?v=4" title="alisinabh" width="80" height="80"></a>
<a href="https://github.com/estevanjantsk"><img src="https://avatars2.githubusercontent.com/u/461342?v=4" title="estevanjantsk" width="80" height="80"></a>
<a href="https://github.com/lukewaring"><img src="https://avatars0.githubusercontent.com/u/33970417?v=4" title="lukewaring" width="80" height="80"></a>
<a href="https://github.com/m1ome"><img src="https://avatars3.githubusercontent.com/u/5213243?v=4" title="m1ome" width="80" height="80"></a>
<a href="https://github.com/rlanga"><img src="https://avatars1.githubusercontent.com/u/18057958?v=4" title="rlanga" width="80" height="80"></a>
<a href="https://github.com/WLSF"><img src="https://avatars3.githubusercontent.com/u/5873073?v=4" title="WLSF" width="80" height="80"></a>
<a href="https://github.com/adipurnama"><img src="https://avatars1.githubusercontent.com/u/319621?v=4" title="adipurnama" width="80" height="80"></a>
<a href="https://github.com/Oddadmix"><img src="https://avatars3.githubusercontent.com/u/1205162?v=4" title="Oddadmix" width="80" height="80"></a>
<a href="https://github.com/edgrknye"><img src="https://avatars2.githubusercontent.com/u/70431172?v=4" title="edgrknye" width="80" height="80"></a>
<a href="https://github.com/ezhao"><img src="https://avatars2.githubusercontent.com/u/5169628?v=4" title="ezhao" width="80" height="80"></a>
<a href="https://github.com/henrymori"><img src="https://avatars2.githubusercontent.com/u/782219?v=4" title="henrymori" width="80" height="80"></a>
<a href="https://github.com/joelazwar"><img src="https://avatars0.githubusercontent.com/u/43277890?v=4" title="joelazwar" width="80" height="80"></a>
<a href="https://github.com/jonathanyeong"><img src="https://avatars2.githubusercontent.com/u/3861088?v=4" title="jonathanyeong" width="80" height="80"></a>
<a href="https://github.com/lingster"><img src="https://avatars3.githubusercontent.com/u/850493?v=4" title="lingster" width="80" height="80"></a>
<a href="https://github.com/sbacarob"><img src="https://avatars1.githubusercontent.com/u/8399424?v=4" title="sbacarob" width="80" height="80"></a>
<a href="https://github.com/shivamls"><img src="https://avatars0.githubusercontent.com/u/40359923?v=4" title="shivamls" width="80" height="80"></a>
<a href="https://github.com/sykrish"><img src="https://avatars0.githubusercontent.com/u/5038458?v=4" title="sykrish" width="80" height="80"></a>
<a href="https://github.com/flmel"><img src="https://avatars1.githubusercontent.com/u/55487633?v=4" title="flmel" width="80" height="80"></a>
<a href="https://github.com/lorecrafting"><img src="https://avatars1.githubusercontent.com/u/4595918?v=4" title="lorecrafting" width="80" height="80"></a>
<a href="https://github.com/webdeb"><img src="https://avatars3.githubusercontent.com/u/14992140?v=4" title="webdeb" width="80" height="80"></a>
</td>

## License

MIT © Papercups

Papercups 提供可嵌入网站的实时聊天组件,帮助团队搭建自托管的客服对话与站内消息体验,同时保持客户数据可控。

核心功能

  • 可定制的聊天窗口:通过简单配置修改主题、语言、触发方式及欢迎语。
  • 多渠道收件箱:集中管理来自网站、Slack、电子邮件等渠道的消息。
  • 自动化回复:支持常见问题的快捷回复、自动分配与 SLA 提醒。
  • 客户档案与事件:记录访问者信息、页面轨迹与自定义属性,便于精准服务。
  • API 与 Webhook:与 Slack、Zapier、CRM 等系统集成,实现通知和数据同步。

部署建议

  1. 官方 Docker Compose 依赖 Elixir Phoenix 后端、PostgreSQL 与 Redis,部署时需设置 SECRET_KEY_BASEDATABASE_URL 等变量。
  2. 若需要将聊天消息同步到 Slack,请在管理后台配置 Slack Bot Token 与频道映射。
  3. 配置反向代理启用 HTTPS,并设置 HOSTURL 环境变量确保嵌入脚本加载正确。
  4. 定期备份数据库,尤其是客户对话与事件数据,满足合规要求。

发现更多