ข้ามไปที่เนื้อหา

สำหรับผู้ใช้ Zed

Zed เร็ว แต่เอเจนต์ยังต้องหาโค้ดเอง

เอเจนต์ของ Zed ทำงานจากไฟล์ที่คุณเปิดและคำสั่งที่คุณให้ Maguyva ทำดัชนีทั้งรีโพแล้วส่งกลับผ่าน MCP เอเจนต์จึงถามได้ว่าสัญลักษณ์อยู่ที่ไหน แทนที่จะเดา

แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตรเครดิต

รายการ context_servers เดียว: URL หนึ่งรายการและเฮดเดอร์ Authorization หนึ่งรายการ

สิ่งที่ต้องรู้เกี่ยวกับ Zed

ข้อเท็จจริงสี่ข้อเฉพาะของ Zed ไม่มีข้อไหนยาก

// ไฟล์คอนฟิก

settings.json

เซิร์ฟเวอร์ระยะไกลอยู่ใต้ context_servers เปิดไฟล์ด้วย zed: open settings file หรือเพิ่มเซิร์ฟเวอร์จาก Settings → AI → MCP Servers

// การรับส่งข้อมูล

ระยะไกลผ่าน URL

Zed เชื่อมต่อกับ endpoint ระยะไกลของ Maguyva ผ่าน HTTP ไม่มีโปรเซสในเครื่อง ไม่ต้องใช้ Node.js

// คีย์

เฮดเดอร์แบบตรงตัว

คู่มือนี้ใส่คีย์ลงในเฮดเดอร์ Authorization โดยตรง เพราะยังไม่ได้ตรวจสอบที่นี่ว่า Zed ขยายตัวแปรสภาพแวดล้อมในเฮดเดอร์ได้ เก็บไว้ในการตั้งค่าผู้ใช้ ไม่ใช่ในไฟล์ที่คุณ commit

// การอนุมัติ

สิทธิ์ของเครื่องมือ

โดยค่าเริ่มต้น Zed จะถามก่อนเรียกเครื่องมือทุกครั้ง อนุญาตเครื่องมือของ Maguyva ทีละตัวใต้ agent.tool_permissions.tools ด้วยคีย์อย่าง mcp:maguyva:find_symbol

คำสั่งของโปรเจกต์คือข้อตกลงในการทำงาน ใช้มันให้เต็มที่

# .rules
- รันคำสั่งทดสอบของรีโพก่อนถือว่างานเสร็จ
- แก้ไขเฉพาะในแพ็กเกจที่ได้รับมอบหมายให้เปลี่ยน

Zed โหลดไฟล์คำสั่งโปรเจกต์ไฟล์เดียว: ไฟล์แรกที่ตรงจากรายการตายตัวซึ่งขึ้นต้นด้วย .rules และรวม AGENTS.md กับ CLAUDE.md คำสั่งส่วนตัวใส่ไว้ใน ~/.config/zed/AGENTS.md ใช้สำหรับ:

  • คำสั่ง build ทดสอบ และ lint
  • ข้อตกลงที่เอเจนต์ทำผิดซ้ำ ๆ
  • ไดเรกทอรีที่เอเจนต์ห้ามแตะ

ไฟล์คำสั่งบอกเอเจนต์ว่าต้องทำงานอย่างไร แต่บอกไม่ได้ว่าไฟล์ไหนในสี่พันไฟล์เรียกฟังก์ชันที่มันกำลังจะเปลี่ยน

เมื่อบัฟเฟอร์ที่เปิดอยู่ไม่พอ

สามสิ่งที่เอเจนต์ของ Zed เรียนรู้จากไฟล์ตรงหน้าไม่ได้

// ไฟล์ที่เปิดอยู่ไม่ใช่ทั้งรีโพ

เอเจนต์เห็นสิ่งที่คุณเปิดและสิ่งที่มัน grep เจอ ฟังก์ชันช่วยชื่อเดียวกันในอีกแพ็กเกจดูเหมือนกันทุกอย่าง จนกว่าตัวที่ผิดจะถูกปล่อยออกไป

// ผู้เรียกไม่ได้อยู่บนหน้าจอ

“ถ้าเปลี่ยนซิกเนเจอร์นี้แล้วอะไรจะพัง?” เป็นคำถามเชิงกราฟ หากไม่มีดัชนี เอเจนต์จะอ่านไฟล์ทีละไฟล์จนหมดรอบหรือหมดบริบท

// บริบทมีงบประมาณ

ทุกไฟล์ที่เอเจนต์เปิดเพื่อหาทิศทางใช้โทเค็นที่ควรเอาไปใช้กับการแก้ไข คำตอบที่จัดอันดับพร้อม file:line เพียงคำตอบเดียวถูกกว่าการอ่านสำรวจสิบครั้ง

Maguyva ในฐานะเซิร์ฟเวอร์บริบทของ Zed

รายการ context_servers เดียวให้สิ่งเหล่านี้แก่เอเจนต์ของ Zed:

  • เครื่องมือ 11 รายการบนรีโพที่ทำดัชนีแล้วของคุณ การค้นหาเชิงความหมาย เชิงโครงสร้าง (AST) เชิงกราฟ และข้อความ รวมถึงการค้นหาสัญลักษณ์ ส่วนที่พึ่งพา และการดึงไฟล์
  • คำตอบพร้อมพาธไฟล์และหมายเลขบรรทัด ครอบคลุม 285+ ภาษา เอเจนต์จึงเปิดไฟล์ที่ถูกต้องตั้งแต่ครั้งแรก
  • รายการเครื่องมือที่อัปเดตอยู่เสมอ Zed โหลดเครื่องมือของเซิร์ฟเวอร์ใหม่เมื่อเซิร์ฟเวอร์แจ้งว่ามีการเปลี่ยนแปลง โดยไม่ต้องรีสตาร์ต

Zed มอบเอดิเตอร์ที่รวดเร็วให้เอเจนต์

Maguyva มอบแผนที่ของโค้ดให้เอเจนต์

สองเวิร์กโฟลว์

ถามแผนที่ก่อน แล้วค่อยแก้ไข

// workflow 01

หาการอิมพลีเมนต์จริงก่อนที่เอเจนต์จะเปิดแท็บ

zed agent> นโยบาย retry ของ webhook ขาออกอยู่ที่ไหน?

find_symbol("retryPolicy")
  src/webhooks/dispatch.ts:41   retryPolicy()   ← การอิมพลีเมนต์
  src/webhooks/__mocks__/dispatch.ts:9   ← mock

→ เอเจนต์เปิด dispatch.ts:41 ไม่ใช่ mock
[exit 0]

การค้นหาที่จัดอันดับครั้งเดียวแทนการ grep หนึ่งรอบ คำตอบกลับมาเป็นพาธและบรรทัดที่เอเจนต์เปิดได้ทันที

// workflow 02

ตรวจส่วนที่พึ่งพาก่อนเปลี่ยนซิกเนเจอร์

zed agent> เพิ่มอาร์กิวเมนต์ timeout ให้ fetchInvoice

dependency_search("fetchInvoice", dependents)
  ผู้เรียก 7 จุดใน 4 แพ็กเกจ

→ เอเจนต์อัปเดตจุดเรียกทั้งเจ็ดในรอบเดียว
[exit 0]

รัศมีผลกระทบมาถึงก่อนการแก้ไขครั้งแรก ไม่ใช่หลัง build ล้มเหลว

ตั้งค่าใน Zed

สามขั้นตอน แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตรเครดิต

  1. // step 01

    ทำดัชนีรีโพที่ maguyva.ai

    เลือกรีโพที่คุณรู้จักอยู่แล้ว เพื่อให้คุณประเมินคำตอบได้

  2. // step 02

    เพิ่ม Maguyva ใน context_servers ในการตั้งค่า Zed ของคุณ

    ~/.config/zed/settings.json

    {
      "context_servers": {
        "maguyva": {
          "url": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer mgv_xxxx"
          }
        }
      }
    }
  3. // step 03

    แทนที่ตัวยึดตำแหน่งแล้วถามคำถามเดียว

    เปลี่ยน mgv_xxxx เป็นคีย์ API ของคุณแล้วบันทึก ถามเอเจนต์หนึ่งคำถามที่คุณรู้คำตอบอยู่แล้ว จากนั้นเปิดไฟล์ที่ถูกอ้างอิง