เว็บนี้สร้างขึ้นอย่างไร — เบื้องหลัง KoishiAI
Astro + Firebase Hosting + Ollama local + agent pipeline — เปิดเผยสถาปัตยกรรมเต็ม ต้นทุน 0 บาทต่อเดือน
สรุปสั้น: KoishiAI ใช้สถาปัตยกรรม Astro 5 ร่วมกับ Firebase Hosting และ Ollama บนเครื่องในท้องถิ่นเพื่อสร้างบทความอัตโนมัติด้วยต้นทุนเพียง 50 บาทต่อเดือน ระบบนี้ใช้ GPU RTX 5090 รันโมเดล Qwen3.5:27b และ Qwen3.6:35b-a3b โดยไม่ต้องพึ่งพา API จากต่างประเทศ
ข้อเท็จจริงสำคัญ
- KoishiAI ใช้ Astro 5 สำหรับ Static Site Generation เพื่อลด Attack Surface และเพิ่มความเร็ว LCP เมื่อเทียบกับ Next.js
- ระบบรันโมเดล AI บนเครื่องในท้องถิ่นด้วย Ollama โดยใช้โมเดล qwen3.5:27b และ qwen3.6:35b-a3b
- ต้นทุนรวมต่อเดือนอยู่ที่ประมาณ 50 บาท ซึ่งมาจากค่าไฟสำหรับการรัน GPU RTX 5090 และ RTX 5080
- ใช้ Firebase Hosting Spark Plan (ฟรี) และ Firestore Spark Plan (ฟรี) สำหรับโฮสติ้งและฐานข้อมูล metadata
- Pipeline การสร้างบทความอัตโนมัติประกอบด้วย 8 ขั้นตอนตั้งแต่การคัดข่าวจนถึงการโพสต์ลง Facebook หลัง Deploy 10 นาที
- ระบบใช้ ComfyUI สำหรับสร้างภาพสไตล์เฉพาะ และ Pexels/Unsplash APIs สำหรับภาพประกอบทั่วไป
- Source code ของโปรเจกต์อยู่ใน Koishi monorepo และวางแผนจะเปิดสาธารณะภายใน 1-2 เดือน
บทความนี้เปิดเผยว่า KoishiAI สร้างขึ้นอย่างไร — ตั้งแต่การเลือก stack ไปจนถึงการทำให้ AI เขียนบทความเองได้โดยอัตโนมัติ — โดยมีต้นทุนรวม ใกล้ศูนย์บาทต่อเดือน
Stack ที่ใช้
ส่วนหน้าเว็บ (Frontend)
- Astro 5 สำหรับ Static Site Generation — ผลลัพธ์เป็น HTML บริสุทธิ์ ไม่ต้องรัน server
- Tailwind CSS — utility-first
- TypeScript strict mode สำหรับความปลอดภัย
- IBM Plex Sans Thai + Inter — ฟอนต์ฟรีที่สวยทั้งสองภาษา
ส่วนโฮสติ้ง
- Firebase Hosting Spark plan (ฟรี) — 10GB storage, CDN edge ที่กรุงเทพ
- ไม่ใช้ Firebase Storage (ต้องจ่าย Blaze) — เก็บภาพใน Hosting ตรง ๆ
ส่วนฐานข้อมูล metadata
- Firestore Spark (ฟรี) — เก็บ metadata ของบทความ
ส่วน AI (ทำงานที่เครื่องในบ้าน)
- Ollama +
qwen3.5:27bสำหรับงานทั่วไป qwen3.6:35b-a3bสำหรับบทความยาว- ComfyUI สำหรับภาพที่ต้องการสไตล์เฉพาะ
- Pexels/Unsplash APIs สำหรับภาพประกอบทั่วไป
ส่วน orchestration
- FastAPI (Python) — backend dashboard
- SQLite สำหรับ queue + log
- APScheduler สำหรับ cron
- Firebase Admin SDK สำหรับ push ข้อมูลขึ้น cloud
Pipeline การสร้างบทความ
RSS feed หัวข้อใหม่
↓
topic_scout agent คัดหัวข้อ
↓
content_writer เขียนร่าง markdown
↓
image_finder หาภาพประกอบ (Pexels/Unsplash/ComfyUI)
↓
seo_optimizer ปรับ meta tags และ keywords
↓
translator แปลอีกภาษาหนึ่ง
↓
editor ตรวจทาน
↓
publisher: เขียนไฟล์ md → git commit → astro build → firebase deploy
↓
fb_poster แชร์ไปยัง Facebook Page หลังดีพลอย 10 นาที
ทั้งหมดนี้รันบนเครื่อง PC ที่บ้าน ไม่ต้องพึ่ง API ต่างประเทศเลย
เครื่อง hardware
- CPU: AMD Ryzen 9
- RAM: 64GB
- GPU หลัก: RTX 5090 (32GB VRAM) สำหรับ LLM ใหญ่
- GPU รอง: RTX 5080 (24GB VRAM) สำหรับ image generation parallel
- Storage: NVMe 2TB
ค่าไฟเฉลี่ยต่อเดือนสำหรับการผลิตบทความวันละ 2 ชิ้น อยู่ที่ประมาณ 50 บาท
ต้นทุนจริงที่จ่าย
| รายการ | ต่อเดือน |
|---|---|
| Firebase Hosting | 0 |
| Firestore | 0 |
| Ollama local | 0 (ค่าไฟ ~50) |
| Pexels API | 0 |
| Unsplash API | 0 |
| Google Search Console | 0 |
| Facebook Graph API | 0 |
| รวม | ~50 บาท |
ทำไมถึงเลือก Astro ไม่ใช่ Next.js
- Attack surface เล็กกว่ามาก — Astro ไม่มี middleware ไม่มี server actions ทั้งหน้าเว็บเป็น static HTML
- CVE ในรอบปีล่าสุดน้อยกว่า — Next.js เพิ่งเจอ middleware auth vulnerability ระดับ critical
- i18n built-in — ไม่ต้องพึ่ง library ที่ 3
- LCP ต่ำกว่า — ไม่มี React hydration overhead
Source code
โปรเจกต์นี้เป็นส่วนหนึ่งของ Koishi monorepo ซึ่งยังไม่เปิด public แต่วางแผนจะทยอยเปิดหลังจากระบบเสถียร (ประมาณ 1–2 เดือน)
มีคำถามเกี่ยวกับ stack หรืออยากดู implementation เฉพาะส่วน คอมเมนต์ที่ Facebook Page ของเราได้เลย