Một vấn đề rất thực tế khi setup agent là credential. Muốn web search thì cần một service. Muốn browser automation thì thêm một service. Muốn image hoặc TTS lại thêm key khác. Cuối cùng bạn có năm API keys rải trong năm config file, rồi không nhớ key nào đang được agent dùng.
Nous Portal là path chính thức mà Hermes docs giới thiệu để giảm ma sát này: một subscription/gateway của Nous để Hermes route model và một số tool qua hạ tầng Nous. Với người mới vibe coding, giá trị của nó không phải “mạnh hơn”. Giá trị là credential path gọn hơn.
Bài này chỉ giải thích setup mindset và ranh giới an toàn. Command/capability của Portal có thể đổi, nên trước khi chạy trên máy thật hãy kiểm tra lại Hermes Portal docs hiện tại.
Portal giải quyết vấn đề gì
Khi agent cần tools, bạn thường phải tự setup:
- web search provider;
- browser automation provider;
- image generation provider;
- text-to-speech provider;
- model provider;
- terminal/sandbox provider.
Mỗi provider là một key, một billing surface, một permission surface. Với người đang học Hermes, đây là quá nhiều biến số.
Nous Portal gom một phần biến số đó lại. Theo docs hiện tại, Hermes có thể setup Portal để dùng model/provider và bật Tool Gateway cho một số tool như web search, browser automation, image, TTS. Cách hiểu đúng: Portal không làm security biến mất. Nó chỉ giảm số credential bạn tự quản.
Setup path cơ bản
Docs hiện tại dùng:
hermes setup --portal
Flow thường mở browser để OAuth/login vào Portal. Nếu bạn chạy Hermes trên laptop, browser mở trực tiếp. Nếu chạy trên server/VPS không có GUI, docs hướng dẫn dùng SSH port-forward hoặc copy URL về máy local để hoàn tất browser flow.
Sau setup, kiểm tra:
hermes portal status
Nếu lệnh status báo tool nào chưa wired, đừng đoán. Đọc docs hoặc chạy lại setup. Đừng tạo thêm key bên ngoài khi chưa hiểu Portal đã cover gì.
Khi chạy trên server
Server/VPS là nơi Portal flow dễ gây nhầm nhất. Bạn SSH vào VPS, chạy hermes setup --portal, terminal in ra URL, bạn mở URL trên laptop. Có thể cần port-forward để OAuth callback quay về đúng process.
Pattern an toàn:
ssh -L 8585:127.0.0.1:8585 user@server
Port cụ thể phải theo docs hoặc output của Hermes, không lấy số này làm mặc định. Sau khi OAuth xong, đóng tunnel nếu không cần nữa.
Không chạy setup portal bằng root nếu Hermes agent thật sẽ chạy bằng user khác. Token store nằm theo home directory. Nếu setup bằng user A rồi chạy service bằng user B, agent có thể không thấy credential hoặc tệ hơn là bạn phải copy token thủ công.
Một home directory, một token store
Với agent workstation, tôi thích rule này:
One agent runtime = one OS user = one home directory = one token store.
Đừng để nhiều người dùng chung cùng một Hermes home directory. Đừng để production token và lab token nằm chung. Đừng để agent chạy bằng user có SSH keys cá nhân, cloud credentials, browser profile, và project repo thật trong cùng home.
Nếu bạn muốn team dùng chung, tạo infra/team boundary rõ hơn:
- workspace riêng;
- token store riêng;
- channel allowlist riêng;
- log riêng;
- billing owner rõ;
- revocation path rõ.
Portal giúp giảm số key, nhưng không thay thế identity boundary.
Tool Gateway không đồng nghĩa với toàn quyền
Theo Hermes docs, Tool Gateway có thể route các tool như web search, browser automation, image generation, TTS qua hạ tầng Nous. Đây là tiện ích lớn cho setup nhanh, nhưng nó là paid-subscription feature. Free-tier Nous account có thể dùng Portal cho inference, nhưng không bao gồm managed tools.
Nhưng từ góc nhìn security, mỗi tool là một cửa:
- web search có thể đưa prompt injection từ trang web vào context;
- browser automation có thể tương tác với site thật;
- image/TTS có thể phát sinh cost;
- terminal/sandbox nếu bật có thể chạm file và command.
Vì vậy bật Tool Gateway xong chưa phải là xong. Bạn vẫn cần approval policy:
For any action that writes files, runs shell commands, opens external authenticated websites, or sends data outside this workspace, ask first.
Nếu Hermes có config approval riêng, dùng config thật thay vì chỉ rely vào prompt. Prompt là hàng rào mềm, policy/config mới là hàng rào cứng hơn.
Model không agent-tuned thì đừng ép chạy agent loop
Hermes docs và Portal model info có cảnh báo về việc không phải model nào cũng phù hợp cho agent loops. Đây là điểm người mới rất dễ bỏ qua.
Một model chat hay chưa chắc tool-call tốt. Một model viết văn tốt chưa chắc biết dừng sau khi gọi tool. Một model local nhỏ có thể trả JSON sai schema, loop, hoặc stall.
Với vibe coding, test model bằng việc nhỏ trước:
Read the lab README and propose one change. Do not edit.
Rồi mới:
Edit only README.md to add a "Manual test" section.
Nếu hai bước này còn lộn xộn, đừng giao build app.
Portal không bắt buộc
Không phải ai cũng cần Nous Portal. Nếu bạn đã có provider keys, đã có sandbox, đã hiểu tool routing, setup thủ công vẫn ổn. Portal phù hợp khi bạn muốn:
- giảm số account/service phải tạo;
- setup Hermes nhanh hơn;
- test official path trước;
- tránh rải key cho nhiều tool vendor.
Portal không phù hợp nếu:
- bạn cần air-gapped/local-only;
- company không cho dùng gateway bên ngoài;
- bạn cần billing tách từng provider;
- bạn muốn inspect toàn bộ tool traffic tự host.
Chọn theo boundary của bạn, không theo hype.
Chốt lại
Hermes với Nous Portal là path gọn cho người muốn agent tools chạy sớm mà không phải tự gom nhiều API keys. Nhưng “gọn” không có nghĩa là “khỏi nghĩ về security”.
Kiểm tra docs, setup bằng đúng OS user sẽ chạy agent, kiểm tra hermes portal status, hiểu Tool Gateway đang bật tool nào, và giữ token store theo boundary rõ. Làm được vậy thì Portal là một cách vào Hermes khá sạch cho vibe coding lab.