เครื่องมือและความสามารถ
ภาพรวม
เครื่องมือคือการกระทำที่เอเจนต์ของคุณสามารถทำได้ระหว่างการสนทนา เมื่อเอเจนต์ต้องการเรียกดูเว็บ รันคำสั่ง อ่านไฟล์ หรือควบคุมอุปกรณ์ มันจะใช้เครื่องมือ
Neotask มีชุดเครื่องมือ built-in ที่หลากหลายครอบคลุมการจัดการไฟล์ การรันโค้ด การทำงานอัตโนมัติของเบราว์เซอร์ การควบคุมอุปกรณ์ การส่งข้อความ การค้นหาเว็บ และอื่น ๆ
การดำเนินการไฟล์
เอเจนต์สามารถอ่าน เขียน และแก้ไขไฟล์ใน workspace ของตน:
- Read, อ่านเนื้อหาไฟล์
- Write, สร้างหรือเขียนทับไฟล์
- Edit, ทำการแก้ไขที่มุ่งเป้าหมายในส่วนเฉพาะของไฟล์
- Apply Patch, ใช้ unified diff หลาย hunk สำหรับการแก้ไขไฟล์ที่ซับซ้อน
การรันโค้ด
เอเจนต์สามารถรันคำสั่งเชลล์พร้อมการแยกตัวที่กำหนดค่าได้:
- Gateway execution, รันคำสั่งโดยตรงบนเครื่องที่โฮสต์ Gateway
- Sandbox execution, รันคำสั่งใน Docker container แบบแยกตัวพร้อมขีดจำกัดทรัพยากร
- Node execution, รันคำสั่งบนอุปกรณ์คู่หูที่เชื่อมต่อ (macOS, Linux node)
ฟีเจอร์การรัน
- Timeout ที่กำหนดค่าได้ (ค่าเริ่มต้น 30 นาที)
- การจัดการ background job (แสดงรายการ poll kill clear)
- Auto-background สำหรับคำสั่งที่รันนาน
- การรองรับ TTY สำหรับโปรแกรมแบบโต้ตอบ
- โหมดยกระดับสำหรับการดำเนินการที่ต้องใช้สิทธิ์ (บน gateway host เท่านั้น)
เวิร์กโฟลว์การอนุมัติ
คำสั่งที่ละเอียดอ่อนสามารถต้องการการอนุมัติผู้ใช้ก่อนการรัน:
- Allowlist, เฉพาะคำสั่งที่อนุมัติล่วงหน้าเท่านั้นที่รัน
- Ask, คำสั่งที่ไม่รู้จักจะแจ้งให้อนุมัติ
- Full, ไม่มีข้อจำกัด
การทำงานอัตโนมัติของเบราว์เซอร์
เอเจนต์ควบคุมเบราว์เซอร์ที่ใช้ Chromium เต็มรูปแบบ (Chrome, Brave หรือ Edge):
การกระทำ
- Navigate, เปิด URL และนำทางระหว่างหน้า
- Interact, คลิก พิมพ์ hover ลาก เลือก กรอกฟอร์ม
- Capture, ถ่ายภาพหน้าจอ ส่งออก PDF
- Inspect, สแนปช็อต DOM หรือ accessibility tree
- Execute, รัน JavaScript ใน context ของหน้า
- Upload, อัปโหลดไฟล์ไปยังเว็บฟอร์ม
- Manage, จัดการ dialog (alert, confirmation) อ่านเอาต์พุต console
Browser Profile
Browser profile แบบแยกตัวหลายรายการสำหรับการแยก account:
- แต่ละ profile มี cookie, storage และประวัติของตัวเอง
- พอร์ต CDP ที่กำหนดอัตโนมัติสำหรับการควบคุมแบบ programmatic
- การรองรับ remote browser (เชื่อมต่อกับเบราว์เซอร์บนเครื่องอื่น)
Canvas และ A2UI
ระบบ Agent-to-UI (A2UI) ช่วยให้เอเจนต์เรนเดอร์เนื้อหาภาพแบบโต้ตอบบนอุปกรณ์ที่เชื่อมต่อ:
- Present, แสดงหน้าเว็บหรือเนื้อหากำหนดเองบน canvas ของอุปกรณ์
- Navigate, ควบคุมสิ่งที่แสดงในหน้าต่าง canvas
- Evaluate, รัน JavaScript ใน canvas context
- Snapshot, จับภาพสิ่งที่แสดงอยู่ในปัจจุบัน
- A2UI Push, ส่ง UI update ที่มีโครงสร้าง (JSONL payload) ไปยัง canvas
- A2UI Reset, ล้างสถานะ canvas
การเรนเดอร์ canvas มีบน macOS (WebKit), iOS (SwiftUI), Android (Jetpack Compose) และเว็บ (WebChat)
ความสามารถของอุปกรณ์ Node
ผ่านแอปคู่หูที่เชื่อมต่อ เอเจนต์สามารถ:
กล้อง
- Snap, ถ่ายรูป (กล้องหน้าหรือหลัง)
- Clip, บันทึกวิดีโอพร้อม duration และ FPS ที่กำหนดค่าได้
หน้าจอ
- Record, จับการบันทึกหน้าจอพร้อม duration และคุณภาพที่กำหนดค่าได้
ตำแหน่ง
- Get, ดึงพิกัด GPS พร้อมการเลือกความแม่นยำ
การแจ้งเตือน
- Notify, ส่งการแจ้งเตือน OS แบบ native พร้อม title, body และ priority
คำสั่งระบบ
- Run, รันคำสั่งเชลล์บนอุปกรณ์ node
- Which, ตรวจสอบว่าคำสั่งมีบน node หรือไม่
การส่งข้อความ
เอเจนต์สามารถส่งและจัดการข้อความข้ามช่องทางที่เชื่อมต่อ:
- Send, ส่งข้อความไปยังช่องทาง/ผู้รับที่เชื่อมต่อใด ๆ
- Edit, แก้ไขข้อความที่ส่งไปก่อนหน้า
- React, เพิ่มปฏิกิริยาต่อข้อความ
- Thread, สร้างเธรดและตอบกลับภายใน
- Poll, สร้างโพลล์บนแพลตฟอร์มที่รองรับ
- Voice, ตรวจสอบสถานะช่องทางเสียง (Discord)
เว็บ
- Search, การค้นหาเว็บผ่าน Brave Search API
- Fetch, ดึงหน้าเว็บและแปลง HTML เป็น markdown/text
หน่วยความจำและ Context
- Memory Search, การค้นหาความคล้ายคลึง vector ข้ามไฟล์หน่วยความจำเอเจนต์
- Memory Get, ดึงไฟล์หน่วยความจำเฉพาะตามชื่อ
การจัดการเซสชัน
- List Sessions, ดูเซสชันที่ใช้งานอยู่ข้ามเอเจนต์
- Session History, ดึง transcript สำหรับเซสชันใด ๆ
- Send to Session, ส่งข้อความไปยังเซสชันเอเจนต์อื่น
- Spawn Sub-Agent, เริ่มการรัน sub-agent แบบแยกตัว
- List Agents, ดูเอเจนต์ที่มี
ระบบอัตโนมัติ
- Cron, สร้าง แก้ไข รัน และจัดการงานตามกำหนดการ
- Gateway, รีสตาร์ท gateway ใช้การเปลี่ยนแปลงการกำหนดค่า รันการอัปเดต
การวิเคราะห์รูปภาพ
เอเจนต์สามารถวิเคราะห์รูปภาพโดยใช้ vision model ที่กำหนดค่า, อธิบายเนื้อหา ดึงข้อความ ระบุวัตถุ และตอบคำถามเกี่ยวกับเนื้อหาภาพ
กลุ่มเครื่องมือ
เครื่องมือจัดเป็นกลุ่มสำหรับการจัดการสิทธิ์ที่ง่าย:
| กลุ่ม | เครื่องมือ |
|---|---|
| runtime | exec, bash, process |
| fs | read, write, edit, apply_patch |
| sessions | sessions_list, sessions_history, sessions_send, sessions_spawn, session_status |
| memory | memory_search, memory_get |
| web | web_search, web_fetch |
| ui | browser, canvas |
| automation | cron, gateway |
| messaging | message |
| nodes | nodes |