รายงานการค้นคว้า GitHub
บันทึกเครื่องมือที่พิจารณาและเงื่อนไขการนำมาใช้
# โครงการ GitHub ที่เหมาะกับ HADR–CPX Knowledge Library วันที่ตรวจสอบ: **2026-10-14** (Asia/Bangkok) • สถานะ: รายงานคัดเลือกเบื้องต้น • ไม่มีการคัดลอกซอร์สหรือติดตั้ง dependency จากงานวิจัยนี้ ## ข้อเสนอสำหรับรุ่นเปิดให้รีวิว ใช้ Astro และ Three.js ตามโครงสร้างที่เลือกไว้ ใช้แบบทดสอบ JSON ของโครงการสำหรับ Quiz 5 ข้อต่อโมดูล และคงการค้นหาแบบง่ายในชุดเนื้อหาเริ่มต้น พิจารณา Pagefind เป็นตัวเลือกแรกเมื่อจำเป็นต้องค้นหาเนื้อหาทั้งบท ส่วน Mermaid เหมาะกับกระบวนการเขียนและทบทวนแผนภาพ ไม่จำเป็นต้องโหลด runtime ให้ทุกหน้าเว็บ โครงการ GitHub ในรายงานนี้เป็น **เครื่องมือพัฒนาและแบบอย่างระบบ** ไม่ใช่แหล่งรับรองข้อเท็จจริง HADR, กฎหมายไทย, ASEAN SOP หรือผลลัพธ์การเรียนรู้ เนื้อหาวิชาการยังต้องมีเอกสารต้นทางและการทบทวนเป็นรายข้ออ้าง การที่ repository อยู่ภายใต้ OCHA หรือองค์กรด้านภัยพิบัติไม่ได้ทำให้ข้อมูลทุกชุดหรือแบบจำลองทุกแบบผ่านการรับรองสำหรับประเทศไทย ## วิธีตรวจและข้อจำกัด อ่าน repository ต้นทาง README/metadata, ไฟล์ใบอนุญาต และ GitHub release API โดยตรง ผ่าน GitHub CLI และหน้าเว็บทางการ ตรวจ `archived`, `pushed_at`, รุ่นและวันเผยแพร่ ไม่ใช้จำนวน stars เป็นตัวแทนคุณภาพ ไม่ได้ติดตั้งหรือรันโครงการเหล่านี้ และไม่ได้ทำ security audit ของ dependency ทั้งหมด วันที่ push และ release ด้านล่างเป็นวันที่ UTC ที่ GitHub ส่งกลับ เป็นเพียงสัญญาณการดูแล ไม่ยืนยันว่าทุกการเปลี่ยนแปลงผ่าน review หรือเข้ากับ stack นี้ คำแนะนำ **ใช้ / รอ / อ้างอิง** เป็นข้อประเมินสำหรับขอบเขตโครงการนี้ ไม่ใช่ข้อสรุปทั่วไปเกี่ยวกับคุณภาพของเครื่องมือ ใบอนุญาตอ้างถึง branch ที่ตรวจ ณ วันที่ข้างต้น ก่อนนำเข้าจริงต้องตรวจอีกครั้งกับ tag/commit หรือ package version ที่จะใช้ รวมถึง dependencies และสื่อประกอบ ## ผลคัดเลือก 10 โครงการ | โครงการและต้นทาง | ใบอนุญาตที่ตรวจ | สัญญาณการดูแลที่พบ | ข้อเสนอและเหตุผล | | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | [Astro](https://github.com/withastro/astro) | [LICENSE](https://github.com/withastro/astro/blob/main/LICENSE): MIT พร้อม notices ของส่วนที่มาจาก SvelteKit/Vite; GitHub detector ระบุ NOASSERTION จึงอ่านไฟล์จริง | ไม่ archived; push 2026-10-14; [astro@7.3.8](https://github.com/withastro/astro/releases/tag/astro%407.3.8) วันที่ 2026-10-08 | **ใช้** เป็นฐานเว็บเนื้อหาและหน้า interactive เฉพาะส่วน รุ่นที่ใช้จริงคือ Astro 7.3.8 ตาม lockfile ผ่าน typecheck และ build แล้ว ต้องทบทวนการสนับสนุนและช่องโหว่ก่อน release ถัดไป | | [Starlight](https://github.com/withastro/starlight) | [MIT](https://github.com/withastro/starlight/blob/main/LICENSE) | ไม่ archived; push 2026-10-14; [0.42.6](https://github.com/withastro/starlight/releases/tag/%40astrojs/starlight%400.42.6) วันที่ 2026-10-08 | **อ้างอิง / รอ** เหมาะกับส่วนคู่มือและเอกสารที่เติบโตมาก แต่หน้าแรกและโมดูล OBE ของโครงการมีรูปแบบเฉพาะ ยังไม่ควรเปลี่ยนทั้งเว็บเป็นธีมเอกสาร ตรวจ compatibility กับ Astro เวอร์ชันจริงก่อนใช้ | | [Three.js](https://github.com/mrdoob/three.js) | [MIT](https://github.com/mrdoob/three.js/blob/dev/LICENSE) | ไม่ archived; push 2026-10-14; [r186](https://github.com/mrdoob/three.js/releases/tag/r186) วันที่ 2026-09-24 | **ใช้** ทำฉากพื้นที่และทรัพยากรจำลองขนาดเล็ก โหลดเมื่อเปิดดู และมีภาพ/ข้อความทดแทน รุ่นที่ใช้จริงคือ 0.186.0 ตาม lockfile โมเดล 3D/texture จากตัวอย่างต้องตรวจสิทธิ์แยก ไม่สรุปว่า MIT ของไลบรารีครอบคลุมสื่อทั้งหมด | | [H5P PHP library](https://github.com/h5p/h5p-php-library) | [GPL-3.0](https://github.com/h5p/h5p-php-library/blob/master/LICENSE.txt); README อธิบายว่ามี GPL code สำหรับทำความสะอาด HTML | ไม่ archived; push 2026-10-08; latest release API ตอบ 404 จึงไม่ระบุว่ามี release ล่าสุด | **รอ** สำหรับการเชื่อม LMS/กิจกรรม H5P ในอนาคต ตัว PHP core ไม่ตรงกับเว็บ static ที่ Cloudflare และเพิ่มงานระบบ upload/content runtime ไม่คัดลอก core เข้า proprietary code โดยยังไม่ทบทวนเงื่อนไข ข้อสรุปนี้ใช้กับ PHP library ที่ตรวจ ไม่เหมารวมว่า H5P ทุกส่วนใช้ใบอนุญาตเดียวกัน | | [Lumi Desktop Editor](https://github.com/Lumieducation/Lumi) | [package.json](https://github.com/Lumieducation/Lumi/blob/master/package.json) ระบุ AGPL-3.0; ไม่พบ root LICENSE และ license API ตอบ 404 | ไม่ archived; push 2026-10-13; [v1.0.3](https://github.com/Lumieducation/Lumi/releases/tag/v1.0.3) วันที่ 2026-05-07 | **รอ** เหมาะทดลองเป็นเครื่องมือแยกสำหรับผู้สอนสร้าง H5P เมื่อพร้อม เช็กสิทธิ์ของตัวแอป runtime ที่ส่งออก content type และภาพ/เสียงแยกกัน การใช้เป็นเครื่องมือสร้างเนื้อหาไม่เท่ากับการคัดลอกโค้ดแอปเข้าเว็บ สถานะเอกสาร license ที่ไม่ครบทำให้ยังไม่แนะนำ reuse ซอร์ส | | [Mermaid](https://github.com/mermaid-js/mermaid) | [MIT](https://github.com/mermaid-js/mermaid/blob/develop/LICENSE) | ไม่ archived; push 2026-10-14; [mermaid@12.2.0](https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4012.2.0) วันที่ 2026-10-13 | **ใช้ในขั้นผลิตเนื้อหาเมื่อจำเป็น** เหมาะกับ flowchart, sequence และวงรอบการฝึก เก็บซอร์สแผนภาพใน version control และ render เป็น SVG ที่ตรวจแล้ว ถ้ารับข้อความภายนอกต้อง escape และกำหนด strict security พร้อมตรวจ SVG ก่อนเผยแพร่ ขณะนี้ยังไม่ได้เพิ่ม dependency | | [Pagefind](https://github.com/Pagefind/pagefind) | [MIT](https://github.com/Pagefind/pagefind/blob/main/LICENSE) | ไม่ archived; push 2026-10-08; [v1.5.2](https://github.com/Pagefind/pagefind/releases/tag/v1.5.2) วันที่ 2026-04-12 | **รอเป็นตัวเลือกแรกของ full-text search** สร้าง index จากเว็บ static โดยไม่ต้องดูแล search server แต่ต้องทดสอบคำไทยก่อน รุ่นแรกยังมีเนื้อหาน้อยและค้นชื่อ/คำสำคัญได้ จึงยังไม่จำเป็นต้องเพิ่มขั้น build | | [Fuse.js](https://github.com/krisk/Fuse) | [Apache-2.0](https://github.com/krisk/Fuse/blob/main/LICENSE) | ไม่ archived; push 2026-08-09; [v7.5.0](https://github.com/krisk/Fuse/releases/tag/v7.5.0) วันที่ 2026-07-13 | **รอเป็นทางเลือก** ใช้ fuzzy matching ในรายชื่อโมดูล/อภิธานศัพท์ขนาดเล็กได้ หากต้องการยืดหยุ่นต่อคำพิมพ์ผิด แต่ไม่ใช่เครื่องมือเข้าใจศัพท์หรือความหมาย HADR โดยตัวมันเอง ไม่เพิ่มทั้ง Fuse และ Pagefind หากไม่มี use case ที่ต่างกันชัดเจน | | [OCHA HDX Python API](https://github.com/OCHA-DAP/hdx-python-api) | [MIT](https://github.com/OCHA-DAP/hdx-python-api/blob/main/LICENSE) ของซอฟต์แวร์ | ไม่ archived; push 2026-10-14; [6.7.2](https://github.com/OCHA-DAP/hdx-python-api/releases/tag/6.7.2) วันที่ 2026-10-14 | **อ้างอิง / รอ** เหมาะกับ pipeline คัดเลือก metadata หรือข้อมูลสาธารณะจาก HDX เพื่อทำกรณีศึกษาในอนาคต ใช้ snapshot ที่บันทึกวัน/เจ้าของ/ข้อจำกัดและ license ราย dataset ไม่ดึงข้อมูลสดมาเป็นข้อเท็จจริงในบทเรียนโดยไม่มีการทบทวน และไม่ใส่ credentials ฝั่งเบราว์เซอร์ | | [Sahana Eden](https://github.com/sahana/eden) | [MIT](https://github.com/sahana/eden/blob/master/LICENSE) | ไม่ archived; push 2026-10-12; [6.2](https://github.com/sahana/eden/releases/tag/6.2) วันที่ 2026-09-08 | **อ้างอิง** เป็นตัวอย่างระบบ humanitarian/emergency management สำหรับศึกษาความสัมพันธ์องค์กร ทรัพยากร สถานที่ และกระบวนการ เหมาะต่อการออกแบบ scenario/คำศัพท์ ไม่ย้ายระบบปฏิบัติการเต็มรูปแบบมาเป็นฐาน KM และไม่ใช้ schema แทนหลักกฎหมายหรือระเบียบไทย | ## ประเด็นที่มีผลต่อการตัดสินใจ ### ค้นหาภาษาไทยต้องทดสอบกับเนื้อหาจริง [เอกสาร Pagefind เรื่อง multilingual search](https://pagefind.app/docs/multilingual/) ระบุว่ามี Thai UI translation แต่ไม่มี word stemming ภาษาไทย โดยส่วน specialized segmentation ที่อธิบายในหน้าเดียวกันครอบคลุมจีน ญี่ปุ่น และเกาหลี จึงยังสรุปไม่ได้ว่าค้นคำไทยติดกันได้ตรงตามเป้าหมายของคลังนี้ แยกประเด็น “มีเมนูภาษาไทย” ออกจาก “ค้นคำไทยได้แม่นยำ” ก่อนใช้ Pagefind ให้มีชุดคำทดสอบ เช่น อุทกภัย, บรรเทาสาธารณภัย, การประสานงาน, ศูนย์บัญชาการ, AAR, ASEAN, CPX และคำย่อไทย พร้อมระบุโมดูลที่ควรพบ ทดสอบทั้งไทย–อังกฤษและสลับภาษา ชื่อโมดูล คำสำคัญ และเนื้อหาทั้งบทต้องไม่ให้ผลลัพธ์ที่ชวนเข้าใจผิด การจัด index แต่ละภาษาต้องสอดคล้องกับ `html lang` และ URL ที่เผยแพร่จริง ### สิทธิ์ซอฟต์แวร์แยกจากสิทธิ์องค์ความรู้และสื่อ MIT และ Apache-2.0 อนุญาต reuse ภายใต้เงื่อนไขของแต่ละฉบับ ต้องเก็บ copyright/permission notice และ NOTICE ที่ใช้บังคับ การใช้ repo แบบ private ไม่ทำให้เงื่อนไขของ third-party หายไป และข้อความลิขสิทธิ์ของโครงการต้องไม่กล่าวว่าครอบคลุมสิทธิ์ exclusive เหนือซอฟต์แวร์ภายนอก H5P PHP และ Lumi ต้องทบทวนวิธีรวมระบบ/แจกจ่ายก่อนนำซอร์สหรือ runtime มาใช้ ไม่สรุปเพียงว่าเปิดเว็บสาธารณะแล้ว GPL ทุกแบบมีผลเหมือนกัน หรือว่าใช้เครื่องมือสร้างเนื้อหาแล้วเนื้อหาทั้งหมดเปลี่ยน license โดยอัตโนมัติ บันทึก package/version และวิธีใช้งานก่อนตัดสินใจ สิทธิ์ MIT ของ HDX Python API ไม่ใช่ใบอนุญาตของ dataset ทุกชุดบน HDX เช่นเดียวกับ MIT ของ Three.js ที่ไม่ใช่สิทธิ์ใช้ภาพ โมเดล เครื่องหมาย หรือฟอนต์ทุกชิ้นในตัวอย่าง สำหรับการสร้างสื่อ HADR ต้องมี asset/source register ของแต่ละชิ้นเช่นเดิม ### เวอร์ชัน upstream ไม่ใช่คำสั่งให้อัปเกรดทันที Astro และ Mermaid เป็น monorepo: `/releases/latest` อาจให้รุ่นของ adapter หรือ package ย่อย จึงกรอง release ของ `astro@` และ `mermaid@` โดยตรง ตัวเลขในรายงานเป็น snapshot ของ upstream ณ วันวิจัย ส่วน lockfile เป็นหลักฐานว่าระบบนี้ใช้เวอร์ชันใดจริง การเปลี่ยน major ต้องอ่าน migration notes ตรวจ dependencies ทดสอบ build, routes, ภาษา, accessibility และ Cloudflare output ก่อนเผยแพร่ ## งานที่ควรทำต่อเมื่อถึงเงื่อนไข 1. ระยะเปิดรีวิว: คง stack ปัจจุบัน จัดทะเบียน third-party notices และบันทึกเวอร์ชันจริง ใช้ข้อมูลโมดูลและ Quiz schema ที่แยกจาก UI เพื่อรองรับการ export ในอนาคต 2. เมื่อการค้นหาชื่อ/คำสำคัญไม่พอ: ทำ Pagefind proof of concept กับ corpus ไทย–อังกฤษจริง ตรวจชุดคำทดสอบข้างต้น แล้วเลือกใช้หรือคง search เดิมตามผล 3. เมื่อผู้สอนเริ่มผลิตกิจกรรมเองและมหาวิทยาลัยกำหนด LMS: ทดลอง H5P/Lumi แยกจากระบบหลัก พร้อมตรวจ license และรูปแบบส่งออกที่ LMS รองรับ ก่อนลงทุนทำ integration 4. เมื่อมีกรณีศึกษาที่ต้องใช้ข้อมูลเชิงพื้นที่/ทรัพยากร: ประเมิน HDX และศึกษา Sahana เฉพาะส่วนที่เกี่ยวข้อง บันทึก provenance, license, ขอบเขตเวลา และการดัดแปลงของทุกชุดข้อมูล รายงานนี้ไม่ได้รับรองว่าเครื่องมือใดแทนการตรวจทานโดยผู้เชี่ยวชาญได้ และไม่ได้เพิ่มระบบติดตาม/อัปเดตอัตโนมัติให้โครงการกลับไปยังแหล่งอ้างอิง