▶SUBTHAIแปลไทย · ซับ · พากย์⚙
บทความแปลภาษาไทย · YouTube

DeepSeek Harness Plugins Explained (Cordis Full Guide)

0:000:00
เล่นเสียงต้นฉบับของวิดีโอ พร้อมแสดงซับไทยซิงก์ตามเวลา
กำลังโหลดวิดีโอ…
01

สรุปย่อ

ประเด็นสำคัญจากวิดีโอ

- **ช่อง:** DevsKingdom · **ความยาว:** ~12 นาที · **ลิงก์:** https://www.youtube.com/watch?v=APhQxIKKq0g

# สรุป: DeepSeek Harness Plugins Explained (Cordis Full Guide)
- **ช่อง:** DevsKingdom · **ความยาว:** ~12 นาที · **ลิงก์:** https://www.youtube.com/watch?v=APhQxIKKq0g

## ประเด็นหลัก
- DeepSeek harness เป็น ระบบ plugin-based ที่ เติบโต เร็ว มาก บน GitHub (ประมาณ 169K stars)
- ฐาน ของ plugin คือ เฟรมเวิร์ก Cordis (spatial temporal composability)
- แนวคิด หลัก ของ Cordis: context, plugin, service injection, และ fiber (หน่วย วงจร ชีวิต)
- fiber ช่วย ลงทะเบียน / dispose ทรัพยากร แบบ ย้อน กลับ ได้ คล้าย garbage collection
- โครงสร้าง plugin ตัวอย่าง (my DSH / DSH hello): cordis.patch.yaml + index.js + package.json
- ลงทะเบียน / list / ลบ plugin ได้ ผ่าน command line แล้ว restart บริการ
- plugin ที่ แชร์ บน GitHub สามารถ เพิ่ม เข้า ระบบ DeepSeek harness ของ คน อื่น ได้
- Cordis เอง รัน เป็น แอป ได้ ไม่ ใช่ แค่ เป็น ชั้น ใต้ plugin ของ DeepSeek
- ตัวอย่าง Cordis demo: app เชื่อม service counter กับ greeter ผ่าน schema เดียว
- สามารถ กำหนด dependency ระหว่าง service (เช่น greeter ขึ้น กับ counter) ได้
- เทียบ ได้ กับ PI agent ที่ เคย พูด ใน ช่อง แต่ Cordis สเกล และ ยืดหยุ่น กว่า
- สร้าง แอป/plugin ด้วย Node.js แล้ว ใส่ เข้า ระบบ นิเวศ DeepSeek harness ได้ ทั้ง ก้อน

## ความเห็นสรุป
คลิป นี้ เป็น คู่มือ ปฏิบัติ แบบ end-to-end สำหรับ คน ที่ อยาก เขียน plugin
ให้ DeepSeek harness โดย ไม่ ต้อง เดา โครงสร้าง ไฟล์ ครับ.
จุด แข็ง คือ โชว์ ทั้ง ฝั่ง plugin ของ harness และ ฝั่ง Cordis เอง
พร้อม ตัวอย่าง service กับ dependency ที่ ชัด เจน ครับ.
เหมาะ เป็น จุด เริ่ม สำหรับ ผู้ พัฒนา ที่ อยาก แชร์ plugin เข้า ชุมชน ครับ.
02

คำแปลเต็ม

แปลตามบทสนทนาต้นฉบับ ปรับเป็นภาษาไทยธรรมชาติ

สวัสดี ครับ ทุกคน ยินดีต้อนรับ สู่ วิดีโอ อีก ตอน นะครับ. วันนี้ เรา จะ มา แสดง ให้ ดู ว่า ทำ อย่างไร จึง จะ สร้าง DeepSeek harness plugin ได้ ครับ.

DeepSeek harness กำลัง เป็น ที่ นิยม มาก เลย ครับ. ลอง ดู ที่ GitHub repo ครับ. ใน เวลา ไม่ กี่ สัปดาห์ เรา ได้ ดาว ไป แล้ว ประมาณ หนึ่ง แสน หก หมื่น เก้า พัน ดาว ซึ่ง บ้า มาก ครับ.

DeepSeek harness จริง ๆ แล้ว เป็น ระบบ ที่ ใช้ plugin เป็น ฐาน ครับ. จาก เอกสาร จะ เห็น ว่า ด้วย Cordis ทุก อย่าง คือ plugin ครับ. ใน คลิป นี้ ผม จะ พา ดู วิธี สร้าง plugin แบบ จบ ครบ กระบวนการ ครับ. ใน คอนโซล ของ DeepSeek harness มี เมนู settings แล้ว ไป ที่ plugins ได้ ครับ. มี plugin สำเร็จรูป อยู่ เยอะ แล้ว พวก นั้น คือ plugin ทั่วไป ครับ. เรา จะ มา ดู ว่า ทำ อย่างไร จึง สร้าง plugin แบบ กำหนด เอง แล้ว เอา ไป ใช้ ใน รายการ plugins ได้ ครับ. งั้น เริ่ม กัน เลย นะครับ.

DeepSeek harness plugin จริง ๆ แล้ว สร้าง บน ฐาน ของ Cordis ครับ. ถ้า เปิด ดู GitHub repo ของ Cordis จะ เห็น ว่า มัน เป็น meta framework ของ spatial temporal composability ครับ. แปล ว่า เป็น เฟรมเวิร์ก ที่ ผสม แนวคิด เรื่อง เวลา กับ พื้นที่ เข้า ด้วย กัน ครับ. ชื่อ ฟัง ดู หรู มาก แต่ บน GitHub ก็ มี ดาว ประมาณ หก พัน แล้ว เช่น กัน ครับ. ดังนั้น มัน ก็ เป็น ที่ นิยม เหมือน กัน แต่ คำ ถาม คือ ใช้ ยัง ไง ครับ. เรา จะ ลง ราย ละเอียด กัน เล็ก น้อย ครับ. จะ พูด ถึง Cordis องค์ประกอบ และ แนวคิด ต่าง ๆ แต่ ก่อน อื่น มา ต่อ กับ DeepSeek plugin ก่อน ครับ.

ถ้า ดู เอกสาร ของ พวก เขา เขา อธิบาย ทุก อย่าง เกี่ยว กับ Cordis ไว้ แล้ว ครับ. โดย สรุป Cordis คือ ระบบ plugin ที่ สเกล ได้ จริง ๆ ครับ. แนวคิด หลัก ของ Cordis มี อยู่ สอง สาม อย่าง ครับ.

อย่าง แรก คือ context ครับ. ต่อ มา คือ plugin ครับ. ดังนั้น มี ทั้ง context กับ plugin และ ใน plugin ยัง มี แนวคิด เรื่อง service ซึ่ง สามารถ inject service เข้า ไป ได้ ครับ. อีก แนวคิด หนึ่ง เรียก ว่า fiber ครับ. fiber คือ หน่วย วงจร ชีวิต ครับ. ทุก สิ่ง ที่ ลงทะเบียน ผ่าน Cordis จะ ถูก ยกเลิก เมื่อ fiber ถูก dispose ครับ. มี กระบวนการ ย้อน กลับ ด้วย ครับ. เรา ลงทะเบียน fiber แล้ว ก็ สามารถ ย้อน กลับ ได้ คล้าย กับ garbage collection แต่ เรา ทำ และ ยกเลิก ได้ เอง ครับ. ระบบ จึง สะอาด และ ใช้ ทรัพยากร ได้ มี ประสิทธิภาพ กว่า ครับ. นั่น คือ fiber ครับ.

ต่อไป มา ดู plugin จริง กัน ครับ. ผม จะ โชว์ ตัวอย่าง plugin ที่ สร้าง ไว้ เอง ครับ. plugin นี้ ชื่อ my DSH plugin ครับ. มัน ง่าย มาก แบบ hello world สำหรับ DeepSeek harness ครับ. ใน plugin นี้ มี ไฟล์ schema ชื่อ cordis.patch.yaml ครับ. อีก ไฟล์ คือ index ซึ่ง เป็น ตัว plugin จริง และ เป็น ไฟล์ JavaScript ครับ. รองรับ ทั้ง TypeScript และ JavaScript ครับ. ตัวอย่าง นี้ ใช้ JavaScript แต่ จะ ใช้ TypeScript ก็ ได้ ครับ. และ มี package ด้วย เพราะ ทุก อย่าง เป็น เฟรมเวิร์ก แบบ Node.js ครับ. ใน package มี ชื่อ ว่า DSH hello plugin มี version และ ระบุ files เป็น index.js กับ cordis.patch.yaml ครับ.

จาก นั้น ก็ เริ่ม สร้าง plugin ได้ แล้ว ครับ. bundle หลัก คือ cordis.patch.yaml ครับ. ไฟล์ นี้ ใช้ ผนึก ทุก อย่าง เข้า ด้วย กัน และ แทรก plugin เข้า ไป ใน ระบบ ครับ. เมื่อ มี plugin แล้ว ก็ ลงทะเบียน ได้ ครับ. ทำ ได้ ด้วย คำ สั่ง บน command line สอง สาม คำ สั่ง ครับ. ใน ตัวอย่าง นี้ จะ โชว์ วิธี ลงทะเบียน ลบ plugin และ แสดง รายการ plugin ทั้งหมด ครับ.

สมมติ ว่า เรา สร้าง plugin ชื่อ my DSH plugin ไว้ แล้ว ครับ. นั่น คือ ชื่อ โฟลเดอร์ ครับ. เรา แค่ เพิ่ม โฟลเดอร์ นี้ เข้า ไป ใน โปรเจกต์ DeepSeek harness ครับ. ถ้า คัดลอก คำ สั่ง list ไป รัน จะ แสดง plugin ที่มี อยู่ ทั้งหมด ก่อน ครับ. ตอน นี้ จะ เห็น ว่า ยัง ไม่ มี plugin ครับ. พอ ลงทะเบียน plugin แล้ว ลอง list อีก ครั้ง จะ เห็น ว่า มี แล้ว ชื่อ DSH hello plugin ครับ. ชื่อ นี้ มา จาก schema ของ plugin จริง ดู ใน package.json จะ เห็น ชื่อ DSH hello plugin ซึ่ง ต่าง จาก ชื่อ โฟลเดอร์ ครับ.

พอ ทำ เสร็จ แล้ว เรา restart บริการ DeepSeek harness อีก ครั้ง ครับ. จะ เห็น ว่า plugin โหลด แล้ว มี ข้อความ hello from my plugin แล้ว เฟรมเวิร์ก DeepSeek harness ก็ เริ่ม ทำงาน ครับ. กลับ ไป ที่ เว็บ DeepSeek harness ครับ. ค้น หา hello จะ เห็น ว่า hello plugin โหลด อยู่ แล้ว ครับ. สะดวก มาก เลย ครับ.

ถ้า อยาก แชร์ plugin นี้ ก็ แชร์ บน GitHub ได้ ครับ. คน อื่น ก็ เพิ่ม เข้า ระบบ DeepSeek harness ของ เขา ได้ เช่น กัน ครับ. ถ้า จะ เพิ่ม จาก GitHub ใช้ คำ สั่ง plugin แบบ เพิ่ม จาก repo บน GitHub ได้ เลย ครับ. เพราะ ฉะนั้น plugin นี้ จึง แชร์ ได้ ครับ.

ถ้า อยาก ลบ เช่น ไม่ อยาก ใช้ plugin นี้ แล้ว ก็ ลบ ด้วย ชื่อ plugin ได้ ครับ. จะ เห็น ว่า plugin ถูก ลบ แล้ว ครับ. ตรวจ list อีก ครั้ง จะ ไม่ เหลือ plugin แล้ว ครับ. จาก นั้น restart คอนโซล DeepSeek อีก ครั้ง ครับ. ไป ดู plugins อีก ที ค้น hello จะ เห็น ว่า ถูกลบ ไป แล้ว ครับ. สะดวก สุด ๆ เลย ครับ.

นี่ คือ วิธี สร้าง plugin วิธี เพิ่ม plugin เข้า ระบบ DeepSeek harness และ วิธี ลบ plugin ออก จาก ระบบ ครับ.

ต่อไป เรา จะ พูด ถึง ระบบ Cordis เอง ครับ. อย่าง ที่ บอก ไป แล้ว Cordis เป็น ระบบ plugin ที่ สเกล ได้ สูง มาก ครับ. เอกสาร ของ Cordis อธิบาย ได้ ดี มาก ว่า ทำงาน ยัง ไง ครับ. เรา มี ตัวอย่าง อีก ชุด เพื่อ โชว์ แอป Cordis จริง ๆ ครับ. ต่าง จาก plugin ของ DeepSeek เพราะ DeepSeek plugin สร้าง บน Cordis แต่ Cordis เอง คือ เฟรมเวิร์ก ครับ. งั้น ไป ที่ Cordis แล้ว สร้าง ตัวอย่าง อีก ตัว เพื่อ โชว์ ว่า Cordis ทำงาน ยัง ไง ครับ.

Cordis สามารถ เริ่ม ทำงาน เป็น แอปพลิเคชัน ได้ ไม่ ใช่ แค่ เป็น plugin ครับ. ใน ตัวอย่าง ที่ สร้าง ไว้ จะ โชว์ วิธี เพิ่ม service เข้า แอป Cordis แล้ว รัน ผ่าน ระบบ นิเวศ ของ Cordis ครับ. ใน ตัวอย่าง Cordis จะ เห็น plugin อย่าง app counter และ greeter ซึ่ง เป็น service ครับ. greeter ลงทะเบียน เป็น service counter ก็ ลงทะเบียน เป็น service เช่น กัน ครับ. ส่วน app ใช้ เชื่อม ทั้ง สอง ตัว เข้า ด้วย กัน ครับ. มี counter มี การ เปลี่ยน ค่า counter มี app ready และ มี greeting ด้วย ครับ. สรุป คือ app จะ เชื่อม ทั้ง สอง service เข้า ด้วย กัน ครับ.

จาก นั้น โหลด ทุก อย่าง เข้า ใน Cordis ผ่าน ไฟล์ schema เดียว ชื่อ อย่าง cordis.yml ครับ. ยัง สามารถ ต่อ ระบบ อย่าง hot module reloader และ plugin timer ได้ แต่ ใน เดโม นี้ เรา comment ไว้ ก่อน ครับ. มี main function ที่ เชื่อม ทุก อย่าง เข้า ด้วย กัน ครับ. มัน จะ โหลด plugin รัน plugin แล้ว ก็ unload plugin ครับ. มี ไฟล์ package ด้วย สำหรับ แอป Cordis นี้ ชื่อ ว่า cordis demo ครับ.

ใน main function จะ เห็น ว่า ขั้น แรก รัน plugin เป็น loader ครับ. โหลด แล้ว ก็ include ไฟล์ Cordis ครับ. ไฟล์ นั้น จะ โหลด คอมโพเนนต์ อื่น ๆ ใน plugin ทั้งหมด ครับ. หลัง รัน จะ เห็น ข้อความ เริ่ม Cordis แบบ declarative ครับ. จาก นั้น ทุก อย่าง ทำงาน counter ทำงาน Cordis ทำงาน และ app ทำงาน ครับ. หลัง จาก นั้น เรา clean up ทุก อย่าง ครับ. สะดวก และ กระบวนการ ตรง ไป ตรง มา มาก ครับ. นี่ คือ ภาพ การ ทำงาน ครับ.

น่า จะ ครบ แล้ว แต่ มี อีก อย่าง ใน เดโม Cordis ครับ. เรา สามารถ สร้าง dependency ได้ ครับ. เช่น ถ้า greeter ขึ้น กับ counter ก็ ใส่ counter ไว้ ใน greeter ครับ. counter จะ โหลด ก่อน แล้ว greeter จะ โหลด หลัง จาก ที่ counter โหลด เสร็จ แล้ว ครับ.

แค่นี้ เอง ครับ. มัน คล้าย กับ PI agent ที่ เรา เคย พูด ถึง ใน ช่อง นี้ ครับ. คล้าย กัน แต่ Cordis สเกล ได้ กว่า และ ทรง พลัง กว่า อีก ครับ. เรา สามารถ สร้าง แอป Node.js หรือ plugin ด้วย Node.js แล้ว ใส่ เข้า ระบบ นิเวศ DeepSeek harness ทั้ง ก้อน แล้ว แชร์ กับ ชุมชน ได้ ครับ.

ก็ แค่นี้ ครับ. หวัง ว่า จะ มี ประโยชน์ นะครับ. ถ้า ชอบ คลิป นี้ กด subscribe กด like หรือ คอมเมนต์ ถ้า มี คำ ถาม ได้ เลย ครับ. ขอบคุณ มาก ที่ สนับสนุน ช่อง แล้ว เจอกัน ใน คลิป หน้า ครับ.

04

อภิธานศัพท์เทคนิค

คำศัพท์และชื่อผลิตภัณฑ์ที่คงรูปภาษาอังกฤษ

ศัพท์คำแปล / คำอธิบาย
DeepSeek harnessระบบ harness ของ DeepSeek ที่ ใช้ สถาปัตยกรรม แบบ plugin
Cordisเฟรมเวิร์ก meta สำหรับ spatial temporal composability เป็น ฐาน ของ plugin
pluginส่วน ขยาย ที่ ติดตั้ง เข้า ระบบ harness ได้
contextบริบท หลัก ใน แนวคิด Cordis
serviceบริการ ที่ ลงทะเบียน และ inject เข้า plugin ได้
fiberหน่วย วงจร ชีวิต ของ ทรัพยากร ใน Cordis; dispose แล้ว ยกเลิก การ ลงทะเบียน
disposeการ ปล่อย / ยกเลิก ทรัพยากร ของ fiber
cordis.patch.yamlไฟล์ schema ที่ ผนึก และ แทรก plugin เข้า ระบบ
package.jsonไฟล์ ระบุ ชื่อ เวอร์ชัน และ ไฟล์ ของ plugin แบบ Node.js
index.jsไฟล์ โค้ด หลัก ของ plugin (JavaScript)
TypeScriptภาษา ที่ รองรับ ร่วม กับ JavaScript ใน plugin
Node.jsรันไทม์ ที่ เฟรมเวิร์ก นี้ ยึด เป็น ฐาน
GitHubแหล่ง แชร์ และ ติดตั้ง plugin จาก repo
command lineบรรทัด คำ สั่ง สำหรับ list / เพิ่ม / ลบ plugin
hot module reloaderตัว โหลด โมดูล ใหม่ แบบ ร้อน (ใน เดโม ถูก comment ไว้)
greeterservice ตัวอย่าง ที่ ทักทาย / แสดง greeting
counterservice ตัวอย่าง ที่ นับ ค่า และ เปลี่ยน ค่า ได้
dependencyการ ระบุ ว่า service หนึ่ง ขึ้น กับ service อื่น (ลำดับ โหลด)
declarativeรูปแบบ ประกาศ การ เริ่ม ระบบ Cordis ใน ตัวอย่าง
PI agentหัวข้อ / ระบบ ที่ ช่อง เคย พูด ถึง ใช้ เทียบ กับ Cordis
DSH hello pluginชื่อ plugin ตัวอย่าง แบบ hello world ใน คลิป
my DSH pluginชื่อ โฟลเดอร์ ของ plugin ตัวอย่าง
05

ซับไตเติ้ลภาษาไทย

ดาวน์โหลดหรือดูซับทั้งหมด

1
00:00:00,000 --> 00:00:06,165
สวัสดี ครับ ทุกคน ยินดีต้อนรับ สู่ วิดีโอ อีก ตอน นะครับ.

2
00:00:06,165 --> 00:00:15,899
วันนี้ เรา จะ มา แสดง ให้ ดู ว่า ทำ อย่างไร จึง จะ สร้าง DeepSeek harness plugin ได้ ครับ.

3
00:00:15,899 --> 00:00:21,306
DeepSeek harness กำลัง เป็น ที่ นิยม มาก เลย ครับ.

4
00:00:21,306 --> 00:00:26,065
ลอง ดู ที่ GitHub repo ครับ. ใน เวลา ไม่ กี่
thai-subtitles.srt
SubRip — ใช้กับเครื่องเล่นวิดีโอส่วนใหญ่
↓ ดาวน์โหลด
thai-subtitles.vtt
WebVTT — ใช้กับเว็บ / YouTube
↓ ดาวน์โหลด
เปิดดูซับไตเติ้ลทั้งหมด (137 segments)
1
00:00:00,000 --> 00:00:06,165
สวัสดี ครับ ทุกคน ยินดีต้อนรับ สู่ วิดีโอ อีก ตอน นะครับ.

2
00:00:06,165 --> 00:00:15,899
วันนี้ เรา จะ มา แสดง ให้ ดู ว่า ทำ อย่างไร จึง จะ สร้าง DeepSeek harness plugin ได้ ครับ.

3
00:00:15,899 --> 00:00:21,306
DeepSeek harness กำลัง เป็น ที่ นิยม มาก เลย ครับ.

4
00:00:21,306 --> 00:00:26,065
ลอง ดู ที่ GitHub repo ครับ. ใน เวลา ไม่ กี่

5
00:00:26,065 --> 00:00:30,824
สัปดาห์ เรา ได้ ดาว ไป แล้ว ประมาณ หนึ่ง แสน

6
00:00:30,824 --> 00:00:35,150
หก หมื่น เก้า พัน ดาว ซึ่ง บ้า มาก ครับ.

7
00:00:35,150 --> 00:00:37,637
DeepSeek harness จริง ๆ

8
00:00:37,637 --> 00:00:42,396
แล้ว เป็น ระบบ ที่ ใช้ plugin เป็น ฐาน ครับ.

9
00:00:42,396 --> 00:00:48,993
จาก เอกสาร จะ เห็น ว่า ด้วย Cordis ทุก อย่าง คือ plugin ครับ.

10
00:00:48,993 --> 00:00:56,348
ใน คลิป นี้ ผม จะ พา ดู วิธี สร้าง plugin แบบ จบ ครบ กระบวนการ ครับ.

11
00:00:56,348 --> 00:01:04,676
ใน คอนโซล ของ DeepSeek harness มี เมนู settings แล้ว ไป ที่ plugins ได้ ครับ.

12
00:01:04,676 --> 00:01:11,922
มี plugin สำเร็จรูป อยู่ เยอะ แล้ว พวก นั้น คือ plugin ทั่วไป ครับ.

13
00:01:11,922 --> 00:01:16,681
เรา จะ มา ดู ว่า ทำ อย่างไร จึง สร้าง plugin

14
00:01:16,681 --> 00:01:20,899
แบบ กำหนด เอง แล้ว เอา ไป ใช้ ใน รายการ

15
00:01:20,899 --> 00:01:25,657
plugins ได้ ครับ. งั้น เริ่ม กัน เลย นะครับ.

16
00:01:25,657 --> 00:01:28,902
DeepSeek harness plugin จริง ๆ

17
00:01:28,902 --> 00:01:33,877
แล้ว สร้าง บน ฐาน ของ Cordis ครับ. ถ้า เปิด ดู

18
00:01:33,877 --> 00:01:38,528
GitHub repo ของ Cordis จะ เห็น ว่า มัน เป็น

19
00:01:38,528 --> 00:01:42,313
meta framework ของ spatial temporal

20
00:01:42,313 --> 00:01:44,368
composability ครับ.

21
00:01:44,368 --> 00:01:53,237
แปล ว่า เป็น เฟรมเวิร์ก ที่ ผสม แนวคิด เรื่อง เวลา กับ พื้นที่ เข้า ด้วย กัน ครับ.

22
00:01:53,237 --> 00:02:01,564
ชื่อ ฟัง ดู หรู มาก แต่ บน GitHub ก็ มี ดาว ประมาณ หก พัน แล้ว เช่น กัน ครับ.

23
00:02:01,564 --> 00:02:09,243
ดังนั้น มัน ก็ เป็น ที่ นิยม เหมือน กัน แต่ คำ ถาม คือ ใช้ ยัง ไง ครับ.

24
00:02:09,243 --> 00:02:13,678
เรา จะ ลง ราย ละเอียด กัน เล็ก น้อย ครับ.

25
00:02:13,678 --> 00:02:18,653
จะ พูด ถึง Cordis องค์ประกอบ และ แนวคิด ต่าง ๆ

26
00:02:18,653 --> 00:02:24,168
แต่ ก่อน อื่น มา ต่อ กับ DeepSeek plugin ก่อน ครับ.

27
00:02:24,168 --> 00:02:32,713
ถ้า ดู เอกสาร ของ พวก เขา เขา อธิบาย ทุก อย่าง เกี่ยว กับ Cordis ไว้ แล้ว ครับ.

28
00:02:32,713 --> 00:02:38,228
โดย สรุป Cordis คือ ระบบ plugin ที่ สเกล ได้ จริง ๆ

29
00:02:38,228 --> 00:02:39,328
ครับ.

30
00:02:39,328 --> 00:02:44,735
แนวคิด หลัก ของ Cordis มี อยู่ สอง สาม อย่าง ครับ.

31
00:02:44,735 --> 00:02:47,655
อย่าง แรก คือ context ครับ.

32
00:02:47,655 --> 00:02:51,873
ต่อ มา คือ plugin ครับ. ดังนั้น มี ทั้ง

33
00:02:51,873 --> 00:02:56,848
context กับ plugin และ ใน plugin ยัง มี แนวคิด

34
00:02:56,848 --> 00:03:01,823
เรื่อง service ซึ่ง สามารถ inject service เข้า

35
00:03:01,823 --> 00:03:03,121
ไป ได้ ครับ.

36
00:03:03,121 --> 00:03:07,231
อีก แนวคิด หนึ่ง เรียก ว่า fiber ครับ.

37
00:03:07,231 --> 00:03:10,692
fiber คือ หน่วย วงจร ชีวิต ครับ.

38
00:03:10,692 --> 00:03:19,128
ทุก สิ่ง ที่ ลงทะเบียน ผ่าน Cordis จะ ถูก ยกเลิก เมื่อ fiber ถูก dispose ครับ.

39
00:03:19,128 --> 00:03:23,130
มี กระบวนการ ย้อน กลับ ด้วย ครับ. เรา

40
00:03:23,130 --> 00:03:27,888
ลงทะเบียน fiber แล้ว ก็ สามารถ ย้อน กลับ ได้

41
00:03:27,888 --> 00:03:32,539
คล้าย กับ garbage collection แต่ เรา ทำ และ

42
00:03:32,539 --> 00:03:34,702
ยกเลิก ได้ เอง ครับ.

43
00:03:34,702 --> 00:03:41,299
ระบบ จึง สะอาด และ ใช้ ทรัพยากร ได้ มี ประสิทธิภาพ กว่า ครับ.

44
00:03:41,299 --> 00:03:43,462
นั่น คือ fiber ครับ.

45
00:03:43,462 --> 00:03:47,032
ต่อไป มา ดู plugin จริง กัน ครับ.

46
00:03:47,032 --> 00:03:52,439
ผม จะ โชว์ ตัวอย่าง plugin ที่ สร้าง ไว้ เอง ครับ.

47
00:03:52,439 --> 00:03:56,225
plugin นี้ ชื่อ my DSH plugin ครับ.

48
00:03:56,225 --> 00:04:02,497
มัน ง่าย มาก แบบ hello world สำหรับ DeepSeek harness ครับ.

49
00:04:02,497 --> 00:04:08,662
ใน plugin นี้ มี ไฟล์ schema ชื่อ cordis.patch.yaml ครับ.

50
00:04:08,662 --> 00:04:16,774
อีก ไฟล์ คือ index ซึ่ง เป็น ตัว plugin จริง และ เป็น ไฟล์ JavaScript ครับ.

51
00:04:16,774 --> 00:04:21,424
รองรับ ทั้ง TypeScript และ JavaScript ครับ.

52
00:04:21,424 --> 00:04:28,130
ตัวอย่าง นี้ ใช้ JavaScript แต่ จะ ใช้ TypeScript ก็ ได้ ครับ.

53
00:04:28,130 --> 00:04:35,592
และ มี package ด้วย เพราะ ทุก อย่าง เป็น เฟรมเวิร์ก แบบ Node.js ครับ.

54
00:04:35,592 --> 00:04:40,135
ใน package มี ชื่อ ว่า DSH hello plugin มี

55
00:04:40,135 --> 00:04:44,461
version และ ระบุ files เป็น index.js กับ

56
00:04:44,461 --> 00:04:46,948
cordis.patch.yaml ครับ.

57
00:04:46,948 --> 00:04:51,815
จาก นั้น ก็ เริ่ม สร้าง plugin ได้ แล้ว ครับ.

58
00:04:51,815 --> 00:04:56,033
bundle หลัก คือ cordis.patch.yaml ครับ.

59
00:04:56,033 --> 00:05:04,577
ไฟล์ นี้ ใช้ ผนึก ทุก อย่าง เข้า ด้วย กัน และ แทรก plugin เข้า ไป ใน ระบบ ครับ.

60
00:05:04,577 --> 00:05:09,228
เมื่อ มี plugin แล้ว ก็ ลงทะเบียน ได้ ครับ.

61
00:05:09,228 --> 00:05:15,393
ทำ ได้ ด้วย คำ สั่ง บน command line สอง สาม คำ สั่ง ครับ.

62
00:05:15,393 --> 00:05:24,586
ใน ตัวอย่าง นี้ จะ โชว์ วิธี ลงทะเบียน ลบ plugin และ แสดง รายการ plugin ทั้งหมด ครับ.

63
00:05:24,586 --> 00:05:31,075
สมมติ ว่า เรา สร้าง plugin ชื่อ my DSH plugin ไว้ แล้ว ครับ.

64
00:05:31,075 --> 00:05:34,103
นั่น คือ ชื่อ โฟลเดอร์ ครับ.

65
00:05:34,103 --> 00:05:41,566
เรา แค่ เพิ่ม โฟลเดอร์ นี้ เข้า ไป ใน โปรเจกต์ DeepSeek harness ครับ.

66
00:05:41,566 --> 00:05:49,677
ถ้า คัดลอก คำ สั่ง list ไป รัน จะ แสดง plugin ที่มี อยู่ ทั้งหมด ก่อน ครับ.

67
00:05:49,677 --> 00:05:54,328
ตอน นี้ จะ เห็น ว่า ยัง ไม่ มี plugin ครับ.

68
00:05:54,328 --> 00:06:04,170
พอ ลงทะเบียน plugin แล้ว ลอง list อีก ครั้ง จะ เห็น ว่า มี แล้ว ชื่อ DSH hello plugin ครับ.

69
00:06:04,170 --> 00:06:08,929
ชื่อ นี้ มา จาก schema ของ plugin จริง ดู ใน

70
00:06:08,929 --> 00:06:13,471
package.json จะ เห็น ชื่อ DSH hello plugin

71
00:06:13,471 --> 00:06:17,040
ซึ่ง ต่าง จาก ชื่อ โฟลเดอร์ ครับ.

72
00:06:17,040 --> 00:06:24,395
พอ ทำ เสร็จ แล้ว เรา restart บริการ DeepSeek harness อีก ครั้ง ครับ.

73
00:06:24,395 --> 00:06:29,262
จะ เห็น ว่า plugin โหลด แล้ว มี ข้อความ hello

74
00:06:29,262 --> 00:06:33,480
from my plugin แล้ว เฟรมเวิร์ก DeepSeek

75
00:06:33,480 --> 00:06:36,508
harness ก็ เริ่ม ทำงาน ครับ.

76
00:06:36,508 --> 00:06:40,726
กลับ ไป ที่ เว็บ DeepSeek harness ครับ.

77
00:06:40,726 --> 00:06:46,999
ค้น หา hello จะ เห็น ว่า hello plugin โหลด อยู่ แล้ว ครับ.

78
00:06:46,999 --> 00:06:49,054
สะดวก มาก เลย ครับ.

79
00:06:49,054 --> 00:06:54,678
ถ้า อยาก แชร์ plugin นี้ ก็ แชร์ บน GitHub ได้ ครับ.

80
00:06:54,678 --> 00:07:02,248
คน อื่น ก็ เพิ่ม เข้า ระบบ DeepSeek harness ของ เขา ได้ เช่น กัน ครับ.

81
00:07:02,248 --> 00:07:11,441
ถ้า จะ เพิ่ม จาก GitHub ใช้ คำ สั่ง plugin แบบ เพิ่ม จาก repo บน GitHub ได้ เลย ครับ.

82
00:07:11,441 --> 00:07:15,984
เพราะ ฉะนั้น plugin นี้ จึง แชร์ ได้ ครับ.

83
00:07:15,984 --> 00:07:24,420
ถ้า อยาก ลบ เช่น ไม่ อยาก ใช้ plugin นี้ แล้ว ก็ ลบ ด้วย ชื่อ plugin ได้ ครับ.

84
00:07:24,420 --> 00:07:28,313
จะ เห็น ว่า plugin ถูก ลบ แล้ว ครับ.

85
00:07:28,313 --> 00:07:33,721
ตรวจ list อีก ครั้ง จะ ไม่ เหลือ plugin แล้ว ครับ.

86
00:07:33,721 --> 00:07:38,912
จาก นั้น restart คอนโซล DeepSeek อีก ครั้ง ครับ.

87
00:07:38,912 --> 00:07:45,618
ไป ดู plugins อีก ที ค้น hello จะ เห็น ว่า ถูกลบ ไป แล้ว ครับ.

88
00:07:45,618 --> 00:07:49,944
สะดวก สุด ๆ เลย ครับ. นี่ คือ วิธี สร้าง

89
00:07:49,944 --> 00:07:54,595
plugin วิธี เพิ่ม plugin เข้า ระบบ DeepSeek

90
00:07:54,595 --> 00:07:59,461
harness และ วิธี ลบ plugin ออก จาก ระบบ ครับ.

91
00:07:59,461 --> 00:08:04,004
ต่อไป เรา จะ พูด ถึง ระบบ Cordis เอง ครับ.

92
00:08:04,004 --> 00:08:11,791
อย่าง ที่ บอก ไป แล้ว Cordis เป็น ระบบ plugin ที่ สเกล ได้ สูง มาก ครับ.

93
00:08:11,791 --> 00:08:18,064
เอกสาร ของ Cordis อธิบาย ได้ ดี มาก ว่า ทำงาน ยัง ไง ครับ.

94
00:08:18,064 --> 00:08:23,688
เรา มี ตัวอย่าง อีก ชุด เพื่อ โชว์ แอป Cordis จริง ๆ

95
00:08:23,688 --> 00:08:28,014
ครับ. ต่าง จาก plugin ของ DeepSeek เพราะ

96
00:08:28,014 --> 00:08:32,989
DeepSeek plugin สร้าง บน Cordis แต่ Cordis เอง

97
00:08:32,989 --> 00:08:35,152
คือ เฟรมเวิร์ก ครับ.

98
00:08:35,152 --> 00:08:44,561
งั้น ไป ที่ Cordis แล้ว สร้าง ตัวอย่าง อีก ตัว เพื่อ โชว์ ว่า Cordis ทำงาน ยัง ไง ครับ.

99
00:08:44,561 --> 00:08:52,781
Cordis สามารถ เริ่ม ทำงาน เป็น แอปพลิเคชัน ได้ ไม่ ใช่ แค่ เป็น plugin ครับ.

100
00:08:52,781 --> 00:08:57,540
ใน ตัวอย่าง ที่ สร้าง ไว้ จะ โชว์ วิธี เพิ่ม

101
00:08:57,540 --> 00:09:02,082
service เข้า แอป Cordis แล้ว รัน ผ่าน ระบบ

102
00:09:02,082 --> 00:09:04,462
นิเวศ ของ Cordis ครับ.

103
00:09:04,462 --> 00:09:13,871
ใน ตัวอย่าง Cordis จะ เห็น plugin อย่าง app counter และ greeter ซึ่ง เป็น service ครับ.

104
00:09:13,871 --> 00:09:22,415
greeter ลงทะเบียน เป็น service counter ก็ ลงทะเบียน เป็น service เช่น กัน ครับ.

105
00:09:22,415 --> 00:09:28,039
ส่วน app ใช้ เชื่อม ทั้ง สอง ตัว เข้า ด้วย กัน ครับ.

106
00:09:28,039 --> 00:09:36,367
มี counter มี การ เปลี่ยน ค่า counter มี app ready และ มี greeting ด้วย ครับ.

107
00:09:36,367 --> 00:09:42,748
สรุป คือ app จะ เชื่อม ทั้ง สอง service เข้า ด้วย กัน ครับ.

108
00:09:42,748 --> 00:09:52,374
จาก นั้น โหลด ทุก อย่าง เข้า ใน Cordis ผ่าน ไฟล์ schema เดียว ชื่อ อย่าง cordis.yml ครับ.

109
00:09:52,374 --> 00:09:57,240
ยัง สามารถ ต่อ ระบบ อย่าง hot module reloader

110
00:09:57,240 --> 00:10:01,567
และ plugin timer ได้ แต่ ใน เดโม นี้ เรา

111
00:10:01,567 --> 00:10:03,946
comment ไว้ ก่อน ครับ.

112
00:10:03,946 --> 00:10:10,111
มี main function ที่ เชื่อม ทุก อย่าง เข้า ด้วย กัน ครับ.

113
00:10:10,111 --> 00:10:16,275
มัน จะ โหลด plugin รัน plugin แล้ว ก็ unload plugin ครับ.

114
00:10:16,275 --> 00:10:23,738
มี ไฟล์ package ด้วย สำหรับ แอป Cordis นี้ ชื่อ ว่า cordis demo ครับ.

115
00:10:23,738 --> 00:10:30,876
ใน main function จะ เห็น ว่า ขั้น แรก รัน plugin เป็น loader ครับ.

116
00:10:30,876 --> 00:10:34,986
โหลด แล้ว ก็ include ไฟล์ Cordis ครับ.

117
00:10:34,986 --> 00:10:38,771
ไฟล์ นั้น จะ โหลด คอมโพเนนต์ อื่น ๆ

118
00:10:38,771 --> 00:10:41,259
ใน plugin ทั้งหมด ครับ.

119
00:10:41,259 --> 00:10:47,640
หลัง รัน จะ เห็น ข้อความ เริ่ม Cordis แบบ declarative ครับ.

120
00:10:47,640 --> 00:10:55,319
จาก นั้น ทุก อย่าง ทำงาน counter ทำงาน Cordis ทำงาน และ app ทำงาน ครับ.

121
00:10:55,319 --> 00:10:59,861
หลัง จาก นั้น เรา clean up ทุก อย่าง ครับ.

122
00:10:59,861 --> 00:11:04,512
สะดวก และ กระบวนการ ตรง ไป ตรง มา มาก ครับ.

123
00:11:04,512 --> 00:11:07,432
นี่ คือ ภาพ การ ทำงาน ครับ.

124
00:11:07,432 --> 00:11:13,164
น่า จะ ครบ แล้ว แต่ มี อีก อย่าง ใน เดโม Cordis ครับ.

125
00:11:13,164 --> 00:11:17,166
เรา สามารถ สร้าง dependency ได้ ครับ.

126
00:11:17,166 --> 00:11:24,628
เช่น ถ้า greeter ขึ้น กับ counter ก็ ใส่ counter ไว้ ใน greeter ครับ.

127
00:11:24,628 --> 00:11:33,713
counter จะ โหลด ก่อน แล้ว greeter จะ โหลด หลัง จาก ที่ counter โหลด เสร็จ แล้ว ครับ.

128
00:11:33,713 --> 00:11:35,444
แค่นี้ เอง ครับ.

129
00:11:35,444 --> 00:11:41,933
มัน คล้าย กับ PI agent ที่ เรา เคย พูด ถึง ใน ช่อง นี้ ครับ.

130
00:11:41,933 --> 00:11:48,638
คล้าย กัน แต่ Cordis สเกล ได้ กว่า และ ทรง พลัง กว่า อีก ครับ.

131
00:11:48,638 --> 00:11:53,505
เรา สามารถ สร้าง แอป Node.js หรือ plugin ด้วย

132
00:11:53,505 --> 00:11:57,940
Node.js แล้ว ใส่ เข้า ระบบ นิเวศ DeepSeek

133
00:11:57,940 --> 00:12:02,374
harness ทั้ง ก้อน แล้ว แชร์ กับ ชุมชน ได้

134
00:12:02,374 --> 00:12:04,645
ครับ. ก็ แค่นี้ ครับ.

135
00:12:04,645 --> 00:12:07,998
หวัง ว่า จะ มี ประโยชน์ นะครับ.

136
00:12:07,998 --> 00:12:16,542
ถ้า ชอบ คลิป นี้ กด subscribe กด like หรือ คอมเมนต์ ถ้า มี คำ ถาม ได้ เลย ครับ.

137
00:12:16,542 --> 00:12:22,923
ขอบคุณ มาก ที่ สนับสนุน ช่อง แล้ว เจอกัน ใน คลิป หน้า ครับ.