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 ที่เชื่อมต่อไว้จึงไม่ถูกบันทึกเลย

เริ่มต้นที่นี่