Editor integrations
เชื่อมต่อ editor ที่คุณใช้อยู่ได้เลย VS Code มี first-party extension ส่วน editor อื่นใช้ WakaTime-compatible plugin แล้วเปลี่ยน api_url ให้ชี้ไป hosted API
การเชื่อมต่อที่เราดูแลเอง
VS Code
AtoAxis extension buffer metadata จาก editor ส่ง heartbeat ผ่าน wakaclock-cli และแสดง coding time วันนี้ใน status bar
AI hooks
ขั้นตอนตั้งค่าสามารถติดตั้ง hook ของ Claude Code, Codex CLI และ Gemini CLI โดยไม่ส่ง prompt หรือ response
Device authorization
CLI หรือ integration ของบุคคลที่สามขออนุญาตได้ด้วยรหัสสั้น ๆ ที่คุณกดอนุมัติใน dashboard จึงไม่ต้องมอบ API key ให้ การอนุมัติให้เฉพาะ scope ที่ integration ร้องขอเท่านั้น
WakaTime protocol
Neovim, JetBrains, Vim และ editor อื่นที่มี WakaTime plugin ตั้ง api_url และ api_key ได้ behavior และรอบอัปเดตยังขึ้นกับ plugin นั้น
ในทางปฏิบัติหมายความว่าอย่างไร
- ไม่ต้องติดตั้ง extension ใหม่ plugin ที่คุณไว้ใจอยู่แล้วยังทำงานต่อได้
- plugin เป็นผู้ตัดสินว่าจะส่งอะไร ความสามารถของมันจึงเป็นเพดาน ไม่ใช่ของเรา
- เวลา, project, language, editor และ branch มาถึงเหมือนกับที่ client ของเราส่ง
- field ที่ plugin ไม่เคยส่ง เช่น AI attribution จะว่างไว้เฉย ๆ ไม่ถูกเดาขึ้นมา
ข้อมูลที่ไปถึง server ไม่ว่าจะใช้ client ตัวไหน
heartbeat คือข้อตกลงกลาง ไม่ว่าจะมาจาก extension ของเรา, WakaTime plugin หรือสคริปต์ที่คุณเขียนเอง server รับโครงสร้างเดียวกันและสร้าง analytics แบบเดียวกันจากมัน
- File path, project และ Git branch
- ภาษาที่ตรวจพบ, editor, operating system และ machine
- จำนวนบรรทัด ตำแหน่ง cursor keystroke และ character
- ประเภทกิจกรรม, AI attribution fields ที่เลือกส่งได้ และ timestamp
สิ่งที่ยังไม่รองรับ
บอกไว้ตรง ๆ เพราะการมาพบช่องโหว่หลังย้ายระบบแล้วแย่กว่าการได้อ่านตั้งแต่ตอนนี้
- Cursor และ Copilot: กิจกรรมของทั้งคู่ต้องมี adapter เฉพาะผู้ให้บริการก่อนจึงจะ attribute ได้
- Zed: มี language-server client อยู่แล้ว แต่ยังไม่มี extension ของ Zed ที่ติดตั้งได้มาห่อหุ้มมัน
- เครื่องมือออกแบบและงาน 3D: ยังไม่มี client สำหรับ Figma หรือ Blender
- ไม่มี client บน desktop หรือ browser งานที่ทำนอก editor ที่เชื่อมต่อไว้จึงไม่ถูกบันทึกเลย