Приложение электронной почты с открытым исходным кодом для быстрого достижения нуля в почтовом ящике.
Веб-сайт · Discord · Проблемы · Канбан
Inbox Zero — это почтовое приложение с открытым исходным кодом, цель которого — помочь вам быстро достичь нулевого уровня входящих сообщений с помощью искусственного интеллекта.
Чтобы запросить функцию, откройте задачу GitHub. Если у вас нет учетной записи GitHub, вы можете запросить функции здесь. Или присоединяйтесь к нашему Discord.
У нас есть общедоступный Канбан, доступный здесь. Присоединяйтесь к нашему Discord, чтобы обсудить задачи и проверить, над чем работаете.
Вот видео о том, как настроить проект. Он охватывает те же шаги, упомянутые в этом документе. Но более подробно о настройке внешних служб.
Требуемые внешние услуги:
Для базы данных мы используем Postgres.
Вы можете запустить Postgres и Redis локально, используя docker-compose
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. Дополнительная информация здесьGOOGLE_CLIENT_SECRET
— секрет клиента Google OAuth. Дополнительная информация здесьOPENAI_API_KEY
— ключ API OpenAI.UPSTASH_REDIS_URL
— URL-адрес Redis из Upstash.UPSTASH_REDIS_TOKEN
— токен Redis из Upstash.TINYBIRD_TOKEN
— токен администратора для вашего рабочего пространства Tinybird (обязательно создайте экземпляр в регионе GCP us-east4
. Это также можно изменить через ваш .env
, если вы предпочитаете другой регион). Вы также можете отключить Tinybird, после чего функции аналитики и массовой отмены подписки будут отключены. Установите NEXT_PUBLIC_DISABLE_TINYBIRD=true
, если вы решите отключить Tinybird.Чтобы запустить миграцию:
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, сделайте то же самое в /packages/tinybird-ai-analytics
.
Следуйте инструкциям здесь.
Установите переменную окружения GOOGLE_PUBSUB_TOPIC_NAME
. При создании подписки выберите «Push», и URL-адрес должен выглядеть примерно так: https://www.getinboxzero.com/api/google/webhook?token=TOKEN
или https://abc.ngrok-free.app/api/google/webhook?token=TOKEN
, где домен — это ваш домен. Установите для GOOGLE_PUBSUB_VERIFICATION_TOKEN
в вашем файле .env
значение 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.
Чтобы начать просмотр электронной почты, посетите: /api/google/watch/all