// เอดิเตอร์
Devin Desktop
ที่ที่คุณและ Devin Local ทำงานกันจริงๆ
สำหรับผู้ใช้ Devin Desktop
Devin Desktop (Windsurf IDE) คือเอดิเตอร์ และ Devin Local คือเอเจนต์ แต่ในโมโนรีโพ เอเจนต์ก็ยังต้องมีแผนที่ว่าไฟล์ไหนสำคัญ Maguyva ทำดัชนีโค้ดเบสของคุณและส่งข้อมูลกลับผ่าน MCP (เชิงความหมาย เชิง AST เชิงกราฟ และเชิงข้อความ) ทำให้คำถาม “auth ทำงานตรงไหน” ได้คำตอบเป็นโฟลว์การยืนยันตัวตนจริง ไม่ใช่ test stub เจ็ดตัว
แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตรเครดิต
Devin Desktop แก้ไขสิ่งที่คุณชี้ไป Maguyva บอก Devin Local ว่าควรชี้ไปที่ไฟล์ไหน สี่ส่วนประกอบ แต่ละส่วนมีหน้าที่ของตัวเอง
// เอดิเตอร์
ที่ที่คุณและ Devin Local ทำงานกันจริงๆ
// บริบทแบบแมนวล
บริบทแบบแมนวลเวิร์กดี จนกว่ารีโพจะใหญ่ขึ้น
// โค้ดเบส
ข้อมูลจริงของโค้ดเบสแบบอัตโนมัติผ่าน MCP
// ใครจ่ายเงิน
ไม่คิดค่าบริการต่อที่นั่งสำหรับเอเจนต์ ดูราคา
IDE ไม่ใช่ปัญหา ทั้ง Devin Local, การเติมคำอัตโนมัติแบบแท็บ, การแก้ไขหลายไฟล์ และ .devin/rules/ ยอดเยี่ยมอยู่แล้ว และคุณก็ใช้มันอยู่แล้วสำหรับ:
.devin/rules/ สำหรับข้อตกลงของรีโพและกฎด้านสไตล์@-mention เพื่อดึงไฟล์ที่ต้องการเข้ามาในบริบททำแบบนี้ต่อไปได้เลย ไม่มีอะไรหายไปไหน
แต่ในโมโนรีโพจริง (TypeScript ที่มีการพึ่งพาระดับเวิร์กสเปซ, บริการ Python, แพ็กเกจปะปนกัน) บริบทของเอเจนต์จะพังทันทีที่ไฟล์ที่เกี่ยวข้องยังไม่อยู่ในสายตาของ Devin Local
วิธีแก้แบบแมนวลสี่แบบ คู่กับจุดที่มันล้มเหลว ฝั่งซ้าย = สิ่งที่คุณทำอยู่ทุกวันนี้ ฝั่งขวา = จุดที่มันพัง
// the fix
คุณ @-mention ไฟล์สามไฟล์ที่คิดว่าสำคัญ Devin Local ก็แก้ไขในไฟล์เหล่านั้นได้เนียนๆ
// where it breaks
มันได้ผลก็ต่อเมื่อคุณรู้อยู่แล้วว่าไฟล์ไหนเกี่ยวข้อง ประเด็นทั้งหมดของเครื่องมือบริบทคือการเปิดเผยไฟล์ที่คุณไม่รู้ว่าต้อง mention
// 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 ก่อน commit เสมอ” แต่มันไม่ใช่ดัชนีที่สอบถามได้ของทุกสัญลักษณ์ ไฟล์ และจุดเรียกใช้ในโมโนรีโพของคุณ
ไม่ได้มาแทนที่ Devin Desktop แต่เป็นชั้นบริบทของรีโพที่ต่อยอดจากการรองรับ MCP ของ Devin Local
.devin/rules/ ก็ยังทำหน้าที่ของมันต่อไป @-mentions ก็ยังทำหน้าที่ของมันต่อไป 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 token verify packages/shared/src/auth/types.ts:12 AuthContext packages/admin/src/auth/admin-only.ts:31 rbac gate → จุดเริ่มต้น 4 จุด ครอบคลุม 4 แพ็กเกจ จัดอันดับตามความหนาแน่นของจุดเรียกใช้ [exit 0]
คุณไม่ได้ mention ไฟล์ไหนเลย ไม่ได้วางสนิปเป็ตด้วย 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(...) ← stub [exit 0]
ชื่อบอกอะไรไม่ได้เสมอไป mock บดบังโค้ดจริงได้ Maguyva จัดอันดับการอิมพลีเมนต์จริงให้อยู่เหนือ test mock ในทุกแพ็กเกจ
// workflow 03
devin> อะไรเรียก QueueDispatcher.publish บ้างในโมโนรีโพนี้? graph::callers(QueueDispatcher.publish) 3 ครั้งใน packages/billing/* 1 ครั้งใน packages/audit/* 1 ครั้งใน packages/notifications/* 1 ครั้งใน services/python-worker/* ← ข้ามภาษาผ่าน gRPC stub [exit 0]
ข้ามแพ็กเกจ และข้ามภาษาด้วยถ้ารีโพของคุณเป็นแบบหลายภาษา จุดเรียกใช้จะโผล่ขึ้นมาให้เห็นทันที การเปลี่ยนแปลงอ้างอิงจากโค้ดที่อิมพอร์ตจริง ไม่ใช่การ grep ของ Devin Local
สามขั้นตอน แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตรเครดิต
// 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 บ้างข้ามแพ็กเกจ?”