Worksets (เบต้า)
เปิด store และ repo ที่ใช้ store นั้นในหน้าต่างเอดิเตอร์เดียวกัน เพื่อให้เอเจนต์เห็นทั้งสองส่วน
เมื่อใช้ store บริบทที่เอเจนต์ต้องการจะกระจายอยู่ตามโฟลเดอร์ต่าง ๆ spec และ change จะอยู่ใน store และโค้ดจะอยู่ในแต่ละ repo เอเจนต์ที่เริ่มใน repo หนึ่งสามารถอ่านและ grep ได้เฉพาะ repo นั้นเท่านั้น จึงทำงานโดยเห็นภาพเพียงครึ่งเดียว
Worksets คือเครื่องมือที่ OpenSpec มีให้สำหรับสถานการณ์นี้ workset คือรายการโฟลเดอร์ที่มีชื่อและถูกบันทึกไว้ เพื่อให้เปิดพร้อมกัน หน้านี้สมมติว่า store ได้รับการตั้งค่าและลงทะเบียนบนเครื่องของคุณแล้ว เรื่อง Stores (เบต้า) จะอธิบายส่วนนั้น
วิธีการทำงาน
- มันคืออะไร: รายการโฟลเดอร์ที่มีชื่อ ซึ่งบันทึกไว้บนเครื่องของคุณเท่านั้น ไม่มีการเขียนสิ่งใดลงในโฟลเดอร์สมาชิก และไม่มีสิ่งใดถูก commit
- การเปิดทำอะไร: OpenSpec จะสร้างไฟล์
.code-workspaceจากรายการนั้น แล้วเปิดไฟล์นั้นด้วยเอดิเตอร์ของคุณ โฟลเดอร์สมาชิกทุกโฟลเดอร์จะอยู่ในหน้าต่างเดียวกัน - สิ่งที่คุณได้รับ: ฟีเจอร์ค้นหาของเอดิเตอร์ และเอเจนต์ใด ๆ ที่คุณรันในหน้าต่างนั้น สามารถอ่านโฟลเดอร์สมาชิกทุกโฟลเดอร์ได้ เอเจนต์สามารถ grep ทั้ง spec ของ store และโค้ดของ repo ได้ในเซสชันเดียว
- สิ่งที่ไม่เปลี่ยน: โฟลเดอร์
openspec/ที่คำสั่งใช้งาน ซึ่งยังคงเป็นไปตาม ตำแหน่งที่สร้างอาร์ทิแฟกต์
การตั้งค่า
บันทึก workset (ครั้งเดียวต่อเครื่อง) ระบุ repo และ store เป็นสมาชิก และระบุเครื่องมือที่จะใช้เปิด:
bash# บันทึกรายการโฟลเดอร์ที่มีชื่อ ซึ่งเปิดพร้อมกัน openspec workset create platform \ --member ~/src/web-app \ --member ~/openspec/team-plans \ --tool codeyamlSaved workset 'platform' (2 members) to your machine. Open it any time with: openspec workset open platformเปิดใช้งาน ทุกครั้งที่คุณเริ่มทำงาน:
bash# เปิดสมาชิกทุกตัวในหน้าต่าง VS Code เดียว openspec workset open platform
openspec workset list จะแสดงสิ่งที่คุณบันทึกไว้ และ openspec workset remove <name> จะลบ workset โดยไม่แตะต้องโฟลเดอร์สมาชิก:
platform (opens in VS Code)
web-app /Users/you/src/web-app
team-plans /Users/you/openspec/team-plansการใช้งาน: หนึ่ง change สองโฟลเดอร์
สมมติว่า change add-login อยู่ใน store team-plans และโค้ดของ change นั้นอยู่ใน web-app ให้เปิด workset platform แล้วสั่งให้เอเจนต์ของคุณนำ change นั้นไปใช้งาน ในเซสชันเดียว เอเจนต์สามารถ:
- อ่าน
team-plans/openspec/changes/add-login/และ spec ที่อยู่ข้างเคียง - แก้ไขโค้ดใน
web-app/ - รันคำสั่ง
openspecจากภายในweb-app
หากไม่มี workset เอเจนต์จะเห็นเฉพาะโฟลเดอร์ที่มันถูกเริ่มเท่านั้น
เครื่องมือที่รองรับในตัว
- VS Code (
--tool code) และ Cursor (--tool cursor): รองรับในตัว แต่ละตัวจะเปิดหนึ่งหน้าต่างพร้อมโฟลเดอร์สมาชิกทุกโฟลเดอร์ - Claude Code และ Codex ในเทอร์มินัล: ถูกปิดใช้งานชั่วคราวในฐานะตัวเปิด workset ระหว่างที่ขั้นตอนดังกล่าวกำลังถูกปรับปรุง
--tool claudeหรือ--tool codexจะหยุดทำงานพร้อมข้อผิดพลาดที่แจ้งเรื่องดังกล่าว และชี้แนะให้ใช้ VS Code หรือ Cursor - เอดิเตอร์อื่น: เพิ่มไว้ใต้คีย์
openersใน การตั้งค่า CLI (config.json)