Cách nhanh nhất để biết một trợ lý AI có thật hay không là bảo nó nhắn tin cho mẹ bạn.
Tôi không đùa. Suốt phần lớn 2025 và quý đầu 2026, mọi "AI agent" tôi thử đều trượt cùng một bài kiểm tra vì cùng một lý do: nó không với tới được một người bình thường trên nền tảng mà người bình thường đó thực sự dùng. Telegram, được. Discord, được. iMessage? Im lặng. iMessage là nơi cả gia đình tôi ở, nghĩa là cho đến v0.9.0, Hermes Agent đơn giản là không thể nhắn tin cho mẹ tôi.
Ngày 13 tháng 4 năm 2026 — năm ngày sau khi v0.8.0 tự vá não cho mình — v0.9.0 sửa được chuyện đó. Nó cũng vá thêm hai lỗ hổng cùng hình dạng, chạy một đợt audit bảo mật trên toàn gateway, và bằng cách nào đó merge 269 PR trong năm ngày. Release notes giờ nói về mười sáu nền tảng nhắn tin. Hai tháng trước, con số đó là bảy.
Ba nền tảng đáp xuống trong một ngày thứ Bảy
v0.9.0 dựng lên ba gateway mới, và mỗi cái vá một lỗ hổng mà danh sách cũ không thể chạm tới.
Đầu tiên là BlueBubbles (iMessage). BlueBubbles là một cây cầu mã nguồn mở vài năm nay đã dán iMessage với phần còn lại của thế giới; v0.9.0 đưa ra một adapter đầy đủ cho giao thức webhook của nó, kèm tự động đăng ký để bạn không phải dán URL bằng tay. Nếu ở nhà có một chiếc Mac chạy BlueBubbles, bạn giờ đã có một Hermes Agent nói được iMessage.
Thứ hai là WeChat (Weixin) qua iLink Bot API gốc. Không phải screen-scraping, không phải web-emulator — một API bot thực sự, có streaming và tải media. Với những người chạy Hermes ở Trung Quốc đại lục, đây là khác biệt giữa "đồ chơi vui cho người nước ngoài" và "thứ thực sự có thể triển khai".
Thứ ba là chế độ callback của WeCom — phía "ứng dụng doanh nghiệp tự xây" của WeCom, với atomic state persistence để triển khai trong doanh nghiệp sống sót qua một lần restart gateway mà không vứt người dùng giữa cuộc nói chuyện. Cụm từ "atomic state persistence" xuất hiện ba lần trong release notes v0.9.0. Người viết rõ ràng đã mệt vì những bug stale-state.
Ba nền tảng, ba loại vận hành hoàn toàn khác nhau, một bản phát hành.
Một web dashboard cho những người đã ngán terminal
Thay đổi khác viết lại ai có thể dùng Hermes là Local Web Dashboard mới. Một UI trong trình duyệt chạy bên cạnh cài đặt Hermes của bạn, lôi ra ngoài những cấu hình trước đây sống đằng sau hermes setup và hermes model. Chạy cục bộ, không gọi đi đâu — và đây là lần đầu tiên câu trả lời cho "nhưng bạn tôi không dùng terminal" không phải là "thì bạn ấy phải học terminal".
Đây cũng — một cách lặng lẽ — là bản phát hành mà câu "Hermes Agent có GUI" không còn cần chú thích. v0.11.0 sẽ đặt thêm i18n, theme và bố cục di động lên trên, nhưng nền móng được đổ ngay tại đây.
/fast, /debug và bộ-nhỏ-mà-lớn
v0.9.0 mang xuống một nắm slash command, và cái đánh nặng hơn trọng lượng của mình rất nhiều là /fast. Nó chuyển model đang chạy sang làn ưu tiên của provider — chỗ nào có, vào thời điểm phát hành là OpenAI và Anthropic. Trên giấy nghe nhỏ, trên thực tế trở thành lớn vào lúc bạn lần đầu thấy Hermes treo trên một tool call: bạn gõ /fast, đợi một nhịp, đi tiếp.
Xung quanh đó: /debug rút diagnostics ra trong một phát từ bất kỳ gateway đang chạy nào. hermes debug share upload debug-bundle lên pastebin để bạn dán một link thay vì cả bức tường chữ. hermes dump in một bản tóm tắt cài đặt sẵn để copy-paste vào issue hay chat. /compress <focus> cho phép bạn nén cuộc trò chuyện đồng thời nói với agent những mạch nào không được mất.
Không cái nào là feature nổi bật. Tất cả đều thuộc loại bạn chỉ nhận ra khi công cụ lấy chúng đi.
backup, import và cái chết của câu "bây giờ làm gì?"
Hai command mới lặng lẽ đóng lại một trong những trải nghiệm khó chịu nhất của self-hosted agent: hermes backup và hermes import giờ bao luôn toàn bộ migration cấu hình. Skill, session, memory, cron, giá trị trong .env — tất cả serialize thành một cục và load lại từ cục đó.
Đây là tính năng không làm gì nhìn thấy được cho đến cái ngày VPS của bạn bốc cháy, và khi đó nó tiết kiệm cho bạn cả một buổi tối. Đây cũng là tính năng cuối cùng làm cho câu chuyện "VPS $5" hồi tháng Ba thực sự di chuyển được. Trước v0.9.0, "chuyển Hermes" nghĩa là "cài lại Hermes từ đầu và cầu Trời rằng không quên gì". Sau v0.9.0, nó là một tarball.
Termux, proxy và đợt provider âm thầm
Android/Termux gốc trong v0.9.0 có một luồng cài đặt đúng đắn và tinh chỉnh TUI. Con đường Termux không còn là fork thử nghiệm — nó đi qua đúng cái installer đã được test giống như Linux và macOS. Muốn dựng agent ngay trong chiếc điện thoại trong túi? README và hermes cuối cùng cũng đồng ý với nhau về cách làm.
Trong cùng làn sóng đó cũng đáp xuống hỗ trợ proxy thống nhất: SOCKS, proxy riêng cho Discord, tự dò proxy hệ thống — đồng nhất trên mọi nền tảng. Với những người self-host sau firewall doanh nghiệp, "đánh nhau với proxy" không còn là một cuộc chiến riêng cho từng integration nữa.
Phía provider, bản phát hành dán thêm xAI (Grok) thành provider gốc hạng nhất, Xiaomi MiMo gốc, Qwen OAuth có hỗ trợ truy vấn portal, Voxtral TTS (model audio của Mistral), và một context engine pluggable điều khiển qua hermes plugins — việc xây cửa sổ context không còn là "hộp đen chỉ thay đổi nếu fork project".
Một breaking change chôn trong một dòng cáo phó
Mục breaking change trong v0.9.0 ngắn, nhưng đáng đọc. Slash /prompt bị bỏ — release notes gọi nó là "a prefix expansion footgun", một khẩu súng tự bắn vào chân kiểu mở rộng prefix. Có lẽ là dòng cáo phó trung thực nhất mà một tính năng deprecated có quyền hy vọng. LLM_MODEL bị đánh dấu deprecated, tự động migrate sang biến mới.
Bảo mật: một lượt hardening, không phải patch lẻ
v0.9.0 đã chạy cái mà release notes thẳng thắn gọi là comprehensive security hardening. Danh sách đọc như checklist audit đi qua codebase từng điểm một: xác minh chữ ký webhook Twilio (đóng RCE qua SMS), trung hòa shell-injection trong các thao tác sandbox, chống argument-injection cho git, SSRF guard cho redirect tải ảnh, chống path-traversal trong checkpoint manager, và bắt buộc xác thực trên API server.
Bản thân công việc này không đủ làm một bài riêng. Ở đây nó quan trọng vì v0.9.0 cũng là bản phát hành Hermes chạm tới các messenger tiêu dùng thật — iMessage, WeChat — và mô hình mối đe dọa của một chatbot kiêm chạy lệnh shell sẽ thay đổi ngay ngày bạn hướng nó vào một số điện thoại.
Bằng số liệu
269 PR đã merge từ 24 contributor qua 487 commit — trong năm ngày.
Tốc độ đó không phải là chuyện riêng của v0.9.0. v0.7.0 → v0.8.0 là năm ngày. v0.9.0 → v0.10.0 sẽ là ba. Hình dạng của tháng tới có thể đọc được từ đây: một chồng bản tuần, mỗi cái xoay quanh một chủ đề đủ lớn để xứng cái tên riêng. Ở v0.9.0 chủ đề là nền tảng. Tám ngày sau, v0.11.0 sẽ xây lại giao diện. Năm tuần sau, v0.14.0 sẽ viết lại cách thứ này được cài đặt.
---
Tôi cứ quay lại với BlueBubbles. Thay đổi trong v0.9.0 có lẽ ăn nhiều dòng code nhất là một refactor transport mà chẳng ai sẽ nhận ra. Thay đổi ăn ít dòng nhất, ngược lại, là adapter iMessage. Vậy mà cái thứ hai mới là cái tôi gọi điện kể với mẹ — vì nó là thay đổi cuối cùng cho phép agent trên server của tôi với tới được người mà tôi thật sự nói chuyện hằng ngày.
Bản phát hành bán dưới khẩu hiệu "thêm nền tảng" hiếm khi nghe phấn khích. Nó nghe như một danh sách bullet. Nhưng "thêm nền tảng", nếu nhìn kỹ, có cùng hình dạng với một câu khác: "thêm người có thể dùng thứ này". Trong một buổi chiều thứ Bảy, v0.9.0 đã cộng thêm ba người vào đó.