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

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

AGENTS.md บอกกฎของคุณให้ OpenCode รู้
Maguyva แสดงโค้ดให้มันเห็น

OpenCode อ่าน AGENTS.md เพื่อรู้วิธีทำงาน และเรียกเซิร์ฟเวอร์ MCP สำหรับเรื่องอื่นทั้งหมด Maguyva เป็นเซิร์ฟเวอร์ MCP ระยะไกลที่ให้แผนที่รีโพที่สืบค้นได้แก่ OpenCode พร้อมพาธไฟล์และหมายเลขบรรทัด

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

รายการระยะไกลเดียวใต้ mcp ไม่มีอะไรรันในเครื่อง

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

ข้อเท็จจริงสี่ข้อเฉพาะของ OpenCode

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

opencode.json

เพิ่มเซิร์ฟเวอร์ใต้ mcp ใน opencode.json ของโปรเจกต์ หรือใน ~/.config/opencode/opencode.json สำหรับทุกโปรเจกต์

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

type: remote

OpenCode เชื่อมต่อกับ endpoint ของ Maguyva ผ่าน HTTP ไม่มีอะไรรันในเครื่องและไม่ต้องใช้ Node.js

// คีย์

การอ้างอิงตัวแปรสภาพแวดล้อม

OpenCode แทนค่าตัวแปรสภาพแวดล้อมในคอนฟิก เฮดเดอร์จึงเป็น Bearer {env:MAGUYVA_API_KEY} และคีย์ไม่ปรากฏในไฟล์ที่คุณ commit

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

จำกัดขอบเขตตามเอเจนต์

เซิร์ฟเวอร์ MCP ทุกตัวเพิ่มคำนิยามเครื่องมือลงในบริบท OpenCode ปิดเครื่องมือของเซิร์ฟเวอร์ทั้งระบบได้ด้วย glob อย่าง "maguyva*": false แล้วเปิดกลับเฉพาะเอเจนต์ที่ต้องใช้

AGENTS.md คือข้อตกลงในการทำงาน ใช้มันให้เต็มที่

> /init
# สแกนรีโพและเขียน AGENTS.md

OpenCode อ่าน AGENTS.md ที่รากโปรเจกต์ และ ~/.config/opencode/AGENTS.md สำหรับกฎส่วนตัว หากไม่มี AGENTS.md จะใช้ CLAUDE.md แทน ใช้สำหรับ:

  • คำสั่ง build ทดสอบ และ lint
  • ข้อตกลงและขอบเขตที่เอเจนต์ควรเคารพ
  • ตัวชี้ไปยังเอกสารสำคัญ

การสแกนตอน /init เป็นบทสรุป ไม่ใช่ดัชนี มันไม่ได้บอก OpenCode ว่าใครเรียกฟังก์ชันที่เพิ่มเข้ามาเมื่อวาน

เมื่อ AGENTS.md ไม่พอ

ช่องว่างสามจุดที่ OpenCode เติมด้วย grep และความอดทน

// บทสรุปไม่ใช่ดัชนี

AGENTS.md ระบุชื่อแพ็กเกจสำคัญได้ แต่ลิสต์ทุกสัญลักษณ์และจุดเรียกไม่ได้ และไม่ควรพยายามด้วย

// grep เจอสตริง ไม่ใช่ผู้เรียก

การจับคู่ข้อความแยกการเรียกจริงออกจากคอมเมนต์ mock หรือเมธอดชื่อเดียวกันในคลาสอื่นไม่ได้

// ไฟล์ค่อย ๆ ล้าสมัย

AGENTS.md ถูกต้องในวันที่เขียน โค้ดยังเปลี่ยนต่อไป ส่วนไฟล์จะเปลี่ยนก็ต่อเมื่อมีคนนึกได้ว่าต้องอัปเดต

Maguyva ในฐานะเซิร์ฟเวอร์ MCP ระยะไกลใน OpenCode

รายการเดียวใต้ mcp ให้สิ่งเหล่านี้แก่ OpenCode:

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

AGENTS.md บอก OpenCode ว่าต้องทำงานอย่างไร

Maguyva มอบสิ่งที่ใช้เริ่มทำงานได้ให้ OpenCode

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

ถามแผนที่จากเทอร์มินัลเดียวกัน

// workflow 01

เปลี่ยนชื่อ type ที่ใช้ร่วมกันข้ามแพ็กเกจ

opencode> เปลี่ยนชื่อ OrderStatus เป็น FulfillmentStatus

dependency_search("OrderStatus", dependents)
  การอ้างอิง 23 จุดใน 8 แพ็กเกจ
structural_search(switch_statement, "OrderStatus")
  switch แบบครอบคลุมทุกกรณี 4 จุด

→ OpenCode แก้ไขทั้งรายการ รวมถึง switch
[exit 0]

switch แบบครอบคลุมทุกกรณีคือจุดที่การค้นหาข้อความพลาด และคอมไพเลอร์จับได้ช้า

// workflow 02

แยกโค้ดออกจากเอกสาร

opencode> FEATURE_BULK_EXPORT ถูกอ่านที่ไหน?

text_pattern_search("FEATURE_BULK_EXPORT")
  src/config/flags.ts:17
  src/export/bulk.ts:5
  docs/flags.md:40   ← เอกสารเท่านั้น

→ เส้นทางโค้ดสองจุด เอกสารล้าสมัยหนึ่งจุด
[exit 0]

ผลที่ตรงกันทุกตัวอักษรกลับมาพร้อมพาธ OpenCode จึงแยกโค้ดออกจากเอกสารได้ก่อนแก้ไขฝั่งใดฝั่งหนึ่ง

ตั้งค่าใน OpenCode

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

  1. // step 01

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

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

  2. // step 02

    เพิ่ม Maguyva ใต้ mcp ใน opencode.json

    opencode.json

    {
      "mcp": {
        "maguyva": {
          "type": "remote",
          "url": "https://maguyva.tools/mcp",
          "enabled": true,
          "headers": {
            "Authorization": "Bearer {env:MAGUYVA_API_KEY}"
          }
        }
      }
    }
  3. // step 03

    export คีย์ของคุณแล้วตรวจสอบการเชื่อมต่อ

    ตั้งค่า MAGUYVA_API_KEY ในเชลล์ที่เริ่ม OpenCode opencode mcp list แสดงเซิร์ฟเวอร์ที่ตั้งค่าไว้ทั้งหมด จากนั้นถามหนึ่งคำถามที่คุณรู้คำตอบอยู่แล้ว