Plugin และ Skill
Plugin
Plugin คืออะไร?
Plugin คือ TypeScript module ที่ขยายฟังก์ชันการทำงานของ Neotask ในขณะรันไทม์ พวกมันสามารถเพิ่มช่องทางการส่งข้อความใหม่ เครื่องมือเอเจนต์ RPC method คำสั่ง CLI บริการพื้นหลัง และทักษะ
Plugin อย่างเป็นทางการ
ช่องทางการส่งข้อความ:
- Microsoft Teams, Matrix, Nostr, Zalo, Feishu/Lark, LINE, Nextcloud Talk, Mattermost, Tlon, Twitch
ฟีเจอร์:
- Voice Call, การรองรับ SIP telephony สำหรับการโทรด้วยเสียงขาเข้า/ขาออก
- Memory (LanceDB), หน่วยความจำระยะยาวพร้อมการค้นหาความคล้ายคลึงแบบ vector
- MCP Native, การผสานรวม Model Context Protocol server สำหรับการเชื่อมต่อเครื่องมือภายนอก
Auth Provider:
- Google Antigravity OAuth, Gemini CLI OAuth, Qwen OAuth, Minimax OAuth, VS Code Copilot Proxy
ความสามารถของ Plugin
Plugin สามารถลงทะเบียน:
- RPC Method, WebSocket method กำหนดเองสำหรับ client เรียก
- HTTP Handler, HTTP endpoint กำหนดเองบน Gateway
- Agent Tool, เครื่องมือใหม่พร้อม typed schema ที่เอเจนต์สามารถเรียกใช้
- CLI Command, คำสั่ง command-line เพิ่มเติม
- Background Service, กระบวนการที่รันระยะยาวที่จัดการโดย Gateway
- Skill, ไดเรกทอรีทักษะที่รวมอยู่กับ plugin
- Auto-Reply Command, คำสั่งที่รันโดยไม่มีการมีส่วนร่วมของ AI agent
ความปลอดภัยของ Plugin
Neotask ตรวจสอบ plugin หลายชั้นก่อนที่ plugin จะทำงาน:
- ลงนามและตรวจสอบแล้ว แพ็กเกจในแคตตาล็อก Construct สาธารณะเผยแพร่โดย Neotask ผ่านการตรวจสอบอัตโนมัติก่อนเผยแพร่ และลงนามด้วยคีย์เผยแพร่ของ Neotask ก่อนติดตั้ง Neotask จะตรวจลายเซ็นกับคีย์ที่ฝังอยู่ใน Neotask และตรวจสอบแฮช SHA-256 ของไฟล์ที่ดาวน์โหลด
- ไม่มีสคริปต์ติดตั้ง แพ็กเกจ Construct มี dependency มาในตัว การติดตั้งจึงไม่เรียกใช้ package manager หรือสคริปต์ติดตั้งใดๆ เมื่อการติดตั้ง plugin อื่นใช้ npm สคริปต์ติดตั้งจะถูกปิดไว้
- สแกนตอนติดตั้ง plugin ที่ติดตั้งจากนอก Construct จะถูกสแกนหาโค้ดอันตราย และหากพบปัญหาร้ายแรง การติดตั้งจะถูกบล็อก
- สิทธิ์ใช้งานต่อรุ่น plugin จาก Construct จะโหลดได้เฉพาะเมื่อบัญชีของคุณมีสิทธิ์ที่ยังใช้ได้สำหรับรุ่นนั้น รุ่นที่ถูกเพิกถอนจะไม่ถูกโหลด
- การอนุมัติการกระทำของ agent การเรียกใช้เครื่องมือของ agent รวมถึงเครื่องมือที่ plugin เพิ่มเข้ามา จะถูกตรวจสอบตามนโยบายการอนุมัติของคุณ และการกระทำที่ต้องได้รับความเห็นชอบจะรอจนกว่าคุณจะอนุมัติ หาก agent ต้องการติดตั้งซอฟต์แวร์นอกสูตรการติดตั้งที่มาพร้อม Neotask จะแสดงคำสั่งที่แน่นอนให้คุณเห็นเสมอและรอการอนุมัติ
- sandbox แบบเลือกได้ คุณสามารถรันเครื่องมือของ agent ในคอนเทนเนอร์ Docker ที่แยกออกมา แทนการรันบนคอมพิวเตอร์ของคุณโดยตรง sandbox ปิดอยู่โดยค่าเริ่มต้น ดูวิธีเปิดใช้งานได้ที่ ความปลอดภัย
plugin แบบ native ทำงานภายใน process ของ Gateway ดังนั้น plugin ที่คุณติดตั้งจากนอก Construct คือโค้ดที่คุณเลือกให้ทำงานเอง ใช้ plugins.allow เพื่อระบุ plugin ที่อนุญาตให้โหลดได้
Skill
Skill คืออะไร?
Skill คือความสามารถแบบโมดูลาร์ที่สอนเอเจนต์เวิร์กโฟลว์ใหม่ แต่ละทักษะคือไฟล์ markdown (SKILL.md) พร้อมคำแนะนำที่ถูกฉีดเข้าใน context ของเอเจนต์เมื่อมีความเกี่ยวข้อง
ตำแหน่งทักษะ (ลำดับความสำคัญ)
- Workspace skill,
<workspace>/skills/(ลำดับความสำคัญสูงสุด) - Managed skill,
~/.neotask/skills/ - Bundled skill, มาพร้อมกับ Neotask
- Plugin skill, ทักษะที่บรรจุอยู่กับ plugin ที่ติดตั้ง
- Extra directory, path ที่กำหนดค่าเพิ่มเติม (ลำดับความสำคัญต่ำสุด)
เมื่อทักษะหลายรายการมีชื่อเดียวกัน ตำแหน่งที่มีลำดับความสำคัญสูงสุดชนะ
ฟีเจอร์ทักษะ
- User-invocable, ทริกเกอร์ทักษะโดยตรงด้วย slash command (เช่น
/docker-build) - Model-invocable, ทักษะที่เอเจนต์สามารถเรียกใช้เองเมื่อมีความเกี่ยวข้อง
- Command dispatch, ทักษะที่แมปกับเครื่องมือเฉพาะ
- Requirements gating, ทักษะโหลดเฉพาะเมื่อตรงตามความต้องการ (ไบนารีที่ต้องการ, config key, ตัวแปรสภาพแวดล้อม, plugin)
การสร้างทักษะ
สร้างไฟล์ SKILL.md พร้อม YAML frontmatter ที่กำหนด metadata และคำแนะนำของทักษะ:
ฟิลด์ Frontmatter:
name, ตัวระบุทักษะdescription, สิ่งที่ทักษะทำhomepage, ลิงก์ไปยังเอกสารuser-invocable, ว่าผู้ใช้สามารถทริกเกอร์โดยตรงได้หรือไม่disable-model-invocation, ป้องกันเอเจนต์จากการเรียกใช้โดยอัตโนมัติcommand-dispatch, เครื่องมือที่ dispatch ไปยังmetadata.neotask.requires, ข้อกำหนดเบื้องต้น (bins, config, env, plugins)
เนื้อหา: คำแนะนำ Markdown ที่สอนเอเจนต์วิธีใช้ทักษะ รวมถึงตัวอย่างและแนวทาง
แคตตาล็อกทักษะ
เรียกดูทักษะที่มีให้ใช้งานในแคตตาล็อกทักษะ
หมวดหมู่ทักษะ
ทักษะครอบคลุมความสามารถที่หลากหลาย:
| หมวดหมู่ | ตัวอย่าง |
|---|---|
| ประสิทธิภาพการทำงาน | การจัดการอีเมล ปฏิทิน การสร้างเอกสาร |
| การพัฒนา | การดำเนินการ Git, CI/CD, Docker, การตรวจสอบโค้ด |
| การสื่อสาร | การส่งข้อความ การแจ้งเตือน การประกาศ |
| สื่อ | การประมวลผลรูปภาพ การแก้ไขวิดีโอ การถอดเสียง |
| AI และ Model | การสลับ model การจัดการ prompt, RAG |
| สมาร์ทโฮม | การควบคุมอุปกรณ์ IoT ทริกเกอร์อัตโนมัติ |
| ยูทิลิตี้ | การแปลงไฟล์ การแปลงข้อมูล การขูดข้อมูลจากเว็บ |