// asetustiedosto
config.yaml
Laajennukset määritetään kohtaan extensions tiedostossa ~/.config/goose/config.yaml. goose configure → Add Extension kirjoittaa samanlaisen merkinnän puolestasi.
Goose-käyttäjille
Goose tekee työnsä laajennusten kautta, ja jokainen laajennus on MCP-palvelin. Maguyva on se, joka indeksoi koodikantasi, joten Goose kysyy, missä asiat ovat, eikä listaa hakemistoja.
Free-taso: 3 repositoriota, Enintään 50 000 indeksoitua repo-riviä, ei luottokorttia.
.goosehints kertoo, miten työskennellä. Maguyva kertoo, mitä koodi sanoo nyt. Neljä Goose-agentille ominaista asiaa.
// asetustiedosto
Laajennukset määritetään kohtaan extensions tiedostossa ~/.config/goose/config.yaml. goose configure → Add Extension kirjoittaa samanlaisen merkinnän puolestasi.
// siirto
Maguyva on streamable_http-laajennus, joten Goose yhdistää päätepisteeseen itse: ei paikallista prosessia, ei Node.js:ää. URL kuuluu kenttään uri, ei kenttään url.
// avain
Goose lähettää headers-kartan jokaisen pyynnön mukana, joten avain menee Authorization-otsakkeeseen. Goose voi myös täyttää sen ympäristömuuttujasta, joka on listattu kohtaan env_keys.
// työkalusuodatin
Laajennus voi tarjota vain osan työkaluistaan: listaa haluamasi kohtaan available_tools tai jätä se tyhjäksi, niin kaikki ovat käytössä.
# .goosehints
- Käytä pnpm:ää, älä npm:ää.
- Aja integraatiotestit ennen kuin julistat muutoksen valmiiksi.Goose lataa oletuksena tiedostot AGENTS.md ja .goosehints: globaalit vihjeet tiedostosta ~/.config/goose/.goosehints, projektin vihjeet reposta ja sisäkkäiset tiedostot, kun se työskentelee alikansioissa. Vihjeet vaativat Developer-laajennuksen. Ne sopivat näihin:
Vihjeet kuvaavat projektia. Ne eivät vastaa kysymykseen “mikä riippuu tästä?”
Kolme aukkoa, jotka Goose paikkaa kuorikomennoilla tiedosto kerrallaan.
Tuntemattomassa repossa Goose suunnistaa hakemistolistauksilla ja tiedostojen luvuilla. Jokainen niistä kuluttaa kontekstia jo ennen kuin tehtävä alkaa.
Tekstihaku ei erota todellista kutsua kommentista, mockista tai samannimisestä metodista.
Viime neljänneksellä kirjoitettu vihjetiedosto kuvaa viime neljänneksen rakennetta. Goose noudattaa sitä silti.
Yksi extensions-merkintä antaa Goose-agentille:
Vihjeet kertovat Goose-agentille, miten työskennellä.
Maguyva antaa Goose-agentille kartan koodista.
Ensin kartta, sitten Goose saa ajaa.
// workflow 01
goose> miksi jotkin viennit päättyvät nollaan riviin? semantic_search("export job empty result") src/export/runner.ts:118 flushBatch() src/export/filters.ts:40 applyTenantFilter() → Goose lukee kaksi tiedostoa, ei koko export-pakettia. [exit 0]
Priorisoidut tulokset rajaavat haun ennen kuin Goose avaa kuoren.
// workflow 02
goose> jaa Notifier-luokka sähköpostiin ja tekstiviestiin dependency_search("Notifier", dependents) 11 viittausta 5 paketissa → Suunnitelma kattaa kaikki yksitoista ennen ensimmäistä muokkausta. [exit 0]
Goose saa riippuvaisten koko listan yhdellä kutsulla eikä grep-ketjulla.
Kolme vaihetta. Free-taso: 3 repositoriota, Enintään 50 000 indeksoitua repo-riviä, ei luottokorttia.
// step 01
Valitse jo tuntemasi repo, jotta voit arvioida vastauksia.
// step 02
~/.config/goose/config.yaml
extensions:
maguyva:
name: maguyva
type: streamable_http
uri: https://maguyva.tools/mcp
enabled: true
headers:
Authorization: Bearer mgv_xxxx
timeout: 300
// step 03
Korvaa mgv_xxxx omalla API-avaimellasi, aja goose session ja kysy yksi kysymys, jonka vastauksen jo tiedät. YAML on tarkka sisennyksistä: käytä välilyöntejä, älä sarkaimia.