Hermes Agent

Hermes Agent là gì?

Hermes Agent là một agent mã nguồn mở do Nous Research xây dựng, hoạt động trực tiếp trên terminal và có khả năng tự động lập trình cũng như thực thi tác vụ. Hermes có bộ nhớ bền vững, skill do agent tự tạo, và một cổng nhắn tin hỗ trợ hơn 21 nền tảng, bao gồm Telegram, Discord, Slack, WhatsApp, Signal, SMS, Matrix và nhiều nền tảng khác.

Hermes chạy trên các backend local, Docker, SSH, Daytona, Modal, Vercel Sandbox hoặc Singularity, và hoạt động với nhiều provider LLM — trong đó có Trạm AI để truy cập multi-model chỉ qua một API key duy nhất.

Cài đặt

Khuyến nghị: Sử dụng trình chọn model tương tác

Cách dễ nhất để cấu hình Hermes với Trạm AI:

lines
$hermes model

Chọn Trạm AI từ danh sách provider, nhập API key rồi chọn model muốn dùng. Đây là cách Trạm AI khuyến nghị cho người dùng mới.

Bắt đầu nhanh (Biến môi trường)

Nếu đã có API key của Trạm AI:

lines
$hermes config set TRAM_AI_API_KEY tram_sk-...

Sau đó bắt đầu một phiên chat:

lines
$hermes chat --provider tram --model '~anthropic/claude-sonnet-latest'

Cấu hình thủ công

Chỉ dành cho người dùng nâng cao: Phần cấu hình thủ công sau đây dành cho người dùng cần chỉnh sửa trực tiếp các file cấu hình. Với hầu hết người dùng, chúng tôi khuyến nghị dùng hermes model ở trên.

Bước 1: Lấy API key của Trạm AI

  1. Đăng ký hoặc đăng nhập tại Trạm AI
  2. Truy cập trang API Keys
  3. Tạo một API key mới
  4. Sao chép key (bắt đầu bằng tram_sk-...)

Bước 2: Thiết lập API key

Thêm API key của Trạm AI vào ~/.hermes/.env:

lines
$TRAM_AI_API_KEY=tram_sk-...

Hermes tách riêng thông tin bí mật khỏi các cài đặt không bí mật. API key được lưu trong ~/.hermes/.env, còn cấu hình model và provider được lưu trong ~/.hermes/config.yaml.

Bước 3: Cấu hình model

Chỉnh sửa ~/.hermes/config.yaml:

lines
1model:
2 provider: Tram AI
3 default: ~anthropic/claude-sonnet-latest

Duyệt tất cả các model khả dụng tại tram.ai/models.

Bước 4: Khởi động Hermes

lines
$hermes # classic CLI
$hermes --tui # modern TUI

Agent giờ đây sẽ route toàn bộ request qua Trạm AI tới model đã chọn.

Định dạng model

Khi dùng Trạm AI làm provider, Hermes sử dụng định dạng model chuẩn của Trạm AI là <author>/<slug> (có thể thêm tiền tố ~ để chỉ phiên bản mới nhất trong một họ model):

  • ~anthropic/claude-sonnet-latest
  • ~google/gemini-flash-latest
  • deepseek/deepseek-chat
  • tram/auto (tự động route đến model tối ưu/phù hợp nhất với prompt của người dùng)

Người dùng có thể tìm model ID chính xác cho từng model trên trang models của Trạm AI.

Provider Routing

Trạm AI route request của người dùng qua nhiều infrastructure provider cho mỗi model. Người dùng có thể kiểm soát hành vi routing này trong ~/.hermes/config.yaml:

lines
1provider_routing:
2 sort: "throughput" # "price" (default), "throughput", or "latency"
3 # only: ["anthropic"] # Only use these providers
4 # ignore: ["deepinfra"] # Skip these providers
5 # order: ["anthropic", "google"] # Try providers in this order
6 # data_collection: "deny" # Exclude providers that may store/train on data

Lối tắt: Thêm :nitro vào sau bất kỳ tên model nào để sắp xếp theo throughput (ví dụ: ~anthropic/claude-sonnet-latest:nitro), hoặc :floor để sắp xếp theo giá.

Để xem đầy đủ chi tiết về các tùy chọn routing, hãy tham khảo tài liệu Provider Routing.

Fallback Providers

Cấu hình một chuỗi provider dự phòng mà Hermes sẽ thử khi model chính gặp lỗi:

lines
1fallback_providers:
2 - provider: Tram AI
3 model: ~anthropic/claude-sonnet-latest
4 - provider: Tram AI
5 model: ~google/gemini-flash-latest

Cách này mang lại thêm một lớp độ tin cậy. Khi được kích hoạt, fallback sẽ chuyển model ngay giữa phiên mà không làm mất cuộc hội thoại.

Auxiliary Models

Hermes sử dụng “auxiliary model” cho các tác vụ phụ như nén context, phân tích vision, tạo tiêu đề phiên và tóm tắt nội dung web. Mặc định, các tác vụ này dùng model chính, nhưng người dùng có thể route chúng sang model rẻ hơn thông qua Trạm AI:

lines
1auxiliary:
2 title:
3 provider: Tram AI
4 model: ~google/gemini-flash-latest
5 vision:
6 provider: Tram AI
7 model: ~google/gemini-flash-latest
8 compression:
9 provider: Tram AI
10 model: ~google/gemini-flash-latest

Cách này giúp model chính của người dùng tập trung vào việc suy luận phức tạp, còn các model rẻ hơn lo những tác vụ nhẹ.

Pareto Code Router

Coding-model router thử nghiệm của Trạm AI tự động route request tới model rẻ nhất đáp ứng được một ngưỡng chất lượng lập trình nhất định. Người dùng có thể cấu hình router này trong ~/.hermes/config.yaml:

lines
1model:
2 provider: Tram AI
3 model: tram/pareto-code
4
5tramai:
6 min_coding_score: 0.65 # 0.0–1.0; higher = stronger (more expensive) coders

Cách này hữu ích khi muốn tối ưu chi phí cho các tác vụ lập trình — router sẽ chọn model rẻ nhất vẫn đáp ứng được tiêu chuẩn chất lượng của bạn.

Hermes dùng config key riêng là tramai: để thiết lập min_coding_score. Key này ánh xạ tới mảng plugins trong Trạm AI API — người dùng không cần tự dựng payload plugins.

Theo dõi mức sử dụng

Theo dõi mức sử dụng Hermes theo thời gian thực:

  1. Truy cập Trạm AI Activity Dashboard
  2. Xem request, chi phí và mức sử dụng token trên toàn bộ các phiên Hermes
  3. Lọc theo model, khoảng thời gian hoặc các tiêu chí khác

Các lỗi thường gặp

”No API key” hoặc không tìm thấy provider

Hermes không thể tìm thấy API key của Trạm AI.

Cách khắc phục:

  1. Kiểm tra key đã được thiết lập chưa: cat ~/.hermes/.env | grep TRAM_AI
  2. Hoặc chạy lại: hermes config set TRAM_AI_API_KEY tram_sk-...
  3. Hoặc dùng thiết lập tương tác: hermes model

Lỗi xác thực (401/403)

Cách khắc phục:

  1. Kiểm tra API key có hợp lệ không tại tram.ai/keys
  2. Kiểm tra có đủ credit trong tài khoản không
  3. Đảm bảo key chưa hết hạn hoặc bị thu hồi

Model không hoạt động

Cách khắc phục:

  1. Kiểm tra model ID trên trang models của Trạm AI
  2. Dùng định dạng <author>/<slug>, có thể thêm tiền tố ~ để chỉ phiên bản mới nhất trong một họ model (ví dụ: ~anthropic/claude-sonnet-latest)
  3. Đảm bảo model khả dụng và chưa bị ngừng hỗ trợ

Lỗi độ dài context

Hermes yêu cầu model có ít nhất 64K context token. Model có cửa sổ context nhỏ hơn sẽ bị từ chối ngay khi khởi động, vì system prompt và tool schema có thể lấp đầy các cửa sổ nhỏ và không còn chỗ cho cuộc hội thoại. Nếu gặp lỗi liên quan đến context, hãy chuyển sang model có cửa sổ context lớn hơn.

Tài nguyên