วิธีการทำงานของ vobuda ทีละส่วน
กฎเดียวที่ยึดทั้งโปรแกรมไว้ด้วยกัน สถานะของหน้าต่างอยู่ในหน่วยความจำ ส่วนการตั้งค่าอยู่ในไฟล์ ทุกอย่างด้านล่างนี้เป็นผลจากกฎนี้
กฎที่อยู่เบื้องหลังทุกอย่าง
หน้าต่างมีแท็บ แท็บมีบล็อก บล็อกเป็นได้ทั้งเทอร์มินัล ไฟล์ที่กำลังแก้ไข แผงไฟล์ หน้าเว็บ รูปภาพ PDF หน้า Markdown diff มอนิเตอร์ระบบ หน้าการตั้งค่า หรือแผงของส่วนเสริม แยกได้ทุกทิศทางแบบซ้อนกัน ลาก ปรับขนาด และปิดด้วยกฎชุดเดียว แทนที่จะมีกฎชุดใหม่สำหรับทุกฟีเจอร์ใหม่ สิ่งที่ใหญ่เกินกว่าจะเป็นของทุกคนมาเป็นส่วนเสริมจากแคตตาล็อกของ vobuda เอง ตอนนี้คือ Design และ Director ติดตั้งและถอดทั้งชุดได้ในการกดครั้งเดียว
การจัดวางนี้ไม่ได้ถูกเก็บไว้ในฐานข้อมูลเลย เพราะไม่มีฐานข้อมูล สิ่งที่หน้าต่างกำลังทำอยู่ในหน่วยความจำ ส่วนสิ่งที่คุณตัดสินใจไว้อยู่ในไฟล์ นี่คือเหตุผลที่ปุ่ม แป้นพิมพ์ แถบเมนู Cmd+K และบรรทัดคำสั่งต่างเรียกการกระทำเดียวกันด้วยชื่อเดียวกัน และเหตุผลที่การทำให้มันทำงานต่างออกไปแทบทุกครั้งหมายถึงการแก้ไขไฟล์ JSON
นี่ก็เป็นเหตุผลที่เทอร์มินัลที่ดีที่สุดสำหรับ Mac สำหรับงานประเภทที่โปรแกรมนี้ถูกสร้างมารองรับ ต้องเป็นตัวที่คุณตรวจสอบได้ ถ้ามีการตั้งค่าอยู่ ก็จะมีบรรทัดหนึ่งในไฟล์ที่เก็บมันไว้ ถ้ามีการกระทำอยู่ ก็จะมีชื่อที่คุณเรียกมันได้
ห้าวิธีไปสู่การกระทำเดียวกัน และมันคือการกระทำเดียวกันจริงๆ
เมื่อมีการกระทำมากขนาดนี้ ส่วนใหญ่ของโปรแกรมก็ซ่อนอยู่ในทางปฏิบัติ Cmd+K คือทางที่ตอบ “ทำอะไรได้บ้าง” แทน “ทำสิ่งนี้”
-
มันสอนคีย์ลัดแทนที่จะมาแทนที่มัน
ทุกบรรทัดแสดงคีย์ลัดของตัวเอง คนที่เปิดรายการนี้สองครั้งเพื่อการกระทำเดียวกัน จะจำคีย์ลัดได้ตั้งแต่ครั้งที่สาม
-
มันไม่ใช่พจนานุกรมที่ห้า
ทุกบรรทัดเรียกใช้การกระทำด้วยชื่อ เหมือนกับอีกสี่วิธีที่เหลือทุกประการ มีการตรวจสอบที่เทียบตารางนี้กับรายการหลักว่าแป้นพิมพ์ใดผูกกับอะไรได้บ้าง ในทั้งสองทิศทาง การกระทำที่มีอยู่จริงแต่ไม่ถูกเสนอในรายการนี้จะทำให้บิลด์ล้มเหลว
-
บรรทัดคำสั่งก็คือชุดเดียวกัน
vobuda do block.split-down, vobuda button files, vobuda theme catppuccin-mocha, vobuda send, vobuda signal, vobuda state, vobuda log พิมพ์ในบล็อก vobuda ใดก็ได้ และ
vobuda mcpเสนอคำสั่งเดียวกันให้เอเจนต์เป็นเครื่องมือ MCP ไม่ใช่ประตูหลังสำหรับสคริปต์: การทดสอบอินเทอร์เฟซขับโปรแกรมทั้งตัวผ่านมัน ซึ่งเป็นเหตุผลที่มันน่าเชื่อถือ และเป็นเหตุผลที่เอเจนต์จัดหน้าต่างของคุณใหม่ได้และคุณอ่านได้ว่ามันทำอะไรไปบ้าง
บล็อก และสิ่งที่มันรับประกัน
บล็อกย้ายแท็บได้โดยที่เชลล์ยังทำงานอยู่
ลากบล็อกจากส่วนหัวไปวางบนแท็บในแถบแท็บ แล้วมันจะไปอยู่ที่นั่น id เดิม เชลล์เดิม โฟลเดอร์เดิม ยังรันสิ่งที่กำลังรันอยู่ต่อไป แท็บจะสว่างเป็นสีเน้นขณะที่บล็อกอยู่เหนือมัน มีการกระทำสำหรับสิ่งนี้ด้วยคือ block.to-tab:2 จึงผูกกับแป้นพิมพ์ได้ และการทดสอบที่ไม่ใช้เมาส์ก็กดมันได้
ขนาดถูกจดจำไว้ และมีขนาดต่ำสุดที่กำหนดไว้
จำแยกตามบล็อก และไม่มีบล็อกใดจะแคบจนใช้งานไม่ได้ พาเนลที่กว้างแค่ 200 พอยต์คือพาเนลที่ไม่มีใครใช้ได้
ไม่มีอะไรของคุณหายไปเงียบ ๆ
การปิดสิ่งที่กำลังรันอยู่จะถามก่อน โดยเรียกชื่อ เพราะการทำงานของใครสักคนหายไปครั้งเดียวทำให้เสียความไว้วางใจมากกว่าที่ฟีเจอร์ทั้งชุดจะได้มา ด้วยเหตุผลเดียวกัน โฟลเดอร์โปรเจกต์จึงถูกสแนปช็อตก่อนทุกรอบของเอเจนต์ และกดครั้งเดียวก็คืนได้ คีย์ที่วางให้เอเจนต์จะถูกหยุดก่อนที่เอเจนต์จะเห็น และรั้วที่คุณเปิดได้จะปฏิเสธการเขียนและลบของเอเจนต์นอกโปรเจกต์
เซสชันกลับมาโดยค่าเริ่มต้น
แท็บ บล็อก และโฟลเดอร์ทำงานของแต่ละบล็อกกลับมาหลังรีสตาร์ต และเปิดไว้เป็นค่าเริ่มต้น สวิตช์เดียวในส่วนทั่วไปปิดได้ เซสชันที่มาจากเครื่องอื่นจะเปิดเท่าที่เปิดได้และบอกว่าอะไรที่เปิดไม่ได้ แทนที่จะทิ้งบล็อกไปเงียบ ๆ
โฟลเดอร์การตั้งค่า ไล่ทีละไฟล์
ทุกอย่างใน ~/.config/vobuda เป็นไฟล์ JSON ที่อ่านออกได้ และถูกเฝ้าดูขณะที่โปรแกรมทำงาน บันทึกไฟล์แล้วหน้าต่างจะวาดใหม่ทันที
| ไฟล์ | สิ่งที่เก็บไว้ในไฟล์ |
|---|---|
| settings.json | ธีม ลุค เทอร์มินัล เชลล์ หน้าต่าง สัญญาณ: ทุกการตั้งค่าของสิบส่วน |
| themes/*.json | สีของเทอร์มินัลและหน้าต่าง มาพร้อม 25 ชุดสี สองชุดออกแบบมาสำหรับผู้มีภาวะตาบอดสี |
| looks/*.json | รูปทรงของหน้าต่าง: มุม เงา สีของแผง ความโปร่งใส มีมาให้ 29 แบบ |
| skins/*.json | กำหนดว่าพาเนลของตัวติดตามระบบไหนถูกวาด และวาดอย่างไร |
| buttons.json | ด็อก ปุ่มต่างๆ ลำดับ ด้าน รูปทรง และสีสำหรับปุ่มไม่กี่ตัวที่ควรเน้น |
| agents.json | วิธีจดจำเอเจนต์ และสิ่งที่มันได้รับ |
| keys.json | คีย์ลัดทั้งหมด เมนูของ macOS เองก็สร้างขึ้นจากไฟล์นี้เช่นกัน |
| workspaces/*.json | โปรเจกต์: แต่ละอันเป็นหน้าต่างที่มีแท็บ โฟลเดอร์ ธีม และด็อกของตัวเอง |
ธีมในตัวอยู่ภายในไฟล์ไบนารีและโฟลเดอร์เขียนทับมันได้ การอัปเดตจึงนำสีใหม่มาโดยไม่เขียนทับสิ่งที่คุณแก้ไข ทั้งโฟลเดอร์บันทึกเป็นไฟล์เก็บถาวรเดียวและกู้คืนบน Mac เครื่องอื่นได้ และบน Mac มีสำเนาอยู่ใน iCloud Drive เปิดไว้เป็นค่าเริ่มต้น พร้อมสวิตช์เดียวที่ปิดได้
ตัวติดตามระบบที่จัดวางด้วยไฟล์
แผงสิบสองชนิด และอันไหนที่คุณเห็นถูกกำหนดโดยสกิน ไม่ใช่หน้าจอที่ใครสักคนออกแบบไว้ครั้งเดียว
-
ตัวเลขไม่หลอกตัวเอง
ค่าที่ระบบประมาณแทนการวัดจริงจะแสดงด้วยเครื่องหมายทิลเดอ และฮาร์ดแวร์ที่ไม่มีอยู่จะให้ค่าว่างแทนที่จะเป็นศูนย์ เครื่องที่ไม่มี GPU แยกต่างหากจะไม่มีพาเนล GPU ที่แสดงศูนย์เปอร์เซ็นต์
-
แสดงที่อยู่ทั้งสองแบบ พร้อมปุ่มคัดลอกในแต่ละอัน
แผงที่อยู่แสดงที่อยู่ที่อินเทอร์เน็ตมองเห็นก่อน และที่อยู่ที่เครื่องนี้มีบนเครือข่ายของตัวเองอยู่ด้านล่าง มันถามเฉพาะเมื่อแผงแสดงอยู่บนหน้าจอ ประมาณทุกสิบนาที หรือทุกสามสิบวินาทีขณะที่ยังไม่รู้ที่อยู่ใด และคำขอไม่มีข้อมูลใดเกี่ยวกับเครื่อง
-
จัดลำดับใหม่ได้ด้วยการลาก เหมือนทุกอย่างในโปรแกรม
พาเนลของตัวติดตามระบบ ปุ่มของด็อก และส่วนต่างๆ ของแถบเอเจนต์ ทั้งหมดยกและวางในตำแหน่งที่ต้องการได้ด้วยท่าทางเดียวกัน แถวการตั้งค่าจะถูกจับด้วยที่จับทางด้านซ้ายเท่านั้น ไม่ใช่ตรงไหนก็ได้บนแถว ดังนั้นการลากที่เริ่มจากช่องข้อความจะไม่ไปขัดขวางการเลือกคำที่คุณตั้งใจจะแก้ไข
ไฟล์เปิดขึ้นข้างๆ เชลล์
สิ่งที่เทอร์มินัลทั่วไปมักส่งคุณไปทำที่อื่น พาธหนึ่งปรากฏในเอาต์พุต มีสองบรรทัดที่ต้องแก้ และจนถึงตอนนี้นั่นหมายถึงต้องออกไปเปิดเอดิเตอร์แล้วกลับมาโดยที่บริบทของเชลล์หายไป
-
การบันทึกเกิดขึ้นเมื่อคุณตั้งใจเท่านั้น
ไม่มีอะไรถูกเขียนลงไฟล์จนกว่าจะกด Cmd+S เอดิเตอร์ที่เขียนไปพร้อมกับที่คุณพิมพ์เหมาะกับแอปโน้ตแต่ไม่เหมาะเลยเมื่ออยู่ข้างๆ เชลล์ที่กำลังทำงานอยู่ การบันทึกเป็นการกระทำ ไม่ใช่แค่การกดปุ่ม ซึ่งทำให้มันมีรายการในเมนู คีย์ลัด และคำสั่งบนบรรทัดคำสั่งเหมือนทุกอย่างในที่นี้
-
การปฏิเสธที่จะทำสำคัญพอๆ กับการเขียน
ไฟล์ที่ถูกแก้ไขบนดิสก์หลังจากเปิดไว้แล้วจะไม่ถูกเขียนทับ ไฟล์ไบนารีจะไม่ถูกแสดงเป็นข้อความที่อ่านไม่ออก โฟลเดอร์จะไม่ถูกเปิดเลย การเปลี่ยนแปลงที่ยังไม่บันทึกจะมีเครื่องหมายให้เห็นชัดเจน และการปิดไฟล์ที่แก้ไขไว้จะถามก่อนเสมอ
-
การค้นหาไฟล์
พาเนลไฟล์ค้นหาด้วยชื่อภายในโฟลเดอร์ที่คุณอยู่ลงไป และแต่ละผลลัพธ์จะบอกว่าอยู่ในสองโฟลเดอร์ใด เพราะชื่อไฟล์เพียงอย่างเดียวแยก index.ts สองไฟล์ออกจากกันไม่ได้ มันข้าม node_modules, .git, target และไฟล์ประเภทเดียวกัน หยุดที่แปดระดับหรือสองร้อยผลลัพธ์ และจะไม่ทำอะไรเลยถ้าพิมพ์น้อยกว่าสองตัวอักษร
การตั้งค่า ทั้งในรูปหน้าจอและไฟล์
สิบส่วน ตั้งแต่ทั่วไปไปจนถึงข้อมูลและความเป็นส่วนตัว พร้อมการค้นหาทุกการตั้งค่า และทุกอย่างเป็นบรรทัดหนึ่งในไฟล์ที่คุณแก้ไขด้วยมือได้เช่นกัน
-
การตั้งค่ามาหาบล็อก ไม่ใช่คุณไปหามัน
การคลิกขวาที่แผงหมายถึง “ตรงนี้ อันนี้ เปลี่ยนมัน” ดังนั้นการเลือกบรรทัดการตั้งค่าในเมนูของบล็อกเองจึงเปิดส่วนนั้นทับหน้าต่างที่มุมของเมนู แทนที่จะพาคุณไปหน้าจอการตั้งค่า มันเป็นการกระทำเหมือนทุกอย่างอื่น: settings.here:themes, settings.here:monitor
-
เสียงที่ได้ยินทันทีตอนที่คุณเลือกมัน
การเลือกเสียงสัญญาณหรือเสียงกระดิ่งของเทอร์มินัลจะเล่นเสียงนั้นให้ฟังทันที การเลือกเสียงจากรายชื่อที่ฟังไม่ได้ก็แค่เลือกชื่อเฉยๆ
-
ไม่มีอะไรต้องรีสตาร์ท
โฟลเดอร์การตั้งค่าถูกเฝ้าดูอยู่เสมอ รวมถึงสองสิ่งที่ตัวหลักของโปรแกรมดูแลเอง คือแถบเมนูของ macOS ที่สร้างจากไฟล์คีย์ลัดของคุณ และคีย์ลัดส่วนกลางของหน้าต่างแบบดร็อปดาวน์ ซึ่งแป้นเก่าจะถูกปลดก่อนที่แป้นใหม่จะถูกลงทะเบียน เพื่อไม่ให้ทั้งสองแป้นตอบสนองพร้อมกัน มีการตรวจสอบที่อ่านทุกคำแนะนำในหน้าจอตั้งค่า และจะล้มเหลวทันทีถ้าเจอคำว่า restart
การพูดใส่และการให้อ่านออกเสียง
ทั้งสองอย่างใช้ระบบเสียงพูดของเครื่องเองบนเครื่องคุณ เสียงจะไม่ถูกส่งออกจากคอมพิวเตอร์เลย
การพิมพ์ด้วยเสียง
Cmd+Shift+V จะพิมพ์สิ่งที่คุณพูดลงในบล็อกที่คุณกำลังทำงานอยู่ และแถบด้านบนจะบอกว่ากำลังฟังภาษาอะไรด้วยตัวอักษรสองตัว ประโยคที่พูดจะถูกพิมพ์ออกมาเท่านั้น ไม่มีการรันเองเด็ดขาด เพราะการรู้จำเสียงอาจฟังผิด และคำสั่งที่ฟังผิดแล้วรันเองได้จะกลายเป็นโปรแกรมที่ลบข้อมูลทิ้งเพียงเพราะวิทยุเปิดอยู่ใกล้ๆ แต่เมื่ออยู่ข้างเอเจนต์ ซึ่งประโยคเป็นข้อความไม่ใช่คำสั่ง มันสามารถส่งเองได้ทันที และนั่นคือค่าตั้งค่าที่ถูกอ่านตอนที่ประโยคจบลง
อ่านคำตอบออกเสียงกลับให้ฟัง
Cmd+Shift+R จะอ่านคำตอบล่าสุดของเอเจนต์ออกเสียงดัง กดอีกครั้งเพื่อหยุด สิ่งที่อ่านคือคำตอบ ไม่ใช่สิ่งที่อยู่บนหน้าจอ เครื่องหมายบูลเล็ตด้านหน้า ดอกจันรอบคำที่เน้น back-tick รอบชื่อ เส้นกรอบ พาธเต็มในจุดที่ใช้แค่ชื่อไฟล์ก็พอ สิ่งเหล่านี้จะถูกตัดออก ส่วนคำที่อยู่ข้างในจะยังคงอยู่ ขอบเขตของการอ่านถูกกำหนดด้วยรูปทรง ไม่ใช่ด้วยคำ คือด้านล่างกำหนดด้วยบรรทัดป้อนข้อมูลของเอเจนต์ และด้านบนกำหนดด้วยโลโก้ของมัน เพราะองค์ประกอบหน้าตาของเอเจนต์เปลี่ยนไปทุกครั้งที่มีการอัปเดตเวอร์ชัน
รายละเอียดเล็กๆ ที่ตัดสินว่าคุณจะใช้มันต่อหรือไม่
คลิกขวาเป็นของเรา
ทุกที่ในหน้าต่าง เมนูของบล็อกเองภายในบล็อก เมนูภายนอกของหน้าต่าง แถบแท็บ ด็อก ช่องว่างระหว่างไทล์ ทุกบรรทัดคือการกระทำ และเมนูเองก็มีการกระทำของตัวเองคือ block.menu ดังนั้นท่าทางที่มือเท่านั้นทำได้จึงไม่ใช่ท่าทางที่ไม่มีอะไรตรวจสอบได้ จุดเดียวที่ยังใช้เมนูของระบบคือช่องข้อความ ซึ่งมีตัด คัดลอก วาง และพจนานุกรมให้ใช้
เปิดโฟลเดอร์ได้จากทุกที่
vobuda://open?path=/some/path จะเปิดแท็บในโฟลเดอร์นั้น ไม่ว่าจะเรียกจากการกระทำของ Finder สคริปต์ หรือแอปอื่น macOS ไม่มีการตั้งค่าเทอร์มินัลเริ่มต้นระดับระบบ นี่จึงเป็นเวอร์ชันที่ทำได้จริงของฟีเจอร์นั้น ไม่ใช่คำสัญญาที่รักษาไว้ไม่ได้
ค้นหาภายในบล็อก
Cmd+F ช่องค้นหานี้เป็นของบล็อกที่มันค้นหาอยู่ และเมื่อปิดมันแล้ว มุมมองจะยังอยู่ตรงที่พบผลลัพธ์
พาเนื้อหาของบล็อกติดตัวไปด้วย
Cmd+Shift+X คัดลอกข้อความของบล็อก โดยถามจากเทอร์มินัลเอง ซึ่งเป็นสิ่งที่ทำให้มันใช้ได้แม้เปิดการเรนเดอร์ด้วย GPU ที่ไม่มีข้อความในหน้าให้เลือก ภาพของบล็อกคือสองการกระทำบน Cmd+K คือ ภาพบล็อกไปยังคลิปบอร์ด และ ภาพบล็อกเป็นไฟล์
ตรวจอัปเดตแบบไม่ต้องคอยทำการบ้าน
แกนตรวจวันละครั้งในเธรดของตัวเอง และสิ่งที่คุณเห็นคือแถบเหนือเลย์เอาต์ ไม่ใช่ทับมัน เพราะการแจ้งเตือนที่บังเทอร์มินัลคือสิ่งที่คนเรียนรู้ที่จะปิดโดยไม่อ่าน ไม่มีอะไรติดตั้งจนกว่าคุณจะกด: สำหรับเอเจนต์ การอัปเดตคือคำสั่งที่พิมพ์ลงในบล็อกที่ใช้งานอยู่ซึ่งมองเห็นผลลัพธ์ได้ และสำหรับ Vobuda บน Mac ปุ่มจะติดตั้งเวอร์ชันใหม่ในเบื้องหลัง แล้วเสนอให้รีสตาร์ต ซึ่งเกิดเองหลังสิบวินาทีเมื่อไม่มีอะไรทำงานอยู่
สี่สิบภาษา พร้อมคู่มือในทุกภาษา
รวมถึงแถบเมนูของ macOS ที่ระบบสร้างขึ้นในตัวหลักของโปรแกรมเอง ภาษาอาหรับและฮีบรูจะกลับด้านทั้งหน้าต่าง ยกเว้นตัวเทอร์มินัลเอง เพราะการกลับด้านจะทำให้เอาต์พุตและพาธอ่านไม่ออก คีย์การแปลคือสตริงภาษาอังกฤษเอง ดังนั้นสตริงที่ยังไม่ได้แปลจะกลับไปแสดงเป็นภาษาอังกฤษที่อ่านได้ แทนที่จะเป็นช่องว่างเปล่าหรือรหัสตัวแปร
ลองใช้ส่วนที่คุณเพิ่งอ่านมา
หลังตอบคำถามสั้น ๆ สองข้อในการรันครั้งแรก มันเปิดขึ้นมาพร้อมบล็อกเทอร์มินัลเดียวและไม่มีอะไรอื่น ทุกอย่างข้างบนคือสิ่งที่คุณเปิดเมื่อต้องการ
curl -fsSL https://vobuda.com/install.sh | sh