# Projektin siirtäminen Codexista Hermesiin palvelimella

> Repositorion siirtäminen palvelimelle Hermesillä työskentelyä varten: tallennetut muutokset, riippuvuudet, salaisuudet, työkansio ja tarkistukset ennen kehityksen jatkamista.

Source: https://ailoot.ai/blog/fi/codex-project-to-hermes-server/
Canonical: https://ailoot.ai/blog/fi/codex-project-to-hermes-server/
Language: fi
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-082
Revision: sha256-f2c736f4fe033919d9fa2e159e0aaa8787dbcd6ac1290eb7c44730f0b4c17e59


Jos tarvitset apua palvelun käyttöön, katso [Ailootin dokumentaatiota](https://ailoot.ai/docs/).



<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Tämän osion tärkein asia">

Tärkein asia

Jos haluat jatkaa Hermesissä Codexilla luodun projektin parissa, siirrä itse repositorio ja palauta sen ympäristö. Tällä tavalla et tarvitse erillistä ”tuo projekti agentilta” -vaihetta. Tarkista ensin tallennetut tiedostot ja riippuvuudet ja avaa sitten oikea kansio Hermesissä. Tässä oppaassa oletetaan, että palvelin ja Hermes on jo otettu käyttöön ja että sinulla on pääsy repositorioon.

</div>

## Mitä siirtoa varten pitää valmistella

Repositorio on projektikansio, jossa on Git-muutoshistoria. Työkopio sisältää muokkaamasi tiedostot. Tarkoituksena on siirtää tämä kopio palvelimelle ja jatkaa kehitystyötä. Sovellusta ei vielä tarvitse julkaista kävijöille.

Jos agenttia ei ole vielä asennettu palvelimelle, aloita oppaasta [Hermes Agentin asentaminen VPS-palvelimelle](https://ailoot.ai/blog/fi/hermes-agent-vps-24-7/). Tässä tarvitset toimivan Hermes-asennuksen, palvelimen päätteen ja Gitin. Tarvitset palvelimelta käytettävissä olevan etärepositorion. Jos sinulla ei vielä ole sellaista, luo se ensin ja tallenna projekti sinne ilman salaisuuksia. Jos repositorio on yksityinen, määritä omalle tilillesi lukuoikeus etukäteen. Älä lisää tokenia repositorion URL-osoitteeseen tai agentille lähetettävään viestiin.

Keskeytä projektin rinnakkainen muokkaaminen siirron ajaksi. Avaa lähdetietokoneella pääte itse projektikansioon ja suorita:

```bash
git status --short --branch
git status --short --ignored
```

Ensimmäinen komento näyttää haaran ja tiedostojen tilan. `M` tarkoittaa muokkausta ja `??` tiedostoa, jota Git ei vielä seuraa. Toisessa komennossa ohitetut tiedostot on merkitty tunnuksella `!!`. Tavallinen puhdas tila ei todista, ettei Gitin ulkopuolella ole tarvittavia tiedostoja.

Tallenna tarvittavat muutokset erilliseen commitiin ja pushaa oikea haara etärepositorioon tavalliseen tapaasi. Tarkista ennen puskemista, mitä commit sisältää: avaimia, salasanoja tai oikeita käyttäjätietoja ei saa olla mukana. Jos et tiedä, mitkä muutokset pitäisi tallentaa, pyydä ensin Codexia luettelemaan ne ja selittämään niiden tarkoitus. Älä poista tiedostoja tai pushaa niitä repositorioon.

| Projektin osa | Tarkistettavaa ennen siirtoa |
|----|----|
| Lähdetiedostot ja Git-historia | Tarvittavat muutokset on tallennettu, ja ne ovat käytettävissä etärepositorion valitussa haarassa |
| README ja agentin ohjeet | Käynnistysvaiheet, tarkistukset ja rajoitukset on dokumentoitu; ohjeet ovat ajan tasalla |
| Riippuvuustiedostot | Riippuvuuksien määritykset ja projektissa käytettävä lukitustiedosto, joka lukitsee versiot, on tallennettu |
| Salaisuudet | Niiden asettamiseen palvelimella on erillinen turvallinen tapa; niiden arvot eivät ole Gitissä eivätkä niitä lähetetä chatissa |
| Tietokanta ja ladatut tiedostot | Tiedät, mistä sallitut testitiedot saa ja miten ne palautetaan projektin ohjeiden mukaisesti |

Älä oleta, että repositorion kloonaus siirtää myös ulkoisen tietokannan, ohitetun kansion sisältöä tai Codex-keskustelujasi. Keskusteluhistoria, tilaukset, profiilit ja agenttien omat asetukset eivät kuulu tähän siirtotapaan.





## Kopioi oikea haara palvelimelle

Tallenna ensin lähdetietokoneella tämän komennon tuloste:

```bash
git status --porcelain=v2 --branch
```

Rivi `# branch.oid` näyttää nykyisen commitin ja `# branch.head` haaran. Commit on projektin tallennettu versio. Tyypillisessä projektissa, jossa on jo committeja, tämä mahdollistaa lähdekopion ja uuden kopion vertailun. Vertailu ei tarkista commitoimattomia muutoksia.

Siirry palvelimella kansioon, johon tallennat projektisi. Kloonaa repositorio uuteen kansioon. Korvaa alla olevassa mallissa `REPOSITORY_URL` repositoriosi URL-osoitteella, `BRANCH_NAME` tallentamasi ja pushaamasi haaran nimellä sekä `my-project` uuden kansion haluamallasi nimellä:

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

Tämä on malli, ei kopioitavissa oleva valmis URL-osoite. `git clone` luo kansion ja valitun haaran työkopion. Jos kohdekansio on jo olemassa, sen on oltava tyhjä. Älä poista sen sisältöä komennon suorittamiseksi uudelleen, vaan valitse uusi nimi.

Vertaa molempien kopioiden `# branch.oid`-arvoja. Jos arvot ovat erilaiset, älä ala korjata koodia palvelimella. Tarkista valittu haara, pushaamasi commitit ja mahdolliset rinnakkaiset muutokset. Jos tilatulosteessa näkyy muokattuja tiedostoja, selvitä ne erikseen. Älä yritä saada kopioita vastaamaan toisiaan siivoamalla tai tekemällä pakotettua nollausta.

Git-alimoduuleja eli sisäkkäisiä repositorioita sisältävien repositorioiden sisältö täytyy myös noutaa. `git clone` -komennossa on tätä varten valitsin `--recurse-submodules`. Käytä sitä, jos projekti todella sisältää alimoduuleja ja niiden URL-osoitteet on tarkistettu. Muut ulkoiset resurssit saattavat vaatia READMEssä kuvatun lisämenettelyn.

## Palauta riippuvuudet projektin ohjeiden mukaisesti

Lue ensin README ja projektin määritystiedostot. Selvitä tarvittava runtime-versio ja riippuvuuksien asennukseen käytettävä pakettienhallinta. Älä vaihda projektin tavanomaista työkalua npm:ään vain siksi, että se esiintyy alla olevassa esimerkissä.

**Hypoteettinen esimerkki Node.js:stä ja npm:stä:** repositoriossa on keskenään yhdenmukaiset `package.json`- ja `package-lock.json`-tiedostot, ja palvelimelle on asennettu projektiin sopiva Node.js-versio. Suorita silloin tämä komento projektikansiossa:

```bash
npm ci
```

[npm ci -komennon dokumentaation](https://raw.githubusercontent.com/npm/cli/c039090578a5b21a1aa3aba9c96e199feaf1823a/docs/lib/content/commands/npm-ci.md) mukaan komento asentaa koko projektin riippuvuudet lukitustiedostosta muuttamatta `package.json`- tai `package-lock.json`-tiedostoa. Jos niiden sisältö ei vastaa toisiaan, asennus epäonnistuu. Mahdollinen `node_modules`-kansio poistetaan ennen asennusta.

Jos lukitustiedosto luotiin valitsimilla, jotka vaikuttavat riippuvuuspuuhun, kuten `--legacy-peer-deps`, `npm ci` tarvitsee samat valitsimet. Tarkista lähdeprojektin ohjeet ja asetukset. Älä poista lukitustiedostoa tai päivitä kaikkia riippuvuuksia peittääksesi ensimmäisen siirtovirheen.

Tarkista oman projektisi asennus- ja käynnistyskomennot ennen asentamista. Suorita ne erillisessä työkopiossa, jolla ei ole pääsyä tuotantotietoihin. Aseta tarvittavat ympäristöarvot chatin ja Gitin ulkopuolella. Käytä mahdollisuuksien mukaan testitunnuksia, joilla on rajalliset käyttöoikeudet. Jos projekti riippuu tietokannasta tai tiedostoista, palauta ensin ohjeiden mukaisesti sallittu testiaineisto. Samat lähdetiedostot eivät korvaa kyseisiä tietoja.

Suorita asennuksen jälkeen READMEssä mainitut tarkistukset: testit ja koontiversion luominen, jos ne on määritelty. Komentojen nimet riippuvat projektista. Riippuvuuksien onnistunut asennus ei vielä tarkoita, että sovellus toimii.

## Avaa työkopio Hermesissä

Siirry palvelimen päätteessä uuden kopion juureen ja käynnistä jo asennettu agentti:

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

`/absolute/path/to/my-project` on tässä paikkamerkki projektisi täydelle polulle. Tarkista Hermeksen käynnistysnäkymästä työhakemisto ja ympäristö, jossa päätekomennot suoritetaan. Tämä käynnistystapa on tarkoitettu Hermeksen paikalliselle pääteympäristölle palvelimella. Jos SSH tai Docker on määritetty käyttöön, agentti saattaa suorittaa komentoja toisessa ympäristössä. Varmista ensin, mikä projektipolku on siellä käytettävissä.

Pyydä agenttia vahvistamaan todellinen työkansionsa päätetyökalulla ja lue sitten README sekä projektin ohjeet. Pelkkä viestissä mainittu kansion nimi ei riitä vahvistukseksi.

Alla kuvattu järjestys on peräisin dokumentaation tietystä versiosta, ja se voi poiketa asentamastasi Hermes-versiosta. Tarkista istuntosi ajantasaiset ohjeet. Hermes tukee `AGENTS.md`-tiedostoa, mutta sen lukeminen riippuu kontekstitiedostojen prioriteeteista. [Hermeksen virallisen dokumentaation](https://raw.githubusercontent.com/NousResearch/hermes-agent/44f6d3bbeee093ab985bb1e16d7346fdc3b1db7a/website/docs/user-guide/features/context-files.md) mukaan käyttöön valitaan yhdenlainen ohjetiedosto seuraavassa järjestyksessä: `.hermes.md`, sitten `AGENTS.override.md`, `AGENTS.md`, `CLAUDE.md` ja `.cursorrules`. Tarkista ennen työn aloittamista, löytyykö vanha `.hermes.md`-tiedosto tai henkilökohtainen `AGENTS.override.md`. Älä oleta, että agentti välttämättä noudattaa sen rinnalla olevaa `AGENTS.md`-tiedostoa.

Säilytä valituissa ohjeissa projektin tarkoitus, tarkistuskomennot ja muutosten rajoitukset. Älä muuta niitä keskustelujen arkistoksi. Jos haluat siirtää myös agenttien asetukset, kyseessä on eri prosessi. Sen laajuus kuvataan oppaassa [siirtymisestä Claude Codesta Codexiin](https://ailoot.ai/blog/fi/migrate-claude-code-to-codex/).

## Anna agentille yksi tehtävä ja tarkista tulos

Aloita lukemalla projekti tekemättä muutoksia. Esimerkiksi:

```
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.
```

Sopikaa sitten yhdestä pienestä tehtävästä, kuten käyttöliittymän tekstin korjaamisesta. Määritä muutettavat tiedostot tai alue ja kiellä sivuvaikutuksena tapahtuvat riippuvuuspäivitykset. Jos haluat pitää kokeilun erillään pääkopiosta, tutustu ensin [erilliseen Git worktree -työkopioon](https://ailoot.ai/blog/fi/codex-worktree-separate-task/).

Hyväksy tulos tiedostomuutosten ja toistettujen projektitarkistusten perusteella. Tallenna lähdekopio ja palautuspiste ennen koetta, joka voi epäonnistua. Älä pyydä agenttia nollaamaan kaikkia muutoksia kerralla. Jos tarkistus epäonnistuu, vertaa virhettä lähdekopioon. Näin voit erottaa siirto-ongelman viasta, joka oli olemassa jo ennestään.

Siirron voi katsoa valmistuneen, kun tarvittava versio lähdetiedostoista on paikallaan, ympäristö on palautettu, tarvittavat tiedot ovat käytettävissä turvallisessa testiympäristössä, tarkistukset menevät läpi ja Hermes työskentelee juuri tässä kansiossa. Sovelluksen julkaiseminen kävijöille on erillinen seuraava vaihe, eikä se kuulu tähän tarkistukseen.







Tutustu [Ailootiin](https://ailoot.ai/).

## Kysymyksiä tästä oppaasta: Projektin siirtäminen Codexista Hermesiin palvelimella

### Siirtääkö repositorion kloonaaminen koko työympäristön?

Ei. Git-kloonaus ei tuo ohitettuja tiedostoja, ulkoisia tietokantoja, ladattua dataa, salaisuuksia tai agentin keskusteluhistoriaa. Palauta tarvittavat riippuvuudet ja sallittu testidata erikseen projektiohjeiden mukaan.

### Mitä vertaan ennen palvelinkopion muokkaamista?

Vertaa tallennettua haaraa ja committunnusta lähdekopioon, tarkista commitoimattomat muutokset ja pyydä Hermesiä varmistamaan todellinen työhakemistonsa. Suorita sitten projektin olemassa olevat tarkistukset juuri siinä kopiossa.


## Ailoot · Yritys ja sen projektisalkku

Ailoot perustuu kertyneeseen toimintakokemukseen, laajaan asiakaskuntaan, vakaaseen palveluun ja jatkuvaan KPI-seurantaan.

Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.

Ailoot hyödyntää tätä toimintakokemusta tarjotessaan API-yhteyden tekoälytoimintoihin asiakkaiden tuotteissa, agenteissa, sovelluksissa ja automaatioissa.
