39 điểm bởi arsture 2026-04-03 | 15 bình luận | Chia sẻ qua WhatsApp

Mình là một sinh viên đại học thích phát triển phần mềm. Mỗi lần bảo AI làm gì đó thì việc gõ phím lại trở thành nút thắt, nên mình đã tìm thử giải pháp nhập liệu bằng giọng nói và ban đầu dùng Superwhisper.

Dùng cũng không tệ lắm, nhưng vì nó không dành riêng cho tiếng Hàn nên cứ nhận sai từ liên tục.

  • Khi nói "Mình đã mở PR lên GitHub rồi" → nó chép thành kiểu như "Mình đã mở peol lên GitHub"
  • Độ trễ thì tốt, nhưng độ chính xác nhận diện khá bực mình

Có trả tiền thì đúng là khá hơn. Nhưng vì là sinh viên nên mình cũng thiếu tiền,,, không muốn trả.

→ Thế là mình thử tự làm bằng STT local và LLM, nhưng lại quá chậm.
→ Rồi nghĩ lại thì mình đã đăng ký GPT sẵn rồi, nên có thể mượn LLM qua OAuth, còn STT thì dùng mấy dịch vụ như Groq với chi phí gần như miễn phí.

Theo hướng đó, mình đã làm một ứng dụng macOS cá nhân bằng Swift.

Cách hoạt động cốt lõi: nhấn hotkey rồi nói, STT → hiệu đính bằng LLM → tự động dán vào đúng vị trí con trỏ ban đầu.
Nhanh hơn gõ phím khoảng 3~5 lần, và kể cả khi đang ghi âm mà mở sang cửa sổ khác, ứng dụng vẫn nhớ vị trí focus ban đầu để chèn chính xác vào đó.

Quảng cáo

Khác gì so với các ứng dụng voice typing hiện có

Các app hiện có thường chỉ dừng ở STT → dán văn bản, còn Whispree có thêm một lớp hiệu đính LLM sau STT. Mình cũng không thấy app thương mại nào chuyên cho tiếng Hàn cả.

"밸리데이션 해야 되거든"  →  "validation 해야 되거든"  
"랙트 컴포넌트"        →  "React 컴포넌트"  
"깃헙에 펄 올려놨어"   →  "GitHub에 PR 올려놨어"  

Làm xong rồi mình thấy mức độ hài lòng khá cao, nên cứ dùng tiếp và gắn thêm tính năng.

Structured Mode

Vì cứ liên tục nhập cho AI bằng lời nói nên mình nhận ra là bản thân nói khá thiếu mạch lạc. Có nhiều từ như "và rồi", "ừm" kiểu vậy. Thế nên mình nghĩ sẽ hay nếu LLM hậu xử lý rồi cấu trúc lại thành bullet point, nên đã làm tính năng này.
Khi muốn tuôn ý tưởng ra, chỉ cần nhấn hotkey và nói một lèo là sẽ có prompt đã được sắp xếp gọn gàng.

Visual Context

Quảng cáo

Chỉ dựa vào lời nói thì không biết ngữ cảnh, nên có lúc LLM hiệu đính sai theo hướng rất kỳ. Vì vậy mình quyết định tự động chụp lại màn hình đang xem trong lúc ghi âm.

  • Ban đầu chỉ đưa vào màn hình đang focus, nhưng thực tế khi ghi âm mình lại xem qua cả các tab khác
  • Nên mình mở rộng sang chụp tất cả tab
  • Khi chuyển tab thì chụp ngay tab trước đó, còn nếu dừng 1.5 giây trên một màn hình thì chụp tại thời điểm đó
  • Mình cũng thêm tính năng dán trực tiếp screenshot vào prompt

Quick Fix (Ctrl+Shift+D)

Đăng ký ngay các từ bị nhận sai vào từ điển hiệu đính. Như vậy độ chính xác nhận diện sẽ tăng lên. Tính năng từ điển này vốn cũng đã làm rồi, nhưng vì lười nên mình gắn luôn thành hotkey.


Gần như miễn phí

  • STT: Groq API (miễn phí)
  • Hiệu đính LLM: dùng nguyên token xác thực của Codex CLI. Chỉ cần có tài khoản OpenAI là hầu như không tốn thêm chi phí
  • Cũng có thể chạy hoàn toàn local: nếu bạn không có tài khoản đăng ký Codex, vẫn có thể dùng các model local. Tuy nhiên nếu dùng model Qwen nhẹ hoặc chỉ dùng STT thì DX sẽ tốt hơn...

Provider & mode

Quảng cáo
  • STT: 3 lựa chọn WhisperKit / Groq / MLX Audio
  • LLM: 6 model local (Qwen, GLM) + 5 model OpenAI
  • Chế độ hiệu đính: 4 kiểu Standard / Filler Removal / Structured / Custom
  • Có tính năng Can I Run ngay trong app để kiểm tra mức độ tương thích thiết bị của bạn

Cài đặt

brew tap Arsture/whispree && brew install --cask whispree  

Chỉ hỗ trợ macOS 14+ (Sonoma), chỉ dành cho Apple Silicon. Ban đầu mình làm cho riêng mình dùng nên làm trên macOS, hiện chưa hỗ trợ nền tảng khác.


Lúc đầu cái tên của nó là FreeWhisper. Vì mình định chỉ dùng miễn phí cho riêng mình thôi. Nhưng rồi khi chuẩn bị public mã nguồn mở thì FreeWhisper nghe hơi quê. Vì ý tưởng là mượn API key để dùng nên mình cũng từng nghĩ đến cái tên "NotMyWhisper". Nó có cảm giác giống kiểu "con mèo đi mượn" nên mình cũng thấy hay. Nhưng dùng dần thì lại thấy kiểu như "đây đâu phải whisper của người khác, đây là whisper của mình mà?", thế là cuối cùng thành Whispree.

Đây là mã nguồn mở theo giấy phép MIT. Rất mong nhận được phản hồi.

GitHub: https://github.com/Arsture/whispree

15 bình luận

 
grollcake 13 ngày trước

Lâu rồi tôi mới dùng lại, mà trong thời gian đó ứng dụng đã cải thiện rất nhiều.
Tuy nhiên có một điểm tôi muốn được cải thiện.
Tính năng ngữ cảnh trực quan rất hay. Nhưng việc hiển thị màn hình đã chụp mỗi khi kết thúc ghi âm hơi bất tiện. Dù chỉ cần nhấn ESC là có thể hủy, nhưng tôi muốn nó đừng hiện ra ngay từ đầu thì hơn.
Nếu mục đích là để dán màn hình đã chụp lúc ghi âm, thì thay vào đó bổ sung tính năng tìm lại màn hình chụp sau khi kết thúc sẽ thế nào?

 

Trong lúc ghi âm, nếu bạn nhấn giữ tùy chọn bên trái, ngữ cảnh vẫn được truyền đi nhưng có thể tắt chức năng dán vào!

Không biết có phải bạn đang nói đến tính năng này không??

 
grollcake 5 ngày trước

Không phải đâu. Tôi chỉ đơn thuần hay dùng riêng chức năng chép lời thôi. Nhưng việc danh sách ảnh chụp màn hình hiện ra mỗi khi kết thúc ghi âm khá bất tiện, nên tôi muốn tắt nó đi.
Giữ phím Option thì đúng là nó không hiện ra. Nhưng với cách sử dụng của tôi thì điều này cũng vẫn bất tiện. Tôi nghĩ sẽ có khá nhiều người gặp khó chịu tương tự. Có thể phản ánh điều này vào tùy chọn chính được không?

 

À, với tùy chọn chính đó thì có lẽ mặc định là đang tắt, nhưng nếu bạn đang dùng phiên bản cũ thì có thể thay đổi đó chưa được áp dụng đâu!

Trong ứng dụng whispree -> LLM -> Ngữ cảnh ảnh chụp màn hình -> Truyền cho agent, nếu chuyển sang Off thì bạn có thể tắt nó một cách rõ ràng!

Về phần nào trong kiểu sử dụng khiến bạn thấy bất tiện thì ở đây không đính kèm được ảnh nên mình chưa hiểu thật rõ T_T
Nếu được thì bạn có thể đăng lên GitHub issue giúp mình không? Khi đó mình sẽ cố gắng hiểu ngữ cảnh tối đa rồi phản ánh vào nhé!

 
grollcake 1 ngày trước

Cảm ơn bạn. Từ hôm nay tôi thấy nó không hiện nữa nên tự hỏi tại sao, hóa ra là bạn đã cập nhật tính năng.
Cảm ơn bạn đã phản hồi nhanh chóng.

 
bskim 2026-04-04

Tôi từng thấy Handy có một vài điểm chưa thật sự ưng ý, nên cái này nghe có vẻ tốt đấy. Tạm thời tôi sẽ đổi sang dùng thử.

 
arsture 2026-04-04

Cảm ơn bạn! Chúng tôi luôn hoan nghênh mọi phản hồi bất cứ lúc nào!

 
vkehfdl1 2026-04-04

Hay đấy :) Ủng hộ bạn

 
arsture 2026-04-04

Cảm ơn bạn :)

 
zihado 2026-04-06

Có vẻ như có lỗi ở phần cài đặt phím tắt.

 
arsture 2026-04-06

Ôi, cho mình hỏi đó là lỗi gì được không ạ?

 
zihado 2026-04-06

Không thể tự cài đặt phím tắt, và nếu đặt lại thì thậm chí phím tắt còn biến mất luôn.

 
arsture 2026-04-06

Có phải bạn đã thiết lập quyền Accessibility rồi không?
Nếu chưa, vui lòng thêm ứng dụng Whispree vào Accessibility, sau đó thử lại việc thiết lập phím tắt và cho chúng tôi biết nhé!

 
grollcake 2026-04-05

Tôi đã thử một lần và thấy rất tuyệt. Ủng hộ bạn.

 
arsture 2026-04-06

Cảm ơn!