Μετάβαση στο περιεχόμενο

Για χρήστες Devin Desktop

Το Devin Desktop επεξεργάζεται το αρχείο.
Το Maguyva βλέπει το αποθετήριο.

Το Devin Desktop (το Windsurf IDE) είναι ο επεξεργαστής κώδικα και το Devin Local είναι ο πράκτορας. Σε ένα ενιαίο αποθετήριο, ο πράκτορας εξακολουθεί να χρειάζεται έναν χάρτη για το ποιο αρχείο έχει σημασία. Το Maguyva ευρετηριάζει τη βάση κώδικά σας και την προσφέρει πίσω μέσω MCP (σημασιολογική, AST, γραφήματος και κειμένου), ώστε το «πού συμβαίνει η αυθεντικοποίηση» να επιστρέφει την πραγματική ροή αυθεντικοποίησης, όχι επτά ψευδοϋλοποιήσεις δοκιμών.

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

Το Devin Desktop επεξεργάζεται ό,τι του υποδεικνύετε. Το Maguyva λέει στο Devin Local ποιο αρχείο να υποδείξει.

Τι κάνει κάθε επίπεδο

Τέσσερα κομμάτια. Το καθένα έχει τη δουλειά του.

// επεξεργαστής

Devin Desktop

Εκεί όπου εσείς και το Devin Local δουλεύετε πραγματικά.

// χειροκίνητο πλαίσιο

Αναφορές @ + .devin/rules/

Το χειροκίνητο πλαίσιο κερδίζει, μέχρι να μεγαλώσει το αποθετήριο.

// βάση κώδικα

Maguyva

Αυτόματα δεδομένα βάσης κώδικα μέσω MCP.

// ποιος πληρώνει

Χώροι εργασίας, όχι χρήστες

Οι πράκτορες δεν επιβαρύνονται με χρεώσεις ανά χρήστη. Δείτε τις τιμές

Το Devin Desktop είναι ο επεξεργαστής κώδικα. Χρησιμοποιήστε το.

Το IDE δεν είναι το πρόβλημα. Το Devin Local, η συμπλήρωση με Tab, οι επεξεργασίες πολλαπλών αρχείων και το .devin/rules/ είναι εξαιρετικά, και ήδη τα χρησιμοποιείτε για:

  • Ενσωματωμένες προτάσεις και επεξεργασίες Devin Local στο ανοιχτό αρχείο.
  • Επεξεργασίες πολλαπλών αρχείων όταν η αλλαγή είναι τοπική.
  • Το .devin/rules/ για συμβάσεις αποθετηρίου και κανόνες στιλ.
  • Αναφορές @ για να φέρετε ένα συγκεκριμένο αρχείο στο πλαίσιο.

Συνεχίστε έτσι. Τίποτα από αυτά δεν χάνεται.

Όμως σε ένα πραγματικό ενιαίο αποθετήριο (TypeScript με εξαρτήσεις χώρου εργασίας, υπηρεσίες Python, μεικτά πακέτα) το πλαίσιο του πράκτορα σπάει τη στιγμή που το σχετικό αρχείο δεν είναι ήδη στο ραντάρ του Devin Local.

Χειροκίνητες διορθώσεις που έχετε ήδη δοκιμάσει, και πού αστοχούν

Τέσσερις χειροκίνητες λύσεις και τα σημεία όπου αποτυγχάνουν. Αριστερά = τι κάνετε σήμερα. Δεξιά = πού αποτυγχάνει.

// the fix

// αναφέρετε τα αρχεία

Κάνετε @-αναφορά στα τρία αρχεία που πιστεύετε ότι έχουν σημασία. Το Devin Local επεξεργάζεται καθαρά μέσα σε αυτά.

// where it breaks

// η αναφορά είναι μαντεψιά

Λειτουργεί όταν ήδη γνωρίζετε ποια αρχεία εμπλέκονται. Ολόκληρο το νόημα των εργαλείων πλαισίου είναι να αναδεικνύουν τα αρχεία που δεν ξέρατε να αναφέρετε.

// the fix

// επικολλήστε τα αποσπάσματα

Επικολλάτε 200 γραμμές από άλλο πακέτο μέσα στο Devin Local για να του δώσετε αρκετό πλαίσιο.

// where it breaks

// ο επικολλημένος κώδικας μπαγιατεύει

Το απόσπασμα που επικολλήσατε στις 9 π.μ. δεν αντικατοπτρίζει το rebase που έκανε ο συνάδελφός σας στις 11 π.μ. Το Devin Local επεξεργάζεται πάνω σε μια φαντασματική έκδοση του πακέτου.

// the fix

// γράψτε ένα έγγραφο πλαισίου

Γράφετε ένα αρχείο .devin/rules/ ή ένα markdown αρχιτεκτονικής. Είναι σωστό σήμερα.

// where it breaks

// τα έγγραφα ξεπερνιούνται πιο γρήγορα από τον κώδικα

Ό,τι γράφετε με το χέρι ξεπερνιέται. Ο κώδικας είναι η πηγή αλήθειας. Ένα έγγραφο που εξηγεί το επίπεδο ουράς είναι σωστό για μια εβδομάδα, μετά λάθος για πάντα.

// the fix

// κρατήστε τα αρχεία κανόνων

Προσθέτετε .devin/rules/ για ονοματοδοσία, lint, και εντολές κατασκευής. Εξαιρετικό για τη συμπεριφορά.

// where it breaks

// οι κανόνες ≠ ευρετήριο

Το .devin/rules/ είναι το σωστό μέρος για το “πάντα τρέχετε pnpm tsc -b πριν τις υποβολές.” Δεν είναι ένα ευρετήριο με δυνατότητα ερωτημάτων για κάθε σύμβολο, αρχείο και σημείο κλήσης στο ενιαίο αποθετήριό σας.

Το Maguyva είναι το επίπεδο από κάτω

Δεν είναι υποκατάστατο του Devin Desktop. Είναι το επίπεδο πλαισίου αποθετηρίου που στηρίζεται στην υποστήριξη MCP του Devin Local.

  • Σημασιολογική + AST + γράφημα + κείμενο αναζήτηση με βάση το νόημα, τη δομή, την εξάρτηση ή το ακριβές κείμενο. Κάθε αποτέλεσμα επιστρέφει μια διαδρομή αρχείου και έναν αριθμό γραμμής.
  • Σε όλα τα πακέτα από προεπιλογή σημεία κλήσης και εισαγωγείς σε κάθε πακέτο του ενιαίου αποθετηρίου, όχι μόνο σε αυτό που έχει ανοιχτό το Devin Local.
  • Με επίγνωση κλάδου Το Maguyva βλέπει την έκδοση του κώδικα που επεξεργάζεται το Devin Local.
  • Συμπληρωματικό, όχι ανταγωνιστικό Το .devin/rules/ συνεχίζει να κάνει τη δουλειά του. Οι αναφορές @ συνεχίζουν να κάνουν τη δική τους. Το Maguyva καλύπτει το κενό που εκείνα δεν καλύπτουν.

Το Devin Local επεξεργάζεται το αρχείο που υποδεικνύετε.

Το Maguyva λέει στον πράκτορα ποιο αρχείο να υποδείξει.

Τρεις ροές εργασίας σε ενιαίο αποθετήριο

Διαπακετικά, διαγλωσσικά. Τεκμηριωμένο πάνω στο πραγματικό γράφημα κλήσεων, όχι στο grep του Devin Local.

// workflow 01

Βρείτε τη ροή αυθεντικοποίησης σε όλα τα πακέτα, χωρίς να αναφέρετε τίποτα

devin> πού συμβαίνει η αυθεντικοποίηση σε αυτό το ενιαίο αποθετήριο;

graph::query("authentication flow")
  packages/web/src/auth/session.ts:42       middleware
  packages/api/src/auth/jwt.ts:88           επαλήθευση διακριτικού
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  πύλη rbac

→ 4 σημεία εισόδου σε 4 πακέτα, κατατεταγμένα κατά πυκνότητα σημείων κλήσης.
[exit 0]

Δεν αναφέρατε κανένα αρχείο. Δεν επικολλήσατε κανένα απόσπασμα. Το Devin Local έχει τα τέσσερα αρχεία που έχουν σημασία, στη σωστή κατάταξη, και μπορεί να κάνει μια τεκμηριωμένη επεξεργασία.

// workflow 02

Βρείτε την πραγματική υλοποίηση, όχι την ψευδοϋλοποίηση δοκιμής

devin> πώς χειρίζεται η normalizePhoneNumber το E.164;

semantic::query("normalize phone E.164")
  packages/shared/util/phone.ts:88     normalizePhoneNumber()  ← πραγματική υλοποίηση
  packages/api/test/phone.spec.ts:14   jest.mock(...)          ← ψευδοϋλοποίηση
[exit 0]

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

// workflow 03

Ελέγξτε την ακτίνα επίδρασης πριν κάνετε αναδιαμόρφωση

devin> τι καλεί το QueueDispatcher.publish σε ολόκληρο το ενιαίο αποθετήριο;

graph::callers(QueueDispatcher.publish)
  3 σε packages/billing/*
  1 σε packages/audit/*
  1 σε packages/notifications/*
  1 σε services/python-worker/*  ← διαγλωσσικά μέσω stub gRPC
[exit 0]

Διαπακετικά, και διαγλωσσικά όταν έχετε πολύγλωσσο αποθετήριο, τα σημεία κλήσης αναδεικνύονται άμεσα. Η διαφορά είναι τεκμηριωμένη πάνω σε πραγματικούς εισαγωγείς, όχι στο grep του Devin Local.

Ρύθμιση με το Devin Desktop

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

  1. // step 01

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

    Επιλέξτε το ενιαίο αποθετήριο όπου η έλλειψη πλαισίου σας έχει δυσκολέψει περισσότερο.

  2. // step 02

    Προσθέστε το Maguyva ως διακομιστή MCP στο Devin Desktop

    ~/.config/devin/mcp_config.json

    {
      "mcpServers": {
        "maguyva": {
          "url": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer ${env:MAGUYVA_API_KEY}"
          }
        }
      }
    }
  3. // step 03

    Κάντε μία ερώτηση της οποίας την απάντηση ήδη γνωρίζετε

    Μην ξεκινήσετε με ολόκληρη την εταιρεία σας. Ξεκινήστε με ένα αποθετήριο και μία επαληθεύσιμη ερώτηση, όπως «τι καλεί το formatInvoice σε όλα τα πακέτα;»