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

Canonical source: https://maguyva.ai/th/for-opencode

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

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

> รายการระยะไกลเดียวใต้ 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 คือข้อตกลงในการทำงาน ใช้มันให้เต็มที่

```text
> /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

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

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

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

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

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

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

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

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

```text
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 บรรทัด ไม่ต้องใช้บัตรเครดิต

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

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

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

`opencode.json`

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

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

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

[เอกสาร MCP](https://opencode.ai/docs/mcp-servers/) ของ OpenCode อธิบายเรื่องการหมดเวลา, OAuth และการเข้าถึงเครื่องมือรายเอเจนต์

## ทำดัชนีรีโพเดียวที่คุณรู้จักดีอยู่แล้ว

เชื่อมต่อ OpenCode ผ่าน MCP แล้วถามคำถามเดียวที่คุณตรวจสอบได้
