# Το Goose τρέχει με επεκτάσεις. Προσθέστε μία που ξέρει το αποθετήριό σας.

Canonical source: https://maguyva.ai/el/for-goose

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Το Goose κάνει τη δουλειά του μέσω επεκτάσεων, και κάθε επέκταση είναι ένας διακομιστής MCP. Το Maguyva είναι αυτή που ευρετηριάζει τη βάση κώδικά σας, ώστε το Goose να ρωτά πού βρίσκονται τα πράγματα αντί να απαριθμεί καταλόγους.

> Το .goosehints για το πώς δουλεύετε. Το Maguyva για το τι λέει ο κώδικας τώρα.

## Τι πρέπει να ξέρετε για το Goose

Τέσσερα στοιχεία ειδικά για το Goose.

### config.yaml

Οι επεκτάσεις μπαίνουν κάτω από το `extensions` στο `~/.config/goose/config.yaml`. Το `goose configure` → Add Extension γράφει το ίδιο είδος καταχώρισης για εσάς.

### Μια απομακρυσμένη επέκταση

Το Maguyva είναι επέκταση `streamable_http`, οπότε το Goose συνδέεται απευθείας στο endpoint: καμία τοπική διεργασία, κανένα Node.js. Το URL μπαίνει στο `uri`, όχι στο `url`.

### headers

Το Goose στέλνει τον χάρτη `headers` με κάθε αίτημα, οπότε το κλειδί μπαίνει στην κεφαλίδα `Authorization`. Το Goose μπορεί επίσης να το συμπληρώσει από μια μεταβλητή περιβάλλοντος που αναφέρεται στο `env_keys`.

### available_tools

Μια επέκταση μπορεί να εκθέτει μόνο μέρος των εργαλείων της: απαριθμήστε όσα θέλετε στο `available_tools` ή αφήστε το κενό για όλα.

## Οι υποδείξεις του Goose είναι μια συμφωνία εργασίας. Χρησιμοποιήστε τις.

```text
# .goosehints
- Χρησιμοποίησε pnpm, όχι npm.
- Τρέξε τις δοκιμές ενοποίησης πριν δηλώσεις μια αλλαγή ολοκληρωμένη.
```

Το Goose φορτώνει από προεπιλογή τα `AGENTS.md` και `.goosehints`: καθολικές υποδείξεις από το `~/.config/goose/.goosehints`, υποδείξεις έργου από το αποθετήριο και εμφωλευμένα αρχεία όταν δουλεύει σε υποφακέλους. Οι υποδείξεις απαιτούν την επέκταση Developer. Είναι το σωστό μέρος για:

- Επιλογές εργαλείων και εντολές.
- Συμβάσεις που πρέπει να ακολουθεί το Goose.
- Πού βρίσκεται η τεκμηρίωση.

Οι υποδείξεις περιγράφουν το έργο. Δεν απαντούν στο “τι εξαρτάται από αυτό;”

## Πού δεν φτάνουν οι υποδείξεις και το κέλυφος

Τρία κενά που το Goose καλύπτει με εντολές κελύφους, ένα αρχείο τη φορά.

### // μια λίστα δεν είναι χάρτης

Σε άγνωστο αποθετήριο, το Goose προσανατολίζεται με λίστες καταλόγων και αναγνώσεις αρχείων. Καθεμία καταναλώνει πλαίσιο πριν καν ξεκινήσει η εργασία.

### // το grep βρίσκει συμβολοσειρές, όχι καλούντες

Μια κειμενική αναζήτηση δεν ξεχωρίζει μια πραγματική κλήση από ένα σχόλιο, ένα mock ή μια μέθοδο με το ίδιο όνομα.

### // οι υποδείξεις μένουν πίσω

Ένα αρχείο υποδείξεων που γράφτηκε το προηγούμενο τρίμηνο περιγράφει τη δομή του προηγούμενου τριμήνου. Το Goose το ακολουθεί ούτως ή άλλως.

## Το Maguyva ως επέκταση του Goose

Μία καταχώριση στα extensions δίνει στο Goose:

- **11 εργαλεία για το ευρετηριασμένο αποθετήριό σας**: σημασιολογική, δομική (AST), γράφου και κειμενική αναζήτηση, συν αναζήτηση συμβόλων, εξαρτημένα στοιχεία και ανάκτηση αρχείων.
- **Απαντήσεις με διαδρομές αρχείων και αριθμούς γραμμών**: σε πάνω από 285 γλώσσες.
- **Εργαλεία που μόνο διαβάζουν**: Τα εργαλεία του Maguyva κάνουν ερωτήματα στο ευρετήριο. Κανένα δεν επεξεργάζεται τα αρχεία σας.

> Οι υποδείξεις λένε στο Goose *πώς να δουλεύει*.
> Το Maguyva δίνει στο Goose *έναν χάρτη του κώδικα*.

## Δύο ροές εργασίας

Πρώτα ο χάρτης, μετά αφήστε το Goose να τρέξει.

### 01. Εντοπίστε ένα σφάλμα ως την πηγή του

```text
goose> γιατί κάποιες εξαγωγές τελειώνουν με μηδέν γραμμές;

semantic_search("export job empty result")
  src/export/runner.ts:118   flushBatch()
  src/export/filters.ts:40   applyTenantFilter()

→ Το Goose διαβάζει δύο αρχεία, όχι όλο το πακέτο export.
[exit 0]
```

Τα ταξινομημένα αποτελέσματα στενεύουν την αναζήτηση πριν το Goose ανοίξει κέλυφος.

### 02. Ελέγξτε τα εξαρτημένα πριν από αναδιαμόρφωση

```text
goose> χώρισε την κλάση Notifier σε email και SMS

dependency_search("Notifier", dependents)
  11 αναφορές σε 5 πακέτα

→ Το σχέδιο καλύπτει και τις έντεκα πριν από την πρώτη αλλαγή.
[exit 0]
```

Το Goose παίρνει την πλήρη λίστα εξαρτημένων με μία κλήση αντί για μια αλυσίδα από grep.

## Ρύθμιση στο Goose

Τρία βήματα. Επίπεδο Free: 3 αποθετήρια, Έως 50K ευρετηριασμένες γραμμές αποθετηρίου, χωρίς πιστωτική κάρτα.

### 01. Ευρετηριάστε ένα αποθετήριο στο maguyva.ai

Επιλέξτε ένα που ήδη γνωρίζετε, ώστε να μπορείτε να αξιολογήσετε τις απαντήσεις.

### 02. Προσθέστε το Maguyva στα extensions του config.yaml

`~/.config/goose/config.yaml`

```yaml
extensions:
  maguyva:
    name: maguyva
    type: streamable_http
    uri: https://maguyva.tools/mcp
    enabled: true
    headers:
      Authorization: Bearer mgv_xxxx
    timeout: 300

```

### 03. Αντικαταστήστε το σύμβολο κράτησης θέσης και ξεκινήστε μια συνεδρία

Αντικαταστήστε το `mgv_xxxx` με το κλειδί API σας, τρέξτε `goose session` και κάντε μία ερώτηση της οποίας την απάντηση ήδη γνωρίζετε. Το YAML είναι ευαίσθητο στις εσοχές: χρησιμοποιήστε κενά, όχι στηλοθέτες.

Η [τεκμηρίωση επεκτάσεων](https://goose-docs.ai/docs/getting-started/using-extensions/) του Goose καλύπτει απομακρυσμένες επεκτάσεις, χρονικά όρια και φίλτρα εργαλείων.

## Ευρετηριάστε ένα αποθετήριο που ήδη γνωρίζετε.

Συνδέστε το Goose μέσω MCP και κάντε μία ερώτηση που μπορείτε να ελέγξετε.
