OpenViking là cơ sở dữ liệu ngữ cảnh (context database) mã nguồn mở dành cho AI Agent, do Volcengine (ByteDance) phát triển. Hermes Agent dùng OpenViking làm memory provider ngoài để nhớ thông tin qua nhiều phiên, truy xuất tài liệu theo tầng và tốn ít token hơn so với nhồi cả lịch sử vào prompt.
Bài này thuộc nhóm tài liệu và hệ sinh thái Hermes Agent trong cụm bài về Hermes Agent. Bạn sẽ thấy OpenViking hoạt động ra sao, khác gì vector database, khi nào nên bật cho Hermes, cách tự cài theo docs và cách bật bằng vài cú nhấp trên VPS Hermes của Tino. Thông tin đối chiếu ngày 26/10/2026, khi Hermes Agent ở bản v0.22.5 và OpenViking ở bản v0.5.2.
Tổng quan về OpenViking
OpenViking là một dự án mã nguồn mở của Volcengine, không phải thành phần của Hermes Agent, nhưng được Hermes hỗ trợ chính thức như một memory provider. Phần này giải thích OpenViking là gì, giải quyết vấn đề gì và khác vector database thông thường ở điểm nào, trước khi đi vào cách dùng với Hermes.
OpenViking là gì?
OpenViking là context database mã nguồn mở cho AI Agent, phát hành theo giấy phép AGPL-3.0. Repo tự mô tả là “Self-evolving Context Database for AI Agents”: gom memory của agent, kho tri thức cho RAG và skill vào một nơi. Nói đơn giản, đây là hệ thống giúp agent lưu, sắp xếp và lấy lại ngữ cảnh làm việc.
Trong AI Agent, “context” không chỉ là vài dòng hội thoại gần nhất mà có thể bao gồm:
- Thông tin người dùng từng cung cấp
- Tài liệu dự án
- Lịch sử tác vụ và kết quả xử lý trước đây
- Kỹ năng đã học được
- Quy tắc vận hành
- Ghi chú, tóm tắt, file tham chiếu
Thiếu một lớp quản lý context tốt, agent dễ quên thông tin, lấy sai dữ liệu, tốn nhiều token hoặc xử lý thiếu nhất quán sau nhiều phiên.
OpenViking tổ chức context như một hệ thống file ảo dưới địa chỉ viking://. Agent duyệt nó bằng các thao tác quen thuộc như ls, tree, read, grep, và bạn có thể mở từng thư mục để xem, sửa những gì agent đang nhớ.
OpenViking giải quyết vấn đề gì trong AI Agent?
OpenViking giải quyết bài toán quản lý bối cảnh khi agent chạy lâu dài, vốn khó hơn việc chọn model. Một agent hỗ trợ quản trị VPS, chăm sóc khách hàng hay viết nội dung phải nhớ rất nhiều thứ:
- Người dùng thích giọng văn nào
- Dự án đang triển khai đến đâu
- File nào là tài liệu gốc
- Công việc nào đã hoàn thành
- Quy trình nào nên dùng lại
- Công cụ nào đã được tích hợp
Nếu mỗi phiên bắt đầu từ con số 0, agent giống một trợ lý mới chưa hiểu gì về công việc. Nếu nhồi toàn bộ lịch sử vào prompt, chi phí token tăng nhanh và chất lượng trả lời có thể giảm. OpenViking đứng giữa hai cách đó: lưu trí nhớ dài hạn, tóm tắt phiên, truy xuất tài liệu theo ngữ nghĩa và chỉ đưa phần cần thiết vào prompt.
OpenViking khác gì so với vector database truyền thống?
Vector database truyền thống cắt tài liệu thành đoạn, tạo embedding, lưu lại rồi lấy các đoạn gần nghĩa nhất khi cần. Cách này hợp với RAG, nhưng với agent chạy lâu dài thì khó thấy dữ liệu đang được tổ chức ra sao, khó phân biệt memory với tài nguyên và skill, dễ lấy đúng đoạn nhỏ nhưng thiếu bối cảnh lớn, và khó debug khi lấy sai.
Tiêu chí Vector database phẳng OpenViking Cách tổ chức Các đoạn văn ngang hàng nhau Cây thư mục viking:// có cấp bậcĐọc dữ liệu Lấy các đoạn gần nghĩa Đọc tóm tắt trước, mở nội dung đầy đủ khi cần Phân loại Do ứng dụng tự quy ước Memory, resource, skill tách riêng Kiểm tra khi lấy sai Khó thấy vì sao đoạn đó được chọn Xem được đường đi truy xuất, mở thư mục để sửa
Các thành phần chính của OpenViking
OpenViking có năm thành phần chính: memory, resources, skills, cơ chế tải context theo tầng và khả năng quan sát đường đi truy xuất. Ba thành phần đầu là các loại dữ liệu được lưu; hai thành phần sau quyết định dữ liệu được đưa vào prompt ra sao và kiểm tra lại thế nào.
1. Memory: bộ nhớ dài hạn
Memory lưu những thông tin có giá trị lâu dài như sở thích người dùng, quy tắc dự án, thói quen làm việc hay kết quả quan trọng từ các phiên trước. Với Hermes Agent, memory giúp trợ lý không phải hỏi lại cùng một thông tin nhiều lần.
2. Resources: tài nguyên tham chiếu
Resources là tài liệu, file dự án, ghi chú kỹ thuật, nội dung website hay tài liệu API mà agent cần để làm việc. OpenViking giúp agent lấy đúng phần liên quan thay vì đưa toàn bộ tài liệu vào prompt.
3. Skills: kỹ năng có thể tái sử dụng
Skills là quy trình hoặc hướng dẫn agent dùng lại được, ví dụ cách viết bài theo giọng văn thương hiệu, cách kiểm tra lỗi cấu hình VPS, cách phân tích log. Skill được lưu có tổ chức thì agent làm ổn định hơn qua nhiều nhiệm vụ tương tự.
4. Tải context theo tầng L0, L1, L2
Mỗi thư mục trong OpenViking có tóm tắt tự sinh ở hai tầng: L0 là một câu tóm tắt, L1 là phần tổng quan, còn L2 là toàn bộ file gốc. Agent đọc L0, L1 để biết thư mục có liên quan không rồi mới mở L2, nhờ vậy giảm token và giảm nhiễu.
5. Retrieval trajectory: quan sát đường đi truy xuất
OpenViking ghi lại đường đi truy xuất context. Khi agent lấy sai thông tin, người vận hành xem được agent đã duyệt những thư mục nào, vì sao chọn dữ liệu đó, để sắp xếp lại cấu trúc hoặc sửa memory.
Tại sao Hermes Agent cần OpenViking?
Hermes Agent cần OpenViking khi bộ nhớ có sẵn không còn đủ chỗ cho nhiều dự án, nhiều tài liệu và nhiều phiên. Bộ nhớ gốc của Hermes chỉ chứa vài nghìn ký tự; OpenViking thêm một lớp lưu trữ lớn hơn, có cấu trúc và tự host, chạy cùng lúc với bộ nhớ gốc.
Bộ nhớ mặc định của Hermes Agent hoạt động ra sao?
Theo docs Memory, Hermes có hai file trong ~/.hermes/memories/: MEMORY.md (ghi chú của agent, giới hạn 2.200 ký tự) và USER.md (hồ sơ người dùng, 1.375 ký tự). Hai file được nạp vào system prompt khi mở phiên; khi đầy, agent phải tự gộp hoặc xoá bớt. Các phiên cũ vẫn tìm lại được bằng session_search.
Bộ nhớ này hợp với thông tin cốt lõi, ngắn gọn. Khi cần nhớ nhiều hơn, Hermes hỗ trợ memory provider ngoài; theo tài liệu Memory Providers, mỗi lúc chỉ bật được một provider, còn bộ nhớ gốc luôn hoạt động. OpenViking là một trong các lựa chọn, cùng Honcho, Mem0, Hindsight, Holographic, Supermemory, RetainDB, ByteRover.
OpenViking mang lại lợi ích gì cho Hermes Agent?
Khi OpenViking được chọn làm provider, Hermes tự gọi máy chủ OpenViking ở đầu và cuối mỗi lượt chat, rồi thêm một lần khi phiên kết thúc; bạn không phải ra lệnh lưu hay đọc.

1. Ghi nhớ thông tin xuyên phiên làm việc
Khi kết thúc phiên, OpenViking tự trích ký ức vào sáu nhóm: hồ sơ, sở thích, thực thể, sự kiện, tình huống và mẫu lặp lại. Phiên sau, Hermes truy xuất lại những gì cần để làm tiếp. Ví dụ phiên trước bạn yêu cầu giọng văn dễ hiểu, không dùng thuật ngữ khó; phiên sau agent tiếp tục viết như vậy mà không cần nhắc.
2. Quản lý bối cảnh theo cấu trúc rõ ràng
Cây thư mục viking:// tách memory cá nhân, tài liệu dự án, skill và tóm tắt phiên. Hermes vì vậy ít nhầm giữa thông tin ngắn hạn và dài hạn, biết dữ liệu nào dùng ngay, dữ liệu nào chỉ tham khảo.
3. Truy xuất đúng lúc, thay vì nhồi toàn bộ vào prompt
Khi bạn hỏi về một dự án cụ thể, Hermes chỉ lấy phần liên quan đến dự án đó. Ví dụ với yêu cầu “viết tiếp phần ưu điểm của VPS Hermes Agent”, agent không cần tải lại toàn bộ lịch sử hội thoại mà chỉ tìm memory, skill và tài liệu về VPS Hermes Agent.
4. Giảm token khi chạy agent lâu dài
Nhờ đọc tóm tắt L0, L1 trước, mỗi lượt Hermes đưa vào prompt ít dữ liệu hơn. Lợi ích thấy rõ khi dùng API tính phí theo token, chạy agent 24/7 trên VPS hoặc xử lý dự án nhiều ngày. Các cách giảm chi phí khác: tối ưu chi phí API cho Hermes Agent.
5. Hỗ trợ agent tự cải thiện qua kinh nghiệm
Hermes hướng tới việc tự cải thiện, mà muốn vậy thì phải ghi lại được kinh nghiệm. Một lần sửa lỗi cấu hình thành công, một quy trình viết bài hiệu quả hay một mẫu trả lời khách tốt đều có thể được lưu lại và dùng lại khi gặp việc tương tự.
6. Kiểm soát và debug dễ hơn
Vì dữ liệu nằm trong cây thư mục và có đường đi truy xuất, đội kỹ thuật kiểm tra được agent lấy dữ liệu từ đâu, dữ liệu nào gây nhiễu, memory nào cần sửa hoặc xoá. Hermes cung cấp sáu tool cho việc này: viking_search, viking_read, viking_browse, viking_remember, viking_forget, viking_add_resource.
Tóm lại: Hermes Agent là nhân sự, OpenViking là kho tri thức
Có thể hình dung Hermes Agent như một nhân sự AI biết dùng công cụ, xử lý yêu cầu và học kỹ năng mới; OpenViking là kho tri thức, sổ tay quy trình và nơi lưu kinh nghiệm của nhân sự đó. Không có kho này, Hermes vẫn làm việc được nhưng dựa nhiều vào những gì bạn nói trong từng phiên.
Khi nào nên bật OpenViking cho Hermes Agent?
Nên bật OpenViking cho Hermes Agent khi agent phải nhớ qua nhiều phiên, tham chiếu nhiều tài liệu nội bộ hoặc chạy dự án dài hạn mà bạn muốn tự giữ dữ liệu. Nếu chỉ hỏi đáp ngắn hay thử nghiệm, bộ nhớ có sẵn thường đã đủ.
- Muốn Hermes ghi nhớ thông tin qua nhiều phiên
- Có nhiều tài liệu nội bộ cần agent tham chiếu
- Chạy Hermes cho dự án dài hạn hoặc cho nhóm
- Muốn giảm token khi dùng API tính phí
- Cần quản lý skill và memory có cấu trúc
- Muốn dữ liệu memory nằm trên máy chủ của mình thay vì dịch vụ cloud
OpenViking có thay thế bộ nhớ mặc định của Hermes Agent không?
Không. OpenViking là lớp mở rộng: MEMORY.md và USER.md vẫn giữ thông tin nền tảng, luôn được nạp; OpenViking quản lý phần context lớn hơn, nhiều tầng hơn. Mọi lần ghi vào bộ nhớ có sẵn cũng được Hermes sao sang provider ngoài.
Có nên dùng OpenViking ngay khi cài Hermes Agent?
Không bắt buộc. Lộ trình hợp lý là dùng bộ nhớ có sẵn trước, xem nhu cầu thực tế, rồi mới bật OpenViking khi tác vụ phức tạp hơn và cần quản lý context có cấu trúc, tự host. So sánh với các cách làm bộ nhớ khác: cấu hình long-term memory cho Hermes Agent và persistent memory của Hermes Agent và OpenClaw.
Giới hạn và lưu ý khi dùng OpenViking với Hermes Agent
OpenViking không phải phần mềm của Nous Research và cần thêm một máy chủ, một model embedding và một model đọc hiểu (VLM) để chạy. Trước khi bật, hãy cân nhắc chi phí model, tài nguyên VPS, giấy phép và cách bảo vệ dữ liệu memory.
- Chi phí model: OpenViking miễn phí, nhưng embedding và VLM gọi qua API vẫn tính phí theo nhà cung cấp.
- Tài nguyên: máy chủ OpenViking chạy cùng Hermes; VPS nhỏ có thể chậm hoặc dừng do thiếu RAM.
- Giấy phép AGPL-3.0: nếu sửa mã OpenViking rồi cung cấp thành dịch vụ qua mạng cho người khác, bạn phải công bố mã đã sửa.
- Biến môi trường: khi endpoint là máy local và chưa có server chạy, plugin tự khởi động
openviking-server; server này kế thừa biến môi trường của Hermes, kể cả token bot. Docs khuyên tự chạy server trước Hermes nếu điều này quan trọng với bạn. - Dữ liệu cá nhân: memory có thể chứa thông tin khách hàng; cần quy định lưu, xoá và sao lưu như với cơ sở dữ liệu khác.
Cách tự cài OpenViking cho Hermes Agent
Từ Hermes Agent v0.22, OpenViking không còn đi kèm bản cài mà được cài từ Plugin Catalog (release v0.22.0). Cách tự cài gồm hai phần: dựng máy chủ OpenViking trên VPS hoặc máy của bạn, rồi cài plugin và chọn OpenViking làm memory provider trong Hermes.

Ảnh chụp trang hermes-agent.nousresearch.com/docs/user-guide/features/memory-providers ngày 26/10/2026.
Theo README OpenViking, máy chủ cần uv, Python 3.10 trở lên và một nhà cung cấp model có embedding và VLM. Sau khi cài OpenViking theo hướng dẫn trong repo, chạy:
# 1. Dựng máy chủ OpenViking
openviking-server init
openviking-server doctor
openviking-server
# 2. Cài plugin và chọn provider trong Hermes
hermes plugins install openviking
hermes memory setup # chọn "openviking"
hermes memory status # kiểm tra provider đang bật
Nếu cấu hình bằng tay, khai báo endpoint trong file .env của profile (mặc định ~/.hermes/.env):
OPENVIKING_ENDPOINT=http://127.0.0.1:1933
# OPENVIKING_API_KEY=...
Bản Hermes cũ đã đặt memory.provider: openviking không cần làm lại: hermes update tự cài plugin từ catalog, dữ liệu trên máy chủ OpenViking giữ nguyên.
Hướng dẫn bật OpenViking cho Hermes Agent trên VPS Hermes Tino
Trên VPS Hermes của Tino, OpenViking được bật trực tiếp trong trang quản lý dịch vụ, không cần dòng lệnh. OpenViking chỉ có ở một số gói VPS Hermes; xem gói hỗ trợ trên trang sản phẩm. OpenViking dùng thêm RAM, nên VPS ít RAM có thể làm Hermes chạy chậm hoặc dừng do thiếu bộ nhớ.
Bước 1: Đăng nhập trang quản lý dịch vụ VPS Hermes của Tino, mở tab Hermes Agent và chọn mục Memory nâng cao ở menu bên trái.
Bước 2: Trong khu vực Memory nâng cao (OpenViking), nhấn nút Cài OpenViking.

Hệ thống cài ở chế độ nền; bạn chỉ cần chờ hoàn tất.

Bước 3: Cài xong, kéo xuống phần Cấu hình embedding & VLM và điền:
- API Key: key OpenAI hoặc key của nhà cung cấp tương thích OpenAI.
- API Base: giữ mặc định
https://api.openai.com/v1nếu dùng OpenAI. - Embedding model: có thể giữ mặc định
text-embedding-3-small. - VLM model: nhập model tương ứng với nhà cung cấp.

Nhấn Kiểm tra key để kiểm tra cấu hình.
Bước 4: Nếu key hợp lệ, nhấn Lưu cấu hình. Nếu báo lỗi, kiểm tra lại API Key, API Base hoặc tên model.
Bước 5: Kéo xuống phần Điều khiển và nhấn Bật OpenViking. Khi các trạng thái Đã cài, Đã cấu hình, Đang chạy, Healthy và Đã wire vào Hermes đều hiển thị bình thường, OpenViking đã được bật và kết nối với Hermes Agent.

Muốn tạm dừng, nhấn Tắt OpenViking; muốn gỡ hẳn bộ nhớ nâng cao khỏi Hermes Agent, nhấn Gỡ cài đặt.
Ảnh chụp trang quản lý tháng 06/2026.
Các thao tác khác trên trang quản lý: truy cập và cấu hình VPS Hermes Agent; đăng ký dịch vụ: đăng ký VPS Hermes Agent.
Kết luận
OpenViking giải quyết bài toán khó của AI Agent: nhớ đúng thứ, đúng lúc, đúng mức chi tiết mà không tốn quá nhiều token và không thành hộp đen. Với Hermes Agent, OpenViking mở rộng bộ nhớ, giảm phụ thuộc vào prompt dài và hỗ trợ việc nhiều phiên. Nếu chỉ thử nghiệm, bộ nhớ có sẵn là đủ; khi agent bắt đầu làm việc thật trên VPS, hãy cân nhắc bật OpenViking. Nên chạy local hay trên VPS: Hermes Agent nên chạy local hay VPS.
Muốn chạy Hermes Agent 24/7 mà không tự cài? VPS Hermes Agent của Tino cài sẵn Hermes Agent trên VPS NVMe đặt tại Việt Nam; bạn vẫn có quyền root để cấu hình. Xem cấu hình và giá trên trang sản phẩm.
Những câu hỏi thường gặp
OpenViking có miễn phí không?
Có. OpenViking là mã nguồn mở theo giấy phép AGPL-3.0, tự triển khai trên máy chủ của bạn không mất phí bản quyền. Chi phí còn lại là tài nguyên máy chủ và phí gọi model embedding, VLM nếu dùng qua API.
OpenViking có phải sản phẩm của Nous Research không?
Không. OpenViking do Volcengine, mảng đám mây của ByteDance, phát triển và bảo trì. Nous Research làm Hermes Agent; plugin OpenViking cho Hermes nằm trong repo của Volcengine và được đưa vào Plugin Catalog của Hermes.
Hermes Agent có bắt buộc phải dùng OpenViking không?
Không. Hermes chạy bình thường với bộ nhớ có sẵn (MEMORY.md, USER.md và tìm kiếm phiên cũ). OpenViking chỉ là một trong các memory provider tuỳ chọn, mỗi lúc bật được một provider.
Honcho và OpenViking khác nhau thế nào?
Honcho tập trung mô hình hoá người dùng qua các phiên và có bản cloud lẫn tự host; OpenViking là cơ sở dữ liệu ngữ cảnh tự host, tổ chức theo cây thư mục và tải theo tầng. Theo bảng so sánh trong docs Memory Providers, Honcho có 5 tool, OpenViking có 6 tool.
