แอปอีเมลโอเพ่นซอร์สเพื่อเข้าถึงกล่องจดหมายเป็นศูนย์อย่างรวดเร็ว
เว็บไซต์ · ความไม่ลงรอยกัน · ปัญหา · คัมบัง
Inbox Zero เป็นแอปอีเมลโอเพ่นซอร์สที่มีเป้าหมายเพื่อช่วยให้คุณเข้าถึงกล่องจดหมายเป็นศูนย์ได้อย่างรวดเร็วด้วยความช่วยเหลือจาก AI
หากต้องการขอคุณสมบัติให้เปิดปัญหา GitHub หากคุณไม่มีบัญชี GitHub คุณสามารถขอคุณสมบัติได้ที่นี่ หรือเข้าร่วม Discord ของเรา
เรามี Kanban สาธารณะอยู่ที่นี่ เข้าร่วม 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
-- คีย์ OpenAI APIUPSTASH_REDIS_URL
-- Redis URL จาก UpstashUPSTASH_REDIS_TOKEN
-- โทเค็น Redis จาก UpstashTINYBIRD_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
ทางเลือก: หากคุณต้องการจัดเก็บสถิติการใช้งาน AI ใน 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
จากนั้นอัปเดตจุดสิ้นสุดของ webhook ในแดชบอร์ดการสมัคร Google PubSub
หากต้องการเริ่มดูอีเมล โปรดไปที่: /api/google/watch/all