Tokens
Track, visualize, and compete on AI coding assistant token usage across Claude Code, Cursor, OpenCode, Codex, Gemini, Kimi, and Qwen. The Kardashev Scale for AI Devs.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗เว็บ dashboard ติดตามค่า %CV ของการทำ IQC (L1 / L2) เครื่อง ACCU-Chek Inform II แยกตามหอผู้ป่วย
เกณฑ์ผ่าน: %CV < 6.7 (แก้ได้ที่ชีต Config → cv_threshold)
Google Sheet (ฐานข้อมูล) ←→ Apps Script (ตัวอ่าน/เขียนชีต) ←→ Vercel Functions /api (เก็บรหัสผ่าน) ←→ เว็บ static (Dashboard / Admin)
| ไฟล์ | หน้าที่ |
|---|---|
index.html + js/dashboard.js | Dashboard: (1) แท่งร้อยละที่ผ่านต่อเดือน (2) กราฟเส้น %CV รายหอ (3) ตารางรายละเอียด + กดดูรายหอ, ตัวกรอง L1 / L2 / รวม |
admin.html + js/admin.js | หน้า admin: ฟอร์มบันทึก/แก้ไข %CV รายเดือน (วางจาก Excel ได้), เพิ่ม/แก้ไขหอและเครื่อง |
apps-script/Code.gs | Backend ที่ผูกกับ Google Sheet |
api/data.js, api/admin.js | Vercel Functions: อ่านข้อมูล และรับคำสั่งบันทึก (ตรวจ ADMIN_PASSWORD ที่นี่) |
config.js | ตั้งค่าฝั่งเว็บ (API_BASE: "/api") – ไม่มีความลับ |
data/seed.json | ข้อมูลสำรอง (Excel ปี 2568–2569) ใช้แสดงผลเมื่อยังไม่ได้ตั้งค่า API |
tools/convert.py | สคริปต์แปลง Excel รายปี → ข้อมูลแบบ long (ใช้ซ้ำได้) |
ใช้ชีต "POCT Glucose %CV – รพ.ศรีนครินทร์ (ฐานข้อมูล)" ที่สร้างไว้แล้ว มี 3 ชีต
Data – 1 แถว = 1 เครื่อง × 1 เดือน: month (YYYY-MM ค.ศ.), device, L1, L2, note, updated_atWards – no, ward, device, activeConfig – cv_threshold = 6.7apps-script/Code.gs (ทับของเดิมทั้งหมด) → บันทึกsetup → Run (อนุญาตสิทธิ์ครั้งแรก)createApiKey → Run → คัดลอกค่าที่ขึ้นใน "บันทึกการดำเนินการ" (คือ API_KEY ที่ถูกสร้างใน Script properties แล้ว; จะตั้งเองที่ Project Settings > Script properties ก็ได้)/execทุกครั้งที่แก้ Code.gs ต้อง Deploy เป็น New version URL เดิมจึงจะใช้โค้ดใหม่
Vercel → Project → Settings > Environment Variables (เลือก Production และ Preview) เพิ่ม 3 ตัว:
| Name | ค่า |
|---|---|
ADMIN_PASSWORD | รหัสผ่านเข้าหน้า admin |
APPS_SCRIPT_URL | URL /exec ของ Apps Script |
APPS_SCRIPT_KEY | ค่าเดียวกับ API_KEY ใน Script properties |
จากนั้น Deployments > ⋯ > Redeploy เพื่อให้ค่าใหม่มีผล
https://<project>.vercel.app/https://<project>.vercel.app/adminเหตุผลที่ต้องมี API_KEY: URL ของ Apps Script เปิดแบบ Anyone จึงต้องมีคีย์ลับที่รู้กันเฉพาะ Vercel กับ Apps Script ไม่ให้คนนอกเรียกอ่าน/เขียนชีตตรงๆ ได้ ส่วนรหัสผ่านแอดมินอยู่ที่ Vercel ที่เดียว
/admin ใส่รหัสผ่านปีงบประมาณใหม่ไม่ต้องตั้งค่า: ระบบคำนวณจากเดือน (ต.ค.–ก.ย., พ.ศ. = ค.ศ. ของเดือนที่ ≥ ต.ค. + 1 + 543) หอ/เครื่องใหม่: แท็บ "หอผู้ป่วย / เครื่อง" → เพิ่มแล้วจะปรากฏในฟอร์มรายเดือนทันที
note: 6..64 → 6.64 (PICU มี.ค. 68, L1) และ 1..17 → 1.17 (สว.9A(2) มิ.ย. 69, L2) โปรดตรวจกับใบรายงานจริงADMIN_PASSWORD, APPS_SCRIPT_URL, APPS_SCRIPT_KEY อยู่ใน Vercel Environment Variables เท่านั้น ไม่อยู่ในโค้ด/GitHub/ชีต; เบราว์เซอร์ไม่เห็น URL หรือคีย์ของ Apps ScriptAPI_KEY ที่ถูกต้อง (ทั้งอ่านและเขียน) · /api/admin ตรวจรหัสผ่านแบบ timing-safe และหน่วง 0.8 วินาทีเมื่อรหัสผิดAPI_BASE: "" จะแสดงข้อมูลสำรองจาก data/seed.json (บันทึกข้อมูลไม่ได้)ช่องที่ไม่ได้ทำ QC ให้ใส่ ND ในคอลัมน์ note ของชีต Data (หรือติ๊ก ND ในหน้า Admin) – ND ไม่นำมาคำนวณ ร้อยละที่ผ่านเกณฑ์/ตัวหาร แต่นับว่า “บันทึกแล้ว” และแสดงเป็น ND ใน heatmap
ไฟล์ที่ build แล้ว (css/tw.css, img/icons.svg) ถูก commit ไว้ Vercel ไม่ต้อง build. แก้สไตล์/ไอคอนแล้วรัน cd tools/ui && npm install && npm run build
apps-script/Code.gs ใหม่ → รัน setup() อีกครั้ง (สร้างคอลัมน์ group ใน Wards, แถว target_pass_pct ใน Config, ชีต Log)target_pass_pct, ค่าเริ่มต้น 95)/api/admin ล็อก IP 15 นาที หากใส่รหัสผ่านผิด 5 ครั้งถ้าเชื่อม Google Sheet ไม่ได้ หน้า Dashboard จะแจ้งข้อผิดพลาดและไม่แสดงข้อมูลเก่าแทน (ป้องกันการเข้าใจผิด) · ต้องการดูข้อมูลตัวอย่างจากไฟล์ Excel ให้เปิด /?demo=1
ตั้งที่ Vercel > Settings > Environment Variables:
ADMIN_USERS = ชื่อ1:รหัสผ่าน1,ชื่อ2:รหัสผ่าน2 เช่น mook:xxxxxxxx,somchai:yyyyyyyy (ชื่อใช้ภาษาอังกฤษ ไม่สนตัวพิมพ์ใหญ่เล็ก · รหัสผ่านห้ามมีเครื่องหมาย ,)ADMIN_USERS แล้ว ADMIN_PASSWORD เดิมจะไม่ถูกใช้ (ลบทิ้งได้) · แก้ env แล้วต้อง Redeployuser) บันทึกชื่อผู้แก้ไขทุกครั้ง (ต้องวาง Code.gs ใหม่ + Deploy New version)