Skip to content

PhamHungTien/PHTV

PHTV Icon

PHTV — Precision Hybrid Typing Vietnamese

Bộ gõ tiếng Việt hiện đại cho macOS

License: GPL v3 Build Status macOS 13+ Universal Binary Swift 6.0+ GitHub release Auto-update GitHub downloads GitHub stars Sponsor

Tải về | Tài liệu | Báo lỗi | FAQ | ☕ Ủng hộ


Giới thiệu

PHTV (Precision Hybrid Typing Vietnamese) là bộ gõ tiếng Việt offline, nhanh, và riêng tư cho macOS 13+. Được phát triển bằng Swift/SwiftUI với engine C++ từ OpenKey, mang đến trải nghiệm gõ tiếng Việt mượt mà và tích hợp sâu vào hệ thống.

Tự động cập nhật - Nhận phiên bản mới ngay khi ra mắt với Sparkle framework. Không cần tải lại thủ công!

🚀 Quick Start

# Cài đặt bằng Homebrew
brew install --cask phamhungtien/tap/phtv

# Mở ứng dụng
open /Applications/PHTV.app

Sau khi cài:

  1. Cho phép quyền Accessibility trong System Settings
  2. Click icon En trên menu bar → chọn Vi để bật tiếng Việt
  3. Nhấn Control + Shift để chuyển đổi Việt/Anh (tùy chỉnh trong Settings)
  4. Bắt đầu gõ! 🎉

Tính năng

Cốt lõi

  • Hoàn toàn offline - Không cần Internet, bảo mật tuyệt đối
  • Telex, VNI, Simple Telex - Đầy đủ các phương pháp gõ phổ biến
  • Nhiều bảng mã - Unicode, TCVN3 (ABC), VNI Windows, Unicode Compound
  • Native macOS - Giao diện SwiftUI hiện đại, hỗ trợ Dark Mode

Gõ thông minh

  • Sửa dấu tại chỗ (Edit-in-place) - Tự động nhận diện ngữ cảnh khi bạn click chuột hoặc dùng phím mũi tên quay lại từ đã gõ, giúp sửa hoặc thêm dấu trực tiếp mà không cần xóa gõ lại từ đầu.
  • Kiểm tra chính tả - Tự động phát hiện từ sai chính tả
  • Chính tả hiện đại - Hỗ trợ quy tắc "oà, uý" thay vì "òa, úy"
  • Gõ tắt nhanh (Quick Telex) - cc→ch, gg→gi, kk→kh, nn→ng, qq→qu, pp→ph, tt→th
  • Phụ âm đầu/cuối nhanh - f→ph, j→gi, w→qu (đầu) và g→ng, h→nh, k→ch (cuối)
  • Tự động viết hoa - Viết hoa chữ cái đầu câu sau dấu chấm
  • Tự động khôi phục từ tiếng Anh - Nhận diện và khôi phục từ tiếng Anh khi gõ nhầm (VD: "tẻminal" → "terminal")
  • Vietnamese consonant detection - Logic thông minh phân biệt từ tiếng Việt có dấu và từ tiếng Anh (VD: "đi" vs "did", "fix" vs "fi")

Macro & Text Snippets

  • Gõ tắt thông minh - Định nghĩa từ viết tắt tùy ý (VD: "btw" → "by the way")
  • Text Snippets - Gõ tắt động với ngày, giờ, clipboard, random, counter
  • Tự động viết hoa macro - "Btw" → "By the way", "BTW" → "BY THE WAY"
  • Hoạt động ở cả 2 chế độ - Macro hoạt động cả khi gõ tiếng Việt và tiếng Anh
  • Import/Export - Nhập xuất danh sách macro từ file
  • Danh mục - Tổ chức macro theo nhóm với icon và màu sắc

PHTV Picker (Emoji & GIF)

  • Giao diện Liquid Glass - Thiết kế hiện đại theo chuẩn Apple với hiệu ứng glass morphism
  • 1,463 Emoji từ Unicode v17.0 - Đầy đủ emoji mới nhất với categories và tìm kiếm
  • GIF không giới hạn - Tích hợp Klipy API với hàng ngàn GIF miễn phí
  • Tìm kiếm thông minh - Tìm Emoji/GIF theo từ khóa tiếng Việt và tiếng Anh
  • Auto-paste - Click là gửi ngay, không cần Cmd+V
  • Multi-format support - Hoạt động với iMessage, Zalo, Messenger Web và các app khác
  • Auto cleanup - Tự động xóa file GIF đã tải sau 5 giây
  • Ad-supported - Miễn phí hoàn toàn nhờ quảng cáo từ Klipy
  • Hotkey tiện lợi - Cmd+E (tùy chỉnh được) để mở nhanh

Tương thích ứng dụng

  • Keyboard Layout Compatibility - Hỗ trợ Dvorak, Colemak và các bố cục bàn phím đặc biệt
  • Claude Code Fix - Sửa lỗi gõ tiếng Việt trong Claude Code CLI (Terminal)
  • Safe Mode - Tự động khôi phục khi Accessibility API gặp lỗi
  • Excluded Apps - Danh sách ứng dụng tự động chuyển sang tiếng Anh
  • Send Key Step-by-Step - Gửi từng phím riêng lẻ cho ứng dụng tương thích kém
  • Nhớ bảng mã theo ứng dụng - Tự động chuyển bảng mã phù hợp cho từng app

Phím tắt & Điều khiển

  • Phím chuyển ngôn ngữ tùy chỉnh - Control, Option, Command, Shift hoặc tổ hợp
  • Tạm tắt tiếng Việt - Giữ phím để tạm thời gõ tiếng Anh
  • Khôi phục ký tự gốc - Nhấn ESC để hoàn tác dấu (VD: "việt" → "viejet")
  • Smart Switch - Tự động nhớ ngôn ngữ cho từng ứng dụng

Phát hiện bàn phím non-Latin

  • Tự động chuyển về English - Khi dùng bàn phím Nhật, Trung, Hàn, A Rập, Thái, Hindi...
  • Khôi phục tự động - Chuyển lại bàn phím Latin sẽ khôi phục chế độ tiếng Việt
  • Hỗ trợ đa dạng - Japanese, Chinese, Korean, Arabic, Hebrew, Thai, Greek, Cyrillic, v.v.

Hệ thống

  • Khởi động cùng macOS - Tùy chọn chạy khi đăng nhập
  • Hot Reload - Thay đổi cài đặt không cần khởi động lại
  • Tự động cập nhật (Sparkle) - Kiểm tra và cập nhật phiên bản mới tự động từ GitHub với EdDSA signing bảo mật
  • Import/Export cài đặt - Sao lưu và khôi phục toàn bộ settings
  • Menu bar icon - Hiển thị trạng thái Vi/En trên thanh menu
  • Báo lỗi thông minh - Tự động thu thập log debug, thống kê lỗi, gửi qua GitHub/Email

Screenshots

Menu Bar & PHTV Picker

Menu Bar UI

Menu Bar

PHTV Picker - Emoji

Emoji Picker

PHTV Picker - GIF

GIF Picker

PHTV Picker - Sticker

Sticker Picker

Settings

Settings - Bộ gõ

Bộ gõ

Settings - Phím tắt

Phím tắt

Settings - Gõ tắt

Gõ tắt

Settings - Ứng dụng

Ứng dụng

Settings - Hệ thống

Hệ thống

Settings - Báo lỗi

Báo lỗi

Settings - Thông tin

Thông tin

Cài đặt

Homebrew (khuyên dùng)

brew install --cask phamhungtien/tap/phtv

💡 Tự động cập nhật: Sau khi cài, PHTV sẽ tự động kiểm tra và thông báo khi có phiên bản mới. Không cần brew upgrade thủ công!

Cập nhật thủ công qua Homebrew (nếu muốn):

brew upgrade --cask phtv

Gỡ cài đặt:

# Gỡ ứng dụng
brew uninstall --cask phtv

# Gỡ sạch (bao gồm cả settings)
brew uninstall --zap --cask phtv

Tải trực tiếp

# Tải từ website
open https://phamhungtien.com/PHTV/

# Hoặc từ GitHub Releases
open https://github.com/PhamHungTien/PHTV/releases/latest

[!WARNING] Không mở được ứng dụng? Nếu macOS báo lỗi "damaged" hoặc "can't be opened", mở Terminal và chạy:

xattr -cr /Applications/PHTV.app

Build từ source

git clone https://github.com/PhamHungTien/PHTV.git
cd PHTV
open PHTV.xcodeproj
# Build với Cmd+B, chạy với Cmd+R

Lưu ý: Ứng dụng cần quyền Accessibility để hoạt động. Vào System Settings > Privacy & Security > Accessibility và thêm PHTV.

🤖 CI/CD & Release Automation

PHTV sử dụng GitHub Actions để tự động build, sign, và release:

  • Tự động build trên macOS 26 với Xcode
  • Code signing với Apple Development certificate
  • Tạo DMG với Applications shortcut
  • Sparkle signing cho auto-update bảo mật
  • Auto-update Homebrew formula và appcast.xml
  • Auto-increment build number cho mỗi release

Xem chi tiết tại .github/workflows/README.md

Sử dụng

Phím tắt mặc định

Phím tắt Chức năng
Control + Shift Chuyển Việt/Anh (tùy chỉnh được)
ESC Khôi phục ký tự gốc (hoàn tác dấu)
Giữ Option Tạm tắt tiếng Việt (tùy chỉnh được)

Menu Bar

Click biểu tượng Vi (Việt) / En (Anh) trên menu bar:

  • Chuyển đổi phương pháp gõ (Telex/VNI/Simple Telex)
  • Thay đổi bảng mã (Unicode/TCVN3/VNI Windows/Unicode Compound)
  • Bật/tắt kiểm tra chính tả, gõ tắt
  • Mở Settings để cấu hình chi tiết

Cài đặt chi tiết

Tab Nội dung
Bộ gõ Phương pháp gõ, bảng mã, chính tả, Quick Telex, phụ âm nhanh
Phím tắt Phím chuyển ngôn ngữ, tạm tắt tiếng Việt, PHTV Picker hotkey
Gõ tắt Quản lý macro, text snippets, import/export, tự động viết hoa
Ứng dụng Excluded Apps, Send Key Step-by-Step, Keyboard Layout, Claude Code Fix, Safe Mode
Hệ thống Khởi động cùng macOS, Smart Switch, cập nhật, menu bar, phát hiện bàn phím non-Latin
Báo lỗi Gửi báo cáo lỗi qua GitHub hoặc Email với crash logs và debug info
Thông tin Phiên bản, giấy phép, ủng hộ phát triển

Yêu cầu hệ thống

Thành phần Yêu cầu
macOS 13.0+ (Ventura trở lên)
Kiến trúc Universal Binary (Intel + Apple Silicon)
Xcode Phiên bản mới nhất (nếu build từ source)
Quyền Accessibility

Lưu ý: PHTV hỗ trợ cả Intel và Apple Silicon (M1/M2/M3/M4/...). Universal Binary cho mọi Mac chạy macOS 13.0+.

Công nghệ

Core

  • Swift 6.0 + SwiftUI - Giao diện native hiện đại
  • C++ - Engine xử lý input (từ OpenKey)
  • CGEvent API - Event interception và xử lý bàn phím
  • Accessibility API - Hỗ trợ Spotlight và các app đặc biệt
  • NSUserDefaults - Lưu trữ cấu hình local

Distribution & Updates

  • Sparkle 2.8.1 - Framework auto-update với EdDSA signing
  • GitHub Actions - CI/CD tự động build và release
  • Homebrew Cask - Package manager cho macOS
  • DMG - Universal disk image với Applications symlink

Tài liệu

Người dùng

  • Cài đặt - Hướng dẫn cài đặt chi tiết
  • FAQ - Các câu hỏi thường gặp

Nhà phát triển

Đóng góp

Mọi đóng góp đều được chào đón! Xem CONTRIBUTING.md để biết cách thức.

Các cách đóng góp:

Hỗ trợ & Liên hệ

License & Credits

PHTV được phát hành dưới giấy phép GPL v3.0.

Dự án kế thừa và mở rộng engine từ OpenKey của Tuyến Võ Minh. Chân thành cảm ơn cộng đồng OpenKey đã tạo nền tảng tuyệt vời này.


Nếu PHTV hữu ích, hãy cho dự án một star!

GitHub stars

Về đầu trang

Made with love for Vietnamese macOS users