Vobuda
Tải xuống Cách hoạt độngClaude Codeso với CodexSo sánh Giới thiệu Liên hệ

Hoạt động ra sao, đi từng phần một

Một quy tắc giữ cho toàn bộ chương trình gắn kết với nhau: trạng thái của cửa sổ nằm trong bộ nhớ, còn cấu hình nằm trong các file. Mọi thứ dưới đây đều xuất phát từ đó.

Quy tắc nằm bên dưới mọi thứ

Một cửa sổ chứa các tab. Một tab chứa các block. Một block là một terminal, một file đang sửa, bảng file, một trang web, một hình ảnh, một PDF, một trang Markdown, một diff, trình theo dõi hệ thống, màn hình cài đặt hoặc bảng của một plugin. Chúng chia theo mọi hướng có lồng nhau, kéo, đổi kích thước và đóng theo một bộ quy tắc thay vì một bộ mới cho mỗi tính năng. Bất cứ thứ gì quá lớn để thuộc về mọi người là một plugin từ danh mục riêng của vobuda, cho tới nay là Design và Director, được cài và gỡ trọn vẹn chỉ bằng một lần bấm.

Không có gì trong cách sắp xếp đó được lưu trong cơ sở dữ liệu, vì đơn giản là không có cơ sở dữ liệu nào cả. Những gì cửa sổ đang làm nằm trong bộ nhớ; những gì bạn đã quyết định nằm trong các file. Đó là lý do vì sao một nút bấm, một phím, thanh menu, Cmd+K và dòng lệnh đều gọi cùng một hành động theo tên, và vì sao muốn thay đổi cách nó hoạt động gần như luôn có nghĩa là chỉnh sửa JSON.

Đó cũng là lý do vì sao, với loại công việc mà chương trình này được xây dựng để phục vụ, terminal tốt nhất cho Mac là một terminal mà bạn có thể soi vào tận bên trong. Nếu một cài đặt tồn tại, sẽ có một dòng trong file lưu giữ nó. Nếu một hành động tồn tại, sẽ có một cái tên để bạn gọi nó.

Năm cách để thực hiện một hành động, và đó là cùng một hành động

Với ngần này hành động, phần lớn một chương trình trên thực tế bị ẩn đi. Cmd+K là con đường trả lời «nó làm được gì» thay vì «hãy làm cái này».

Danh sách lệnh mở phía trên một terminal và một block Claude Code: Tab mới, Đóng tab, Giữ máy này thức, các phép chia và Đóng block, mỗi lệnh có tên hành động và phím tắt, và một ô phía trên để thu hẹp danh sách Danh sách lệnh mở phía trên một terminal và một block Claude Code: Tab mới, Đóng tab, Giữ máy này thức, các phép chia và Đóng block, mỗi lệnh có tên hành động và phím tắt, và một ô phía trên để thu hẹp danh sách
Danh sách lệnh mở bằng Cmd+K phía trên một shell và một agent: mỗi hành động theo tên của nó, tên hành động và phím tắt, sẵn sàng thu hẹp bằng cách gõ. Các chữ gõ khớp theo thứ tự nhưng không liền nhau, nên «spld» tìm ra «Split down», và tên hành động của chính nó cũng được tìm, nên «block.zoom» tìm ra nó cho người biết từ điển.
  • Nó dạy bạn các phím tắt thay vì thay thế chúng

    Mỗi dòng hiển thị phím tắt riêng của nó. Ai đó mở danh sách hai lần cho cùng một hành động thì đến lần thứ ba sẽ đã thuộc phím đó.

  • Nó không phải là một danh sách thứ năm

    Mỗi dòng chạy một hành động theo tên, giống hệt bốn cách còn lại. Một bước kiểm tra đối chiếu bảng mà nó hiển thị với danh sách lõi về những gì một phím có thể được gán, theo cả hai chiều: một hành động tồn tại nhưng không xuất hiện ở đó sẽ khiến bản build thất bại.

  • Dòng lệnh cũng là cùng một tập hợp đó

    vobuda do block.split-down, vobuda button files, vobuda theme catppuccin-mocha, vobuda send, vobuda signal, vobuda state, vobuda log, gõ trong bất kỳ block vobuda nào, và vobuda mcp đưa cùng các lệnh đó cho một agent dưới dạng công cụ MCP. Đây không phải cửa hậu cho script: các bài kiểm tra giao diện điều khiển toàn bộ chương trình qua nó, đó là lý do có thể tin nó, và là lý do một agent có thể sắp xếp lại cửa sổ của bạn còn bạn đọc được chính xác nó đã làm gì.

Block, và những gì chúng cam kết

Một block chuyển tab mà vẫn giữ shell đang chạy

Kéo một block bằng phần đầu của nó thả vào một tab trên thanh tab, nó sẽ nằm ở đó: cùng id, cùng shell, cùng thư mục, vẫn chạy bất cứ thứ gì nó đang chạy. Tab sẽ sáng lên theo màu nhấn khi block đang ở trên nó. Cũng có một hành động cho việc này, block.to-tab:2, nên nó có thể gán vào một phím, và một bài test không dùng chuột vẫn có thể kích hoạt được.

Kích thước được ghi nhớ, và có một giới hạn dưới

Theo từng block, và không block nào được phép hẹp đến mức không còn dùng được. Một bảng rộng 200 điểm là một bảng không ai dùng nổi.

Không có gì của bạn ra đi trong im lặng

Đóng thứ gì đang chạy sẽ hỏi trước, theo tên, vì mất công việc của ai đó một lần thôi cũng tốn nhiều niềm tin hơn cả một tính năng mang lại. Vì cùng lý do, thư mục dự án được chụp lại trước mỗi lượt của agent, với một lần bấm để đặt lại; một khóa dán vào agent bị chặn trước khi agent thấy nó; và một hàng rào bạn có thể bật sẽ từ chối các thao tác ghi và xóa của agent ngoài dự án.

Các phiên quay lại theo mặc định

Các tab, block và thư mục làm việc của mỗi block quay lại sau khi khởi động lại, và điều này bật sẵn; một công tắc trong mục Chung sẽ tắt nó. Một phiên đến từ máy khác mở những gì nó mở được và nói rõ những gì nó không mở được, thay vì lặng lẽ bỏ các block.

Thư mục cài đặt, xét từng file một

Mọi thứ trong ~/.config/vobuda đều là JSON dễ đọc, được theo dõi trong lúc chương trình chạy. Lưu file lại là cửa sổ vẽ lại ngay.

FileNội dung lưu giữ
settings.jsonTheme, diện mạo, terminal, shell, cửa sổ, tín hiệu: mọi cài đặt của mười mục
themes/*.jsonMàu sắc của terminal và cửa sổ. Có sẵn 25 bảng màu, hai trong số đó dành cho người khiếm khuyết thị giác màu
looks/*.jsonHình dạng cửa sổ: góc, bóng đổ, màu bảng, độ trong suốt. Có sẵn 29
skins/*.jsonBảng nào của màn hình theo dõi được vẽ ra, và vẽ như thế nào
buttons.jsonDock: các nút, thứ tự, vị trí cạnh, hình dạng, và một màu cho số ít nút đáng đánh dấu
agents.jsonCách một agent được nhận diện và những gì được cung cấp cho nó
keys.jsonMọi phím tắt. Menu gốc của macOS cũng được xây dựng từ chính file này
workspaces/*.jsonDự án: mỗi dự án là một cửa sổ với các tab, thư mục, theme và dock riêng

Các theme tích hợp nằm bên trong file nhị phân và thư mục có độ ưu tiên hơn chúng, nên một bản cập nhật mang màu mới mà không ghi đè thứ gì bạn đã sửa. Cả thư mục được lưu thành một kho lưu trữ duy nhất và khôi phục trên một Mac khác, và trên Mac một bản sao nằm trong iCloud Drive, bật sẵn, với một công tắc để tắt.

Màn hình theo dõi hệ thống, được sắp xếp bằng một file

Mười hai loại bảng, và loại nào bạn thấy tùy vào một skin, không phải một màn hình ai đó thiết kế một lần.

Trình theo dõi hệ thống trong một block cạnh một terminal: tải bộ xử lý kèm lịch sử, từng lõi, bộ nhớ đang dùng, dung lượng trống của đĩa khởi động, đọc và ghi đĩa, và lưu lượng mạng Trình theo dõi hệ thống trong một block cạnh một terminal: tải bộ xử lý kèm lịch sử, từng lõi, bộ nhớ đang dùng, dung lượng trống của đĩa khởi động, đọc và ghi đĩa, và lưu lượng mạng
Trình theo dõi mở như một block cạnh shell, các bảng xếp chồng: bộ xử lý, lõi, bộ nhớ, đĩa, đọc và ghi đĩa và mạng. Một skin năm dòng cho một bố cục khác. Thả nó vào ~/.config/vobuda/skins và chạy vobuda skin essentials.
  • Các con số trung thực về chính bản thân chúng

    Một giá trị mà hệ thống ước tính thay vì đo đạc trực tiếp sẽ được vẽ kèm dấu ngã, và phần cứng không tồn tại sẽ cho ra giá trị trống chứ không phải số không. Một máy không có GPU rời sẽ không có bảng GPU hiển thị 0 phần trăm.

  • Cả hai địa chỉ, mỗi địa chỉ có nút sao chép riêng

    Bảng địa chỉ nêu trước địa chỉ mà internet thấy và bên dưới là địa chỉ máy này có trên mạng riêng của nó. Nó chỉ hỏi khi bảng đang hiện trên màn hình, khoảng mười phút một lần, hoặc ba mươi giây một lần khi chưa biết địa chỉ nào, và yêu cầu không mang gì về máy.

  • Sắp xếp lại bằng cách kéo thả, như mọi thứ khác

    Các bảng của màn hình theo dõi, các nút của dock và các phần của thanh agent đều được nhấc lên và đặt vào vị trí bằng cùng một thao tác. Một dòng cài đặt được nhấc lên bằng tay cầm ở bên trái, chứ không phải ở bất kỳ đâu trên dòng đó, nên việc bắt đầu kéo từ một ô nhập văn bản không cản trở bạn chọn từ mà bạn muốn thay đổi.

Một file mở ra bên cạnh shell

Điều mà một terminal thường buộc bạn phải rời đi nơi khác để làm: một đường dẫn xuất hiện trong output, hai dòng cần sửa, và cho đến nay điều đó có nghĩa là phải rời sang một trình soạn thảo rồi quay lại và mất luôn ngữ cảnh của shell.

src/main.ts mở trong trình soạn thảo cạnh một block terminal với một lượt kiểm thử đạt, và bảng file liệt kê các thư mục và file của dự án cùng kích thước của chúng src/main.ts mở trong trình soạn thảo cạnh một block terminal với một lượt kiểm thử đạt, và bảng file liệt kê các thư mục và file của dự án cùng kích thước của chúng
src/main.ts mở trong trình soạn thảo với số dòng và tô màu, cạnh shell và bảng file nơi nó được mở ra.
  • Việc lưu là có chủ đích

    Không có gì được ghi ra cho đến khi bạn nhấn Cmd+S. Một trình soạn thảo tự ghi khi bạn gõ là điều tốt trong một ứng dụng ghi chú, nhưng là điều tệ khi đứng cạnh một shell đang chạy. Đây là một hành động chứ không phải một lần gõ phím, điều đó cũng cho nó một mục menu, một phím tắt và một lệnh dòng lệnh giống như mọi thứ khác ở đây.

  • Những gì nó từ chối làm cũng quan trọng như những gì nó ghi

    Một file đã thay đổi trên đĩa kể từ khi được mở sẽ không bị ghi đè. Một file nhị phân sẽ không bị hiển thị thành văn bản lộn xộn. Một thư mục sẽ hoàn toàn không được mở. Các thay đổi chưa lưu mang một dấu hiệu rõ ràng, và đóng một file đã chỉnh sửa sẽ được hỏi lại.

  • Tìm một file

    Bảng file tìm kiếm theo tên bên trong thư mục bạn đang đứng, và mỗi kết quả cho biết nó nằm trong hai thư mục nào, vì chỉ riêng cái tên thì không thể phân biệt được hai file index.ts. Nó bỏ qua node_modules, .git, target và những thư mục tương tự, dừng lại ở tám cấp hoặc hai trăm kết quả, và không làm gì cả nếu bạn gõ dưới hai chữ cái.

Cài đặt, vừa là một màn hình vừa là các file

Mười mục, từ Chung đến Dữ liệu và quyền riêng tư, một ô tìm kiếm trên mọi cài đặt, và mỗi cái là một dòng trong một file bạn cũng có thể sửa bằng tay.

Màn hình cài đặt ở mục Diện mạo: cuối danh sách theme, diện mạo, độ mờ cửa sổ và độ tương phản tối thiểu, và bản đọc khả năng truy cập cho theme Accessible được chọn: độ tương phản chữ AAA và điểm phân biệt màu cho người mù màu Màn hình cài đặt ở mục Diện mạo: cuối danh sách theme, diện mạo, độ mờ cửa sổ và độ tương phản tối thiểu, và bản đọc khả năng truy cập cho theme Accessible được chọn: độ tương phản chữ AAA và điểm phân biệt màu cho người mù màu
Diện mạo, bên dưới danh sách theme: diện mạo, độ mờ cửa sổ, độ tương phản tối thiểu, và một bản chấm điểm độ tương phản chữ của theme được chọn và khả năng phân biệt màu của nó cho người đọc mù màu.
  • Cài đặt tự tìm đến block

    Bấm chuột phải vào một bảng có nghĩa là «cái này, ở đây, hãy đổi nó». Vì vậy chọn một dòng cài đặt trong menu riêng của một block sẽ mở mục đó phía trên cửa sổ, ở góc menu, thay vì đưa bạn tới màn hình cài đặt. Nó là một hành động như mọi thứ khác: settings.here:themes, settings.here:monitor.

  • Một âm thanh bạn có thể nghe ngay khi chọn nó

    Chọn một âm thanh tín hiệu hoặc chuông của terminal sẽ phát ngay âm thanh đó. Chọn một âm thanh từ danh sách toàn tên gọi mà bạn không nghe được thì chỉ là chọn một cái tên mà thôi.

  • Không có gì đòi bạn phải khởi động lại

    Thư mục cài đặt được theo dõi liên tục, bao gồm cả hai thứ do phần lõi quản lý: thanh menu macOS được xây dựng từ file phím tắt của bạn, và phím toàn cục của cửa sổ thả xuống, phím cũ được giải phóng trước khi phím mới được đăng ký để không có hai phím cùng phản hồi một lúc. Một bước kiểm tra đọc mọi gợi ý trong màn hình cài đặt và sẽ báo lỗi nếu gặp từ khởi động lại.

Nói và được đọc cho nghe

Cả hai đều dùng chính công cụ giọng nói của hệ thống, ngay trên máy của bạn. Âm thanh không bao giờ rời khỏi máy tính.

Nhận dạng giọng nói

Cmd+Shift+V gõ lại những gì bạn nói vào block bạn đang làm việc, và thanh trạng thái cho biết nó đang nghe ngôn ngữ nào bằng hai chữ cái. Một câu được đọc chính tả sẽ được gõ ra chứ không bao giờ tự chạy: nhận dạng có thể nghe nhầm, và một lệnh bị nghe nhầm mà tự chạy thì đó là một chương trình xóa mọi thứ chỉ vì có cái radio đang bật gần đó. Bên cạnh một agent, nơi một câu nói là một tin nhắn chứ không phải một lệnh, nó có thể tự gửi đi, và đó là một cài đặt được đọc ngay tại thời điểm câu nói kết thúc.

Đọc lại câu trả lời

Cmd+Shift+R đọc to câu trả lời gần nhất của agent; nhấn lại lần nữa để dừng. Thứ được đọc là câu trả lời, không phải toàn bộ màn hình. Một dấu gạch đầu dòng, dấu sao quanh một từ được nhấn mạnh, dấu backtick quanh một tên, một đường kẻ khung, một đường dẫn đầy đủ trong khi chỉ cần tên file là đủ: những thứ đó biến mất, còn các từ bên trong chúng thì vẫn được giữ lại. Việc đọc được giới hạn bởi hình block chứ không phải bởi từ ngữ, phía dưới là dòng nhập của agent và phía trên là logo của nó, vì phần khung giao diện của một agent thay đổi theo mỗi bản phát hành.

Những điều nhỏ quyết định bạn có tiếp tục dùng nó hay không

Nút chuột phải là của chúng tôi

Ở khắp nơi trong cửa sổ: menu riêng của block bên trong một block, menu bên ngoài của cửa sổ, thanh tab, dock, khoảng trống giữa các ô. Mỗi dòng là một hành động, và bản thân menu cũng có một hành động riêng, block.menu, nên một thao tác chỉ tay mới thực hiện được không phải là một thao tác không thể kiểm tra được. Nơi duy nhất vẫn giữ menu của hệ thống là ô nhập văn bản, nơi nó cung cấp cắt, sao chép, dán và từ điển.

Mở một thư mục từ bất cứ đâu

vobuda://open?path=/some/path mở một tab trong thư mục đó, từ một thao tác trong Finder, một script hoặc một ứng dụng khác. macOS không có cài đặt terminal mặc định ở cấp hệ thống, nên đây là phiên bản trung thực của tính năng đó, thay vì một lời hứa không thể giữ.

Tìm kiếm bên trong một block

Cmd+F. Ô tìm kiếm thuộc về block mà nó tìm trong đó, và khi đóng lại, khung nhìn vẫn giữ nguyên tại vị trí có kết quả khớp.

Mang block theo cùng bạn

Cmd+Shift+X sao chép chữ của một block, hỏi chính terminal, đó cũng là điều khiến nó chạy được khi bật render bằng GPU, nơi không có chữ nào trong trang để chọn. Một ảnh của block là hai hành động trong Cmd+K, Block snapshot to clipboard và Block snapshot to a file.

Kiểm tra cập nhật mà không phải là việc phải làm thêm

Lõi kiểm tra mỗi ngày một lần, trong một luồng riêng, và thứ bạn thấy là một dải phía trên bố cục chứ không đè lên nó, vì một thông báo che terminal là thứ người ta học cách đóng mà không đọc. Không có gì được cài cho tới khi bạn bấm: với một agent, bản cập nhật là một lệnh gõ vào block đang hoạt động nơi đầu ra của nó hiển thị, còn với Vobuda trên Mac, nút cài bản mới ở nền, rồi đề nghị khởi động lại, việc này tự xảy ra sau mười giây khi không có gì đang chạy.

Bốn mươi ngôn ngữ, và một hướng dẫn cho mỗi ngôn ngữ

Kể cả thanh menu macOS, thứ mà hệ thống xây dựng ngay trong phần lõi. Tiếng Ả Rập và tiếng Do Thái lật ngược toàn bộ cửa sổ, trừ chính terminal, vì lật ngược ở đó sẽ khiến output và đường dẫn trở nên không đọc được. Khóa dịch chính là chuỗi tiếng Anh, nên một chuỗi chưa được dịch sẽ quay về hiển thị tiếng Anh dễ đọc, thay vì để trống hoặc hiện một mã định danh.

Hãy thử những phần bạn vừa đọc

Sau hai câu hỏi ngắn ở lần chạy đầu, nó mở ra với một block terminal và không gì khác. Mọi thứ ở trên là thứ bạn bật lên khi muốn.

curl -fsSL https://vobuda.com/install.sh | sh