OpenCode คืออะไร
OpenCode เป็น AI coding agent แบบโอเพนซอร์สที่ทำงานในเทอร์มินัล และยังสามารถใช้งานผ่านเดสก์ท็อป, IDE รวมถึงเวิร์กโฟลว์แบบเซิร์ฟเวอร์ได้ด้วย มันช่วยให้นักพัฒนาทำงานกับโค้ดเบสได้ ไม่ว่าจะเป็นการอ่านไฟล์ อธิบายโครงสร้าง แก้ไขโค้ด รีวิวการเปลี่ยนแปลง และรันงานผ่าน LLM provider ที่เชื่อมต่ออยู่ คุณเชื่อมต่อ OpenCode เข้ากับ model provider เช่น Kimi API แล้ว OpenCode จะใช้ provider นั้นในการวางแผน ให้เหตุผล และลงมือทำภายในสภาพแวดล้อมการพัฒนาของคุณ
คุณทำอะไรได้บ้างกับ OpenCode
คุณสามารถเลือกใช้ OpenCode เมื่อต้องการเวิร์กโฟลว์การเขียนโค้ดด้วย AI ที่ทำงานร่วมกับโปรเจกต์ของคุณได้โดยตรง ตัวอย่างเช่น:
เขียน แก้ไข และรีแฟกเตอร์โค้ด: คุณสามารถให้ OpenCode เพิ่มฟีเจอร์ แก้ไขไฟล์ที่มีอยู่ รีแฟกเตอร์ฟังก์ชัน หรืออธิบายว่าโมดูลควรถูกเปลี่ยนแปลงอย่างไร เพื่อผลลัพธ์ที่ดีที่สุด ควรระบุไฟล์หรือไดเรกทอรีที่เกี่ยวข้องให้ชัดเจน
แก้บั๊กและสร้างเทสต์: OpenCode สามารถตรวจสอบผลลัพธ์ error อ่านไฟล์ที่เกี่ยวข้อง แนะนำวิธีแก้ไข และเพิ่มเทสต์ให้ได้ ซึ่งมีประโยชน์อย่างมากเมื่อความล้มเหลวขึ้นอยู่กับบริบทของโปรเจกต์
รีวิวการเปลี่ยนแปลงโค้ด: คุณสามารถใช้ OpenCode รีวิวการเปลี่ยนแปลงในเครื่องก่อนที่จะ commit ได้ โดยมันสามารถตรวจหาบั๊กที่น่าจะเกิดขึ้น เทสต์ที่ขาดหายไป รูปแบบที่ไม่สอดคล้องกัน และการแก้ไขที่มีความเสี่ยง
อัตโนมัติเวิร์กโฟลว์การพัฒนา: OpenCode ยังรองรับเวิร์กโฟลว์แบบ non-interactive และแบบเซิร์ฟเวอร์ด้วย ตัวอย่างเช่น คุณสามารถรัน prompt แบบครั้งเดียวจากคอมมานด์ไลน์ หรือเริ่มเซิร์ฟเวอร์ OpenCode แบบ headless แล้วเชื่อมต่อไคลเอนต์หรือการผสานรวมอื่นเข้ากับมันได้
ข้อกำหนดเบื้องต้นในการตั้งค่า OpenCode กับ LLM API
ก่อนตั้งค่า OpenCode กับ LLM API ให้เตรียมสิ่งต่อไปนี้:
เทอร์มินัลที่ใช้งานได้บน macOS, Linux หรือ Windows โดยแนะนำให้ใช้ WSL
Node.js, Homebrew หรือวิธีติดตั้งอื่นที่รองรับ
โฟลเดอร์โปรเจกต์ที่คุณสามารถทดสอบได้อย่างปลอดภัย
บัญชี model provider
สำหรับ OpenCode ควรจำไว้ว่าข้อมูลรับรอง (credentials) ของ provider เป็นข้อมูลที่ละเอียดอ่อน อย่าวาง key ของคุณลงใน public issue, ภาพหน้าจอที่แชร์ ไฟล์ซอร์สโค้ด หรือคอนฟิกูเรชันที่ commit ไว้
ขั้นตอนที่ 1: ติดตั้ง OpenCode
วิธีติดตั้งที่รวดเร็วที่สุดตามเอกสารทางการของ OpenCode คือสคริปต์ติดตั้ง โดยรันคำสั่งนี้ในเทอร์มินัลของคุณ:
OpenCode ยังรองรับการติดตั้งผ่าน npm, Homebrew และคำสั่งอื่นๆ ด้วย หากคุณต้องการเวอร์ชันเดสก์ท็อป สามารถดาวน์โหลดเวอร์ชันที่ตรงกับอุปกรณ์ของคุณได้
ขั้นตอนที่ 2: เปิดใช้งาน OpenCode
ไปยังโปรเจกต์ที่คุณต้องการให้ OpenCode ทำงานด้วย:
เริ่มต้น OpenCode:
หากนี่เป็นครั้งแรกที่คุณใช้ OpenCode ในโปรเจกต์นี้ ให้เริ่มต้นค่าจากภายใน TUI:
วิธีตั้งค่า OpenCode กับ LLM API
ในกรณีส่วนใหญ่ การใช้ “OpenCode API” หมายถึงการเชื่อมต่อ OpenCode เข้ากับ LLM provider ภายนอกผ่าน API key โดย provider จะจัดหาโมเดล ส่วน OpenCode จะจัดการเวิร์กโฟลว์ของ coding agent ภายในโปรเจกต์ของคุณ ขั้นตอนต่อไปนี้ใช้ Kimi API เป็นตัวอย่าง provider
ขั้นตอนที่ 1: สร้าง Kimi API key ของคุณ
เปิดแพลตฟอร์ม Kimi API สร้าง API key จากคอนโซล จากนั้นเก็บไว้ใน password manager หรือ secret manager หากคอนโซลของคุณแสดง key เต็มให้เห็นเพียงครั้งเดียว ให้คัดลอกไว้ก่อนออกจากหน้านั้น
ขั้นตอนที่ 2: เชื่อมต่อ model provider
เปิดใช้งาน OpenCode ในโปรเจกต์ของคุณ:
ในอินเทอร์เฟซของ OpenCode ให้รันคำสั่งนี้:
ค้นหา Moonshot AI หรือรายการผู้ให้บริการที่รองรับ Kimi ตามที่ OpenCode เวอร์ชันของคุณแสดงไว้ เอกสารผู้ให้บริการอย่างเป็นทางการของ OpenCode มีขั้นตอนสำหรับผู้ให้บริการ Moonshot AI ได้แก่ การสร้างคีย์ในคอนโซล Moonshot AI, รันคำสั่ง /connect, ค้นหา Moonshot AI แล้วป้อน API key
หากเวอร์ชันของคุณไม่มี Moonshot AI อยู่ในรายการ ให้อัปเดต OpenCode และรีเฟรชรายการโมเดล:
ขั้นตอนที่ 3: ป้อน Kimi API key ของคุณ
เมื่อ OpenCode ขอ API key ให้วาง Kimi API key ของคุณ
OpenCode จะเก็บข้อมูลรับรองของผู้ให้บริการไว้ในไฟล์ auth ในเครื่อง เอกสารผู้ให้บริการอย่างเป็นทางการระบุพาธนี้ไว้:
โดยปกติแล้วคุณไม่จำเป็นต้องแก้ไขไฟล์นั้นด้วยตนเอง ให้ใช้ขั้นตอน /connect ของผู้ให้บริการใน OpenCode แทน
ขั้นตอนที่ 4: เลือกโมเดล Kimi
หลังจากเชื่อมต่อผู้ให้บริการแล้ว ให้เลือกโมเดลจากภายใน OpenCode:
เลือกโมเดล Kimi ที่คุณต้องการใช้ สำหรับเวิร์กโฟลว์ coding agent ใหม่ ให้เริ่มต้นด้วย:
หากคุณต้องรัน OpenCode แบบไม่โต้ตอบ (non-interactive) กับโมเดลใดโมเดลหนึ่งโดยเฉพาะ ให้ใช้รูปแบบ provider/model ตามที่แสดงในรายการโมเดลของ OpenCode เวอร์ชันคุณ ตัวอย่างเช่น:
จากนั้นใช้ตัวระบุโมเดลตรงตามที่ OpenCode แสดงผลออกมา
ขั้นตอนที่ 5: รันงานเขียนโค้ดชิ้นแรกของคุณ
เริ่มต้นด้วยงานที่มีความเสี่ยงต่ำ เพื่อให้คุณตรวจสอบได้ว่าผู้ให้บริการ โมเดล การเข้าถึงโปรเจกต์ และสิทธิ์การใช้งานทั้งหมดทำงานได้ถูกต้อง:
ผลลัพธ์ที่คาดหวัง:
จากนั้นลองทำงานเขียนโค้ดเล็ก ๆ ดู:
ขั้นตอนนี้จะยืนยันว่า OpenCode สามารถอ่านโปรเจกต์และวิเคราะห์โค้ดเบสได้ ก่อนที่คุณจะอนุญาตให้มันทำการเปลี่ยนแปลงใด ๆ
ทำไมต้องใช้ Kimi API กับ OpenCode?
Kimi API เหมาะกับ OpenCode เมื่อคุณต้องการผู้ให้บริการโมเดลที่รองรับรูปแบบ OpenAI สำหรับเวิร์กโฟลว์การเขียนโค้ดและ agent
ความสามารถด้านการเขียนโค้ดและการให้เหตุผลที่แข็งแกร่ง
{{KIMI_MODEL_LATEST_FULL}} ถูกวางตำแหน่งอย่างเป็นทางการให้เหมาะกับงานเขียนโค้ดระยะยาว การทำตามคำสั่ง การแก้ไขตัวเองเมื่อผิดพลาด และการดำเนินการแบบ agent ทำให้เหมาะกับงาน OpenCode เช่น การแก้ไขไฟล์หลายไฟล์พร้อมกัน การดีบัก การรีแฟกเตอร์ และการรีวิวโค้ด
รองรับ context ยาวสำหรับโปรเจกต์ขนาดใหญ่
เอกสารอย่างเป็นทางการของ {{KIMI_MODEL_LATEST_FULL}} ระบุว่ารองรับ context ยาวสำหรับ {{KIMI_MODEL_LATEST_FULL}} และโมเดลในตระกูล K2 อีกหลายรุ่น ในเวิร์กโฟลว์แบบ agent การรองรับ context ยาวจะช่วยได้เมื่องานนั้นต้องอ่านไฟล์หลายไฟล์ เปรียบเทียบรูปแบบการอิมพลีเมนต์ หรือเก็บประวัติงานจำนวนมาก
API ที่รองรับรูปแบบ OpenAI ทำให้ตั้งค่าได้ง่ายขึ้น
Kimi API รองรับรูปแบบเดียวกับ OpenAI API สำหรับเครื่องมือที่รองรับรูปแบบ chat completions แบบ OpenAI อยู่แล้ว มักหมายความว่าคุณเพียงแค่ต้องตั้งค่า API key, Base URL และชื่อโมเดลเท่านั้น
ใช้งานได้ยืดหยุ่นนอกเหนือจาก OpenCode
คุณสามารถใช้ Kimi API key เดียวกันนี้กับเครื่องมือพัฒนาอื่น ๆ ที่รองรับรูปแบบ OpenAI สคริปต์โดยตรง หรือเวิร์กโฟลว์ภายในองค์กรได้ หากภายหลังคุณใช้ OpenCode server หรือ OpenCode SDK ให้ตั้งค่า Kimi เป็นผู้ให้บริการโมเดลก่อน
การตั้งค่า OpenCode API ที่สำคัญที่คุณควรรู้
การตั้งค่าเหล่านี้ครอบคลุมปัญหาการตั้งค่า OpenCode API และผู้ให้บริการส่วนใหญ่
API key
API key ใช้ยืนยันตัวตนคำขอของคุณกับผู้ให้บริการโมเดล ใน OpenCode มักเพิ่มค่านี้ด้วย:
Provider
Provider ระบุว่าโมเดลมาจากที่ใด ในคู่มือนี้ provider คือ Moonshot AI / Kimi API ส่วน provider อื่น ๆ สามารถตั้งค่าแยกต่างหากได้ แต่แต่ละ provider ต้องมีข้อมูลรับรองและรายการโมเดลของตัวเอง
Base URL
Base URL คือ endpoint ที่ใช้สำหรับคำขอ API แบบ OpenAI-compatible โดยตรง สำหรับตัวอย่าง Kimi API ให้ใช้ endpoint ที่ระบุไว้ในเอกสาร Kimi API ฉบับปัจจุบันหรือในคอนโซลบัญชีของคุณ
Model name
ชื่อโมเดลต้องตรงกับที่ผู้ให้บริการกำหนดไว้ทุกประการ การพิมพ์ผิดเพียงเล็กน้อยอาจทำให้เกิดข้อผิดพลาด model-not-found
ตัวอย่างที่พบบ่อย:
ใน OpenCode ให้ตรวจสอบตัวระบุ provider/model ด้วย:
การแก้ไขข้อผิดพลาด API ที่พบบ่อยใน OpenCode
ปัญหาการตั้งค่าส่วนใหญ่มาจากหนึ่งในห้าสาเหตุนี้ ได้แก่ ข้อมูลรับรอง, endpoint, provider, ชื่อโมเดล หรือขนาด context
การยืนยันตัวตนล้มเหลว
การยืนยันตัวตนอาจล้มเหลวหาก API key ถูกวางผิด ถูกลบ หรือถูกหมุนเวียนใหม่ นอกจากนี้ยังอาจเกิดขึ้นเมื่อเลือก provider ผิด หรือเมื่อ key นั้นเป็นของบัญชีหรือภูมิภาคอื่นที่ไม่ตรงกับที่ตั้งค่าไว้ใน OpenCode ในขณะนั้น
วิธีแก้:
เชื่อมต่อ provider ใหม่และวาง API key ที่ใหม่ล่าสุด หากคุณใช้ environment variable สำหรับการทดสอบโดยตรง ให้ตั้งค่า key ใหม่:
ข้อผิดพลาด endpoint ไม่ถูกต้อง
ข้อผิดพลาด endpoint ไม่ถูกต้องมักหมายความว่า OpenCode ไม่สามารถเชื่อมต่อกับ endpoint ของ provider ที่ถูกต้องได้ สาเหตุที่พบบ่อยได้แก่ การสะกด Base URL ผิด การใช้ endpoint .ai และ .cn ปะปนกันระหว่างเครื่องมือต่าง ๆ หรือมี proxy หรือไฟร์วอลล์ที่เขียนคำขอใหม่ก่อนที่จะไปถึง provider
วิธีแก้:
ตรวจสอบ endpoint ที่ระบุไว้ในเอกสารหรือคอนโซล Kimi API ปัจจุบันของคุณ สำหรับการทดสอบ API โดยตรง ให้ใช้ endpoint เดียวอย่างสม่ำเสมอ:
ไม่รองรับโมเดลนี้
ข้อผิดพลาดนี้อาจเกิดขึ้นเมื่อชื่อโมเดลสะกดผิด โมเดลที่เลือกไม่พร้อมใช้งานสำหรับบัญชีของคุณ หรือแคชรายการโมเดลของ OpenCode ล้าสมัย นอกจากนี้ยังอาจเกิดขึ้นเมื่อตัวระบุ provider/model ที่ OpenCode ใช้แตกต่างจากชื่อโมเดลดิบที่ระบุในเอกสารของ provider
วิธีแก้:
จากนั้นเลือกโมเดลอีกครั้ง:
เกินขีดจำกัดอัตราการใช้งาน
ข้อผิดพลาดเรื่องขีดจำกัดอัตรามักหมายความว่า provider ได้รับคำขอมากเกินไปในเวลาอันสั้น สิ่งนี้อาจเกิดขึ้นหากมีงาน agent หลายงานทำงานพร้อมกัน หรือหากสคริปต์หรือการเชื่อมต่อลองส่งคำขอที่ล้มเหลวซ้ำอย่างถี่เกินไป
วิธีแก้:
หยุดงานชั่วคราว ลดจำนวนการทำงานแบบขนาน และตรวจสอบสถานะโควตาหรือการเรียกเก็บเงินในคอนโซลของ provider หลีกเลี่ยงการเขียนลูปลองใหม่แบบไม่มีที่สิ้นสุดรอบ ๆ OpenCode หรือการเรียก Kimi API โดยตรง
Context window ล้น
Context window ล้นมักหมายความว่างานมีขนาดใหญ่เกินกว่าที่โมเดลจะประมวลผลได้ในครั้งเดียว สิ่งนี้อาจเกิดขึ้นหากมีการรวมไฟล์มากเกินไป หาก OpenCode ถูกขอให้ตรวจสอบทั้ง repository หรือหากเซสชันที่ยาวนานสะสมประวัติการสนทนาไว้มากเกินไป
วิธีแก้ไข:
ให้ OpenCode ทำงานในขอบเขตที่เล็กลง:
คุณสามารถเริ่มเซสชันใหม่สำหรับงานที่แคบลงได้เช่นกัน
สรุป
OpenCode สามารถเชื่อมต่อโค้ดเบสของคุณเข้ากับผู้ให้บริการโมเดล และรันงานเขียนโค้ดจากเทอร์มินัลได้ Kimi API สามารถเป็นแบ็กเอนด์โมเดลสำหรับเวิร์กโฟลว์เหล่านั้นผ่านการตั้งค่าที่เข้ากันได้กับ OpenAI หากคุณต้องการเวิร์กโฟลว์ agent สำหรับเขียนโค้ดที่ใช้งานได้จริง ให้สร้าง Kimi API key ของคุณ เชื่อมต่อ Moonshot AI ใน OpenCode เลือกโมเดล Kimi แล้วรันงานโปรเจกต์เล็กๆ เพื่อตรวจสอบการตั้งค่า
คำถามที่พบบ่อย
/connect OpenCode จะจัดเก็บข้อมูลรับรองของผู้ให้บริการไว้ในเครื่อง และเอกสารทางการระบุว่าไฟล์ข้อมูลรับรองอยู่ที่ ~/.local/share/opencode/auth.jsonopencode models สำหรับ Kimi API ให้เลือกชื่อโมเดล Kimi ที่ตรงตามที่แสดงในรายการโมเดลของ OpenCode เช่น kimi-k2.6 เมื่อบัญชีของคุณสามารถใช้งานได้/connect