Profile: Chạy nhiều Agent
Chạy nhiều tác nhân Hermes độc lập trên cùng một máy — mỗi tác nhân có cấu hình, khóa API, bộ nhớ, phiên, kỹ năng và trạng thái cổng riêng.
Hồ sơ là gì?
Hồ sơ là một thư mục chính riêng của Hermes. Mỗi hồ sơ có thư mục riêng chứa `config.yaml
,
.env
, `SOUL.md
, kỷ niệm, phiên, kỹ năng, công việc định kỳ và cơ sở dữ liệu trạng thái. Hồ sơ cho phép bạn điều hành các tác nhân riêng biệt cho các mục đích khác nhau — trợ lý mã hóa, bot cá nhân, tác nhân nghiên cứu — mà không trộn lẫn trạng thái Hermes.
Khi bạn tạo một hồ sơ, nó sẽ tự động trở thành lệnh riêng. Tạo một hồ sơ có tên
coder và ngay lập tức bạn có
`coder chat
, `coder setup
, `coder gateway start
, v.v.
Bắt đầu nhanh
Hermes profile create coder # creates profile + "coder" command alias
coder setup # configure API keys and model
coder chat # start chatting
`
``Thế thôi.
`coder
` hiện là hồ sơ Hermes của riêng nó với cấu hình, bộ nhớ và trạng thái riêng.
## Tạo hồ sơ
### Hồ sơ trống
`bash
Hermes profile create mybot
`
``Tạo một hồ sơ mới với các kỹ năng đi kèm được gieo mầm. Chạy
`mybot setup
` để định cấu hình khóa API, mô hình và mã thông báo cổng.
Nếu bạn định sử dụng hồ sơ này với tư cách là nhân viên Kanban (hoặc muốn người điều phối Kanban định tuyến công việc tới nó), hãy chuyển
`
--description "<role>"
` vào thời điểm tạo để người điều phối biết nó giỏi ở điểm nào:
``` bash
Hermes profile create researcher --description "Reads source code and external docs, writes findings."
`
``Bạn cũng có thể đặt hoặc tự động tạo mô tả sau bằng
`Hermes profile describe
- xem [Kanban guide](./features/kanban#auto-vs-manual-orchestration) để biết mô hình định tuyến đầy đủ.
### Chỉ sao chép cấu hình (
`
--clone
)
``` bash
Hermes profile create work --clone
`
``Sao chép
`config.yaml
,
.env
` và
`SOUL.md
` của hồ sơ hiện tại của bạn vào hồ sơ mới. Các khóa và mô hình API giống nhau nhưng phiên và bộ nhớ mới. Chỉnh sửa
~/.Hermes/profiles/work/.env
` cho các khóa API khác nhau hoặc
~/.Hermes/profiles/work/SOUL.md
` cho tính cách khác.
### Sao chép mọi thứ (
`
--clone-all
)
``` bash
Hermes profile create backup --clone-all
`
``Sao chép **mọi thứ** — cấu hình, khóa API, tính cách, tất cả ký ức, lịch sử phiên đầy đủ, kỹ năng, công việc định kỳ, plugin. Một ảnh chụp nhanh hoàn chỉnh. Hữu ích cho việc sao lưu hoặc phân nhánh một tác nhân đã có ngữ cảnh.
### Sao chép từ một hồ sơ cụ thể
`bash
Hermes profile create work --clone --clone-from coder
`
:::tip[Honcho memory + profiles]
Khi Honcho được bật,
`
--clone
` sẽ tự động tạo một AI ngang hàng chuyên dụng cho hồ sơ mới trong khi chia sẻ cùng một không gian làm việc của người dùng. Mỗi hồ sơ xây dựng những quan sát và nhận dạng riêng của mình. Xem [Honcho -- Multi-agent / Profiles](./features/memory-providers.md#Honcho) để biết chi tiết.
:::
## Sử dụng hồ sơ
### Bí danh lệnh
Mọi hồ sơ đều tự động nhận được bí danh lệnh tại
~/.local/bin/<name>
:
``` bash
coder chat # chat with the coder agent
coder setup # configure coder's settings
coder gateway start # start coder's gateway
coder doctor # check coder's health
coder skills list # list coder's skills
coder config set model.default Anthropic/Claude-sonnet-4
`
``Bí danh này hoạt động với mọi lệnh phụ của Hermes — ẩn dưới nó chỉ là
`Hermes -p <name>
.
### Cờ
`
-p
``Bạn cũng có thể nhắm mục tiêu một hồ sơ một cách rõ ràng bằng bất kỳ lệnh nào:
``` bash
Hermes -p coder chat
Hermes --profile=coder doctor
Hermes chat -p coder -q "hello" # works in any position
`
### Mặc định dính (
`Hermes profile use
)
`bash
Hermes profile use coder
Hermes chat # now targets coder
Hermes tools # configures coder's tools
Hermes profile use default # switch back
`
``Đặt mặc định để các lệnh
`Hermes
` đơn giản nhắm mục tiêu cấu hình đó. Giống như
`kubectl config use-context
.
### Biết bạn đang ở đâu
CLI luôn hiển thị hồ sơ nào đang hoạt động:
- **Nhắc**:
`coder ❯
` thay vì
❯
`
- **Biểu ngữ**: Hiển thị
`Profile: coder
` khi khởi động
- **
`Hermes profile
**: Hiển thị tên hồ sơ hiện tại, đường dẫn, kiểu máy, trạng thái cổng
## Hồ sơ, không gian làm việc và hộp cát
Hồ sơ thường bị nhầm lẫn với không gian làm việc hoặc hộp cát, nhưng chúng là những thứ khác nhau:
- **hồ sơ** cung cấp cho Hermes thư mục trạng thái riêng:
`config.yaml
,
.env
,
`SOUL.md
, phiên, bộ nhớ, nhật ký, công việc định kỳ và trạng thái cổng.
- **không gian làm việc** hoặc **thư mục làm việc** là nơi bắt đầu các lệnh đầu cuối. Điều đó được kiểm soát riêng bởi
`terminal.cwd
.
- **sandbox** là thứ giới hạn quyền truy cập vào hệ thống tập tin. Hồ sơ **không** sandbox đại lý.
Trên phần phụ trợ đầu cuối
`local
` mặc định, tác nhân vẫn có quyền truy cập hệ thống tệp giống như tài khoản người dùng của bạn. Một hồ sơ không ngăn nó truy cập vào các thư mục bên ngoài thư mục hồ sơ.
Nếu bạn muốn một cấu hình bắt đầu trong một thư mục dự án cụ thể, hãy đặt
`terminal.cwd
` tuyệt đối rõ ràng trong
`config.yaml
` của cấu hình đó:
``` yaml
terminal:
backend: local
cwd: /absolute/path/to/project
`
``Sử dụng
`cwd: "."
` trên chương trình phụ trợ cục bộ có nghĩa là "thư mục Hermes được khởi chạy từ đó", không phải "thư mục hồ sơ".
Cũng lưu ý:-
`SOUL.md
` có thể hướng dẫn mô hình nhưng không thực thi ranh giới không gian làm việc.
- Các thay đổi đối với
`SOUL.md
` sẽ có hiệu lực rõ ràng trong phiên mới. Các phiên hiện tại có thể vẫn đang sử dụng trạng thái nhắc nhở cũ.
- Hỏi người mẫu "bạn đang ở thư mục nào?" không phải là một thử nghiệm cách ly đáng tin cậy. Nếu bạn cần một thư mục bắt đầu có thể dự đoán được cho các công cụ, hãy đặt
`terminal.cwd
` một cách rõ ràng.
## Chạy cổng
Mỗi hồ sơ chạy cổng riêng của mình dưới dạng một quy trình riêng biệt với mã thông báo bot riêng:
``` bash
coder gateway start # starts coder's gateway
assistant gateway start # starts assistant's gateway (separate process)
`
### Mã thông báo bot khác nhau
Mỗi hồ sơ có tệp
.env
` riêng. Định cấu hình mã thông báo bot Telegram/Discord/Slack khác nhau trong mỗi mã:
`bash
# Edit coder's tokens
nano ~/.Hermes/profiles/coder/.env
# Edit assistant's tokens
nano ~/.Hermes/profiles/assistant/.env
`
### An toàn: khóa token
Nếu hai hồ sơ vô tình sử dụng cùng một mã thông báo bot, cổng thứ hai sẽ bị chặn với lỗi rõ ràng khi đặt tên cho hồ sơ xung đột. Được hỗ trợ cho Telegram, Discord, Slack, WhatsApp và Signal.
### Dịch vụ liên tục
``` bash
coder gateway install # creates Hermes-gateway-coder systemd/launchd service
assistant gateway install # creates Hermes-gateway-assistant service
`
``Mỗi hồ sơ có tên dịch vụ riêng. Họ chạy độc lập.
## Cấu hình hồ sơ
Mỗi hồ sơ có riêng:
- **
`config.yaml
`
** — kiểu máy, nhà cung cấp, bộ công cụ, tất cả cài đặt
- **
.env
** — Khóa API, mã thông báo bot
- **
`SOUL.md
** — tính cách và hướng dẫn
``` bash
coder config set model.default Anthropic/Claude-sonnet-4
echo "You are a focused coding assistant." > ~/.Hermes/profiles/coder/SOUL.md
`
``Nếu bạn muốn cấu hình này hoạt động trong một dự án cụ thể theo mặc định, hãy đặt
`terminal.cwd
` của riêng nó:
`bash
coder config set terminal.cwd /absolute/path/to/project
`
## Đang cập nhật``Hermes update
` lấy mã một lần (được chia sẻ) và tự động đồng bộ hóa các kỹ năng đi kèm mới với **tất cả** hồ sơ:
`bash
Hermes update
# → Code updated (12 commits)
# → Skills synced: default (up to date), coder (+2 new), assistant (+2 new)
`
``Các kỹ năng do người dùng sửa đổi không bao giờ bị ghi đè.
## Quản lý hồ sơ
``` bash
Hermes profile list # show all profiles with status
Hermes profile show coder # detailed info for one profile
Hermes profile rename coder dev-bot # rename (updates alias + service)
Hermes profile export coder # export to coder.tar.gz
Hermes profile import coder.tar.gz # import from archive
`
## Xóa hồ sơ
`bash
Hermes profile delete coder
`
``Thao tác này sẽ dừng cổng, xóa dịch vụ systemd/launchd, xóa bí danh lệnh và xóa tất cả dữ liệu hồ sơ. Bạn sẽ được yêu cầu nhập tên hồ sơ để xác nhận.
Sử dụng
`
--yes
` để bỏ qua xác nhận:
`Hermes profile delete coder --yes
:::note
Bạn không thể xóa hồ sơ mặc định (
~/.Hermes
). Để xóa mọi thứ, hãy sử dụng
`Hermes uninstall
.
:::
## Hoàn thành tab
``` bash
# Bash
eval "$(Hermes completion bash)"
# Zsh
eval "$(Hermes completion zsh)"
`
``Thêm dòng vào
~/.bashrc
` hoặc
~/.zshrc
` của bạn để hoàn thành liên tục. Hoàn thành tên hồ sơ sau
-p
, các lệnh phụ hồ sơ và các lệnh cấp cao nhất.
## Cách thức hoạt động
Cấu hình sử dụng biến môi trường
`Hermes_HOME
. Khi bạn chạy
`coder chat
, tập lệnh trình bao bọc sẽ đặt
`Hermes_HOME=~/.Hermes/profiles/coder
` trước khi khởi chạy Hermes. Vì hơn 119 tệp trong cơ sở mã giải quyết các đường dẫn thông qua
`get_Hermes_home()
, trạng thái Hermes tự động xác định phạm vi thư mục của hồ sơ — cấu hình, phiên, bộ nhớ, kỹ năng, cơ sở dữ liệu trạng thái, cổng PID, nhật ký và công việc định kỳ.
Điều này tách biệt với thư mục làm việc của terminal. Việc thực thi công cụ bắt đầu từ
`terminal.cwd
` (hoặc thư mục khởi chạy khi
`cwd: "."
` trên chương trình phụ trợ cục bộ), không tự động từ
`Hermes_HOME
.
Cấu hình mặc định chỉ đơn giản là
~/.Hermes
. Không cần di chuyển — các bản cài đặt hiện tại hoạt động giống hệt nhau.
## Chia sẻ hồ sơ dưới dạng phân phối
Cấu hình bạn tạo trên một máy có thể được đóng gói dưới dạng **kho git** và được cài đặt bằng một lệnh trên máy khác — máy trạm của riêng bạn, máy tính xách tay của đồng đội hoặc môi trường của người dùng trong cộng đồng. Gói chia sẻ bao gồm SOUL, cấu hình, kỹ năng, công việc định kỳ và kết nối MCP. Thông tin xác thực, kỷ niệm và phiên lưu giữ trên mỗi máy.
``` bash
# Install a whole agent from a git repo
Hermes profile install GitHub.com/you/research-bot --alias
# Update later when the author ships a new version (keeps your memories + .env)
Hermes profile update research-bot
`
``Xem **[Profile Distributions: Share a Whole Agent](./profile-distributions.md)** để biết hướng dẫn đầy đủ — soạn thảo, xuất bản, cập nhật ngữ nghĩa, mô hình bảo mật và trường hợp sử dụng.