37 điểm bởi GN⁺ 2026-02-13 | 13 bình luận | Chia sẻ qua WhatsApp
  • Công cụ dùng giọng nói từ Warcraft, StarCraft, Zelda, v.v. để thông báo bằng âm thanh khi tác nhân AI coding hoàn thành công việc hoặc yêu cầu nhập liệu
  • Tích hợp với các IDE phổ biến như Claude Code, Codex, Cursor, OpenCode, giúp có thể nhận biết trạng thái bằng thính giác mà không cần liên tục nhìn vào terminal
  • Hỗ trợ hơn 40 gói âm thanh, bao gồm giọng của nhiều nhân vật game như Warcraft, StarCraft, Portal, Zelda
  • Công nhân Orc/người của Warcraft, Undead/Murloc, Battlecruiser/Kerrigan/Siege Tank của StarCraft, Duke Nukem, kỹ sư Liên Xô trong Red Alert,..
  • Chạy trên macOS, Linux, WSL2 và có thể cài đặt dễ dàng bằng Homebrew hoặc lệnh curl

Tổng quan

  • PeonPing là hệ thống thông báo bằng giọng nói cho Claude Code và Codex, phát giọng nhân vật game khi tác nhân AI coding hoàn thành tác vụ hoặc yêu cầu người dùng nhập liệu
    • Mặc định dùng giọng Peon Orc của Warcraft III
    • Cung cấp các gói giọng nhân vật từ nhiều thương hiệu như StarCraft, Portal, Zelda
  • Người dùng có thể nắm ngay trạng thái công việc qua phản hồi âm thanh mà không cần liên tục theo dõi terminal

Tính năng chính

  • Triển khai chuẩn Coding Event Sound Pack Specification (CESP) để ánh xạ các sự kiện IDE sang các danh mục âm thanh tiêu chuẩn
    • Phát giọng theo từng sự kiện như session.start, task.complete, input.required, user.spam
    • Ví dụ: “Ready to work?”, “Work, work.”, “Something need doing?”
  • Đồng thời cung cấp đổi tiêu đề tab terminal và thông báo desktop
    • Vẫn hiển thị thông báo trực quan ngay cả khi terminal không hoạt động
  • Hỗ trợ các lệnh điều khiển CLI
    • Có thể điều khiển giọng nói/thông báo bằng peon toggle, peon pause, peon packs use
    • Hỗ trợ tự động hoàn thành tab

Cài đặt và môi trường

  • Cách cài đặt
    • Trên macOS và Linux, cài bằng brew install PeonPing/tap/peon-ping hoặc lệnh curl -fsSL ... | bash
    • Khi cài đặt sẽ kèm sẵn 10 gói giọng tiếng Anh mặc định
    • Có thể cài tất cả các gói ngôn ngữ/thương hiệu bằng tùy chọn --all
  • Môi trường hỗ trợ
    • macOS(afplay), Linux(paplay, ffplay, mpv, aplay), WSL2(PowerShell MediaPlayer)
    • Tích hợp với Claude Code, Codex, Cursor, OpenCode và các IDE khác
    • Yêu cầu Python3

Cấu hình và điều khiển người dùng

  • Tệp cấu hình được lưu tại ~/.claude/hooks/peon-ping/config.json
    • Có thể chỉnh âm lượng (0.0–1.0), bật/tắt theo từng danh mục thông báo, bật/tắt thông báo desktop
    • Tùy chọn silent_window_seconds để chặn thông báo cho các tác vụ ngắn
    • pack_rotation cho phép xoay vòng ngẫu nhiên gói giọng theo từng phiên
  • Có thể tắt tiếng/khôi phục ngay trong Claude Code bằng lệnh /peon-ping-toggle hoặc qua CLI

Cấu thành gói âm thanh

  • Cung cấp hơn 40 gói, ví dụ tiêu biểu:
    • peon: công nhân Orc của Warcraft III
    • peasant: công nhân loài người
    • glados: GLaDOS của Portal
    • sc_kerrigan: Sarah Kerrigan của StarCraft
    • dota2_axe, duke_nukem, tf2_engineer, hd2_helldiver v.v.
  • Có thể nghe thử tất cả gói tại openpeon.com/packs
  • Người dùng có thể chuyển gói bằng lệnh peon packs use

Cách hoạt động

  • Script peon.sh phát hiện các sự kiện SessionStart, UserPromptSubmit, Stop, Notification, PermissionRequest của Claude Code
    • Ánh xạ từng sự kiện sang danh mục CESP rồi phát ngẫu nhiên giọng nói tương ứng
    • Đồng thời ngăn phát lặp và cập nhật tiêu đề tab terminal
  • Các gói âm thanh được tải từ OpenPeon registry
    • Các gói chính thức được host tại PeonPing/og-packs
    • Tệp âm thanh là tài sản của các nhà phát hành game, được phân phối trong phạm vi fair use cho mục đích thông báo cá nhân

Thông tin khác

13 bình luận

 
yangeok 2026-02-16

kkkk ready to work

 
kaydash 2026-02-13

kkkkkkkkkk

 
tesla52 2026-02-13

Danh sách sound pack đúng là quá hợp gu, cảm giác rất đúng chất gốc.

 
qlghwp123 2026-02-13

Hahahahahahahahahahahahahahahahahahahahahahahaha
Nghe vui lắm luôn ấy nhỉ?

 
ifmkl 2026-02-13

Đúng là cái này!

 
edunga1 2026-02-13

Xong việc rồi! Phải thử ngay thôi =))

 
t7vonn 2026-02-13

Haha, quá vui luôn.

 
ryj0902 2026-02-13

Sẵn sàng làm việc chưa? Làm việc, làm việc.

 
winterjung 2026-02-13

Nếu muốn làm đơn giản hơn thì bạn chỉ cần tải các âm thanh cần thiết từ trang https://www.wowhead.com/sounds/name:peon rồi cấu hình ~/.claude/settings.json như bên dưới.

{  
  "hooks": {  
    "SessionStart": [  
      {"hooks": [{"type": "command", "command": "afplay /Users/name/.claude/hooks/PeonReady1.ogg"}]}  
    ],  
    "UserPromptSubmit": [  
      {"hooks": [{"type": "command", "command": "afplay /Users/name/.claude/hooks/PeonYes3.ogg"}]}  
    ],  
    "Notification": [  
      {"hooks": [{"type": "command", "command": "afplay /Users/name/.claude/hooks/PeonWhat3.ogg"}]}  
    ],  
    "Stop": [  
      {"hooks": [{"type": "command", "command": "afplay /Users/name/.claude/hooks/PeonBuildingComplete1.ogg"}]}  
    ]  
  }  
}  
 
xguru 2026-02-13

Nếu chủ yếu dùng Codex thì https://github.com/mrdavey/codex-peon này sẽ dễ cấu hình hơn.

 
mammal 2026-02-13

Dự án hay nhất tôi thấy gần đây

 
cysl0 2026-02-13

kkkkkkkkkk

 
GN⁺ 2026-02-13
Ý kiến trên Hacker News
  • Cuối cùng cũng có người dùng LLM cho việc thật sự hữu ích, thay vì kiểu “Claude, làm cho tôi thêm một SaaS vô dụng nữa đi”
    Đúng như lời tiên tri, điểm khác biệt thực sự là sự sáng tạo, không phải kỹ năng lập trình

    • Đồng ý. Giờ chỉ đang chờ ai đó tái tạo hoàn hảo giọng của Majel Barrett để máy tính nghe đúng kiểu tương lai thực thụ
      Đáng tiếc là việc này lẽ ra đã làm được từ khoảng 10 năm trước, nhưng các mẫu âm thanh chất lượng cao lại bị mắc kẹt giữa vấn đề bản quyền và lợi ích thương mại nên dự án bị chậm lại
    • Vui thì vui thật, nhưng nên cẩn thận với tấn công chuỗi cung ứng hoặc mã độc trong các script .sh vibe-coded ngẫu nhiên
      Ví dụ như tải về rồi chạy script khác, sửa ~/.bashrc, hoặc parse JSON từ xa để kéo file về
    • Có vẻ sự sáng tạo sắp thật sự lên ngôi
    • Chuẩn. Tính năng thông báo peon là ví dụ hoàn hảo. Nhỏ thôi nhưng khiến người ta muốn dùng công cụ hơn
      Phần mềm tốt dạo này thường để lại cảm giác “người làm ra nó đã rất thích thú”. Có thể cảm nhận ngay sự khác biệt giữa một công cụ chỉ hoạt động được và một công cụ khiến bạn nghĩ “cái này vui thật”
  • Dự án này làm tôi nhớ đến Warcraft 1. Khi bấm liên tục vào cùng một đơn vị, phản ứng của nó sẽ ngày càng cáu kỉnh, và câu của người lính “Sao cứ chạm vào tôi mãi thế?” là đỉnh nhất
    Video liên quan

    • Trong chương trình cài đặt âm thanh cũng có trò đùa tương tự. Nếu bấm “test sound” liên tục thì sẽ nghe câu “Không thể hay hơn được nữa!”
      Cá nhân tôi thấy buồn cười nhất là lúc kẻ hủy diệt orc trong Warcraft II định hát bài ca đi biển
    • Ở bản tiếng Tây Ban Nha, nếu bấm liên tục vào Demon Hunter thì câu tôi thích nhất là “Tôi mù chứ không điếc”
    • Tôi thích các câu thoại bổ sung trong Warcraft IIStarcraft hơn. Có đoạn nhại loạt Alien và Diablo
    • Trong Warcraft III, nếu bấm vào một số con vật đủ nhiều lần thì chúng sẽ nổ tung
    • “Join the Army”, họ đã nói thế…
  • Khoảng 20 năm trước, hệ thống build của Google từng có tên là “grunt”, và trong mô tả CL có câu “hãy làm cho bản build buồn cười hơn 10%”
    Thế là trong log build có xác suất 10% sẽ in ra “zug-zug”

    • kek
  • Tôi cũng thử cái này rồi, và cực thích việc nghe “Work complete!” khi Claude Code gọi mình
    Video tham khảo
    Sau đó tôi thấy các thông điệp theo từng sự kiện của từng dự án còn hữu ích hơn. Trên macOS tôi cấu hình như sau

    {
      "Stop": [{"hooks": [{"type": "command", "command": "osascript -e 'say \"ProjectX work complete\" volume 0.25'"}]}],
      "Notification": [{"matcher": "permission_prompt","hooks": [{"type": "command","command": "osascript -e 'say \"ProjectX needs help\" volume 0.5'"}]}]
    }
    
    • Thật ra không cần AppleScript, chỉ dùng lệnh say là được
    • Tôi đang thắc mắc phải đặt file cấu hình này ở đâu
  • Ý tưởng này hay quá. Chỉ là nếu dùng giọng Warcraft II thì chắc còn tuyệt hơn

    • Chào đồng niên, khoảng 40~45 tuổi nhỉ? Thế hệ Warcraft II Battle Chest đúng là có cảm xúc rất khác
    • Tôi lại thích Red Alert II hơn.
      Mong nhiều nhóm nghiên cứu làm giúp một thứ kiểu định dạng JSON cho phép đổi giọng cục bộ.
      Dạo này tôi đang dùng app OpenAI Codex khá nhiều, nếu có sẵn tính năng như thế thì sẽ tốt hơn rất nhiều
    • Hoặc Warcraft I cũng được. Video liên quan
    • Tôi cũng nhớ câu “Your sound card works perfectly” đó
    • Bản demo Warcraft II có easter egg. Có một câu thoại là “Trong bản chính thức tôi còn hài hơn nhiều”
  • Hồi xưa khi làm custom map cho Warcraft II, nếu đặt thời gian xây công trình về 0 thì công trình sẽ hoàn thành ngay nhưng ở trạng thái hỏng
    Cho nông dân xây trang trại xong thấy hiện ra một cái trang trại đang cháy kèm câu “Job’s Done!” thì buồn cười không chịu nổi

  • Muốn dùng tài sản của Warcraft 3 thì phải sở hữu bản gốc, mà không thấy nhắc gì đến điều đó nên khá lạ
    Chuyện này vi phạm bản quyền chẳng kém gì quá trình huấn luyện LLM. Hay là đã có luật kiểu “nếu cho AI dùng thì được ngoại lệ” rồi?

    • Bản quyền vốn đã là một khái niệm chết rồi
    • Không cần phải rơi nước mắt vì mấy tập đoàn lớn như Activision Blizzard đâu.
      AI tạo sinh sẽ khiến người ta phải nghĩ lại toàn bộ hệ thống bản quyền
    • Nếu AI có một ưu điểm duy nhất, thì đó là nó có thể san phẳng hệ sinh thái hiện tại
    • Nhưng chuyện này cũng có thể được xem là fair use.
      Nó không làm hại thị trường của tác phẩm gốc, thậm chí còn có thể kích thích hoài niệm và tăng doanh số
    • Nghe như kiểu “hãy bảo vệ các tập đoàn!”
  • Nhìn cái này tôi mới nghĩ “à, đây mới đúng là thứ mình thật sự muốn”
    Chỉ là tôi muốn làm nó bằng giọng máy tính trong Star Trek. Tôi thử ngay bằng Elevenlabs, và chỉ sau 30 phút đã bật cười khi nghe cảnh báo “đường hầm ssh đã bị ngắt”

    • Majel Barrett Roddenberry là vợ của Gene Roddenberry, người tạo ra Star Trek
    • Không biết họ có chia sẻ lại gói giọng nói đó chưa
  • Dự án thì ngầu đấy, nhưng nhìn thấy pipeline curl | bash là tôi quyết định không thử nữa
    Kiểu cài đặt này giờ đã quá lỗi thời rồi, và tôi không muốn gắn những ký ức đẹp với Claude và công việc theo cách đó

    • Đồng cảm hoàn toàn. Vì vậy mới khó giới thiệu Linux cho người bình thường
      Nhưng việc cùng là code trong một repo mà có cái thì chạy, có cái lại từ chối thì cũng hơi buồn cười
    • Tôi không thật sự hiểu vì sao mọi người lại phản đối curl | bash.
      Thực ra từ xưa đến nay ai cũng tải file cài đặt từ web về rồi chạy thôi.
      Điều quan trọng là độ tin cậy của nguồnviệc rà soát mã nguồn. Vậy phương án thay thế là gì?
    • Tôi cũng chỉ clone repo và dùng riêng file âm thanh thôi. Sau này có thể sẽ nối nó vào tác vụ terminal
    • Tôi cũng nghĩ vậy. Nên tôi đã nhờ Claude review code trước, rồi cài bằng bản đã clone về
  • Tôi nghĩ dự án này không chỉ là một trò đùa vui, mà còn là dấu hiệu của thay đổi sắp tới
    Năm ngoái khi làm rất sâu với coding dựa trên agent, tôi thấy rõ là cuối cùng mọi thứ sẽ đi về mô hình software factory
    Thế nên khi nghĩ đến giao diện để quản lý lượng mã ở quy mô đó, tôi đi đến kết luận rằng UI kiểu video game mới là đáp án
    Cách game biểu đạt thông tin hoàn toàn có thể tái sử dụng ở những lĩnh vực khác.
    Bề ngoài thì trông như trò đùa, nhưng thực ra tôi xem đây là một đóng góp khá nghiêm túc

    • Đúng vậy. Sắp tới sẽ có cơ hội cực lớn cho UX sáng tạo