Lần đầu tiên một cú nháy mạng cướp đi một session Hermes của tôi, tôi đang ở phút thứ hai mươi của một đợt refactor, và agent đang giữ trong đầu một bản đồ codebase mà chính tôi không có. Gateway mất kết nối. Session kết thúc. Bản đồ đi theo.
Tôi không định nói chính trải nghiệm đó là lý do v0.13.0 tồn tại. Release notes gọi bản này là "the tenacity release" — một cụm nghe như được lấy từ từ điển đồng nghĩa, cho đến khi bạn nhận ra ba tính năng đầu bảng của v0.13.0 thực ra là ba câu trả lời khác nhau cho cùng một câu hỏi: agent kết thúc thứ nó đã bắt đầu bằng cách nào?
Ngày 7 tháng 5 năm 2026, đúng một tuần sau v0.12.0. Bản phát hành rơi vào thứ Tư. Cuối ngày thứ Tư đó, agent trên server của tôi có thêm ba cách mới để cố chấp.
Một bảng Kanban, nhưng cho worker AI
Tính năng nổi bật là Multi-Agent Kanban — một bảng task có khả năng tồn tại, trên đó nhiều worker Hermes có thể cùng nhau lấy, chuyển và hoàn thành task. Đường ống phía dưới không đẹp, nhưng đó chính là phần quan trọng: giám sát heartbeat, phát hiện zombie, ngân sách retry theo từng task, ghi trạng thái nguyên tử.
Nói tiếng người: nếu một worker chết giữa task, một worker khác có thể nhận task đó. Nếu gateway restart, bảng trở lại nơi nó dừng. Nếu một task fail ba lần liên tiếp, ngân sách retry nói đủ rồi, log lại cho người đến xem. Tất cả đường ống đó tồn tại để bạn có thể chỉ năm bản Hermes vào một backlog và bước đi.
Nửa kia của tính năng, ít hào nhoáng nhưng có lẽ hữu ích hơn cho triển khai một instance: một instance Hermes tự nó có thể đóng vai trò "kanban worker" trong một plan đa tiến trình, lấy task từng cái một. Theo một nghĩa nào đó, agent đã học cách trở thành consumer của hàng đợi. Việc đó thay đổi loại công việc mà bạn có thể giao cho nó một cách hợp lý.
/goal và vòng Ralph
Lệnh slash /goal là hiện thực của thứ mà cộng đồng agent-design gọi là Ralph loop — một mẫu thiết kế lâu năm, bảo agent cắn chặt vào một mục tiêu qua nhiều lượt trò chuyện, dù người dùng có lái nó về hướng nào trong bất kỳ lượt đơn lẻ nào.
Nếu bạn từng bắt được Hermes đang trôi khỏi task ban đầu vì tin nhắn gần nhất kéo nó lệch — "khoan, chúng ta đang làm gì nhỉ?" — /goal là chỗ vá. Bạn đặt mục tiêu một lần ở đầu session, mỗi lượt tiếp theo được đánh giá theo nó. Agent được phép đi đường vòng; agent không được quên đích đến.
/subgoal, đáp xuống một tuần sau ở v0.14.0, cho phép bạn cắm tiêu chí thành công vào giữa chừng. Cặp đôi này gộp lại là thứ gần với việc một kế hoạch dự án truyền thống làm nhất mà một agent dạng chat từng đạt được: một mục tiêu, kèm tinh chỉnh dần theo thời gian.
Session durability — restart gateway không còn là reset
Tính năng thứ ba trong loạt "kết thúc thứ đã bắt đầu" là session durability. Cuộc trò chuyện tự nối lại sau khi gateway restart, giữ context và thread routing. Dưới capô là checkpoints v2 cộng với atomic session persistence — cùng hình dạng công việc với tầng heartbeat của Kanban.
Hành vi mà người dùng nhìn thấy là dòng bullet mà vài tháng trước tôi sẵn sàng đánh đổi nhiều thứ để có: restart gateway không còn là reset cuộc trò chuyện. Kéo phiên bản mới, restart process, cuộc trò chuyện tiếp tục đúng chỗ nó dừng. Câu chuyện vận hành day-2 cho Hermes self-hosted vừa trở nên đơn giản hơn nhiều — và với bất kỳ ai chạy nó trên một VPS thi thoảng tự reboot vì cập nhật kernel, đây là bản phát hành mà agent thôi để bụng.
Google Chat, DeepSeek v4 Pro và làn sóng model
Google Chat đáp xuống làm nền tảng nhắn tin thứ 20. Bản phát hành cũng giới thiệu một hệ thống provider có thể cắm rời, để adapter từ bên ngoài có thể phát hành ngoài core repo — cùng hình dạng công việc với kiến trúc transport của v0.11.0, giờ mở rộng sang gateway adapter. Bản clone iMessage tiếp theo, API messaging vùng tiếp theo, ứng dụng chat mã hóa tiếp theo — không cái nào còn phải chờ merge vào core.
Mặt model: DeepSeek v4 Pro, xAI Grok 4.3, OpenRouter Owl-Alpha (free tier), và Tencent Hy3 Preview đều là các mục mới. xAI Custom Voices đáp xuống với hỗ trợ voice cloning cho TTS. Và một tool phân tích video cưỡi trên Gemini và các model multimodal khác, cuối cùng cho Hermes một cách để nhìn vào một clip ba mươi giây thay vì một chồng ảnh tĩnh.
Nếu thước đo của bạn cho "project này có theo kịp biên giới model không" là "họ có hỗ trợ model tôi thử tuần này không", v0.13.0 gần như chắc chắn vượt qua.
Internationalization đến nơi
CLI và tài liệu được dịch sang bảy locale — Trung, Nhật, Đức, Tây Ban Nha, Pháp, Ukraina, Thổ Nhĩ Kỳ. Đó là một dòng bullet chôn khá nhiều công sức. Nếu bạn ba tháng nay đọc output CLI Hermes bằng tiếng Anh, và bộ não bạn vẫn coi tiếng Anh như ngôn ngữ thứ hai khi bạn mệt, v0.13.0 là bản phát hành cho phép bạn chuyển.
Một tác dụng phụ đáng nhắc: khi output CLI được bản địa hóa, thông báo lỗi cũng được bản địa hóa. Có nghĩa là một người dùng không nói tiếng Anh có thể dán lỗi vào diễn đàn và người trả lời thấy cùng những từ. Một cách bất ngờ thường xuyên, dịch thuật cũng là câu chuyện về debuggability.
Bảo mật, ACP và lệnh archive của curator
Tám lỗ hổng P0 được đóng — release notes không liệt theo CVE, nhưng mẫu thì rộng: redaction lại bật mặc định (đảo ngược cú flip ở v0.12, giờ chính redactor đã được viết lại), allowlist role của Discord giới hạn vào guild, WhatsApp mặc định từ chối contact lạ, các cửa sổ TOCTOU trong hệ thống auth được đóng.
hermes curator archive, prune, và list-archived chính thức hóa curator ở v0.12 thành các subcommand đường hoàng. /steer và /queue xuất hiện trong các ACP adapter (VS Code, Zed, JetBrains) — nếu bạn dùng Hermes từ editor, bạn có thể đẩy nhẹ một agent đang chạy ngay trong editor, không phải chỉ từ terminal.
"Tenacity" thực sự mua cho bạn cái gì
Mỗi tính năng riêng lẻ đã nằm trong release tracker một thời gian. Cộng lại, chúng mua cho bạn cùng một thứ: một Hermes không quên nó đang làm gì khi mạng nháy, API model bị throttle, gateway restart, hay người dùng bị phân tâm.
Agent xưa nay luôn thông minh. v0.13 làm cho nó cố chấp. Hai cái đó khác nhau. Agent thông minh phục hồi sau ngắt quãng một cách thanh lịch — họ thường bắt đầu task mới mà không nhớ task cũ. Agent cố chấp kết thúc task cũ. Kanban, lock mục tiêu, resume session — chúng đều cùng một hình dạng: trạng thái sống sót qua những thứ trước đây hủy diệt nó.
---
Phần lớn ngành agent AI trong quý này đua trên năng lực thô — model to hơn, context dài hơn, skill nhiều hơn. v0.13.0 đua trên một trục khác. Vấn đề khó của agent self-hosted năm 2026 không phải "nó có làm được X không". Mà là "nó có làm được X trong ba mươi phút liên tục qua một sự cố mạng không". Một phần lớn đáng ngạc nhiên của agent-quality-of-life hóa ra sống trong câu trả lời cho câu hỏi thứ hai đó.
Việc bản phát hành mang tên "tenacity", thay vì gì đó có chữ durability hoặc reliability, tự nó đã nói lên điều gì đó. Tenacity là từ người ta dùng cho người khác. Hàm ý là đội ngũ nghĩ về agent theo cùng cách như vậy.