开源电子邮件应用程序可快速实现收件箱为零。
网站 · Discord · 问题 · 看板
Inbox Zero 是一款开源电子邮件应用程序,其目标是通过 AI 辅助帮助您快速实现收件箱清零。
要请求功能,请打开 GitHub 问题。如果您没有 GitHub 帐户,您可以在此处请求功能。或者加入我们的 Discord。
我们这里有一个公共看板。加入我们的 Discord 讨论任务并检查正在进行的工作。
这是有关如何设置项目的视频。它涵盖了本文档中提到的相同步骤。但更详细地介绍了如何设置外部服务。
所需的外部服务有:
我们使用 Postgres 作为数据库。
您可以使用docker-compose
在本地运行 Postgres 和 Redis
docker-compose up -d # -d will run the services in the background
创建您自己的.env
文件:
cp apps/web/.env.example apps/web/.env
cd apps/web
pnpm install
在新创建的.env
中设置环境变量。您可以在以下位置查看所需变量的列表: apps/web/env.ts
。
所需的环境变量:
NEXTAUTH_SECRET
- 可以是任何随机字符串(尝试使用openssl rand -hex 32
获得快速安全的随机字符串)GOOGLE_CLIENT_ID
——Google OAuth 客户端 ID。更多信息请点击此处GOOGLE_CLIENT_SECRET
-- Google OAuth 客户端密钥。更多信息请点击此处OPENAI_API_KEY
——OpenAI API 密钥。UPSTASH_REDIS_URL
-- 来自 Upstash 的 Redis URL。UPSTASH_REDIS_TOKEN
-- 来自 Upstash 的 Redis 令牌。TINYBIRD_TOKEN
- Tinybird 工作区的管理令牌(请务必在 GCP us-east4
区域中创建一个实例。如果您喜欢不同的区域,也可以通过.env
进行更改)。您还可以决定禁用 Tinybird,然后分析和批量取消订阅功能将被禁用。如果您决定禁用 Tinybird,请设置NEXT_PUBLIC_DISABLE_TINYBIRD=true
。要运行迁移:
pnpm prisma migrate dev
要在本地运行应用程序:
pnpm run dev
或者从项目根目录:
turbo dev
打开 http://localhost:3000 在浏览器中查看。要将自己升级为管理员,请访问:http://localhost:3000/admin。
您需要在 Google Cloud Console 中启用这些范围:
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/gmail.modify
https://www.googleapis.com/auth/gmail.settings.basic
https://www.googleapis.com/auth/contacts
按照此处的说明设置pipes
和datasources
。
可选:如果您也想在 Tinybird 中存储 AI 使用统计信息,请在/packages/tinybird-ai-analytics
中执行相同操作。
请按照此处的说明进行操作。
设置环境变量GOOGLE_PUBSUB_TOPIC_NAME
。创建订阅时,选择“推送”,URL 应类似于: https://www.getinboxzero.com/api/google/webhook?token=TOKEN
?token=TOKEN 或https://abc.ngrok-free.app/api/google/webhook?token=TOKEN
其中的域是您的域。将.env
文件中的GOOGLE_PUBSUB_VERIFICATION_TOKEN
设置为TOKEN
的值。
在开发中运行 ngrok 会很有帮助:
ngrok http 3000
# or with an ngrok domain to keep your endpoint stable (set `XYZ`):
ngrok http --domain=XYZ.ngrok-free.app 3000
然后更新 Google PubSub 订阅仪表板中的 Webhook 端点。
要开始观看电子邮件,请访问: /api/google/watch/all