// επεξεργαστής
Devin Desktop
Εκεί όπου εσείς και το Devin Local δουλεύετε πραγματικά.
Για χρήστες Devin Desktop
Το Devin Desktop (το Windsurf IDE) είναι ο επεξεργαστής κώδικα και το Devin Local είναι ο πράκτορας. Σε ένα ενιαίο αποθετήριο, ο πράκτορας εξακολουθεί να χρειάζεται έναν χάρτη για το ποιο αρχείο έχει σημασία. Το Maguyva ευρετηριάζει τη βάση κώδικά σας και την προσφέρει πίσω μέσω MCP (σημασιολογική, AST, γραφήματος και κειμένου), ώστε το «πού συμβαίνει η αυθεντικοποίηση» να επιστρέφει την πραγματική ροή αυθεντικοποίησης, όχι επτά ψευδοϋλοποιήσεις δοκιμών.
Επίπεδο Free: 3 αποθετήρια, Έως 50K ευρετηριασμένες γραμμές αποθετηρίου, χωρίς πιστωτική κάρτα.
Το Devin Desktop επεξεργάζεται ό,τι του υποδεικνύετε. Το Maguyva λέει στο Devin Local ποιο αρχείο να υποδείξει. Τέσσερα κομμάτια. Το καθένα έχει τη δουλειά του.
// επεξεργαστής
Εκεί όπου εσείς και το Devin Local δουλεύετε πραγματικά.
// χειροκίνητο πλαίσιο
Το χειροκίνητο πλαίσιο κερδίζει, μέχρι να μεγαλώσει το αποθετήριο.
// βάση κώδικα
Αυτόματα δεδομένα βάσης κώδικα μέσω MCP.
// ποιος πληρώνει
Οι πράκτορες δεν επιβαρύνονται με χρεώσεις ανά χρήστη. Δείτε τις τιμές
Το IDE δεν είναι το πρόβλημα. Το Devin Local, η συμπλήρωση με Tab, οι επεξεργασίες πολλαπλών αρχείων και το .devin/rules/ είναι εξαιρετικά, και ήδη τα χρησιμοποιείτε για:
.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 πριν τις υποβολές.” Δεν είναι ένα ευρετήριο με δυνατότητα ερωτημάτων για κάθε σύμβολο, αρχείο και σημείο κλήσης στο ενιαίο αποθετήριό σας.
Δεν είναι υποκατάστατο του Devin Desktop. Είναι το επίπεδο πλαισίου αποθετηρίου που στηρίζεται στην υποστήριξη MCP του 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.
Τρία βήματα. Επίπεδο Free: 3 αποθετήρια, Έως 50K ευρετηριασμένες γραμμές αποθετηρίου, χωρίς πιστωτική κάρτα.
// step 01
Επιλέξτε το ενιαίο αποθετήριο όπου η έλλειψη πλαισίου σας έχει δυσκολέψει περισσότερο.
// step 02
~/.config/devin/mcp_config.json
{
"mcpServers": {
"maguyva": {
"url": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer ${env:MAGUYVA_API_KEY}"
}
}
}
} // step 03
Μην ξεκινήσετε με ολόκληρη την εταιρεία σας. Ξεκινήστε με ένα αποθετήριο και μία επαληθεύσιμη ερώτηση, όπως «τι καλεί το formatInvoice σε όλα τα πακέτα;»