สมอง BC

คลังความรู้ / มาตรฐาน & กฎ

#standards#local-run#dev-environment#bcdemo#frontend#backend

รันระบบในเครื่องและตรวจงาน

สรุปว่าเปิดระบบ BC Ai Account ในเครื่องด้วยพอร์ตอะไร ตัวแปร env ตัวไหนมีผล และข้อห้ามเรื่องข้อมูลตอนทดสอบ ตรวจกับโค้ดและ .claude/launch.json 2026-11-03

พอร์ตและฐานข้อมูลที่กฎเหล็กกำหนด (AGENTS.md:46-47)

ส่วน ที่อยู่
Backend (Go) http://127.0.0.1:18090 (หรือ :8081)
Frontend (Next.js) http://localhost:3001
PostgreSQL 127.0.0.1:5432/bcdemo
BC Ai Tester http://localhost:3050
  • ห้าม deploy ไป Production จนกว่าลุงจืดสั่ง (AGENTS.md:46)
  • ค่าเริ่มต้นของ backend ในโค้ดคือพอร์ต 8080 (config.go:19, env HTTP_PORT) ส่วน 18090 ที่กฎเหล็กใช้ต้องตั้ง HTTP_PORT เอง จึงอย่าเชื่อพอร์ตเริ่มต้นเวลาเรียก API จาก frontend

เปิด frontend ด้วย bcaiaccount-local (.claude/launch.json:15-27)

  • คำสั่ง: node frontend/node_modules/next/dist/bin/next dev frontend -p 3001
  • env ที่ตั้งไว้ในคอนฟิก: FORCE_BCDEMO=1 และ SERVICE_BASE_URL=http://127.0.0.1:18090
  • คอนฟิก bcaiaccount-dev ในไฟล์เดียวกันเรียก npm run dev ที่พอร์ต 3100 โดยไม่ตั้ง env ทั้งสองตัว

ตัวแปร env ที่มีผลกับ frontend

  • SERVICE_BASE_URL — ปลายทาง backend ที่ route ฝั่ง server ส่งต่อ; ไม่ตั้งจะใช้ http://127.0.0.1:8080 (api-server.ts:22-23)
  • USE_MOCK=1 — ใช้ข้อมูลจำลองใน src/mocks (ตอนพัฒนา offline); USE_MOCK=0 ส่งต่อไป SERVICE_BASE_URL (api-server.ts:17-21)
  • FORCE_BCDEMO=1 — ให้ isCurrentRequestBcDemo() ตอบ true แม้คำขอไม่ได้มาจากโดเมนเดโม (session.ts:98, :100) ทำให้เปิด localhost แล้วเข้าโหมดสาธิตของฐาน bcdemo ได้
  • ส่วนหัว x-no-demo-fallback: 1 ในคำขอ — บังคับให้ isCurrentRequestBcDemo() ตอบ false ก่อนตรวจโดเมนและ env (session.ts:91)
  • TRUST_PROXY — ถ้าไม่ใช่ 0 จะเชื่อ x-forwarded-host ตอนตรวจว่าเป็นโดเมนเดโม (session.ts:95; ตัวเทียบโดเมนอยู่ที่ session-name.ts:12-16)

ข้อห้ามตอนทดสอบกับ bcdemo (AGENTS.md:48)

รันสคริปต์ทดสอบเดี่ยว

ตัวรันสคริปต์ของ BC Ai Tester ใช้รูปแบบ node runner/run.mjs --script <ไฟล์> --out <โฟลเดอร์> --base <url ของ ERP> (uat/openhands-swarm/runner/run.mjs:3) รายละเอียดคำสั่ง DSL อยู่ที่ BC Ai Tester (:3050): สคริปต์ UAT, คำสั่ง do, Smart Delta Patrol และกติกาผู้ทดสอบขี้สงสัย

ที่มา

  • AGENTS.md ข้อ 7 (พอร์ตและข้อห้ามข้อมูล), .claude/launch.json
  • อ่านโค้ดจริง: frontend/src/lib/session.ts, session-name.ts, api-server.ts, backend/internal/platform/config/config.go

ดูเพิ่ม

สารบัญมาตรฐานและกฎเหล็กของ BC Ai Account (Standards Overview) · กฎขอบเขตงานและกฎเหล็กประจำ repo (Repo Scope & Iron Rules) · BC Ai Tester (:3050): สคริปต์ UAT, คำสั่ง do, Smart Delta Patrol และกติกาผู้ทดสอบขี้สงสัย · เฝ้าและตอบใบงาน IssueMate BCAIACC (wait_for_issue.py, reply-batch, คำถาม PDF)