Skip to content

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/ ที่คำสั่งใช้งาน ซึ่งยังคงเป็นไปตาม ตำแหน่งที่สร้างอาร์ทิแฟกต์

การตั้งค่า ​

  1. บันทึก workset (ครั้งเดียวต่อเครื่อง) ระบุ repo และ store เป็นสมาชิก และระบุเครื่องมือที่จะใช้เปิด:

    bash
    # บันทึกรายการโฟลเดอร์ที่มีชื่อ ซึ่งเปิดพร้อมกัน
    openspec workset create platform \
      --member ~/src/web-app \
      --member ~/openspec/team-plans \
      --tool code
    yaml
    Saved workset 'platform' (2 members) to your machine.
    Open it any time with: openspec workset open platform
  2. เปิดใช้งาน ทุกครั้งที่คุณเริ่มทำงาน:

    bash
    # เปิดสมาชิกทุกตัวในหน้าต่าง VS Code เดียว
    openspec workset open platform

openspec workset list จะแสดงสิ่งที่คุณบันทึกไว้ และ openspec workset remove <name> จะลบ workset โดยไม่แตะต้องโฟลเดอร์สมาชิก:

yaml
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)