オープンソースの電子メール アプリで、受信トレイを迅速にゼロに到達します。
ウェブサイト · 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
を設定します。
オプション: AI 使用状況統計を Tinybird にも保存したい場合は、 /packages/tinybird-ai-analytics
で同じことを行います。
ここの指示に従ってください。
環境変数GOOGLE_PUBSUB_TOPIC_NAME
を設定します。サブスクリプションを作成するときに [プッシュ] を選択すると、URL は次のようになります: https://www.getinboxzero.com/api/google/webhook?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
アクセスしてください。