Жобаны Codex-тен Hermes-ке серверде көшіру
MarkdownHermes жүйесінде жұмыс істеу үшін репозиторийді серверге көшіру: сақталған өзгерістер, тәуелділіктер, құпия деректер, жұмыс қалтасы және әзірлеуді жалғастырмас бұрынғы тексерулер.
Мақаланы толық оқу
Қызметті пайдалану туралы анықтаманы Ailoot құжаттамасынан қараңыз.
Негізгі түйін
Codex көмегімен жасалған жобамен Hermes жүйесінде жұмысты жалғастыру үшін репозиторийдің өзін көшіріп, оның ортасын қалпына келтіріңіз. Бұл тәсілде «агенттен жобаны импорттау» деген бөлек қадам қажет емес. Алдымен сақталған файлдар мен тәуелділіктерді тексеріп, содан кейін Hermes жүйесінде дұрыс қалтаны ашыңыз. Бұл нұсқаулықта сервер мен Hermes әлдеқашан бапталған және репозиторийге қол жеткізе аласыз деп есептеледі.
Көшіру алдында не дайындау керек
Репозиторий — Git өзгерістер тарихы бар жоба қалтасы. Жұмыс көшірмесінде сіз өңдейтін файлдар болады. Бұл жерде мақсат — сол көшірмені серверге орналастырып, әзірлеуді жалғастыру. Қолданбаны келушілерге қолжетімді ету әзірге қажет емес.
Егер агент серверге әлі орнатылмаған болса, Hermes Agent-ті VPS-ке орнатудан бастаңыз. Мұнда Hermes-тің жұмыс істеп тұрған орнатылымы, сервер терминалы және Git қажет. Серверден қол жеткізуге болатын қашықтағы репозиторий керек; әзірге ондай репозиторий болмаса, алдымен оны жасап, жобаңызды құпия деректерсіз сонда сақтаңыз. Жеке репозиторий болса, өз тіркелгіңізден оқуға рұқсатты алдын ала баптаңыз; токенді репозиторий URL-іне немесе агентке жіберетін хабарға қоспаңыз.
Көшіру кезінде жобаға параллель өзгерістер енгізуді тоқтата тұрыңыз. Бастапқы компьютерде жоба қалтасының өзін терминалда ашып, мына пәрмендерді орындаңыз:
git status --short --branch
git status --short --ignored
Бірінші пәрмен тармақты және файлдардың күйін көрсетеді. M — өзгертілген файлды, ал ?? Git әлі қадағаламайтын файлды білдіреді. Екінші пәрменде еленбейтін файлдар !! белгісімен көрсетіледі. Күйдің таза болуы Git-тен тыс жерде қажет файлдарыңыз жоқ екенін дәлелдемейді.
Қажетті өзгерістерді бөлек коммитке сақтап, әдеттегі тәсіліңізбен тиісті тармақты қашықтағы репозиторийге жіберіңіз. Жібермес бұрын коммитке не кіретінін тексеріңіз: кілттер, құпиясөздер мен нақты пайдаланушы деректері онда болмауы керек. Қай өзгерістерді сақтау керегін білмесеңіз, алдымен Codex-тен файлдарды жоймай немесе репозиторийге жібермей, олардың тізімін жасап, мақсатын түсіндіруін сұраңыз.
| Жоба бөлігі | Көшіру алдында нені тексеру керек |
|---|---|
| Бастапқы файлдар мен Git тарихы | Қажетті өзгерістер сақталған және қашықтағы репозиторийдің таңдалған тармағында қолжетімді |
| README және агент нұсқаулары | Іске қосу қадамдары, тексерулер мен шектеулер құжатталған; нұсқаулар жаңартылған |
| Тәуелділік файлдары | Тәуелділіктердің анықтамалары мен жоба пайдаланатын lockfile — нұсқаларды бекітетін файл — сақталған |
| Құпия деректер | Оларды серверде орнатудың бөлек әрі қауіпсіз жолы бар; мәндері Git-те жоқ және чатта жіберілмейді |
| Дерекқор мен жүктелген файлдар | Рұқсат етілген сынақ деректерін қайдан алу және жоба нұсқаулары бойынша оларды қалай қалпына келтіру керегін білесіз |
Репозиторийді клондау сыртқы дерекқорды, еленбейтін қалтаның ішіндегілерді немесе Codex-пен болған әңгімелеріңізді көшіріп береді деп ойламаңыз. Чат тарихы, жазылымдар, профильдер мен агенттердің жеке баптаулары бұл көшіру тәсіліне кірмейді.
Дұрыс тармақты серверге көшіру
Алдымен бастапқы компьютерде мына пәрменнің шығысын сақтап алыңыз:
git status --porcelain=v2 --branch
# branch.oid жолы ағымдағы коммитті, ал # branch.head тармақты көрсетеді. Коммит — жобаның сақталған нұсқасы. Бұрыннан коммиттері бар әдеттегі жобада бұл бастапқы және жаңа көшірмелерді салыстыруға мүмкіндік береді; бұл салыстыру коммитке кірмеген өзгерістерді тексермейді.
Серверде жобаларыңызды сақтайтын каталогқа өтіңіз. Репозиторийіңізді жаңа қалтаға клондаңыз. Төмендегі үлгіде REPOSITORY_URL орнына репозиторий URL-ін, BRANCH_NAME орнына сақтап, жіберген тармақтың атауын, ал my-project орнына жаңа қалтаға бергіңіз келетін атауды қойыңыз:
git clone --branch BRANCH_NAME REPOSITORY_URL my-project
cd my-project
git status --porcelain=v2 --branch
Бұл — үлгі, көшіруге дайын URL емес. git clone қалта мен таңдалған тармақтың жұмыс көшірмесін жасайды. Баратын қалта бұрыннан бар болса, ол бос болуы керек: пәрменді қайта орындау үшін ішіндегілерді жоймаңыз, жаңа атау таңдаңыз.
Екі көшірмедегі # branch.oid мәндерін салыстырыңыз. Мәндері әртүрлі болса, серверде кодты түзете бастамаңыз: таңдалған тармақты, жіберген коммиттеріңізді және параллель өзгерістер енгізілген-енгізілмегенін тексеріңіз. Күй шығысында өзгертілген файлдар көрсетілсе, оларды бөлек зерттеңіз. Оларды «сәйкестендіру» үшін тазалау пәрмендерін немесе күштеп қалпына келтіруді қолданбаңыз.
Git субмодульдері — кірістірілген репозиторийлері — бар репозиторийлер үшін олардың мазмұнын да алып келу керек. git clone пәрменінде ол үшін --recurse-submodules параметрі бар; оны жобаңызда шынымен субмодульдер болса және олардың URL-дері тексерілсе пайдаланыңыз. Басқа сыртқы ресурстары бар жобалар үшін README-де сипатталған қосымша рәсім қажет болуы мүмкін.
Жоба ережелеріне сай тәуелділіктерді қалпына келтіру
Алдымен README мен жоба конфигурациясының файлдарын оқыңыз. Қандай runtime нұсқасы керек екенін және тәуелділіктерді орнату үшін қандай пакет менеджері пайдаланылатынын анықтаңыз. Төмендегі мысалда npm көрсетілгені үшін жобаның әдеттегі құралын npm-ге ауыстырмаңыз.
Node.js пен npm-ге арналған шартты мысал: репозиторийде бір-біріне сәйкес package.json және package-lock.json файлдары бар, серверде жобаға жарамды Node.js нұсқасы орнатылған. Мұндай жағдайда жоба қалтасында мына пәрменді орындаңыз:
npm ci
npm ci құжаттамасына сәйкес, бұл пәрмен package.json немесе package-lock.json файлдарын қайта жазбай, бүкіл жобаның тәуелділіктерін lockfile ішінен орнатады. Олардың мазмұны сәйкес келмесе, орнату сәтсіз аяқталады. Бұрыннан бар node_modules қалтасы орнату алдында жойылады.
Егер lockfile тәуелділіктер ағашына әсер ететін --legacy-peer-deps сияқты параметрлермен жасалған болса, npm ci пәрменіне де сол параметрлер қажет. Бастапқы жобаның нұсқаулары мен баптауларын тексеріңіз. Алғашқы көшіру қатесін жасыру үшін lockfile-ды жоймаңыз немесе барлық тәуелділікті жаңартпаңыз.
Орнатпас бұрын өз жобаңыздағы орнату және іске қосу пәрмендерін тексеріңіз. Оларды өндірістік деректерге қолжетімділігі жоқ бөлек жұмыс көшірмесінде орындап, қажет орта мәндерін чат пен Git-тен тыс орнатыңыз. Мүмкін болса, жобаны тексеру үшін рұқсаттары шектеулі сынақ тіркелгі деректерін пайдаланыңыз. Жоба дерекқорға немесе файлдарға тәуелді болса, алдымен нұсқауларына сай рұқсат етілген сынақ деректер жиынын қалпына келтіріңіз; бастапқы файлдардың бірдей болуы сол деректердің орнын баспайды.
Орнатқаннан кейін README-де бар тексерулерді орындаңыз: берілсе, тестілер мен құрастыруды іске қосыңыз. Пәрмен атаулары жобаға байланысты. Тәуелділіктердің сәтті орнатылуы қолданбаның жұмыс істейтінін әлі білдірмейді.
Жұмыс көшірмесін Hermes жүйесінде ашу
Сервер терминалында жаңа көшірменің түбіріне өтіп, әлдеқашан орнатылған агентті іске қосыңыз:
cd /absolute/path/to/my-project
hermes
Мұндағы /absolute/path/to/my-project — жобаңыздың толық жолын білдіретін үлгі. Hermes іске қосылған экранда жұмыс каталогы мен терминал пәрмендері орындалатын ортаны тексеріңіз. Бұл іске қосу тәсілі сервердегі Hermes-тің жергілікті терминал ортасына арналған. SSH немесе Docker бапталған болса, агент пәрмендерді басқа ортада орындауы мүмкін; алдымен сол ортада қолжетімді жоба жолын растаңыз.
Агенттен терминал құралын пайдаланып, нақты жұмыс қалтасын растауды, содан кейін README мен жоба нұсқауларын оқуды сұраңыз. Хабардағы қалта атауын жеткілікті растау деп қабылдамаңыз.
Төмендегі реттілік құжаттаманың бекітілген нұсқасында берілген және Hermes-тің орнатылған нұсқасында өзгеше болуы мүмкін. Сеансыңыздағы ағымдағы нұсқауларды тексеріңіз. Hermes AGENTS.md файлын қолдайды, бірақ оны оқитыны контекст файлдарының басымдығына байланысты. Hermes ресми құжаттамасына сәйкес, нұсқау файлының бір түрі таңдалады: алдымен .hermes.md, содан кейін AGENTS.override.md, AGENTS.md, CLAUDE.md және .cursorrules. Жұмысты бастамас бұрын ескі .hermes.md немесе жеке AGENTS.override.md файлы бар-жоғын тексеріңіз: агент олардың жанындағы AGENTS.md файлын міндетті түрде қолданады деп ойламаңыз.
Таңдалған нұсқауларда жобаның мақсатын, тексеру пәрмендері мен өзгерістерге қойылған шектеулерді сақтаңыз. Оларды әңгімелер архивіне айналдырмаңыз. Агенттердің өз баптауларын тасымалдау қажет болса, бұл — бөлек рәсім; оның ауқымы Claude Code-тен Codex-ке көшу нұсқаулығында түсіндірілген.
Агентке бір тапсырма беріп, нәтижесін тексеру
Алдымен ештеңені өзгертпей, жобаны оқудан бастаңыз. Мысалы:
Біз мен көрсеткен қалтадағы бар жобамен жұмыс істеп жатырмыз.
Терминал құралын пайдаланып, нақты жұмыс каталогын растаңыз.
README мен жобаға арналған ағымдағы нұсқауларды оқыңыз.
Құпия деректері бар файлдарды ашпаңыз және орта мәндерін көрсетпеңіз.
Тексеру пәрмендері мен оларды орындаудың алғышарттарын тізіңіз.
Әзірге ештеңені өзгертпеңіз, орнатпаңыз немесе репозиторийге жібермеңіз.
Содан кейін интерфейстегі мәтінді түзету сияқты бір шағын тапсырманы келісіп алыңыз. Қай файлдарды немесе бөлімді өзгерту керегін көрсетіп, тәуелділіктерді себепсіз жаңартуға тыйым салыңыз. Тәжірибені негізгі көшірмеден бөлек жүргізгіңіз келсе, алдымен бөлек Git worktree жұмыс көшірмесі туралы біліп алыңыз.
Нәтижені файл өзгерістері мен қайталанған жоба тексерулеріне сүйеніп қабылдаңыз. Сәтсіз аяқталуы мүмкін тәжірибенің алдында бастапқы көшірме мен қалпына келтіру нүктесін сақтаңыз; агенттен барлық өзгерісті бірден кері қайтаруды сұрамаңыз. Тексеру сәтсіз болса, қатені бастапқы көшірмемен салыстырыңыз: бұл көшіру мәселесін бұрыннан бар ақаудан ажыратуға көмектеседі.
Қажетті бастапқы файлдар нұсқасы орнында болып, орта қалпына келтірілгенде, қауіпсіз сынақ ортасында қажетті деректер қолжетімді болғанда, тексерулер сәтті өтіп, Hermes дәл осы қалтада жұмыс істегенде көшіру аяқталды деп санауға болады. Қолданбаны келушілерге жариялау — бөлек келесі кезең, бұл тексеруге кірмейді.
Ailoot-пен танысыңыз.
Толығырақ
Жиі қойылатын сұрақтар
Репозиторийді клондау бүкіл жұмыс ортасын көшіре ме?
Жоқ. Git клондауы еленбейтін файлдарды, сыртқы дерекқорларды, жүктелген деректерді, құпияларды және агент чатының тарихын әкелмейді. Қажетті тәуелділіктер мен рұқсат етілген сынақ деректерін жоба нұсқауларына сай бөлек қалпына келтіріңіз.
Сервердегі көшірмені өңдемес бұрын нені салыстырамын?
Сақталған тармақ пен коммит идентификаторын бастапқы көшірмемен салыстырып, коммиттелмеген өзгерістерді қараңыз. Hermes-тен нақты жұмыс қалтасын тексеруді сұраңыз. Кейін жобаның бар тексерулерін дәл сол көшірмеде орындаңыз.