RMUX: ตัวควบคุมเทอร์มินัลที่ตั้งโปรแกรมได้สำหรับการทำงานข้ามแพลตฟอร์มที่มีความเป็นตัวของตัวเอง
สำรวจ RMUX โดย Helvesec, มัลติเพล็กเซอร์เทอร์มินัลแบบอะซิงโครนัสสมัยใหม่ที่ออกแบบมาเพื่อโฮสต์เซสชันบรรทัดคำสั่งที่มีอายุยาวสำหรับการทำงานอัตโนมัติและการทำงานร่วมกัน แอปจัดการเซสชันที่คงอยู่, ให้การควบคุมโปรแกรมต่อเทอร์มินัล, และเปิดเผยการแชร์เซสชันแบบเว็บสำหรับการทำงานระยะไกล ความสามารถหลักรวมถึง SDK ที่มีหน้าต่างเอเจนต์และความเข้ากันได้กับการผูกปุ่มเทอร์มินัลทั่วไป, มุ่งเป้าไปที่นักพัฒนา, ผู้ดูแลระบบระบบ, และนักวิจัย AI ที่ต้องการการควบคุมเซสชันที่สามารถโปรแกรมได้และการทำงานในพื้นหลังที่เชื่อถือได้.
สิ่งที่ RMUX เปิดใช้งานสำหรับเทอร์มินัลที่ขับเคลื่อนด้วยอัตโนมัติและมนุษย์
RMUX เป็นมัลติเพล็กเซอร์แบบอะซิงโครนัสที่เขียนด้วย Rust ซึ่งมุ่งเป้าไปที่ผู้ใช้เชลล์แบบโต้ตอบและเครื่องมือที่เขียนสคริปต์ มันนำเสนอพื้นผิวที่สามารถตั้งโปรแกรมได้ เพื่อให้โค้ดสามารถขับเคลื่อนเทอร์มินัลได้เหมือนกับที่มนุษย์พิมพ์ ซึ่งเป็นโมเดลที่ได้รับแรงบันดาลใจจากการทำงานอัตโนมัติแบบ Playwright แอปพลิเคชันนี้รองรับ SDK ที่พิมพ์เพื่อเขียนสคริปต์การโต้ตอบและเก็บเซสชันให้พร้อมใช้งานแม้จะมีการตัดการเชื่อมต่อ ทำให้สามารถทำงานที่ยาวนานและการดีบักระยะไกลสำหรับการพัฒนาและการวิจัยได้
การรวม RMUX กับ Windows และสภาพแวดล้อมเดสก์ท็อป
บน Windows, RMUX ใช้ Windows Named Pipes สำหรับ IPC แบบเนทีฟเพื่อหลีกเลี่ยงการพึ่งพาชั้นความเข้ากันได้ การสนับสนุน named-pipe แบบเนทีฟ ให้ค่าใช้จ่ายที่ต่ำกว่าการทำงานภายใต้ซับซิสเต็ม และตัวติดตั้งสามารถใช้ได้ผ่านผู้จัดการแพ็คเกจ Windows ทั่วไป โมเดลการแจกจ่ายยังรวมถึงไบนารีแบบสแตนด์อโลนสำหรับแพลตฟอร์มเดสก์ท็อป ดังนั้นการปรับใช้จึงเหมาะกับเครื่องมือของนักพัฒนามาตรฐานโดยไม่ต้องมีชั้นการทำงานเพิ่มเติม
การขับเคลื่อนอัตโนมัติจาก SDK ที่พิมพ์ในทางปฏิบัติ
แอปพลิเคชันนี้เปิดเผย SDK สำหรับ Rust, Python, และ TypeScript ซึ่งให้สคริปต์แนบและควบคุมเทอร์มินัลหรือแอปพลิเคชัน TUI ได้อย่างเป็นโปรแกรม การควบคุมแบบ Playwright จัดแผนที่คำสั่งระดับสูงไปยังการกดปุ่มและเหตุการณ์ในเทอร์มินัล และการรวม Ratatui แบบเนทีฟสนับสนุนการสร้าง UI เทอร์มินัลที่มีความซับซ้อนมากขึ้นที่โค้ดอัตโนมัติสามารถทำงานได้ การจัดเรียงนี้เหมาะสำหรับการทดสอบ, การปรับใช้ที่สามารถทำซ้ำได้, และการทดลองที่มีเอเจนต์โดยใช้การผูกแบบพิมพ์
การแชร์เซสชัน, ท่าทีด้านความปลอดภัย, และโมเดลความเชื่อถือได้
RMUX ใช้สถาปัตยกรรมที่มี daemon สนับสนุนเพื่อจัดการวงจรชีวิตของเซสชันและชั้นการมัลติเพล็กซ์เว็บสำหรับการแชร์ผ่านเบราว์เซอร์ การสนับสนุน daemon ทำให้การเก็บรักษาเซสชันและตรรกะการเชื่อมต่อกลับมาเป็นศูนย์กลาง ในขณะที่การมัลติเพล็กซ์เว็บที่ไม่ใช้เซิร์ฟเวอร์และตระหนักถึงโพสต์ควอนตัมมุ่งเน้นไปที่การทำงานร่วมกันระยะไกลที่ปลอดภัย ผู้ดูแลระบบควรถือว่าการแชร์เบราว์เซอร์เป็นพื้นผิวการเข้าถึงที่ต้องควบคุม และโมเดล daemon จะมุ่งเน้นความรับผิดชอบในการกู้คืนและเวลาในการทำงานไปยังโฮสต์ท้องถิ่น
RMUX เหมาะสำหรับผู้ใช้ที่มีความชำนาญทางเทคนิคซึ่งเขียนสคริปต์เทอร์มินัล โดยมีการแลกเปลี่ยนการตั้งค่า
RMUX เป็นตัวเลือกที่ใช้งานได้จริงสำหรับนักพัฒนาและนักวิจัยที่รวมเครื่องมือเทอร์มินัลเข้ากับการทำงานอัตโนมัติ โดยมีการควบคุมที่สามารถตั้งโปรแกรมได้และโมเดลเซสชันที่คงอยู่ คาดว่าจะมีการตั้งค่าเริ่มต้นที่สูงขึ้นเมื่อเชื่อมต่อ SDK ที่พิมพ์และการแชร์เบราว์เซอร์เข้ากับเครื่องมือที่มีอยู่ เคล็ดลับที่ใช้งานได้: จำกัดการแชร์เซสชันเว็บให้กับผู้ร่วมงานที่เชื่อถือได้และทดสอบสคริปต์อัตโนมัติในบัญชีที่แยกออกมาก่อนการใช้งานอย่างกว้างขวาง.
ข้อดี
- การสนับสนุน Windows แบบเนทีฟผ่าน Windows Named Pipes สำหรับ IPC ที่มีค่าใช้จ่ายต่ำกว่า
- ความเข้ากันได้กับคำสั่ง tmux มากกว่า 90 คำสั่งและการผูกปุ่มทั่วไป
- SDK ที่มีประเภท (Rust, Python, TypeScript) ช่วยให้การทำงานอัตโนมัติในเทอร์มินัลแบบ Playwright
- สถาปัตยกรรมที่รองรับ Daemon สำหรับการจัดการเซสชันแบบรวมศูนย์และการเชื่อมต่อใหม่
ข้อเสีย
- การทำงานอัตโนมัติต้องการความรู้เกี่ยวกับการเขียนสคริปต์และความคุ้นเคยกับ SDK ที่พิมพ์
- การแชร์เซสชันที่ใช้เบราว์เซอร์เพิ่มพื้นที่สำหรับการควบคุมการเข้าถึง
- ไม่ใช่ทุกส่วนขยายหรือปลั๊กอินของ tmux จะได้รับการสนับสนุนเนื่องจากการครอบคลุมคำสั่งบางส่วน