ระบบแชทบอทสำหรับแผนก QC Microbiology ที่ช่วยจัดการเอกสาร 3 หมวดหลัก: RE (บันทึกข้อความ), WI (WI/SOP), และ FM (ฟอร์มแผนก)
- สร้างบันทึกข้อความใหม่จาก template
- อ่านและถาม-ตอบเอกสารเก่า
- Export เป็น PDF
- บันทึก log ใน Excel
- ใช้เป็น knowledge base สำหรับถาม-ตอบ
- ค้นหาเอกสาร WI/SOP
- ดูรายการคำแนะนำการทำงาน
- เลือกแบบฟอร์มที่ต้องการ
- กรอกข้อมูลแบบ guided flow
- Export เป็น PDF
- บันทึก log ใน Excel
- HTML5, CSS3, JavaScript (ES6+)
- Responsive Design
- Modern UI/UX
- Node.js + Express.js
- RESTful API
- File handling
- Typhoon API: OpenAI-compatible API สำหรับ AI
- DOCX Templater: เติมข้อมูลในเอกสาร Word
- PDF Export: แปลง DOCX เป็น PDF (LibreOffice)
- Excel Logging: บันทึก log ใน Excel
chat-bot/
├── public/ # Frontend files
│ ├── index.html # หน้าแรก
│ ├── css/theme.css # ธีมสีองค์กร
│ ├── js/
│ │ ├── app.js # Logic หลัก
│ │ ├── typhoon_client.js
│ │ ├── tools/ # Tools ต่างๆ
│ │ └── qc/ # QC modules
├── server/ # Backend files
│ ├── server.js # Main server
│ ├── routes/ # API routes
│ ├── services/ # Business logic
│ ├── templates/ # DOCX templates
│ │ ├── RE/ # บันทึกข้อความ
│ │ ├── WI/ # WI/SOP
│ │ └── FM/ # ฟอร์มแผนก
│ └── data/ # ข้อมูลและ config
└── package.json
npm installสร้างไฟล์ .env จาก env.example:
cp env.example .envแก้ไขค่าใน .env:
TYPHOON_API_KEY=your_typhoon_api_key_here
TYPHOON_API_URL=https://api.opentyphoon.ai/v1/chat/completions
PORT=3000
SOFFICE_PATH=C:\\Program Files\\LibreOffice\\program\\soffice.exe- Windows: ดาวน์โหลดจาก LibreOffice.org
- Linux:
sudo apt-get install libreoffice - macOS:
brew install --cask libreoffice
# Development mode
npm run dev
# Production mode
npm startเปิดเบราว์เซอร์ไปที่ http://localhost:3000
/RE new- สร้างบันทึกข้อความใหม่/RE list- ดูรายการบันทึกข้อความ/RE qa [คำถาม]- ถาม-ตอบเกี่ยวกับ RE/WI qa [คำถาม]- ถาม-ตอบเกี่ยวกับ WI/SOP/WI list- ดูรายการ WI/SOP/FM fill- กรอกฟอร์มแผนก/FM list- ดูรายการฟอร์ม/help- แสดงคำแนะนำการใช้งาน
- พิมพ์
/RE new - เลือก template
- กรอกข้อมูลตาม guided flow
- ระบบจะสร้างเอกสารและ export เป็น PDF
- บันทึก log ใน Excel
- พิมพ์
/WI qa [คำถาม] - ระบบจะค้นหาในฐานความรู้ WI
- ตอบคำถามตามข้อมูลที่มี
- พิมพ์
/FM fill - เลือกฟอร์มที่ต้องการ
- กรอกข้อมูลตาม guided flow
- ระบบจะสร้างเอกสารและ export เป็น PDF
แก้ไขใน public/css/theme.css:
:root {
--brand: #00a89d; /* สีหลัก */
--brand2: #038599; /* สีรอง */
--bg: #f5f7f8; /* สีพื้นหลัง */
--accent: #f4ce14; /* สีเน้น */
}แก้ไขใน public/js/qc/formschema.js เพื่อเพิ่มฟิลด์ใหม่หรือแก้ไข schema
เพิ่มไฟล์ .docx ใหม่ในโฟลเดอร์ server/templates/ ตามหมวดหมู่
POST /api/chat- ส่งข้อความไปยัง Typhoon APIPOST /api/chat/stream- Streaming chat
GET /api/files?category=RE|WI|FM- ดูรายการไฟล์GET /api/files/content?category=RE&file=filename.docx- ดูเนื้อหาไฟล์
POST /api/docx/fill- เติมข้อมูลใน DOCXPOST /api/docx/validate- ตรวจสอบข้อมูลก่อนเติม
POST /api/export/pdf- Export เป็น PDFPOST /api/export/pdf/batch- Export หลายไฟล์
POST /api/logs/append- บันทึก logGET /api/logs/history- ดูประวัติ logGET /api/logs/export- Export log เป็น Excel
Error: SOFFICE_NOT_FOUND
แก้ไข: ตั้งค่า SOFFICE_PATH ใน .env ให้ถูกต้อง
Error: TYPHOON_API_KEY is not configured
แก้ไข: ตั้งค่า TYPHOON_API_KEY ใน .env
Error: Template not found
แก้ไข: ตรวจสอบว่าไฟล์ template อยู่ในโฟลเดอร์ที่ถูกต้อง
- เพิ่ม template DOCX จริง
- ปรับปรุง PDF export ให้รองรับ LibreOffice ทุกเวอร์ชัน
- เพิ่มระบบ authentication
- เพิ่มระบบ backup ข้อมูล
- ปรับปรุง UI/UX
- เพิ่ม unit tests
- Fork โปรเจกต์
- สร้าง feature branch (
git checkout -b feature/AmazingFeature) - Commit การเปลี่ยนแปลง (
git commit -m 'Add some AmazingFeature') - Push ไปยัง branch (
git push origin feature/AmazingFeature) - เปิด Pull Request
MIT License - ดูรายละเอียดใน LICENSE file
- QC Microbiology Team - การพัฒนาและดูแลระบบ
หากมีปัญหาหรือข้อสงสัย กรุณาติดต่อทีม QC Microbiology
หมายเหตุ: ระบบนี้พัฒนาสำหรับใช้ภายในองค์กรเท่านั้น กรุณาไม่เผยแพร่ API keys หรือข้อมูลสำคัญ