| AIGC |
|
|---|
- การเตรียมความพร้อม
- การติดตั้งและตั้งค่า
- การขอ API Keys
- การตรวจสอบการตั้งค่า
- การเริ่มต้นใช้งาน
- การแก้ไขปัญหา
Software ที่จำเป็น:
- Python 3.11+ (รองรับ full compatibility)
- Node.js 18+ (สำหรับ Cloudflare Worker)
- Git (สำหรับ version control)
- Docker (แนะนำสำหรับ development)
Accounts ที่จำเป็น:
- 🗄️ Neon Postgres (ฐานข้อมูล)
- 🚀 Upstash Redis (cache และ queue)
- 🤖 OpenRouter (LLM provider หลัก)
- ☁️ Cloudflare (gateway และ storage)
- 🐙 GitHub (สำหรับ CI/CD)
Accounts ที่แนะนำ (Optional):
- 🤖 AWS Bedrock (LLM fallback provider)
- 📊 Sentry (error monitoring)
- 🔐 Clerk (authentication service)
# Clone โปรเจ็ค
git clone <your-repository-url>
cd bl1nk-agent-builder
# ตรวจสอบโครงสร้างไฟล์
ls -la# ให้สิทธิ์ execute สำหรับสคริปต์
chmod +x scripts/*.sh
# รัน bootstrap สำหรับ development environment
./scripts/bootstrap.sh development
# หรือสำหรับ production
./scripts/bootstrap.sh production# คัดลอก template
cp config/env.example .env
# คัดลอกสำหรับ worker app
cp config/env.example apps/worker/.env- ไปที่ neon.tech
- สมัครสมาชิก (ใช้ GitHub ได้)
- สร้าง Project ใหม่
- คัดลอก connection string:
postgresql://user:password@ep-example.us-east-1.aws.neon.tech:5432/bl1nk
- ไปที่ upstash.com
- สมัครสมาชิก
- สร้าง Redis Database
- คัดลอก REST URL:
rediss://:abc123@us1-some-id.upstash.io:6379
- ไปที่ openrouter.ai
- สมัครสมาชิก
- ไปที่ API Keys
- สร้าง API Key ใหม่
- คัดลอก token (เริ่มต้นด้วย
sk-or-)
- ไปที่ Cloudflare Dashboard
- ไปที่ AI Gateway
- สร้าง Gateway ใหม่
- ใน Settings → API Token สร้าง token ใหม่
- คัดลอก API Token
- ไปที่ AWS Console
- ไปที่ Bedrock
- เปิดใช้งาน Bedrock ใน region ที่ต้องการ
- สร้าง IAM User สำหรับ Bedrock
- สร้าง Access Key และ Secret Key
- ไปที่ Cloudflare Dashboard
- ไปที่ R2 Object Storage
- สร้าง Bucket ใหม่
- ไปที่ Manage R2 API tokens
- สร้าง API token พร้อม permissions สำหรับ Read/Write
- ไปที่ Slack API
- สร้าง App ใหม่
- ใน Basic Information:
- Copy Client ID, Client Secret
- Copy Signing Secret
- ใน OAuth & Permissions:
- ติดตั้ง App ไปยัง Workspace
- Copy Bot User OAuth Token (เริ่มต้นด้วย
xoxb-) - Copy App-Level Token (เริ่มต้นด้วย
xapp-)
- ไปที่ GitHub Settings → Developer settings → GitHub Apps
- สร้าง GitHub App ใหม่:
- Homepage URL: ของคุณ
- Webhook URL:
https://your-domain.com/webhook/github - Webhook Secret: สร้างใหม่
- สร้าง Private Key สำหรับ App
- ติดตั้ง App ไปยัง Repository ที่ต้องการ
- ไปที่ Clerk Dashboard
- สร้าง Application ใหม่
- ใน Configure → API Keys:
- Copy Publishable key
- Copy Secret key
- ใน Configure → JWT Templates:
- สร้าง JWT Template
- Copy JWT Signing Key
# =============================================================================
# DATABASE CONFIGURATION (จำเป็น)
# =============================================================================
DB_DSN=postgresql://user:password@ep-example.us-east-1.aws.neon.tech:5432/bl1nk
# =============================================================================
# REDIS CONFIGURATION (จำเป็น)
# =============================================================================
UPSTASH_REDISURL=rediss://:abc123@us1-some-id.upstash.io:6379
# =============================================================================
# LLM PROVIDERS (จำเป็นอย่างน้อย 1 ตัว)
# =============================================================================
OPENROUTER_TOKEN=sk-or-your-openrouter-token
# Optional providers
CLOUDFLARE_API_TOKEN=your-cloudflare-token
BEDROCK_TOKEN=your-aws-credentials
# =============================================================================
# SECURITY (จำเป็น)
# =============================================================================
JWT_SECRET=your-super-secret-jwt-key-minimum-32-characters
ENCRYPTION_KEY=your-32-character-encryption-key
ADMIN_API_KEY=your-admin-api-key
# =============================================================================
# APPLICATION SETTINGS
# =============================================================================
ENVIRONMENT=development
DEBUG=true
FASTAPI_URL=http://localhost:8000# =============================================================================
# WORKER APPLICATION SETTINGS
# =============================================================================
ENVIRONMENT=development
DEBUG=true
HOST=0.0.0.0
PORT=8000
# =============================================================================
# DATABASE
# =============================================================================
DATABASE_URL=postgresql://user:password@ep-example.us-east-1.aws.neon.tech:5432/bl1nk
# =============================================================================
# REDIS
# =============================================================================
REDIS_URL=rediss://:abc123@us1-some-id.upstash.io:6379
# =============================================================================
# LLM PROVIDERS
# =============================================================================
OPENROUTER_API_KEY=sk-or-your-openrouter-token
CLOUDFLARE_API_TOKEN=your-cloudflare-token
BEDROCK_REGION=us-east-1
BEDROCK_ACCESS_KEY_ID=your-access-key
BEDROCK_SECRET_ACCESS_KEY=your-secret-key
# =============================================================================
# SECURITY
# =============================================================================
JWT_SECRET_KEY=your-super-secret-jwt-key-minimum-32-characters
ENCRYPTION_KEY=your-32-character-encryption-key
ADMIN_API_KEY=your-admin-api-key# ตรวจสอบ API keys และ secrets
./scripts/validate_secrets.shผลลัพธ์ที่คาดหวัง:
- ✅ สีเขียว = ตั้งค่าถูกต้อง
- ❌ สีแดง = ต้องแก้ไข (จำเป็น)
⚠️ สีเหลือง = แนะนำให้ตั้งค่า (ตัวเลือก)
# ทดสอบการเชื่อมต่อฐานข้อมูล
cd apps/worker
python -c "
import asyncio
from app.database.connection import test_connection
asyncio.run(test_connection())
"# ทดสอบการเชื่อมต่อ Redis
cd apps/worker
python -c "
from app.database.redis import test_redis_connection
test_redis_connection()
"# ทดสอบ OpenRouter connection
cd apps/worker
python -c "
from app.services.llm_client import test_provider
test_provider('openrouter')
"# สร้างตารางฐานข้อมูล
cd apps/worker
python -m alembic upgrade head# ใน terminal 1 - FastAPI Worker
cd apps/worker
python main.py
# หรือใช้ uvicorn
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload# ใน terminal 2 - Cloudflare Worker
cd apps/bridge
npm install
npm run dev# Health check
curl http://localhost:8000/health
# API documentation
open http://localhost:8000/docs# ตรวจสอบ connection string
echo $DB_DSN
# ทดสอบการเชื่อมต่อด้วย psql (หากติดตั้ง)
psql $DB_DSN# ตรวจสอบ Upstash URL
echo $UPSTASH_REDISURL
# ทดสอบการเชื่อมต่อ
redis-cli -u $UPSTASH_REDISURL ping# ตรวจสอบ API key format
echo $OPENROUTER_TOKEN | head -c 10
# ทดสอบ API key
curl -H "Authorization: Bearer $OPENROUTER_TOKEN" \
https://openrouter.ai/api/v1/models# ตรวจสอบไฟล์ .env
cat .env | grep -E "OPENROUTER_TOKEN|JWT_SECRET|ENCRYPTION_KEY"
# ตรวจสอบว่าไฟล์ .env ถูก load หรือไม่
source .env
echo $OPENROUTER_TOKEN# ดู logs ของ FastAPI
cd apps/worker
tail -f logs/app.log
# ดู error logs
tail -f logs/error.log
# ตั้งค่า debug mode
export DEBUG=true
export LOG_LEVEL=DEBUG- 📚 API Documentation
- 🔍 ROADMAP.md - แผนการพัฒนา
- 🏗️ PROJECT_SUMMARY.md - ภาพรวมโปรเจ็ค
- 🐛 GitHub Issues
หากพบปัญหาหรือต้องการความช่วยเหลือ:
- ตรวจสอบ Logs ใน
/logs/directory - รัน Validation Script
./scripts/validate_secrets.sh - อ่าน Documentation ใน
docs/directory - เปิด Issue ใน GitHub repository
- Clone repository สำเร็จ
- ติดตั้ง dependencies ครบถ้วน
- สร้าง accounts กับ providers ที่จำเป็น
- ได้ API keys ครบถ้วน
- ตั้งค่า .env files ถูกต้อง
- รัน validation script ผ่าน
- ทดสอบการเชื่อมต่อฐานข้อมูล
- ทดสอบการเชื่อมต่อ Redis
- ทดสอบ LLM providers
- รัน migration scripts สำเร็จ
- เริ่มต้น FastAPI worker สำเร็จ
🎉 เมื่อผ่าน checklist ทั้งหมดแล้ว คุณพร้อมใช้งาน bl1nk-agent-builder แล้ว!