Công cụ & Bộ công cụ
Công cụ là các chức năng mở rộng khả năng của tác nhân. Chúng được sắp xếp thành bộ công cụ logic có thể được bật hoặc tắt trên mỗi nền tảng.
Công cụ có sẵn
Hermes cung cấp sổ đăng ký công cụ tích hợp rộng rãi bao gồm tìm kiếm trên web, tự động hóa trình duyệt, thực thi terminal, chỉnh sửa tệp, bộ nhớ, ủy quyền, đào tạo RL, gửi tin nhắn, Trợ lý gia đình, v.v.
Bộ nhớ phiên chéo Honcho có sẵn dưới dạng plugin nhà cung cấp bộ nhớ ( `plugins/memory/Honcho/
), không phải dưới dạng bộ công cụ tích hợp sẵn. Xem Plugins để cài đặt.
Danh mục cấp cao:
| Danh mục | Ví dụ | Mô tả |
|---|---|---|
| Web |
web_search
,
web_extract | Tìm kiếm trên web và trích xuất nội dung trang. |
| X Tìm kiếm |
x_search
| Tìm kiếm các bài đăng và chủ đề X (Twitter) thông qua công cụ Phản hồi x_search
tích hợp sẵn của xAI - được kiểm soát dựa trên thông tin xác thực xAI (SuperGrok OAuth hoặc XAI_API_KEY
); tắt theo mặc định, hãy chọn tham gia qua
Hermes tools → 🐦 X (Twitter) Tìm kiếm. |
| Thiết bị đầu cuối & tập tin |
terminal
, `process
, `read_file
,
patch | Thực thi các lệnh và thao tác với tập tin. |
| Trình duyệt |
browser_navigate
, `browser_snapshot
,
browser_vision | Tự động hóa trình duyệt tương tác với hỗ trợ văn bản và hình ảnh. |
| Truyền thông |
vision_analyze
, `image_generate
, `video_generate
, `video_analyze
,
text_to_speech | Phân tích và tạo đa phương thức.
video_generate và
video_analyze được chọn tham gia (thêm bộ công cụ
video_gen /
video qua
Hermes tools hoặc
--toolsets
). | | Điều phối đại lý |
todo
, `clarify
, `execute_code
,
delegate_task | Lập kế hoạch, làm rõ, thực thi mã và ủy quyền cho đại lý phụ. |
| Bộ nhớ và thu hồi |
memory
,
session_search | Bộ nhớ liên tục và tìm kiếm phiên. |
| Tự động hóa và giao hàng |
cronjob
,
send_message | Các tác vụ đã lên lịch với các hành động tạo/danh sách/cập nhật/tạm dừng/tiếp tục/chạy/xóa, cùng với việc gửi tin nhắn đi. |
| Tích hợp |
ha_*
, công cụ máy chủ MCP,
rl_* | Trợ lý tại nhà, đào tạo MCP, RL và các tích hợp khác. |
Để biết cơ quan đăng ký có nguồn gốc từ mã có thẩm quyền, hãy xem Built-in Tools Reference và Toolsets Reference.
Người đăng ký Nous Portal trả phí có thể sử dụng tìm kiếm trên web, tạo hình ảnh, TTS và tự động hóa trình duyệt thông qua Tool Gateway — không cần khóa API riêng. Chạy
Hermes model để kích hoạt nó hoặc định cấu hình các công cụ riêng lẻ với
`Hermes tools
.
Sử dụng bộ công cụ
# Use specific toolsets
Hermes chat --toolsets "web,terminal"
# See all available tools
Hermes tools
# Configure tools per platform (interactive)
Hermes tools
`
``Các bộ công cụ phổ biến bao gồm
`web
,
`search
,
`terminal
,
`file
,
`browser
,
`vision
,
`image_gen
,
`moa
,
`skills
,
`tts
,
`todo
,
`memory
,
`session_search
,
`cronjob
,
`code_execution
,
`delegation
,
`clarify
,
`homeassistant
,
`messaging
,
`spotify
,
`Discord
,
`Discord_admin
,
`debugging
,
`safe
` và
`rl
.
Xem [Toolsets Reference](/docs/reference/toolsets-reference) để biết bộ đầy đủ, bao gồm các cài đặt trước nền tảng như
`Hermes-CLI
,
`Hermes-Telegram
` và các bộ công cụ MCP động như
`MCP-<server
.
## Phần cuối của terminal
Công cụ đầu cuối có thể thực thi các lệnh trong các môi trường khác nhau:
| Phần cuối | Mô tả | Trường hợp sử dụng |
|----------|-------------|----------|
|
`local
` | Chạy trên máy của bạn (mặc định) | Phát triển, nhiệm vụ đáng tin cậy |
|
`Docker
` | Thùng chứa biệt lập | Bảo mật, khả năng tái tạo |
|
`SSH
` | Máy chủ từ xa | Sandboxing, giữ cho đại lý tránh xa mã của chính nó |
|
`singularity
` | Thùng chứa HPC | Điện toán cụm, không cần root |
|
`modal
` | Thực thi đám mây | Không có máy chủ, quy mô |
|
`daytona
` | Không gian làm việc hộp cát trên đám mây | Môi trường phát triển từ xa liên tục |
|
`vercel_sandbox
` | Đám mây Vercel Sandbox microVM | Thực thi trên đám mây với khả năng duy trì hệ thống tệp được hỗ trợ nhanh |
### Cấu hình
``` yaml
# In ~/.Hermes/config.yaml
terminal:
backend: local # or: Docker, SSH, singularity, modal, daytona, vercel_sandbox
cwd: "." # Working directory
timeout: 180 # Command timeout in seconds
`
### Phần cuối của Docker
``` yaml
terminal:
backend: Docker
Docker_image: Python:3.11-slim
`
`**Một vùng chứa liên tục, được chia sẻ trong toàn bộ quá trình.** Hermes bắt đầu một vùng chứa tồn tại lâu dài trong lần sử dụng đầu tiên (
`Docker run -d ... sleep 2h
) và định tuyến mọi terminal, tệp và lệnh gọi
`execute_code
` thông qua
`Docker exec
` vào cùng một vùng chứa đó. Các thay đổi thư mục làm việc, các gói đã cài đặt, các chỉnh sửa môi trường và các tệp được ghi vào
/workspace
` đều được chuyển từ lệnh gọi công cụ này sang lệnh gọi công cụ tiếp theo, trên các tác nhân phụ
/reset
` và
`delegate_task
` trong suốt vòng đời của quy trình Hermes. Thùng chứa được dừng lại và loại bỏ khi tắt máy.
Điều này có nghĩa là phần phụ trợ Docker hoạt động giống như một máy ảo hộp cát liên tục, không phải một vùng chứa mới cho mỗi lệnh. Nếu bạn
`pip install foo
` một lần, nó sẽ ở đó trong phần còn lại của phiên. Nếu bạn
`cd /workspace/project
, các cuộc gọi
`ls
` tiếp theo sẽ thấy thư mục đó. Xem [Configuration → Docker Backend](../configuration.md#Docker-backend) để biết chi tiết đầy đủ về vòng đời và cờ
`container_persistent
` kiểm soát xem
/workspace
` và
/root
` có tồn tại sau khi Hermes khởi động lại hay không.
### Phần cuối SSH
Được khuyến nghị để bảo mật - tác nhân không thể sửa đổi mã của chính mình:
`YAML
terminal:
backend: SSH
`
`
`bash
# Set credentials in ~/.Hermes/.env
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.SSH/id_rsa
`
### Đơn lẻ/Người ứng dụng
``` bash
# Pre-build SIF for parallel workers
apptainer build ~/Python.sif Docker://Python:3.11-slim
# Configure
Hermes config set terminal.backend singularity
Hermes config set terminal.singularity_image ~/Python.sif
`
### Phương thức (Đám mây không có máy chủ)
``` bash
uv pip install modal
modal setup
Hermes config set terminal.backend modal
`
### Hộp cát Vercel
`bash
pip install 'Hermes-agent[vercel]'
Hermes config set terminal.backend vercel_sandbox
Hermes config set terminal.vercel_runtime node24
`
``Xác thực bằng cả ba
`VERCEL_TOKEN
,
`VERCEL_PROJECT_ID
` và
`VERCEL_TEAM_ID
. Thiết lập mã thông báo truy cập này là đường dẫn được hỗ trợ để triển khai và các quy trình Hermes chạy dài bình thường trên Render, Rail, Docker và các máy chủ tương tự. Thời gian chạy được hỗ trợ là
`node24
,
`node22
` và
`Python3.13
; Hermes mặc định
/vercel/sandbox
` làm thư mục gốc của không gian làm việc từ xa.
Để phát triển cục bộ một lần, Hermes cũng chấp nhận mã thông báo Vercel OIDC có thời gian tồn tại ngắn:
`bash
VERCEL_OIDC_TOKEN="$(vc project token <project-name)" Hermes chat
`
``Từ thư mục dự án Vercel được liên kết:
`bash
VERCEL_OIDC_TOKEN="$(vc project token)" Hermes chat
`
``Với
`container_persistent: true
, Hermes sử dụng ảnh chụp nhanh Vercel để duy trì trạng thái hệ thống tệp trong quá trình giải trí hộp cát cho cùng một tác vụ. Điều này có thể bao gồm thông tin xác thực, kỹ năng và tệp bộ đệm được đồng bộ hóa của Hermes bên trong hộp cát. Ảnh chụp nhanh không bảo toàn các quy trình trực tiếp, không gian PID hoặc danh tính hộp cát trực tiếp tương tự.
Các lệnh đầu cuối nền sử dụng luồng quy trình phi cục bộ chung của Hermes: sinh sản, thăm dò, chờ, ghi nhật ký và hủy hoạt động thông qua công cụ xử lý thông thường trong khi hộp cát vẫn hoạt động, nhưng Hermes không cung cấp khả năng phục hồi quy trình tách rời Vercel gốc sau khi dọn dẹp hoặc khởi động lại.
Không đặt
`container_disk
` hoặc ở
`51200
` mặc định được chia sẻ; kích thước đĩa tùy chỉnh không được hỗ trợ cho Vercel Sandbox và sẽ không tạo được chẩn đoán/phụ trợ.
### Tài nguyên vùng chứa
Định cấu hình CPU, bộ nhớ, đĩa và tính bền vững cho tất cả các chương trình phụ trợ vùng chứa:
`YAML
terminal:
backend: Docker # or singularity, modal, daytona, vercel_sandbox
container_cpu: 1 # CPU cores (default: 1)
container_memory: 5120 # Memory in MB (default: 5GB)
container_disk: 51200 # Disk in MB (default: 50GB)
container_persistent: true # Persist filesystem across sessions (default: true)
`
``Khi
`container_persistent: true
, các gói, tệp và cấu hình đã cài đặt vẫn tồn tại qua các phiên.
### Bảo mật vùng chứa
Tất cả các chương trình phụ trợ vùng chứa đều chạy với mức độ tăng cường bảo mật:
- Hệ thống tập tin gốc chỉ đọc (Docker)
- Tất cả các khả năng của Linux đều bị loại bỏ
- Không leo thang đặc quyền
- Giới hạn PID (256 quy trình)
- Cách ly không gian tên đầy đủ
- Không gian làm việc liên tục thông qua các khối, lớp gốc không thể ghi
Docker có thể tùy ý nhận danh sách cho phép env rõ ràng thông qua
`terminal.Docker_forward_env
, nhưng các biến được chuyển tiếp sẽ hiển thị với các lệnh bên trong vùng chứa và phải được coi là được hiển thị trong phiên đó.
## Quản lý quy trình nền
Bắt đầu các tiến trình nền và quản lý chúng:
``` python
terminal(command="pytest -v tests/", background=true)
# Returns: \{"session_id": "proc_abc123", "pid": 12345}
# Then manage with the process tool:
process(action="list") # Show all running processes
process(action="poll", session_id="proc_abc123") # Check status
process(action="wait", session_id="proc_abc123") # Block until done
process(action="log", session_id="proc_abc123") # Full output
process(action="kill", session_id="proc_abc123") # Terminate
process(action="write", session_id="proc_abc123", data="y") # Send input
`
``Chế độ PTY (
`pty=true
) cho phép các công cụ CLI tương tác như Codex và Claude Code.
## Hỗ trợ Sudo
Nếu một lệnh cần sudo, bạn sẽ được nhắc nhập mật khẩu (được lưu trong bộ đệm cho phiên). Hoặc đặt
`SUDO_PASSWORD
` trong
~/.Hermes/.env
.
:::warning
Trên nền tảng nhắn tin, nếu sudo không thành công, đầu ra sẽ bao gồm mẹo thêm
`SUDO_PASSWORD
` vào
~/.Hermes/.env
.
:::