#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, envHTTP_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)
- ห้ามพิมพ์รหัส/token ลงสคริปต์ แชท log หรือ git
- ห้ามแก้ข้อมูลใน
bcdemoยกเว้นแถวที่ขึ้นต้นด้วยUAT— ดูวิธีตั้งชื่อข้อมูลทดสอบและลำดับตรวจที่ BC Ai Tester (:3050): สคริปต์ UAT, คำสั่ง do, Smart Delta Patrol และกติกาผู้ทดสอบขี้สงสัย
รันสคริปต์ทดสอบเดี่ยว
ตัวรันสคริปต์ของ 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)