AskMe AI Gateway
VS Code extension สำหรับเชื่อมต่อ AskMe AI Gateway — chat กับ GPT / Claude / Gemini พร้อม agentic coding tools, multi-chat, skills, และ self-test loop
v0.1.0 · License: ดู docs/BUNDLED_SKILLS.md สำหรับ third-party attribution
📑 สารบัญ
- Installation
- Login ครั้งแรก
- หน้าจอหลัก
- Modes — 5 โหมดการทำงาน
- Tools — 7 เครื่องมือ AI
- Skills (Slash Commands)
- Compact Chat — สรุปประวัติประหยัด token
- Image Input
- Inline Completion
- Settings
- Keyboard Shortcuts
- Send Feedback
- Troubleshooting
1. Installation
ติดตั้ง VSIX
code --install-extension askme-ai-0.1.0.vsix
หรือ Extensions panel → ... → Install from VSIX...
เปิด extension
- กด Ctrl+Alt+A (Mac:
Cmd+Alt+A)
- หรือ Activity Bar → AskMe AI Gateway icon (sidebar ขวา)
2. Login ครั้งแรก
มี 2 วิธี:
A. Email + Password (Direct login)
- กรอก Email, Password, Org ID (default ตั้งไว้แล้ว)
- กด Sign in
B. SSO ผ่าน browser
- กด Sign in with SSO
- Browser เปิดหน้า
/extension-token
- Login ใน browser → กด Authorize
- Redirect กลับ VS Code อัตโนมัติ
💡 Tokens เก็บใน vscode.secrets — refresh อัตโนมัติเมื่อจะหมดอายุ
3. หน้าจอหลัก
┌────────────────────────────────────────────┐
│ 🅰 AskMe AI ◯ ☰ + ⭐ ⚙ 💬 ↗ │ ← Header: donut credit · history · new chat · skills · settings · feedback · logout
├────────────────────────────────────────────┤
│ │
│ (chat messages area) │
│ │
├────────────────────────────────────────────┤
│ 🖼 image.png 1920×1080 ✕ │ ← Image chip (เมื่อแนบรูป)
│ Ask anything... (type / for skills) │
│ 📎 🖼 gpt-4.1-mini ▾ ‹› Ask ▾ ▶ │ ← input bottom: attach · model · mode · send
├────────────────────────────────────────────┤
│ Enter ส่ง · Shift+Enter ขึ้นบรรทัด · Esc หยุด · v0.1.0 │
└────────────────────────────────────────────┘
| Icon |
ฟังก์ชัน |
| ◯ Donut |
Credit usage — hover ดูจำนวน (ใช้/ทั้งหมด) · click refresh |
| ☰ |
Chat history dropdown — สลับ chat เก่า, ลบ chat |
| + |
New chat |
| ⭐ |
Skills manager — เปิด folder .askme/skills/ สำหรับสร้าง skill เอง |
| ⚙ |
Open VS Code settings → AskMe section |
| 💬 |
Send feedback — เปิด form ส่งให้ทีม dev |
| ↗ |
Logout |
4. Modes — 5 โหมดการทำงาน
เปลี่ยน mode ได้ที่ dropdown ในกล่อง input (ขวาล่าง ติดกับปุ่ม Send)
| Mode |
write_file / edit_file |
delete_file |
run_command |
Use case |
| Ask (default) |
ถาม |
ถาม |
ถาม |
Safe — ทุก action ต้อง confirm |
| Auto-edit |
auto ✓ |
ถาม |
ถาม |
แก้โค้ดเร็ว แต่ destructive ops ยัง safe |
| Plan |
❌ reject |
❌ reject |
❌ reject |
อ่านได้อย่างเดียว — AI เสนอ plan เป็น text |
| Saver |
ถาม |
ถาม |
ถาม |
+ auto-apply pordee/caveman compact rules → ลด output tokens 60-75% |
| Full-Auto ⚠ |
auto ✓ |
auto ✓ |
auto ✓ |
รันทุก tool ไม่ถาม + build-test-fix loop เปิดทำงานเต็มที่ |
Full-Auto + Self-test Loop
เมื่อใช้ Full-Auto AI จะ:
- Write file → 2. Run verification (pytest, npm test,
python -c "import X", etc.)
- ถ้า error → อ่าน Traceback → แก้ → re-test (สูงสุด 3 รอบ)
- สรุปผล: ✓ verified หรือ ✗ ติดที่ไหน
⚠️ ใช้ Full-Auto เฉพาะ environment ที่ปลอดภัย (sandbox, throwaway workspace) — AI ลบไฟล์/รัน shell ได้โดยไม่ถาม
AI ใช้ tools เหล่านี้อัตโนมัติเมื่อจำเป็น:
| Tool |
ใช้เพื่อ |
Confirm needed |
read_file |
อ่านไฟล์ที่ไม่ได้เปิดอยู่ |
ไม่ |
list_directory |
ดูไฟล์ในโฟลเดอร์ |
ไม่ |
search_files |
grep หาคำใน workspace |
ไม่ |
write_file |
สร้าง/เขียนทับไฟล์ทั้งไฟล์ |
Ask/Saver/Plan → ถาม · อื่นๆ → auto |
edit_file |
แก้แค่บางส่วน (token-efficient) |
Ask/Saver/Plan → ถาม · อื่นๆ → auto |
delete_file |
ลบไฟล์ |
ทุก mode ยกเว้น Full-Auto |
run_command |
รัน shell (test/build/server) |
ทุก mode ยกเว้น Full-Auto |
run_command — ฉลาดแยก short vs long-running
- Short commands (pytest, npm install, git log): exec → output กลับมาให้ AI วิเคราะห์
- Dev servers (uvicorn, npm run dev, docker compose up, vite): เปิด VS Code Terminal จริง อัตโนมัติ → ไม่ block, user เห็น output, Ctrl+C ได้
6. Skills (Slash Commands)
พิมพ์ / ใน input → dropdown โผล่ — เลือก skill หรือพิมพ์ keyword search ก็ได้
Built-in (10 skills)
/add-test · /debug · /dockerize · /explain · /init · /insights · /refactor · /review · /run · /security-review
Bundled (3 sources, 50+ skills)
mattpocock/ — /tdd, /prototype, /diagnose, /handoff, ... (27 skills)
bda/ — /build-feature, /fix-bug, /plan-work, /daily-log, ... (19 BDA standard commands, ภาษาไทย)
pordee/ — /pordee (Thai compact mode)
caveman/ — /caveman (English terse mode)
Workspace skills (override built-in)
สร้างที่ .askme/skills/<name>.md ใน workspace:
---
name: my-skill
description: ทำสิ่งนี้
---
<system prompt ที่จะ inject เมื่อ user พิมพ์ /my-skill>
Workspace ชนะ bundled เสมอ — ใช้ override ได้
7. Compact Chat — สรุปประวัติประหยัด token
เมื่อ chat ยาวเกินไป (>30 messages) → banner ส้มจะเด้งขึ้นมา → กด Compact now
หรือพิมพ์ /compact แล้ว Enter
หลัง compact
- AI สรุป chat → ออกมาเป็น summary card สีฟ้า (พับเปิดได้)
- Message เก่าทั้งหมดหายจาก UI
- Backend session reset → request ถัดไป AI ยังจำ context ผ่าน summary
ประหยัด tokens ยังไง
- จ่าย full history แค่ครั้งเดียวตอนสรุป
- ทุกครั้งถัดไป AI เห็นแค่ summary (~300 tokens) แทนประวัติทั้งหมด
- ใน chat ยาวๆ ประหยัด input tokens 70-90%
วิธีแนบ
- Paste — Copy รูปจาก clipboard → paste ใน input box
- Drag-drop — ลากไฟล์รูปวางใน input
- Click — กดไอคอน 🖼 → เลือกไฟล์
ข้อจำกัด
- สูงสุด 4 รูป ต่อ message
- รูปละ ≤ 4MB
- รองรับ jpg, png, gif, webp
Chip ที่ขึ้น
🖼 image.png 1920×1080 ✕
- คลิก chip → modal popup กลางจอ
- กด Esc / คลิกนอกรูป / กด ✕ → ปิด
9. Inline Completion (Copilot-style)
Ghost-text completion ที่เคอร์เซอร์ — opt-in
เปิดใช้
Settings → askme.inlineCompletion.enabled: true
ใช้งาน
- พิมพ์ใน editor → หยุดพิมพ์ 600ms → ghost text สีเทาจาง
- กด Tab → accept
- กด Escape → reject
⚠️ ใช้ chat endpoint → กิน token เร็วกว่า dedicated FIM model
10. Settings
เปิด: Ctrl+, → ค้น askme
| Setting |
Default |
คำอธิบาย |
askme.orgId |
(preset) |
Organization ID — IT Admin แจ้ง |
askme.defaultModelId |
(empty) |
Default model — ว่าง = model แรกที่โหลด |
askme.editMode |
ask |
Default mode (เปลี่ยนผ่าน dropdown ได้เร็วกว่า) |
askme.effort |
medium |
Reasoning effort: low / medium / high / extra-high |
askme.inlineCompletion.enabled |
false |
เปิด ghost-text completion |
askme.verboseLogging |
false |
Debug log ใน OutputChannel "AskMe AI" |
Hidden settings (admin-only)
gatewayUrl, feedback.webhookUrl — ฝังใน src/config/defaults.ts ไม่โผล่ใน UI
11. Keyboard Shortcuts
| Shortcut |
Action |
Ctrl+Alt+A (Mac: Cmd+Alt+A) |
เปิด AskMe panel |
Ctrl+Alt+I (Mac: Cmd+Alt+I) |
Focus chat input |
Ctrl+Alt+N (Mac: Cmd+Alt+N) |
New chat |
Enter |
ส่ง message |
Shift+Enter |
ขึ้นบรรทัดใหม่ |
Esc |
หยุด stream (ถ้ากำลังตอบอยู่) |
/ |
Skill dropdown |
@ |
File mention dropdown |
Tab |
Accept inline completion |
Esc (ใน image modal) |
ปิด popup |
12. Send Feedback
กดปุ่ม 💬 ใน header → เปิด form:
- เลือกประเภท: 🐛 Bug · 💡 Feature · ❓ Question · 💬 Other
- พิมพ์รายละเอียด
- กด Send
ระบบจะส่งข้อมูลไป Power Automate webhook → ทีม dev ดูใน Excel/Dataverse
ระบบจับ user_email, user_name, extension version, VS Code version, OS อัตโนมัติ — user ไม่ต้องกรอก
13. Troubleshooting
Credit ไม่ขึ้น / Model dropdown ค้าง "loading"
- Reload Window:
Ctrl+Shift+P → "Developer: Reload Window"
- ถ้ายัง: เปิด webview console (คลิกขวา panel → Inspect) → ดู error สีแดง
- เปิด OutputChannel "AskMe AI" (View → Output → dropdown ขวา) → ดู log
Login ไม่สำเร็จ
- เช็ค
askme.gatewayUrl ถูกต้อง (admin set)
- เช็ค
askme.orgId ตรงกับ org ของคุณ
- ลอง logout (↗) → login ใหม่
run_command ไม่ทำงาน
- เช็ค mode — ถ้า Plan → reject เป็น default
- ถ้าใน Ask mode → confirm card ขึ้น ต้องกด Approve
- Long-running server → ดูใน VS Code Terminal panel (ชื่อ "AskMe: ...")
Stream ค้าง / ตอบช้า
- กด Esc → cancel stream
- ลอง model อื่น (gpt-4.1-mini เร็วสุด)
- ลด effort ที่ effort dot (low = เร็วสุด)
Token หมดเร็ว
- ใช้ Saver mode → ลด output tokens 60-75%
- ใช้ /compact เมื่อ chat ยาว → ลด input tokens
- ลด effort เป็น low/medium
Webhook URL หลุด
- เข้า Power Automate → flow → ลบ HTTP trigger → สร้างใหม่ → URL ใหม่
- แก้
DEFAULT_FEEDBACK_WEBHOOK_URL ใน src/config/defaults.ts
- Rebuild + redistribute VSIX
Credits
Bundled skills (MIT)
ดูรายละเอียดเต็มที่ docs/BUNDLED_SKILLS.md
Built by
AskMe AI Gateway team · พ.ศ. 2569