CLI Interface
#Giao diện CLI
CLI của Hermes Agent là giao diện người dùng thiết bị đầu cuối đầy đủ (TUI) — không phải giao diện người dùng web. Nó có tính năng chỉnh sửa nhiều dòng, tự động hoàn thành lệnh gạch chéo, lịch sử hội thoại, ngắt và chuyển hướng cũng như đầu ra công cụ phát trực tuyến. Được xây dựng cho những người sống trong nhà ga.
Chạy CLI
# Start an interactive session (default)
hermes
# Single query mode (non-interactive)
hermes chat -q "Hello"
# With a specific model
hermes chat --model "anthropic/claude-sonnet-4"
# With a specific provider
hermes chat --provider nous # Use Nous Portal
hermes chat --provider openrouter # Force OpenRouter
# With specific toolsets
hermes chat --toolsets "web,terminal,skills"
# Start with one or more skills preloaded
hermes -s hermes-agent-dev,github-auth
hermes chat -s github-pr-workflow -q "open a draft PR"
# Resume previous sessions
hermes --continue # Resume the most recent CLI session (-c)
hermes --resume <session_id> # Resume a specific session by ID (-r)
# Verbose mode (debug output)
hermes chat --verbose
# Isolated git worktree (for running multiple agents in parallel)
hermes -w # Interactive mode in worktree
hermes -w -q "Fix issue #123" # Single query in worktree
Bố cục giao diện
The Hermes CLI banner, conversation stream, and fixed input prompt rendered as a stable docs figure instead of fragile text art.
Biểu ngữ chào mừng hiển thị nhanh mô hình, phần phụ trợ thiết bị đầu cuối, thư mục làm việc, các công cụ có sẵn và các kỹ năng đã cài đặt của bạn.
Thanh trạng thái
Thanh trạng thái liên tục nằm phía trên khu vực nhập liệu, cập nhật theo thời gian thực:
⚕ claude-sonnet-4-20250514 │ 12.4K/200K │ [██████░░░░] 6% │ $0.06 │ 15m
| Yếu tố | Mô tả |
|---|---|
| Tên mẫu | Mô hình hiện tại (cắt ngắn nếu dài hơn 26 ký tự) |
| Số lượng mã thông báo | Mã thông báo ngữ cảnh được sử dụng / cửa sổ ngữ cảnh tối đa |
| Thanh ngữ cảnh | Chỉ báo lấp đầy trực quan với ngưỡng được mã hóa màu |
| Chi phí | Chi phí phiên ước tính (hoặc n/a đối với các mẫu không xác định/không có giá) |
| Thời lượng | Thời gian phiên đã trôi qua |
Thanh này thích ứng với chiều rộng của thiết bị đầu cuối — bố cục đầy đủ ở ≥ 76 cột, nhỏ gọn ở mức 52–75, tối thiểu (chỉ kiểu máy + thời lượng) dưới 52.
Mã màu ngữ cảnh:
| Màu sắc | Ngưỡng | Ý nghĩa |
|---|---|---|
| Xanh | < 50% | Nhiều phòng |
| Vàng | 50–80% | Bắt đầy đủ |
| Cam | 80–95% | Đang tiếp cận giới hạn |
| Đỏ | ≥ 95% | Gần tràn — hãy xem xét /compress |
Sử dụng /usage để biết thông tin chi tiết bao gồm chi phí cho mỗi danh mục (mã thông báo đầu vào và đầu ra).
Hiển thị tiếp tục phiên
Khi tiếp tục phiên trước đó (hermes -c hoặc hermes --resume <id>), bảng "Cuộc trò chuyện trước" sẽ xuất hiện giữa biểu ngữ và lời nhắc nhập liệu, hiển thị bản tóm tắt ngắn gọn về lịch sử cuộc trò chuyện. Xem Phiên — Tóm tắt cuộc trò chuyện trên sơ yếu lý lịch để biết chi tiết và cấu hình.
Tổ hợp phím
| Chìa khóa | Hành động |
|---|---|
Nhập | Gửi tin nhắn |
Alt+Enter hoặc Ctrl+J | Dòng mới (đầu vào nhiều dòng) |
Alt+V | Dán hình ảnh từ bảng ghi tạm khi được thiết bị đầu cuối hỗ trợ |
Ctrl+V | Dán văn bản và tùy tiện đính kèm hình ảnh vào clipboard |
Ctrl+B | Bắt đầu/dừng ghi âm giọng nói khi bật chế độ giọng nói (voice.record_key, mặc định: ctrl+b) |
Ctrl+C | Tác nhân ngắt (nhấn đúp trong vòng 2 giây để buộc thoát) |
Ctrl+D | Thoát |
Ctrl+Z | Đình chỉ Hermes ở chế độ nền (chỉ dành cho Unix). Chạy fg trong shell để tiếp tục. |
Tab | Chấp nhận lệnh tự động gợi ý (văn bản ma) hoặc lệnh gạch chéo tự động hoàn thành |
Lệnh gạch chéo
Nhập / để xem danh sách thả xuống tự động hoàn thành. Hermes hỗ trợ một tập hợp lớn các lệnh gạch chéo CLI, lệnh kỹ năng động và lệnh nhanh do người dùng xác định.
Các ví dụ phổ biến:
| Lệnh | Mô tả |
|---|---|
/giúp | Hiển thị lệnh trợ giúp |
/người mẫu | Hiển thị hoặc thay đổi mô hình hiện tại |
/công cụ | Liệt kê các công cụ hiện có |
/duyệt kỹ năng | Duyệt qua trung tâm kỹ năng và các kỹ năng tùy chọn chính thức |
/background <prompt> | Chạy lời nhắc trong phiên nền riêng biệt |
/da | Hiển thị hoặc chuyển đổi giao diện CLI đang hoạt động |
/bật giọng nói | Bật chế độ giọng nói CLI (nhấn Ctrl+B để ghi) |
/Voice tts | Chuyển đổi tính năng phát lại bằng giọng nói cho các câu trả lời của Hermes |
/lý luận cao | Tăng nỗ lực lý luận |
/title Phiên của tôi | Đặt tên cho phiên hiện tại |
Để biết danh sách thông báo và CLI tích hợp đầy đủ, hãy xem Tham khảo lệnh gạch chéo.
Để biết cách thiết lập, nhà cung cấp, điều chỉnh im lặng và nhắn tin/sử dụng giọng nói Discord, hãy xem Chế độ giọng nói.
Các lệnh không phân biệt chữ hoa chữ thường — /HELP hoạt động giống như /help. Các kỹ năng được cài đặt cũng tự động trở thành lệnh gạch chéo.
Lệnh nhanh
Bạn có thể xác định các lệnh tùy chỉnh chạy lệnh shell ngay lập tức mà không cần gọi LLM. Chúng hoạt động trên cả nền tảng CLI và nhắn tin (Telegram, Discord, v.v.).
# ~/.hermes/config.yaml
quick_commands:
status:
type: exec
command: systemctl status hermes-agent
gpu:
type: exec
command: nvidia-smi --query-gpu=utilization.gpu,memory.used --format=csv,noheader
Sau đó nhập /status hoặc /gpu trong bất kỳ cuộc trò chuyện nào. Xem Hướng dẫn cấu hình để biết thêm ví dụ.
Tải trước kỹ năng khi ra mắt
Nếu bạn đã biết những kỹ năng nào bạn muốn kích hoạt trong phiên này, hãy vượt qua chúng vào thời điểm bắt đầu:
hermes -s hermes-agent-dev,github-auth
hermes chat -s github-pr-workflow -s github-auth
Hermes tải từng kỹ năng được đặt tên vào lời nhắc phiên trước lượt đầu tiên. Cờ tương tự hoạt động ở chế độ tương tác và chế độ truy vấn đơn.
Lệnh chém kỹ năng
Mọi kỹ năng được cài đặt trong ~/.hermes/skills/ đều được đăng ký tự động dưới dạng lệnh gạch chéo. Tên kỹ năng trở thành lệnh:
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
# Just the skill name loads it and lets the agent ask what you need:
/excalidraw
Tính cách
Đặt tính cách được xác định trước để thay đổi giọng điệu của tác nhân:
/personality pirate
/personality kawaii
/personality concise
Các tính cách tích hợp bao gồm: hữu ích, súc tích, kỹ thuật, sáng tạo, giáo viên, kawaii, catgirl, cướp biển, shakespeare, lướt sóng, noir, uwu, philosopher, hype.
Bạn cũng có thể xác định các tính cách tùy chỉnh trong ~/.hermes/config.yaml:
personalities:
helpful: "You are a helpful, friendly AI assistant."
kawaii: "You are a kawaii assistant! Use cute expressions..."
pirate: "Arrr! Ye be talkin' to Captain Hermes..."
# Add your own!
Nhập nhiều dòng
Có hai cách để nhập tin nhắn nhiều dòng:
Alt+EnterhoặcCtrl+J— chèn một dòng mới- Tiếp tục dấu gạch chéo ngược — kết thúc một dòng bằng
\để tiếp tục:
❯ Write a function that:\
1. Takes a list of numbers\
2. Returns the sum
Hỗ trợ dán văn bản nhiều dòng - sử dụng Alt+Enter hoặc Ctrl+J để chèn dòng mới hoặc chỉ cần dán nội dung trực tiếp.
Làm gián đoạn tác nhân
Bạn có thể ngắt lời tác nhân bất cứ lúc nào:
- Nhập tin nhắn mới + Enter trong khi nhân viên đang làm việc — nó sẽ làm gián đoạn và xử lý các hướng dẫn mới của bạn
Ctrl+C— làm gián đoạn thao tác hiện tại (nhấn hai lần trong vòng 2 giây để buộc thoát)- Các lệnh đầu cuối đang thực hiện sẽ bị hủy ngay lập tức (SIGTERM, sau đó SIGKILL sau 1 giây)
- Nhiều tin nhắn được gõ trong khi ngắt được kết hợp thành một lời nhắc
Chế độ nhập bận
Phím cấu hình display.busy_input_mode kiểm soát những gì xảy ra khi bạn nhấn Enter trong khi tác nhân đang làm việc:
| Chế độ | Hành vi |
|---|---|
"ngắt" (mặc định) | Tin nhắn của bạn làm gián đoạn hoạt động hiện tại và được xử lý ngay lập tức |
"xếp hàng" | Tin nhắn của bạn được xếp hàng âm thầm và gửi ở lượt tiếp theo sau khi nhân viên kết thúc |
# ~/.hermes/config.yaml
display:
busy_input_mode: "queue" # or "interrupt" (default)
Chế độ xếp hàng rất hữu ích khi bạn muốn chuẩn bị các tin nhắn tiếp theo mà không vô tình hủy bỏ công việc trên chuyến bay. Các giá trị không xác định sẽ quay trở lại "ngắt".
Tạm dừng ở chế độ nền
Trên hệ thống Unix, nhấn Ctrl+Z để tạm dừng Hermes ở chế độ nền - giống như bất kỳ quy trình đầu cuối nào. Shell in một xác nhận:
Hermes Agent has been suspended. Run `fg` to bring Hermes Agent back.
Nhập fg vào shell của bạn để tiếp tục phiên chính xác nơi bạn đã dừng lại. Điều này không được hỗ trợ trên Windows.
Hiển thị tiến trình công cụ
CLI hiển thị phản hồi sinh động khi tác nhân hoạt động:
Hoạt hình suy nghĩ (trong khi gọi API):
◜ (。•́︿•̀。) pondering... (1.2s)
◠ (⊙_⊙) contemplating... (2.4s)
✧٩(ˊᗜˋ*)و✧ got it! (3.1s)
Nguồn cấp dữ liệu thực thi công cụ:
┊ 💻 terminal `ls -la` (0.3s)
┊ 🔍 web_search (1.2s)
┊ 📄 web_extract (2.1s)
Chuyển qua các chế độ hiển thị bằng /verbose: off → new → all → chi tiết. Lệnh này cũng có thể được kích hoạt cho các nền tảng nhắn tin — xem configuration.
Độ dài xem trước công cụ
Phím cấu hình display.tool_preview_length kiểm soát số lượng ký tự tối đa được hiển thị trong các dòng xem trước lệnh gọi công cụ (ví dụ: đường dẫn tệp, lệnh đầu cuối). Giá trị mặc định là 0, có nghĩa là không có giới hạn — đường dẫn và lệnh đầy đủ được hiển thị.
# ~/.hermes/config.yaml
display:
tool_preview_length: 80 # Truncate tool previews to 80 chars (0 = no limit)
Điều này hữu ích trên các thiết bị đầu cuối hẹp hoặc khi đối số công cụ chứa đường dẫn tệp rất dài.
Quản lý phiên
Tiếp tục phiên
Khi bạn thoát khỏi phiên CLI, lệnh tiếp tục sẽ được in:
Resume this session with:
hermes --resume 20260225_143052_a1b2c3
Session: 20260225_143052_a1b2c3
Duration: 12m 34s
Messages: 28 (5 user, 18 tool calls)
Tùy chọn tiếp tục:
hermes --continue # Resume the most recent CLI session
hermes -c # Short form
hermes -c "my project" # Resume a named session (latest in lineage)
hermes --resume 20260225_143052_a1b2c3 # Resume a specific session by ID
hermes --resume "refactoring auth" # Resume by title
hermes -r 20260225_143052_a1b2c3 # Short form
Việc tiếp tục khôi phục toàn bộ lịch sử hội thoại từ SQLite. Nhân viên hỗ trợ xem tất cả các tin nhắn, lệnh gọi công cụ và phản hồi trước đó — cứ như thể bạn chưa từng rời đi.
Use /title My Session Name inside a chat to name the current session, or hermes sessions rename <id> <title> from the command line. Use hermes sessions list to browse past sessions.
Session Storage
CLI sessions are stored in Hermes's SQLite state database under ~/.hermes/state.db. The database keeps:
- session metadata (ID, title, timestamps, token counters)
- message history
- lineage across compressed/resumed sessions
- full-text search indexes used by
session_search
Some messaging adapters also keep per-platform transcript files alongside the database, but the CLI itself resumes from the SQLite session store.
Context Compression
Long conversations are automatically summarized when approaching context limits:
# In ~/.hermes/config.yaml
compression:
enabled: true
threshold: 0.50 # Compress at 50% of context limit by default
summary_model: "google/gemini-3-flash-preview" # Model used for summarization
When compression triggers, middle turns are summarized while the first 3 and last 4 turns are always preserved.
Background Sessions
Run a prompt in a separate background session while continuing to use the CLI for other work:
/background Analyze the logs in /var/log and summarize any errors from today
Hermes immediately confirms the task and gives you back the prompt:
🔄 Background task #1 started: "Analyze the logs in /var/log and summarize..."
Task ID: bg_143022_a1b2c3
How It Works
Each /background prompt spawns a completely separate agent session in a daemon thread:
- Isolated conversation — the background agent has no knowledge of your current session's history. It receives only the prompt you provide.
- Same configuration — the background agent inherits your model, provider, toolsets, reasoning settings, and fallback model from the current session.
- Non-blocking — your foreground session stays fully interactive. You can chat, run commands, or even start more background tasks.
- Multiple tasks — you can run several background tasks simultaneously. Each gets a numbered ID.
Results
When a background task finishes, the result appears as a panel in your terminal:
╭─ ⚕ Hermes (background #1) ──────────────────────────────────╮
│ Found 3 errors in syslog from today: │
│ 1. OOM killer invoked at 03:22 — killed process nginx │
│ 2. Disk I/O error on /dev/sda1 at 07:15 │
│ 3. Failed SSH login attempts from 192.168.1.50 at 14:30 │
╰──────────────────────────────────────────────────────────────╯
If the task fails, you'll see an error notification instead. If display.bell_on_complete is enabled in your config, the terminal bell rings when the task finishes.
Use Cases
- Long-running research — "/background research the latest developments in quantum error correction" while you work on code
- File processing — "/background analyze all Python files in this repo and list any security issues" while you continue a conversation
- Parallel investigations — start multiple background tasks to explore different angles simultaneously
Background sessions do not appear in your main conversation history. They are standalone sessions with their own task ID (e.g., bg_143022_a1b2c3).
Quiet Mode
By default, the CLI runs in quiet mode which:
- Suppresses verbose logging from tools
- Enables kawaii-style animated feedback
- Keeps output clean and user-friendly
For debug output:
hermes chat --verbose