Blog

Presun projektu z Codexu do Hermes na serveri

Markdown

Prenos repozitára na server na prácu v Hermese: uložené zmeny, závislosti, tajomstvá, pracovný priečinok a kontroly pred pokračovaním vo vývoji.

Prečítať celý článok

Pomoc s používaním služby nájdete v dokumentácii Ailoot.

Kľúčové zistenie

Ak chcete v Hermese pokračovať v práci na projekte vytvorenom pomocou Codexu, preneste samotný repozitár a obnovte jeho prostredie. Pri tomto postupe nepotrebujete samostatný krok na „importovanie projektu od agenta“. Najprv skontrolujte uložené súbory a závislosti a potom v Hermese otvorte správny priečinok. Tento sprievodca predpokladá, že server a Hermes sú už nastavené a máte prístup k repozitáru.

Čo pripraviť pred prenosom

Repozitár je priečinok projektu s históriou zmien v Gite. Pracovná kópia obsahuje súbory, ktoré upravujete. Cieľom je preniesť túto kópiu na server a pokračovať vo vývoji. Aplikáciu zatiaľ nemusíte sprístupniť návštevníkom.

Ak agent ešte nie je nainštalovaný na serveri, začnite inštaláciou Hermes Agent na VPS. V tomto postupe budete potrebovať funkčnú inštaláciu Hermes, terminál servera a Git. Potrebujete vzdialený repozitár, ku ktorému má server prístup; ak ho ešte nemáte, najprv ho vytvorte a uložte doň projekt bez tajomstiev. Pri súkromnom repozitári vopred nastavte prístup na čítanie zo svojho účtu; token nevkladajte do URL repozitára ani do správy agentovi.

Počas prenosu pozastavte súbežné úpravy projektu. Na zdrojovom počítači otvorte terminál priamo v priečinku projektu a spustite:

git status --short --branch
git status --short --ignored

Prvý príkaz zobrazí vetvu a stav súborov. M označuje zmenu a ?? súbor, ktorý Git zatiaľ nesleduje. V druhom príkaze sú ignorované súbory označené !!. Bežný čistý stav nedokazuje, že nemáte potrebné súbory mimo Gitu.

Uložte potrebné zmeny do samostatného commitu a obvyklým spôsobom pushnite správnu vetvu do vzdialeného repozitára. Pred pushnutím skontrolujte, čo commit obsahuje: nesmie zahŕňať kľúče, heslá ani skutočné údaje používateľov. Ak neviete, ktoré zmeny uložiť, najprv požiadajte Codex, aby ich vypísal a vysvetlil ich účel; bez toho, aby čokoľvek mazal alebo pushoval do repozitára.

Časť projektuČo skontrolovať pred prenosom
Zdrojové súbory a história GituPotrebné zmeny sú uložené a dostupné vo vybratej vetve vzdialeného repozitára
README a pokyny pre agentaKroky spustenia, kontroly a obmedzenia sú zdokumentované; pokyny sú aktuálne
Súbory závislostíSú uložené definície závislostí a lockfile používaný projektom — súbor, ktorý určuje verzie
TajomstváExistuje samostatný bezpečný spôsob, ako ich nastaviť na serveri; ich hodnoty nie sú v Gite ani odoslané cez chat
Databáza a nahrané súboryViete, kde získať povolené testovacie údaje a ako ich obnoviť podľa pokynov projektu

Nepredpokladajte, že klonovanie repozitára prenesie externú databázu, obsah ignorovaného priečinka alebo vaše konverzácie s Codexom. História chatu, predplatné, profily a vlastné nastavenia agentov nie sú súčasťou tohto spôsobu prenosu.

Skopírujte správnu vetvu na server

Najprv na zdrojovom počítači uložte výstup tohto príkazu:

git status --porcelain=v2 --branch

Riadok # branch.oid zobrazuje aktuálny commit a # branch.head zobrazuje vetvu. Commit je uložená verzia projektu. Pri typickom projekte s existujúcimi commitmi vám to umožní porovnať zdrojovú a novú kópiu; toto porovnanie nekontroluje neuložené zmeny.

Na serveri prejdite do adresára, v ktorom budete ukladať projekty. Naklonujte repozitár do nového priečinka. V nasledujúcej šablóne nahraďte REPOSITORY_URL URL adresou svojho repozitára, BRANCH_NAME názvom vetvy, ktorú ste uložili a pushli, a my-project názvom, ktorý chcete použiť pre nový priečinok:

git clone --branch BRANCH_NAME REPOSITORY_URL my-project
cd my-project
git status --porcelain=v2 --branch

Toto je šablóna, nie hotová URL adresa na skopírovanie. Príkaz git clone vytvorí priečinok a pracovnú kópiu vybratej vetvy. Ak cieľový priečinok už existuje, musí byť prázdny: neodstraňujte jeho obsah, aby ste príkaz spustili znova; vyberte nový názov.

Porovnajte # branch.oid v oboch kópiách. Ak sa hodnoty líšia, nezačínajte na serveri opravovať kód: skontrolujte vybratú vetvu, commity, ktoré ste pushli, a to, či neprebehli súbežné zmeny. Ak výstup stavu zobrazuje upravené súbory, preskúmajte ich samostatne. Nepoužívajte vyčistenie ani vynútený reset, aby ste ich „uviedli do súladu“.

Repozitáre s Git submodulmi — vnorenými repozitármi — vyžadujú aj načítanie ich obsahu. git clone má na to možnosť --recurse-submodules; použite ju, ak projekt skutočne obsahuje submoduly a skontrolovali ste ich URL adresy. Projekty s inými externými zdrojmi môžu vyžadovať dodatočný postup opísaný v súbore README.

Obnovte závislosti podľa pravidiel projektu

Najprv si prečítajte README a konfiguračné súbory projektu. Zistite, aká verzia runtime sa vyžaduje a ktorý správca balíkov sa používa na inštaláciu závislostí. Nenahrádzajte obvyklý nástroj projektu nástrojom npm len preto, že sa objavuje v nasledujúcom príklade.

Hypotetický príklad pre Node.js a npm: repozitár obsahuje konzistentné súbory package.json a package-lock.json a na serveri je nainštalovaná verzia Node.js vhodná pre projekt. V takom prípade spustite tento príkaz v priečinku projektu:

npm ci

Podľa dokumentácie npm ci tento príkaz nainštaluje závislosti celého projektu z lockfile bez prepísania súborov package.json alebo package-lock.json. Ak ich obsah nie je konzistentný, inštalácia zlyhá. Pred inštaláciou sa odstráni každý existujúci priečinok node_modules.

Ak bol lockfile vytvorený s možnosťami, ktoré ovplyvňujú strom závislostí, napríklad --legacy-peer-deps, príkaz npm ci potrebuje tie isté možnosti. Skontrolujte pokyny a nastavenia zdrojového projektu. Nemažte lockfile ani neaktualizujte všetky závislosti, aby ste zakryli prvú chybu prenosu.

Pred inštaláciou skontrolujte príkazy na inštaláciu a spustenie vo svojom projekte. Spustite ich v samostatnej pracovnej kópii bez prístupu k produkčným údajom a prípadné potrebné hodnoty prostredia nastavte mimo chatu a Gitu. Ak je to možné, na kontrolu projektu použite testovacie prihlasovacie údaje s obmedzenými oprávneniami. Ak projekt závisí od databázy alebo súborov, najprv obnovte povolenú testovaciu množinu údajov podľa pokynov projektu; rovnaké zdrojové súbory tieto údaje nenahrádzajú.

Po inštalácii spustite existujúce kontroly uvedené v README: testy a zostavenie, ak sú k dispozícii. Názvy príkazov závisia od projektu. Úspešná inštalácia závislostí ešte neznamená, že aplikácia funguje.

Otvorte pracovnú kópiu v Hermese

V termináli servera prejdite do koreňového priečinka novej kópie a spustite už nainštalovaného agenta:

cd /absolute/path/to/my-project
hermes

Tu je /absolute/path/to/my-project zástupný text pre úplnú cestu k vášmu projektu. Na úvodnej obrazovke Hermes skontrolujte pracovný adresár a prostredie, v ktorom sa spúšťajú príkazy terminálu. Tento spôsob spustenia je určený pre lokálne terminálové prostredie Hermes na serveri. Ak je nakonfigurované SSH alebo Docker, agent môže spúšťať príkazy v inom prostredí; najprv potvrďte, ktorá cesta k projektu je tam dostupná.

Požiadajte agenta, aby pomocou svojho terminálového nástroja potvrdil skutočný pracovný priečinok a potom prečítal README a pokyny projektu. Názov priečinka uvedený v správe nepovažujte za dostatočné overenie.

Nasledujúce poradie je uvedené v pripnutej verzii dokumentácie a môže sa líšiť od poradia vo vašej nainštalovanej verzii Hermes. Skontrolujte aktuálne pokyny vo svojej relácii. Hermes podporuje AGENTS.md, ale to, či tento súbor číta, závisí od priorít kontextových súborov. Podľa oficiálnej dokumentácie Hermes sa vyberá jeden typ súboru s pokynmi: .hermes.md, potom AGENTS.override.md, AGENTS.md, CLAUDE.md a .cursorrules. Pred začatím práce skontrolujte, či sa tam nenachádza starý súbor .hermes.md alebo osobný súbor AGENTS.override.md; nepredpokladajte, že agent nevyhnutne použije súbor AGENTS.md spolu s ním.

Vo vybratých pokynoch zachovajte účel projektu, príkazy na kontroly a obmedzenia zmien. Nepremeňte ich na archív konverzácií. Ak potrebujete preniesť aj nastavenia samotných agentov, ide o iný postup; jeho rozsah vysvetľuje sprievodca migráciou z Claude Code do Codexu.

Zadajte agentovi jednu úlohu a skontrolujte výsledok

Začnite čítaním projektu bez vykonávania zmien. Napríklad:

We are working with an existing project in the folder I specified.
Confirm the actual working directory using the terminal tool.
Read the README and the current project instructions.
Do not open files containing secrets or print environment values.
List the check commands and the prerequisites for running them.
For now, do not change or install anything, or push to the repository.

Potom sa dohodnite na jednej malej úlohe, napríklad na oprave textu v rozhraní. Určite súbory alebo oblasť, ktoré sa majú zmeniť, a zakážte neplánované aktualizácie závislostí. Ak chcete experiment oddeliť od hlavnej kópie, najprv si zistite viac o samostatnej pracovnej kópii Git worktree.

Výsledok prijmite na základe zmien v súboroch a opakovaných kontrol projektu. Pred experimentom, ktorý môže zlyhať, uložte zdrojovú kópiu a bod obnovy; nežiadajte agenta, aby hromadne resetoval všetky zmeny. Ak kontrola zlyhá, porovnajte chybu so zdrojovou kópiou: pomôže vám to rozlíšiť problém pri prenose od chyby, ktorá tam už bola.

Prenos možno považovať za dokončený, keď je na mieste požadovaná verzia zdrojových súborov, prostredie je obnovené, potrebné údaje sú dostupné v bezpečnom testovacom prostredí, kontroly prechádzajú a Hermes pracuje presne v tomto priečinku. Zverejnenie aplikácie pre návštevníkov je samostatná ďalšia fáza a nie je súčasťou tejto kontroly.

Spoznajte Ailoot.

Viac podrobností

Otázky a odpovede: Presun projektu z Codexu do Hermes na serveri

Prenesie klonovanie repozitára celé pracovné prostredie?

Nie. Klonovanie Gitu neprinesie ignorované súbory, externé databázy, nahraté údaje, tajomstvá ani históriu chatov agenta. Potrebné závislosti a povolené testovacie údaje obnovte samostatne podľa pokynov projektu.

Čo porovnať pred úpravou serverovej kópie?

Porovnajte uloženú vetvu a identifikátor commitu so zdrojovou kópiou, prezrite necommitnuté zmeny a nechajte Hermes overiť skutočný pracovný priečinok. Potom spustite existujúce kontroly projektu v tejto presnej kópii.

Všetky články