Open-Source-E-Mail-App, um den Posteingang schnell auf Null zu bringen.
Website · Discord · Probleme · Kanban
Inbox Zero ist eine Open-Source-E-Mail-App, deren Ziel es ist, Ihnen mit KI-Unterstützung dabei zu helfen, schnell den Posteingang Null zu erreichen.
Um eine Funktion anzufordern, öffnen Sie ein GitHub-Problem. Wenn Sie kein GitHub-Konto haben, können Sie hier Funktionen anfordern. Oder treten Sie unserem Discord bei.
Wir haben hier ein öffentliches Kanban zur Verfügung. Treten Sie unserem Discord bei, um Aufgaben zu besprechen und zu sehen, woran gearbeitet wird.
Hier finden Sie ein Video zur Einrichtung des Projekts. Es deckt die gleichen Schritte ab, die in diesem Dokument erwähnt werden. Es wird jedoch ausführlicher auf die Einrichtung der externen Dienste eingegangen.
Die erforderlichen externen Dienste sind:
Wir verwenden Postgres für die Datenbank.
Sie können Postgres und Redis lokal mit docker-compose
ausführen
docker-compose up -d # -d will run the services in the background
Erstellen Sie Ihre eigene .env
Datei:
cp apps/web/.env.example apps/web/.env
cd apps/web
pnpm install
Legen Sie die Umgebungsvariablen in der neu erstellten .env
fest. Eine Liste der erforderlichen Variablen finden Sie unter: apps/web/env.ts
.
Die erforderlichen Umgebungsvariablen:
NEXTAUTH_SECRET
– kann eine beliebige Zufallszeichenfolge sein (versuchen Sie es mit openssl rand -hex 32
für eine schnelle, sichere Zufallszeichenfolge)GOOGLE_CLIENT_ID
– Google OAuth-Client-ID. Weitere Infos hierGOOGLE_CLIENT_SECRET
– Google OAuth-Client-Geheimnis. Weitere Infos hierOPENAI_API_KEY
– OpenAI-API-Schlüssel.UPSTASH_REDIS_URL
– Redis-URL von Upstash.UPSTASH_REDIS_TOKEN
– Redis-Token von Upstash.TINYBIRD_TOKEN
– Admin-Token für Ihren Tinybird-Arbeitsbereich (stellen Sie sicher, dass Sie eine Instanz in der GCP-Region us-east4
erstellen. Dies kann auch über Ihre .env
geändert werden, wenn Sie eine andere Region bevorzugen). Sie können Tinybird auch deaktivieren. Dann werden die Analyse- und Massenabmeldefunktionen deaktiviert. Setzen Sie NEXT_PUBLIC_DISABLE_TINYBIRD=true
, wenn Sie Tinybird deaktivieren möchten.So führen Sie die Migrationen aus:
pnpm prisma migrate dev
So führen Sie die App lokal aus:
pnpm run dev
Oder aus dem Projektstamm:
turbo dev
Öffnen Sie http://localhost:3000, um es in Ihrem Browser anzuzeigen. Um ein Upgrade auf den Administratorstatus durchzuführen, besuchen Sie: http://localhost:3000/admin.
Sie müssen diese Bereiche in der Google Cloud Console aktivieren:
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
Befolgen Sie die Anweisungen hier, um die pipes
und datasources
einzurichten.
Optional: Wenn Sie KI-Nutzungsstatistiken auch in Tinybird speichern möchten, dann machen Sie dasselbe in /packages/tinybird-ai-analytics
.
Befolgen Sie die Anweisungen hier.
Legen Sie die Umgebungsvariable GOOGLE_PUBSUB_TOPIC_NAME
fest. Wählen Sie beim Erstellen des Abonnements Push aus und die URL sollte etwa so aussehen: https://www.getinboxzero.com/api/google/webhook?token=TOKEN
oder https://abc.ngrok-free.app/api/google/webhook?token=TOKEN
wobei die Domäne Ihre Domäne ist. Legen Sie GOOGLE_PUBSUB_VERIFICATION_TOKEN
in Ihrer .env
Datei auf den Wert von TOKEN
fest.
Um in der Entwicklung ngrok auszuführen, kann es hilfreich sein:
ngrok http 3000
# or with an ngrok domain to keep your endpoint stable (set `XYZ`):
ngrok http --domain=XYZ.ngrok-free.app 3000
Und aktualisieren Sie dann den Webhook-Endpunkt im Google PubSub-Abonnement-Dashboard.
Um E-Mails anzusehen, besuchen Sie: /api/google/watch/all