วิธีการทำงานของคำสั่ง
สิ่งสำคัญที่ต้องรู้: OpenSpec มีคำสั่งสองประเภท และทำงานในสองสถานที่ที่แตกต่างกัน
- คำสั่ง
openspec ...ทำงานใน เทอร์มินัล (terminal) ของคุณ (ตัวอย่าง:openspec init.) - คำสั่ง
/opsx:...ทำงานใน แชทของ AI assistant ของคุณ (ตัวอย่าง:/opsx:propose.)
หากคุณเคยพิมพ์ /opsx:propose ลงในเทอร์มินัลแล้วไม่มีอะไรเกิดขึ้น นี่คือเหตุผลที่นั่น คุณกำลังพูดกับส่วนที่ผิดของ OpenSpec คำสั่งแบบ Slash (/) ไม่ใช่คำสั่งเทอร์มินัล แต่เป็นคำแนะนำที่คุณมอบหมายให้ AI coding assistant ของคุณ ในกล่องแชทเดียวกับที่คุณมักจะพิมพ์ว่า "เพิ่มฟอร์มเข้าสู่ระบบ"
ความแตกต่างเพียงอย่างเดียวนี้คือจุดสะดุดที่พบบ่อยที่สุดสำหรับผู้ใช้ใหม่ ดังนั้นเรามาดูให้ชัดเจนยิ่งขึ้น
สองส่วนของ OpenSpec
OpenSpec เป็นโปรเจกต์เดียวที่สวมบทบาทสองอย่าง
CLI (ส่วนเทอร์มินัล). โปรแกรมชื่อ openspec ที่คุณติดตั้งและเรียกใช้จาก shell ของคุณ มันจะตั้งค่าโปรเจกต์ของคุณ แสดงรายการและตรวจสอบการเปลี่ยนแปลง แสดงแดชบอร์ด และเก็บงานที่เสร็จสิ้น คุณสามารถพิมพ์คำสั่งเหล่านี้ลงใน iTerm, เทอร์มินัลของ VS Code, PowerShell หรือที่ไหนก็ได้ที่คุณรัน git หรือ npm
openspec init # ตั้งค่า OpenSpec ในโปรเจกต์นี้
openspec list # ดูการเปลี่ยนแปลงที่กำลังใช้งานอยู่
openspec view # เปิดแดชบอร์ดแบบโต้ตอบคำสั่งแบบ Slash (ส่วนแชท). คำสั่งสั้นๆ เช่น /opsx:propose และ /opsx:apply ที่คุณพิมพ์ลงใน AI assistant ของคุณ สิ่งเหล่านี้บอกให้ AI ปฏิบัติตามขั้นตอนการทำงานของ OpenSpec: ร่างข้อเสนอ เขียนสเปค สร้างตามรายการงาน และเก็บเมื่อเสร็จสิ้น คุณพิมพ์คำสั่งเหล่านี้ลงใน Claude Code, Cursor, Devin Desktop, Copilot หรือ assistant ใดๆ ที่คุณใช้
/opsx:propose add-dark-mode (พิมพ์ในแชท AI ของคุณ)
/opsx:apply (พิมพ์ในแชท AI ของคุณ)
/opsx:archive (พิมพ์ในแชท AI ของคุณ)นี่คือแนวคิดหลักในรูปแบบภาพ:
เทอร์มินัลของคุณ แชทของ AI Assistant ของคุณ
┌──────────────────────┐ ┌──────────────────────────────┐
│ $ openspec init │ ติดตั้ง │ /opsx:propose add-dark-mode │
│ $ openspec list │ ──────────► │ /opsx:apply │
│ $ openspec view │ คำสั่ง │ /opsx:archive │
└──────────────────────┘ & ทักษะ └──────────────────────────────┘
รัน openspec ตรงนี้ รัน /opsx:* ตรงนี้สังเกตลูกศรได้ไหม การรัน openspec init ในเทอร์มินัลคือสิ่งที่ ติดตั้ง คำสั่งแบบ Slash เข้าไปในเครื่องมือ AI ของคุณ ส่วนเทอร์มินัลจะเป็นผู้ตั้งค่าส่วนแชท หลังจากนั้น การใช้งานประจำวันส่วนใหญ่จะเกิดขึ้นในแชท
"ฉันจะเริ่มโหมดโต้ตอบได้อย่างไร?"
ไม่มีโหมดโต้ตอบแยกต่างหากที่ต้องเริ่มต้น คำถามนี้พบบ่อยมาก จึงขอตอบตรงๆ ว่า
คุณไม่ต้องเข้าสู่โหมดพิเศษของ OpenSpec เพียงแค่เปิด AI coding assistant ของคุณเหมือนเดิม แล้วพิมพ์คำสั่งแบบ Slash ลงในแชท คำสั่งแบบ Slash คือ วิธีที่คุณ "เข้าสู่" OpenSpec Assistant ของคุณจะรู้จักมัน โหลดทักษะ OpenSpec ที่เกี่ยวข้อง และเริ่มปฏิบัติตามขั้นตอนการทำงาน
ดังนั้นคำแนะนำที่แท้จริงคือ:
- เปิด AI coding assistant ของคุณ (เช่น Claude Code, Cursor, Devin Desktop ฯลฯ) ในโปรเจกต์ของคุณ
- พิมพ์
/opsx:proposeในแชทของมัน ในตำแหน่งเดียวกับที่คุณพิมพ์คำขออื่นๆ - สังเกตฟังก์ชันเติมอัตโนมัติ: หากติดตั้ง OpenSpec ไว้ คุณจะเห็น
/opsx:propose,/opsx:applyและอื่นๆ ปรากฏขึ้นขณะที่คุณพิมพ์เครื่องหมายทับ
แค่นั้นเอง ไม่มีโหมดให้สลับ ไม่มีเดมอนให้เรียกใช้ และไม่มีหน้าต่างแยกต่างหาก
มีสิ่งหนึ่งที่เป็น การโต้ตอบได้อย่างแท้จริง ซึ่งอยู่ในเทอร์มินัลคือ openspec view มันจะเปิดแดชบอร์ดสำหรับการสำรวจสเปคและการเปลี่ยนแปลงของคุณ แต่สิ่งนี้เป็นเพียงตัวดูข้อมูล ไม่ใช่เครื่องมือที่ใช้สำหรับเสนอไอเดียและสร้างงาน การสร้างงานเกิดขึ้นผ่านคำสั่งแบบ Slash ในแชท
เหตุใดจึงมีการแบ่งแยกเช่นนี้
ควรทำความเข้าใจ เพราะมันอธิบายว่าทำไม OpenSpec จึงทำงานร่วมกับ AI tools มากกว่า 30 ตัว
CLI คือ เครื่องยนต์ มันรู้กฎต่างๆ: โครงสร้างโฟลเดอร์การเปลี่ยนแปลงเป็นอย่างไร อาร์ติแฟกต์ใดขึ้นอยู่กับอาร์ติแฟกต์อื่นอย่างไร และวิธีการรวม delta spec เข้าไปยังแหล่งความจริง (source of truth) ของคุณอย่างไร มันเหมือนกันในทุกที่
คำสั่งแบบ Slash คือ พวงมาลัย และทุก AI tool มีพวงมาลัยที่แตกต่างกันเล็กน้อย Claude Code เรียกมันว่า commands Cursor และ Devin Desktop มีรูปแบบของตัวเอง บางเครื่องมือเรียกมันว่า skills เมื่อคุณรัน openspec init OpenSpec จะสร้างไฟล์ที่เหมาะสมสำหรับแต่ละเครื่องมือที่คุณเลือกไว้ เพื่อให้เจตนาของ /opsx:propose เดียวกันทำงานได้ไม่ว่าคุณจะชอบ assistant ตัวไหน
จุดแข็งของการออกแบบนี้: คุณเรียนรู้ขั้นตอนการทำงานครั้งเดียวและนำไปใช้ได้กับทุกเครื่องมือ ข้อเสียเปรียบ: รูปแบบไวยากรณ์ที่แน่นอนของคำสั่งอาจแตกต่างกันเล็กน้อยระหว่างเครื่องมือ ซึ่งเป็นหัวข้อในภาคถัดไป
ไวยากรณ์คำสั่งแบบ Slash ตามประเภทเครื่องมือ
เจตนาเหมือนกันในทุกที่ แต่การสะกดคำจะอ้างอิงจากไฟล์ที่เครื่องมือของคุณโหลด
| ไฟล์คำสั่งของเครื่องมือคุณ | วิธีพิมพ์ | เครื่องมือตัวอย่าง |
|---|---|---|
.../commands/opsx/<id>.* | /opsx:propose | Claude Code, Gemini CLI, Crush |
.../opsx-<id>.* | /opsx-propose | Cursor, GitHub Copilot (IDE), Devin Desktop, Trae, Oh My Pi |
.amazonq/prompts/opsx-<id>.md | @opsx-propose | Amazon Q Developer |
| ไม่มี — ใช้เฉพาะ skills | /openspec-propose | CodeArts, ForgeCode, Hermes, Mistral Vibe, Zed Agent, shared .agents |
| ไม่มี — Kimi Code | /skill:openspec-propose | Kimi Code |
| ไม่มี — Codex CLI | $openspec-propose | Codex |
Devin เป็นเครื่องมือเดียวที่ครอบคลุมสองแถว Devin Desktop อ่าน .devin/workflows/ ดังนั้น /opsx-propose จึงใช้งานได้ตรงนั้น; Devin Local ไม่ รองรับ ดังนั้นบน agent นั้นให้ใช้ ทักษะ /openspec-propose แทน ทักษะที่ OpenSpec เขียนไว้ใน .devin/skills/ สามารถใช้งานได้ทั้งสองที่ นั่นคือเหตุผลที่พวกเขาอ้างอิงถึงกันด้วยชื่อ ทักษะ
เครื่องมือทั้งหมดถูกระบุไว้ใน How To Invoke — ตารางนั้นถือเป็นแหล่งข้อมูลหลัก แถวสองแถวไม่ใช่คำสั่งแบบ Slash เลย: Amazon Q โหลดไฟล์ของมันเข้าไปในไลบรารี prompt ที่เรียกใช้ด้วย @ และสามแถวสุดท้ายใช้ชื่อ skill ซึ่งไม่ใช่ id ของคำสั่ง (/opsx:apply คือทักษะ openspec-apply-change)
หากไม่แน่ใจ ให้ดูบรรทัด "Getting started" ที่ openspec init พิมพ์ออกมา: มันจะใช้รูปแบบที่เครื่องมือของคุณลงทะเบียนไว้แล้วอยู่แล้ว การพิมพ์เครื่องหมายทับแล้วสังเกตการเติมอัตโนมัติก็ทำได้เช่นกัน สำหรับเครื่องมือที่แสดงคำสั่งแบบ Slash
คำสั่งเหล่านั้นมาจากไหน: skills และ commands
เมื่อคุณรัน openspec init (หรือ openspec update) OpenSpec จะเขียนไฟล์ขนาดเล็กเข้าไปในโปรเจกต์ของคุณเพื่อให้เครื่องมือ AI ของคุณค้นหาขั้นตอนการทำงานได้ ขึ้นอยู่กับเครื่องมือและการตั้งค่าของคุณ ไฟล์เหล่านี้อาจเป็น skills, commands หรือทั้งคู่
- Skills อยู่ในพื้นที่เช่น
.claude/skills/openspec-*/SKILL.md它们是 emerging cross-tool standard: โฟลเดอร์ที่มีคำแนะนำที่ assistant ของคุณตรวจจับได้โดยอัตโนมัติ - Commands อยู่ในพื้นที่เช่น
.cursor/commands/opsx-<id>.mdหรือ.claude/commands/opsx/<id>.md— โครงสร้างเป็นไปตามเครื่องมือ และเครื่องมือเป็นผู้ตัดสินใจว่าคุณพิมพ์คำสั่งอย่างไร พวกมันเป็นไฟล์คำสั่งแบบ Slash แบบเก่าสำหรับแต่ละเครื่องมือ Codex ไม่ได้สร้างไฟล์คำสั่ง; ให้ใช้.agents/skills/openspec-*แทน
คุณไม่จำเป็นต้องสนใจว่าเครื่องมือของคุณใช้แบบไหน แค่พิมพ์คำสั่งแบบ Slash แล้วมันก็ทำงานได้ แต่การรู้ว่าไฟล์เหล่านี้มีอยู่จะช่วยได้เมื่อเกิดข้อผิดพลาด: หากคำสั่งหายไป มักหมายถึงไฟล์เหล่านี้หายไปหรือไม่ได้รับการอัปเดต และ openspec update จะสร้างไฟล์เหล่านั้นใหม่
ดู Supported Tools สำหรับเส้นทางที่แน่นอนของแต่ละเครื่องมือ และ Migration Guide สำหรับวิธีที่ skills เข้ามาแทนที่แนวทาง command-only แบบเก่า
ยืนยันว่าการติดตั้งสำเร็จ
การตรวจสอบอย่างรวดเร็ว เรียงจากเร็วที่สุดไปหาช้าที่สุด:
- พิมพ์เครื่องหมายทับในแชท AI ของคุณ เริ่มพิมพ์
/opsxและสังเกตคำแนะนำการเติมอัตโนมัติ หากปรากฏขึ้น แสดงว่าคุณพร้อมใช้งานแล้ว บนเครื่องมือที่ใช้เฉพาะ skills (Codex, Kimi Code, CodeArts, ForgeCode, Hermes, Mistral Vibe, Zed Agent หรือเป้าหมาย shared.agents)/opsxจะไม่เติมอัตโนมัติแม้ในการติดตั้งที่สมบูรณ์ดี — ให้ลองใช้ชื่อทักษะจากตารางด้านบนแทน - มองหาไฟล์ สำหรับ Claude Code ตรวจสอบว่า
.claude/skills/มีโฟลเดอร์openspec-*หรือไม่ เครื่องมืออื่นๆ ใช้ไดเรกทอรีของตนเอง (Supported Tools ระบุไว้) - รันการตั้งค่าอีกครั้ง จาก root ของโปรเจกต์ของคุณ รัน
openspec updateสิ่งนี้จะสร้างไฟล์ skill และ command ใหม่สำหรับเครื่องมือใดๆ ที่คุณกำหนดค่าไว้ - รีสตาร์ท assistant ของคุณ เครื่องมือหลายตัวสแกนหา skills และ commands ตอนเริ่มต้น ดังนั้นการเปิดหน้าต่างใหม่อาจเป็นขั้นตอนที่ขาดหายไป
ฉันมีคำสั่งอะไรบ้าง?
ตามค่าเริ่มต้น OpenSpec จะติดตั้งชุดคำสั่งแบบ Slash core ดังนี้:
/opsx:explore: คิดวิเคราะห์ไอเดียกับ AI ก่อนที่จะตัดสินใจทำการเปลี่ยนแปลง (ขั้นตอนแรกที่ดีมากเมื่อคุณยังไม่แน่ใจ)/opsx:propose: สร้างการเปลี่ยนแปลงและร่างอาร์ติแฟกต์การวางแผนทั้งหมดของมันในขั้นตอนเดียว/opsx:apply: สร้างการเปลี่ยนแปลงโดยทำงานผ่านรายการงานของมัน/opsx:update: ปรับปรุงอาร์ติแฟกต์การวางแผนของการเปลี่ยนแปลงและรักษาความสอดคล้องกัน/opsx:sync: รวมการอัปเดตสเปคของการเปลี่ยนแปลงเข้ากับสเปคหลักของคุณ (มักจะเป็นอัตโนมัติ)/opsx:archive: จบการเปลี่ยนแปลงและจัดเก็บไว้
จังหวะการทำงานที่ดีตามค่าเริ่มต้น: explore เมื่อคุณกำลังพิจารณาว่าจะทำอะไร จากนั้น propose, apply, archive คู่มือ Explore First อธิบายว่าทำไมขั้นตอนเปิดหน้านี้จึงคุ้มค่า
ยังมีชุด expanded สำหรับผู้ที่ต้องการควบคุมละเอียดมากขึ้น (/opsx:new, /opsx:continue, /opsx:ff, /opsx:verify, /opsx:bulk-archive, /opsx:onboard) คุณสามารถเปิดใช้งานได้ด้วย openspec config profile แล้วนำไปใช้ด้วย openspec update
เพิ่งเริ่มต้นทั้งหมดนี้? /opsx:onboard (อยู่ในชุด expanded) จะพาคุณผ่านการเปลี่ยนแปลงที่สมบูรณ์บนโค้ดเบสของคุณเอง โดยบรรยายทีละขั้นตอน นี่เป็นการแนะนำที่เป็นมิตรที่สุดเท่าที่จะเป็นไปได้
สำหรับรายละเอียดว่าแต่ละคำสั่งทำอะไร ดู Commands สำหรับเวลาที่เหมาะสมที่จะใช้คำสั่งใด ดู Workflows
การรันครั้งแรกที่สะอาดสะอ้าน
เมื่อนำทุกอย่างมารวมกัน นี่คือลำดับทั้งหมดโดยแต่ละขั้นตอนถูกติดป้ายกำกับว่าเกิดขึ้นที่ไหน
TERMINAL $ npm install -g @fission-ai/openspec@latest
TERMINAL $ cd your-project
TERMINAL $ openspec init
(ติดตั้งคำสั่งแบบ Slash เข้าไปในเครื่องมือ AI ของคุณ)
AI CHAT /opsx:explore
(ไม่บังคับ: คิดวิเคราะห์ไอเดียกับ AI ก่อน)
AI CHAT /opsx:propose add-dark-mode
(AI ร่างข้อเสนอ สเปค การออกแบบ งาน)
AI CHAT /opsx:apply
(AI สร้างมัน โดยทำเครื่องหมายงานที่เสร็จแล้ว)
AI CHAT /opsx:archive
(การเปลี่ยนแปลงถูกผสานเข้าสูสเปคของคุณและจัดเก็บไว้)สองขั้นตอนในเทอร์มินัลเพื่อตั้งค่า จากนั้นคุณใช้งานในแชท นั่นคือจังหวะการทำงาน
เกี่ยวข้อง
- Getting Started: การสาธิตการเปลี่ยนแปลงครั้งแรกแบบเต็มรูปแบบ
- Commands: รายละเอียดคำสั่งแบบ Slash ทุกตัว
- CLI: รายละเอียดคำสั่งเทอร์มินัลทุกตัว
- Supported Tools: ไวยากรณ์และตำแหน่งไฟล์สำหรับแต่ละเครื่องมือ
- FAQ: คำตอบด่วนเพิ่มเติม
- Troubleshooting: วิธีแก้ไขเมื่อคำสั่งไม่ปรากฏ