Action Wheel: menu vòng tròn cho Windows — một cú click chuột giữa, mọi thao tác quen thuộc ngay dưới con trỏ
Action Wheel là ứng dụng mã nguồn mở (MIT) của KonexForge cho Windows 10 và 11: nhấn chuột giữa ở bất kỳ đâu, một vòng 9 nút hiện ra quanh con trỏ để gửi phím tắt, mở ứng dụng, chạy thao tác Windows hoặc mở công cụ AI như Claude Code và Codex. Bài viết giới thiệu cách dùng, cách chúng tôi thiết kế phần AI cho an toàn, chuyện quyền riêng tư, và cách cài trong vài phút.
Hãy hình dung một ngày làm việc bình thường: bạn chuyển giữa trình duyệt, Excel, phần mềm thiết kế và cửa sổ terminal hàng trăm lần. Mỗi lần cần chụp màn hình, xếp cửa sổ sang nửa trái hay mở thư mục dự án, tay lại rời chuột để tìm tổ hợp phím — hoặc mắt phải đi tìm một nút nhỏ trên thanh công cụ. Từng lần chỉ mất vài giây, nhưng cộng lại thì không ít.
Action Wheel giải quyết đúng chỗ đó: nhấn chuột giữa ở bất kỳ đâu trong Windows, một vòng tròn hiện ra ngay quanh con trỏ; vẩy chuột về một nút rồi thả là xong. Đây là dự án mã nguồn mở thứ năm của KonexForge, phát hành theo giấy phép MIT, và là ứng dụng desktop đầu tiên trong danh sách — các dự án trước là thư viện web và một bộ theme cho VS Code. Website: actionwheel.konexforge.com.
Nhấn, vẩy, xong
Ý tưởng của menu vòng tròn (radial menu, còn gọi là pie menu) đã có từ lâu trong phần mềm thiết kế và game: các lựa chọn xếp quanh một tâm, nên khoảng cách từ con trỏ tới mọi nút là như nhau và có thể chọn bằng hướng thay vì ngắm chính xác. Action Wheel đưa ý tưởng đó ra toàn bộ Windows:
- Nhấn: mặc định là nút giữa chuột. Có thể đổi sang nút bên hông (nút 4/5) hoặc tổ hợp hai nút — giữ một nút rồi nhấn nút kia. Tổ hợp
Ctrl+Alt+Spaceluôn dùng được làm đường dự phòng. - Vẩy: giữ nút, vẩy về phía một nút trên vòng rồi thả. Nếu thả ngay mà không di chuyển, vòng vẫn mở để bạn click như menu thường.
- Xong: phím tắt được gửi tới đúng ứng dụng bạn đang dùng, chương trình được mở, cửa sổ được xếp gọn. Vòng tròn biến mất, và vì nó không bao giờ lấy focus, phím tắt không bị gửi nhầm chỗ.
Cú click chuột giữa dùng để mở vòng bị giữ lại, nên ứng dụng bên dưới không nhận được nó: trình duyệt không mở thêm tab, không bật chế độ cuộn tự động.
Chín nút, nhiều hơn chín việc
Vòng có 8 nút xung quanh và 1 nút giữa. Mỗi nút có thể:
- Gửi một phím tắt, ví dụ
Ctrl+Shift+ShayWin+Shift+S - Mở một chương trình, file, thư mục hoặc URL
- Chạy một trong hơn 30 thao tác Windows dựng sẵn: khoá máy, ngủ, xếp cửa sổ, hiện màn hình nền, Task View, chỉnh âm lượng, lịch sử clipboard…
- Trở thành một nhóm nút: một vòng vệ tinh nhỏ chứa thêm tối đa 8 nút, xoè ra khi rê chuột tới
- Mở một công cụ AI (xem phần dưới)
Ngoài thao tác chính, mỗi nút còn có thể có một thao tác giữ: nhấn giữ khoảng nửa giây là chạy việc thứ hai. Kết hợp với profile — một bộ nút cho công việc văn phòng, một bộ cho thiết kế, một bộ cho lập trình — 9 nút đủ cho phần lớn thao tác lặp lại trong ngày. Đổi profile từ menu khay hệ thống, hoặc ngay từ một nút trên vòng.
Giao diện cũng chỉnh được theo ý: kích thước nút, khoảng cách tới tâm, 7 hiệu ứng mở vòng và từ bản 2.11.0 có thêm 4 kiểu hiệu ứng khi rê chuột, tất cả có xem trước trực tiếp trong Settings. Icon có thể là glyph dựng sẵn, file SVG hay PNG của bạn, icon của chính ứng dụng mà nút đó mở, hoặc một chữ ngắn hay emoji.
Mở công cụ AI đúng chỗ, và chỉ những gì có trên máy
Từ bản 2.10.0, một nút có thể mở Claude Code, Codex, OpenCode, Gemini CLI hoặc GitHub Copilot CLI trong cửa sổ terminal, ngay trong thư mục của cửa sổ File Explorer bạn đang mở. Nút cũng có thể mở Antigravity, Cursor hoặc Windsurf trên thư mục đó, hoặc khởi động ứng dụng Claude cho desktop. Với người làm phần mềm, đây là cách nhanh nhất để từ "đang xem thư mục dự án" chuyển sang "đang làm việc với trợ lý AI trong đúng thư mục đó".
Có ba nguyên tắc thiết kế chúng tôi giữ chặt ở phần này:
- Chỉ liệt kê công cụ thật sự có trên máy. Mỗi công cụ để lại dấu vết ở nhiều nơi khác nhau: PATH, App Paths, đăng ký giao thức URL, gói Microsoft Store. Action Wheel tìm ở các nguồn đó, nhưng chỉ coi là "đã cài" khi dấu vết dẫn tới một file chương trình đang tồn tại. Một mục đăng ký còn sót lại sau khi gỡ phần mềm sẽ được báo là "đã đăng ký nhưng thiếu chương trình", không bao giờ được hiện như đã cài.
- Không mở thư mục cấu hình hay thông tin đăng nhập của công cụ AI. Việc phát hiện chỉ đọc file chương trình, registry và kết quả
--help; Action Wheel không đọc các thư mục cấu hình như.geminivà không dùng chúng để quyết định gì. - Không bao giờ để một nút khởi chạy trình cài đặt. Ví dụ VS Code cài một trình khởi chạy tạm cho Copilot CLI, chỉ cài CLI thật ở lần chạy đầu. Action Wheel nhận ra trình khởi chạy đó và không đưa nó vào danh sách.
Tác vụ AI trên đoạn văn bản đang chọn
Một kiểu nút khác làm việc trên văn bản: chọn một đoạn trong bất kỳ ứng dụng nào, rồi dùng một nút như "Sửa chính tả và ngữ pháp bằng Claude Code". Đoạn văn bản được gửi tới Claude Code hoặc Codex cùng mẫu câu lệnh (prompt template) của bạn, và câu trả lời hiện trong một cửa sổ riêng để bạn chép hoặc thay thế đoạn đã chọn.
Vì đây là chạy công cụ AI ở chế độ tự động, mức an toàn được đặt theo từng công cụ: Claude Code chạy với mọi công cụ (tool) bị tắt, trong một thư mục trống; Codex chạy trong chế độ sandbox chỉ đọc. OpenCode và Copilot CLI chưa có chế độ chỉ đọc đã được kiểm chứng, nên chưa dùng cho tác vụ tự động — chỉ dùng để mở trong terminal, nơi bạn trực tiếp điều khiển. Chi tiết nằm trong tài liệu AI assistants của repo.
Một công cụ tăng tốc chỉ đáng dùng khi bạn không phải lo nó làm gì sau lưng mình.
Riêng tư và ổn định
Action Wheel cài một hook (bộ móc sự kiện) chuột cấp hệ thống để nhận cú click ở mọi nơi, nên chúng tôi coi quyền riêng tư là yêu cầu bắt buộc, không phải tính năng thêm:
- Không ghi log thao tác: không lưu click, cử chỉ, thao tác đã chạy, thay đổi profile hay lỗi thông thường
- Ngoại lệ duy nhất là lần crash gần nhất, lưu trong
%LOCALAPPDATA%\ActionWheel\last-crash.txtvà bị ghi đè ở lần crash sau, để mục Copy diagnostics giải thích được vì sao app đóng. File này không chứa gì về việc bạn đang làm và chỉ rời khỏi máy khi bạn tự dán nó ở đâu đó - Không có máy chủ, không có tài khoản, không gửi dữ liệu sử dụng
Về độ ổn định: app chỉ chạy một bản duy nhất, nên mở lần nữa sẽ gọi cửa sổ Settings của bản đang chạy thay vì cài thêm một hook thứ hai. Cửa sổ chính báo rõ hook đã được cài hay chưa và file cấu hình actions.json có hợp lệ không. File cấu hình được ghi theo kiểu nguyên tử (atomic): ghi ra file tạm, đẩy xuống đĩa, giữ bản .bak, rồi mới thay thế — nên mất điện giữa chừng không làm hỏng cấu hình.
Sao lưu cũng gọn: mọi profile, cách mở vòng, giao diện và icon gói trong một file. Trước khi khôi phục, app liệt kê mọi chương trình mà các nút có thể chạy, để bạn không vô tình nhập một cấu hình mở thứ mình không mong muốn.
Bên trong: tách lõi logic khỏi giao diện
Action Wheel viết bằng C# trên .NET 10, giao diện WinUI 3 (Windows App SDK). Mã được chia thành hai phần:
- ActionWheel.Core chứa toàn bộ logic — mô hình thao tác, đọc/ghi và kiểm tra
actions.json, profile, sao lưu, danh mục thao tác Windows, danh mục công cụ AI — và chỉ tham chiếu thư viện chuẩn của .NET, không phụ thuộc WinUI hay API Win32 - Action Wheel là ứng dụng: cửa sổ, hook chuột/bàn phím, lớp phủ trong suốt và phần làm việc với Windows
Việc tách này để trình biên dịch giữ ranh giới giữa các lớp, thay vì trông vào kỷ luật của người viết: logic không thể âm thầm phụ thuộc vào một kiểu giao diện. Đây cũng là nguyên tắc chúng tôi áp dụng ở các dự án Development cho khách hàng — phần nghiệp vụ kiểm thử được độc lập với giao diện.
Cài đặt trong vài phút
Action Wheel là ứng dụng portable (chạy ngay, không cần cài đặt): bản phát hành là một file zip khoảng 108 MB đã kèm sẵn .NET và Windows App SDK.
- Tải
ActionWheel-v<phiên bản>-win-x64.ziptừ trang phát hành - Giải nén vào một thư mục cố định và chạy
Action Wheel.exe— giữ nguyên tên file này, vì bản đã đổi tên sẽ không khởi động được - Bản phát hành chưa được ký số, nên lần đầu SmartScreen có thể báo "Windows protected your PC". Mỗi bản phát hành có kèm file
.sha256; hãy so mã băm trước khi chọn More info → Run anyway - Bật Start with Windows nếu muốn vòng tròn luôn sẵn sàng; tuỳ chọn này dùng khoá Run của tài khoản hiện tại nên không cần quyền quản trị
Yêu cầu: Windows 10 bản 1809 trở lên hoặc Windows 11, 64-bit.
Mã nguồn mở, giấy phép MIT
Như các dự án khác của KonexForge, Action Wheel miễn phí cho cả mục đích thương mại, không có phiên bản trả phí. Mã nguồn ở github.com/cmm-cmm/Action-Wheel; repo nhận issue và pull request, và có hướng dẫn đóng góp cùng chính sách báo lỗi bảo mật riêng. Bạn có thể xem toàn bộ các dự án tại trang Cộng đồng.
Kết luận
Action Wheel không thay đổi cách bạn làm việc; nó chỉ đưa những thao tác bạn đã làm hàng trăm lần mỗi ngày tới gần con trỏ hơn. Một cú click chuột giữa, một cú vẩy, và tay không phải rời chuột. Phần AI được thiết kế theo cùng tinh thần: nhanh, nhưng chỉ dùng những gì có trên máy và không làm gì sau lưng bạn.
Nếu doanh nghiệp của bạn cần một công cụ nội bộ trên desktop hoặc web được xây theo cùng nguyên tắc — logic tách khỏi giao diện, quyền riêng tư mặc định, cài đặt đơn giản — liên hệ với KonexForge.
Bài viết liên quan
KonexForge Themes: bộ theme VS Code với thẩm mỹ 'forge' — không phải một bản sao One Dark khác
Engineer nhìn vào editor cả ngày, nhưng thị trường theme VS Code gần như bão hòa bởi các biến thể gần giống hệt One Dark Pro. KonexForge Themes là bộ 4 theme mã nguồn mở chúng tôi tự làm — không phải để bán, mà vì bản sắc thị giác riêng cũng là một phần của văn hóa kỹ thuật.
Forge Dialog: hộp thoại dựng trên thẻ <dialog> gốc, không còn phải dò z-index
Một trang quản trị cần hỏi "bạn có chắc muốn xoá?". Hàm confirm sẵn có của trình duyệt làm được nhưng chặn cả trang và không đổi được giao diện; thư viện thay thế thì thường kéo theo cả framework. Forge Dialog là cách chúng tôi giải bài toán đó: không phụ thuộc runtime, dựng trên thẻ dialog gốc, và bộ nối cho React, Vue, Svelte nằm ngay trong cùng một gói.
Forge Select: bản thay thế Select2 zero-dependency, framework-agnostic mã nguồn mở
Select2 đã phục vụ cộng đồng web nhiều năm, nhưng dựa trên jQuery — một ràng buộc ngày càng khó chấp nhận với stack hiện đại. Forge Select là component select/combobox chúng tôi tự xây: toàn bộ core chỉ 5 file, zero runtime dependency, nhưng đủ tính năng cho sản phẩm thật — virtual scroll, tree select, tags, và accessibility đầy đủ.