Wiki · Funkce do hloubky

Profily a více agentů

Druhý agent pro jinou práci není druhý server — stačí mu vlastní profil. Tady je jak na to a kde se profily pletou s právy.

👥
Profil je vlastní domov jednoho agenta. Vlastní nastavení, vlastní klíče, vlastní paměť, vlastní rozhovory i vlastní skilly. Když chcete druhého agenta — na jinou práci, pro jiný projekt nebo pro jiného člověka — založíte mu vlastní profil. Nikdy nespouštějte dva agenty nad jedním profilem.

Co profil obsahuje

Profil je jedna složka v ~/.hermes/profiles/název/. Všechno, co agent má, je v ní pohromadě — proto se dají profily zálohovat, přesouvat i klonovat:

Co v profilu jeK čemu
config.yamlNastavení: model, nástroje, zázemí terminálu, plánované úlohy
.envKlíče a tajné údaje (API klíče, tokeny)
SOUL.mdJak agent mluví a chová se
memories/Paměť — co si o vás a o práci píše
sessions + state.dbVšechny rozhovory a stav agenta
skills/, cron/, plugins/Naučené postupy, pravidelné úlohy, rozšíření

Složka se počítá za profil jen když v ní leží některý z těchto souborů (config.yaml, .env, SOUL.md, profile.yaml, auth.json, state.db). Prázdná složka po logu se ignoruje.

Založení profilu ve třech krocích

  1. Vytvořte profil — vznikne i stejnojmenný příkaz:

    ❯ hermes profile create coder
  2. Nastavte mu klíče a model (probíhá v novém profilu, ne v tom stávajícím):

    ❯ coder setup
  3. Pište si s ním. Od téhle chvíle má coder vlastní paměť i historii:

    ❯ coder chat

Když chcete nový profil rovnou s nastavením toho současného, přidejte --clone (vezme nastavení, klíče, SOUL.md, skilly a paměť). hermes profile create work --clone

Jak s profilem pracovat

Co chcetePříkaz
Spustit cokoli v jiném profiluhermes -p coder chat, hermes -p coder doctor
Krátký dotaz bez otevírání rozhraníhermes -p work chat -q "Zkontroluj stav serveru"
Vypsat profilyhermes profile list
Vysvětlit, co je v profiluhermes profile show coder
Kopírovat profilhermes profile create work-backup --clone-from coder --clone-all
Vyexportovat / přenést na jiný strojhermes profile export · hermes profile import

Profil není pískoviště

Tohle je nejčastější nedorozumění. Profil odděluje stav agenta, ale ne práva:

CoČím se řídíCo to znamená
Stav (konfigurace, paměť, rozhovory)Profil (proměnná HERMES_HOME)Dva profily si do sebe nevidí
Kde příkazy startujíterminal.cwd v config.yamlAgent může klidně pracovat ve vašem projektu; nastavte mu to napevno
Co smí na diskuSystémová práva uživatele (+ pískoviště, pokud ho zapnete)Profil sám přístup neomezí — o tom je stránka Bezpečnost
# ~/.hermes/profiles/coder/config.yaml terminal: backend: local cwd: /var/www/muj-projekt

cwd: "." znamená „složka, ze které jsem Hermes spustil“, ne složka profilu. Ptejte se agenta, ve které složce je — není to spolehlivá zkouška oddělení. Nastavte ji.

Víc agentů na jednom serveru

Na jednom VPS takhle běžně vedle sebe žije několik profilů: jeden pro web, jeden pro hlavního asistenta, jeden pro komunitního bota. Každý má vlastní databázi stavu a vlastní rozhovory.

Co hlídatProč a jak
Jeden profil = jeden běžící agent. Nikdy ne dva procesy nad stejným profilemOba si píšou paměť a každý si při startu načte, co napsal ten druhý — stav se množí, až není jasné, co jste vůbec nastavili
Pro každou platformu správný profilKdyž mají dva profily stejný token bota (např. Discord), perou se o připojení a služba se restartuje pořád dokola
Jeden gateway na profil (nebo multiplex)Pro každý profil se dá spustit vlastní gateway; nebo jeden společný s gateway.multiplex_profiles: true
Po klonování zkontrolujte paměťKdyž profil používá vnější paměť, ověřte, že její nastavení cestovalo — jinak je paměť tiše vypnutá, agent se jen tváří, že si pamatuje
❯ hermes gateway list # co na stroji běží ❯ hermes -p coder gateway restart # restart jednoho profilu ❯ hermes -p coder logs -f # živý log profilu ❯ hermes gateway migrate --multiplex # přechod na jeden společný gateway

Když se profil a váš počítač rozcházejí

Profil je oddělený jen pro Hermese. Nástroje, které používá (git, ssh, gh, npm…), berou přihlašovací údaje vašeho systémového účtu, takže dva profily na jednom počítači mají společný GitHub i společný SSH klíč.

ChceteNastavení
Aby profily sdílely údaje vašeho účtu (obvyklé a pohodlné)Výchozí stav — nic nedělat
Aby měl profil vlastní přihlášení do CLI nástrojůterminal.home_mode: profile v config.yaml profilu

Naše zkušenosti z provozu

Co jsme řešiliPonaučení
Na jednom VPS se sešly tři profily a jeden bot. Služba gatewaye se pořád restartovalaPříčinou byl konflikt tokenu a nedostavěná součást v profilu, ne chyba botu. Pomohlo rozdělit role do profilů a restartovat služby najednou, ne po jedné
Po upgradu se agent tvářil, že si nic nepamatujeV profilu bylo prázdné nastavení paměti (memory.provider). U vnější paměti vždycky ověřte nastavení, ne jen že soubor existuje
Web, hlavní asistent a bot pro komunitu běží jako tři profilyKdyž jeden upravujete, ostatních se to netýká — a když se něco pokazí, víte, který profil to byl
Dva agenti potřebovali různé projekty ve stejné složcePomohl terminal.cwd v každém profilu. „Ve které složce jsi?“ jako kontrola nestačí

Naše tipy

TipProč
Profil na projekt, ne na náladuPaměť i klíče patří projektu — jinak si agent plete souvislosti
Pojmenujte profily krátce a bez diakritikyNázev je zároveň příkaz: coder chat se píše snadno, můj-web chat ne
Nové pokusy dělejte v klonu--clone vám dá kopii, kterou můžete klidně rozbít
Pamatujte, že profil není zeďPráva řešte zvlášť — systémovými účty, kontejnerem nebo schvalováním příkazů

Kam dál

← Zpět na wiki