SSD Nodes Learn Hosting plans →
คู่มือ Matt Connorโดย Matt Connor

วิธีติดตั้งและรัน OpenCode บน VPS อย่างปลอดภัย

เรียนรู้วิธีติดตั้ง OpenCode บน VPS เพื่อใช้งาน AI coding agent อย่างมีประสิทธิภาพ โดยเน้นการรันผ่าน tmux ด้วยสิทธิ์ผู้ใช้ทั่วไปและจัดการ API key ให้ปลอดภัยที่สุด

OpenCode คืออะไร และสิ่งที่คุณกำลังจะติดตั้ง

OpenCode คือ AI coding agent แบบโอเพนซอร์สที่สร้างมาเพื่อใช้งานในเทอร์มินัล คุณเริ่มต้นใช้งานภายในไดเรกทอรีของโปรเจกต์ ซึ่งตัวโปรแกรมจะอ่านโค้ด เสนอการแก้ไข ปรับปรุงไฟล์ และรันคำสั่งต่างๆ ทั้งหมดนี้ทำผ่าน Terminal User Interface (TUI) โปรแกรมนี้ใช้สัญญาอนุญาตแบบ MIT เชื่อมต่อกับผู้ให้บริการโมเดลได้มากกว่า 75 ราย และด้วยจำนวน GitHub stars ประมาณ 219,000 ดวง ณ เดือนตุลาคม 2026 ทำให้มันเป็น coding agent แบบโอเพนซอร์สที่มีผู้ให้ความสนใจมากที่สุดในปัจจุบัน ในการรัน OpenCode บน VPS คุณต้องติดตั้งภายใต้ผู้ใช้ที่ไม่มีสิทธิ์ root (unprivileged user) ใส่ API key ของโมเดลไว้ในไฟล์ส่วนตัว และเริ่มการทำงานภายใน tmux เพื่อให้เซสชันยังคงอยู่แม้การเชื่อมต่อของคุณจะหลุด คู่มือนี้จะแนะนำขั้นตอนดังกล่าวตามลำดับ

ข้อควรทราบเรื่องชื่อเพื่อป้องกันความสับสน Repository หลักคือ anomalyco/opencode ซึ่งดูแลโดยทีม Anomaly (เดิมรู้จักกันในชื่อ SST) และโปรเจกต์นี้เคยอยู่ที่ sst/opencode นอกจากนี้ยังมี repository เก่าที่ไม่เกี่ยวข้องชื่อ opencode-ai/opencode ซึ่งถูกเก็บถาวรไปแล้วบน GitHub ดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณกำลังอ่านเอกสารของโปรเจกต์ที่ถูกต้อง เว็บไซต์อย่างเป็นทางการคือ opencode.ai

เหตุผลที่ควรใช้งาน OpenCode บน VPS

เซสชันของ coding agent มักใช้เวลานาน OpenCode อาจใช้เวลาหลายนาทีในการรีแฟคเตอร์โค้ดหรือรันชุดทดสอบ หากรันบนแล็ปท็อป การพับหน้าจอหรือการเชื่อมต่อ Wi-Fi ที่หลุดจะทำให้เซสชันสิ้นสุดลงกลางคัน แต่หากรันบน VPS ภายใน tmux ตัว agent จะยังคงทำงานต่อไปแม้คุณจะตัดการเชื่อมต่อ และคุณสามารถกลับมาเชื่อมต่อใหม่เพื่อดูผลลัพธ์ภายหลังได้ นี่เป็นรูปแบบเดียวกับการ รัน Claude Code บน VPS ด้วย tmux ซึ่งถือเป็นการเพิ่มคุณภาพชีวิตที่ดีที่สุดจากการย้าย agent ออกจากแล็ปท็อปของคุณ

เหตุผลประการที่สองคือเรื่องตำแหน่งที่ตั้ง VPS อยู่ใกล้กับโค้ดที่คุณ deploy ไม่ว่าจะเป็น repository, เครื่องมือ build, ฐานข้อมูลสำหรับการทดสอบ และบ่อยครั้งที่สภาพแวดล้อมแบบ staging ก็ตั้งอยู่ที่นั่นหรืออยู่ใกล้เคียงกัน agent ที่แก้ไขโค้ดและรันการทดสอบจะทำงานได้ดีที่สุดบนเครื่องที่การทดสอบเหล่านั้นทำงานจริง และเนื่องจากเครื่องนี้เป็นเซิร์ฟเวอร์ที่คุณควบคุมได้ คุณจึงสามารถจัดเตรียมสภาพแวดล้อมที่จำกัดขอบเขตไว้ให้ agent โดยเฉพาะได้ ซึ่งจะกล่าวถึงในส่วนถัดไป

หากคุณยังอยู่ในขั้นตอนการเลือกเครื่องมือ การรัน coding AI agent บน VPS จะช่วยเปรียบเทียบตัวเลือกที่กว้างขึ้น รวมถึง Aider และ Goose

กำหนดผู้ใช้เฉพาะสำหรับ OpenCode

นี่คือจุดเริ่มต้นที่ตรงไปตรงมา: เอเจนต์สำหรับเขียนโค้ดมีหน้าที่แก้ไขไฟล์และรันคำสั่ง ซึ่งนั่นคือหน้าที่หลักและเป็นความเสี่ยงในเวลาเดียวกัน OpenCode จะรันการ build, การทดสอบ และคำสั่ง shell ใดๆ ที่จำเป็นต่อภารกิจ ซึ่งการตัดสินใจของโมเดลนั้นดีแต่ยังไม่สมบูรณ์แบบ บัญชีผู้ใช้ที่เอเจนต์ใช้รันงานคือขอบเขตสูงสุดที่คำสั่งอันตรายจะเข้าถึงได้ ดังนั้นห้ามรันด้วยสิทธิ์ root และห้ามรันด้วยบัญชีผู้ใช้เดียวกับที่ใช้ดูแลเซิร์ฟเวอร์

OpenCode แตกต่างจากเอเจนต์ที่ทำงานเบื้องหลังตรงที่เป็นแบบโต้ตอบได้ ดังนั้นผู้ใช้ของมันจึงจำเป็นต้องมี shell จริงและ home directory:

sudo useradd --create-home --shell /bin/bash opencode
sudo -iu opencode

เก็บโปรเจกต์ที่คุณต้องการให้มันทำงานไว้ภายใต้ /home/opencode โดยให้ผู้ใช้รายนั้นเป็นผู้ clone มา ห้ามให้สิทธิ์ sudo แก่บัญชีนี้ หากเอเจนต์รันคำสั่งที่สร้างความเสียหาย มันจะทำลายได้เพียงสิ่งที่บัญชีนี้เป็นเจ้าของเท่านั้น ซึ่งเป็นเหตุผลเดียวกับ การรันบริการด้วยผู้ใช้ที่ไม่มีสิทธิ์พิเศษ นอกจากนี้ควรทำงานภายใน git repository และทำ commit ก่อนมอบหมายงานให้เอเจนต์ เพราะหากมีการแก้ไขที่ผิดพลาดกับงานที่ commit ไว้ คุณจะสามารถใช้ git revert หรือ git restore เพื่อกู้คืนได้แทนที่จะสูญเสียงานไป ส่วนการเปลี่ยนแปลงที่คุณไม่เคย commit จะไม่ได้รับการป้องกันใดๆ

การติดตั้ง OpenCode

โปรเจกต์นี้มีวิธีการติดตั้งหลายรูปแบบ โดยมี 2 วิธีที่เหมาะสมกับเซิร์ฟเวอร์ สคริปต์การติดตั้งเป็นวิธีที่เร็วที่สุด และการรันในฐานะผู้ใช้ opencode จะช่วยให้ทุกอย่างอยู่ภายในโฮมไดเรกทอรีของผู้ใช้นั้น:

curl -fsSL https://opencode.ai/install | bash

นิสัยการใช้งาน curl | bash ตามปกติยังคงใช้ได้ที่นี่เช่นเดียวกับที่อื่น: บนเซิร์ฟเวอร์ที่คุณให้ความสำคัญ ให้ดาวน์โหลดสคริปต์มาก่อน อ่านเนื้อหา แล้วจึงรัน หลังจากติดตั้งเสร็จ ให้เริ่ม shell ใหม่เพื่อให้การเปลี่ยนแปลง PATH ที่ตัวติดตั้งทำไว้มีผล จากนั้นตรวจสอบ binary:

opencode --version

หากคุณต้องการใช้ package manager และมี Node.js อยู่บนเครื่องแล้ว วิธีการผ่าน npm จะติดตั้งเครื่องมือเดียวกันลงใน global prefix ของ npm:

sudo npm install -g opencode-ai

เมื่อใช้ Node.js ระดับระบบ prefix ดังกล่าวโดยปกติจะเป็น /usr/local หรือ /usr ซึ่งไดเรกทอรี bin จะอยู่ใน PATH ของผู้ใช้ทุกคน ตัวจัดการเวอร์ชันหรือ custom prefix จะวาง binary ไว้ที่อื่น ดังนั้นให้รัน npm prefix -g ก่อนหากคุณต้องการให้ opencode ถูกค้นพบโดยผู้ใช้ opencode

ไม่ว่าจะใช้วิธีใด การตรวจสอบจะเหมือนกัน: opencode --version จะแสดงหมายเลขเวอร์ชัน หากเกิด command not found หลังจากการติดตั้งด้วยสคริปต์ แสดงว่า shell ปัจจุบันยังไม่ได้อ่าน PATH ที่อัปเดต ให้ log out และ log in ใหม่ในฐานะผู้ใช้ opencode

คำสั่งทั้งสองติดตั้ง OpenCode สาย 1.x ซึ่งยังคงมีการออกรุ่นใหม่ (1.19.3 เมื่อวันที่ 16 ตุลาคม 2026) และคู่มือนี้อธิบายถึงสายการพัฒนานี้ OpenCode 2 ได้เปิดตัวแล้วในฐานะการติดตั้งแยกต่างหาก จาก https://opencode.ai/v2/install หรือแพ็กเกจ npm @opencode/cli และมีการทำงานที่แตกต่างออกไป: มีเซิร์ฟเวอร์เบื้องหลังที่ใช้ร่วมกันต่อหนึ่งบัญชีผู้ใช้เพื่อจัดการเซสชัน สิทธิ์ และการรันเครื่องมือ โดยที่เทอร์มินัลจะเชื่อมต่อเข้าไป คู่มือการย้ายข้อมูลระบุให้ลบการติดตั้ง 1.x ที่จัดการด้วยแพ็กเกจออกก่อนติดตั้งเวอร์ชัน 2 เนื่องจากทั้งคู่ใช้คำสั่ง opencode เหมือนกัน

จัดเก็บ API key ไว้ในไฟล์ส่วนตัว

OpenCode จำเป็นต้องใช้ key สำหรับผู้ให้บริการโมเดลที่คุณเลือกใช้งาน และ key ดังกล่าวสามารถใช้จ่ายเงินของคุณได้ จึงควรปฏิบัติต่อมันเหมือนกับรหัสผ่าน ให้สร้างไฟล์ที่อนุญาตให้เฉพาะผู้ใช้ opencode อ่านได้เท่านั้น โดยกำหนดสิทธิ์เป็น 600 และเก็บ key ไว้ในนั้นแทนการพิมพ์ลงในคำสั่งโดยตรง ซึ่งจะทำให้ key ไปปรากฏอยู่ในประวัติการใช้งาน shell ของคุณ:

install -m 600 /dev/null ~/opencode.env
nano ~/opencode.env

ให้ใส่ตัวแปรของผู้ให้บริการของคุณลงในไฟล์ เช่น ANTHROPIC_API_KEY=... หรือตัวแปรที่เทียบเท่าสำหรับผู้ให้บริการของคุณ เนื่องจาก OpenCode จะดึงค่าจากตัวแปรสภาพแวดล้อมมาตรฐานของผู้ให้บริการมาใช้งาน ให้โหลดไฟล์ดังกล่าวเข้าสู่ shell ของคุณก่อนเริ่มการทำงานของ agent:

set -a; source ~/opencode.env; set +a

นอกจากนี้ OpenCode ยังมีทางเลือกแบบโต้ตอบ: คำสั่ง /connect ภายใน TUI จะช่วยแนะนำขั้นตอนการเพิ่มผู้ให้บริการและบันทึกข้อมูลรับรองลงใน ~/.local/share/opencode/auth.json ในไดเรกทอรี home ของผู้ใช้ หากคุณเลือกใช้วิธีนี้ ให้ยืนยันว่าไฟล์ดังกล่าวเป็นส่วนตัวด้วยคำสั่ง chmod 600 ~/.local/share/opencode/auth.json ทั้งสองวิธีนี้จะช่วยป้องกันไม่ให้ key ปรากฏในบรรทัดคำสั่งของคุณ ให้เลือกใช้วิธีใดวิธีหนึ่งและปฏิบัติให้สม่ำเสมอ

เริ่มต้นใช้งาน OpenCode ภายใน tmux

tmux คือสิ่งที่ทำให้การตั้งค่า VPS คุ้มค่า เพราะเซสชันของ tmux จะยังคงทำงานต่อไปแม้การเชื่อมต่อ SSH ของคุณจะสิ้นสุดลง ให้เริ่มเซสชันใหม่ เข้าไปยังโปรเจกต์ของคุณ แล้วเปิดใช้งานเอเจนต์:

tmux new -s opencode
cd ~/my-project
opencode

คุณควรจะเห็น TUI เปิดขึ้นมาพร้อมกับพรอมต์ที่ด้านล่างและชื่อโปรเจกต์ของคุณในอินเทอร์เฟซ ให้งานกับมันด้วยภาษาทั่วไป แล้วมันจะเริ่มอ่านไฟล์และเสนอการเปลี่ยนแปลง เมื่อคุณต้องการออกจากเซสชัน ให้กด Ctrl-b ตามด้วย d เพื่อ detach โดยที่เอเจนต์จะยังคงทำงานต่อไปแม้คุณจะปิดแล็ปท็อปไปแล้ว คุณสามารถกลับเข้ามาใช้งานต่อได้ด้วยคำสั่ง:

tmux attach -t opencode

เซสชัน บทสนทนา และงานใดๆ ที่กำลังทำงานอยู่จะยังคงอยู่ในสถานะเดิมที่คุณทิ้งไว้ สิ่งนี้ช่วยให้งานของคุณคงอยู่แม้การเชื่อมต่อจะหลุด แต่จะไม่คงอยู่หากเซิร์ฟเวอร์รีบูต ดังนั้นหลังจากรีบูตเซิร์ฟเวอร์ คุณจะต้องเริ่มเซสชัน tmux ใหม่ด้วยวิธีเดิม ไม่มีอะไรขัดขวางไม่ให้คุณเปิดหน้าต่าง tmux ที่สองเพื่อรันเอเจนต์อีกตัวควบคู่ไปกับตัวแรก แม้ว่าเซสชันของ OpenCode จะแยกจากกันโดยอิสระ ในขณะที่ เซสชันของ Claude Code บนเครื่องเดียวกันสามารถส่งข้อความถึงกันได้ ซึ่งเป็นวิธีที่แตกต่างออกไปในการแบ่งงานออกเป็นสองส่วน

กำหนดโมเดลให้ใช้งาน

OpenCode ไม่ยึดติดกับผู้ให้บริการรายใดรายหนึ่ง โดยใช้ AI SDK และแคตตาล็อกของ Models.dev เพื่อรองรับผู้ให้บริการมากกว่า 75 ราย ทำให้เครื่องมือเดียวกันนี้สามารถทำงานร่วมกับ Anthropic, OpenAI, Google และรายอื่นๆ อีกหลายสิบราย รวมถึงเซิร์ฟเวอร์ภายในเครื่องด้วย วิธีที่รวดเร็วที่สุดคือการใช้คำสั่ง /connect ภายใน TUI ซึ่งจะแสดงรายการผู้ให้บริการและจัดการข้อมูลรับรองให้ สำหรับการตั้งค่าที่คุณสามารถบันทึกและนำไปใช้ซ้ำได้ ให้วางไฟล์ opencode.json ไว้ที่ root ของโปรเจกต์และกำหนดโมเดลเป็น provider/model-id:

{
  "$schema": "https://opencode.ai/config.json",
  "model": "anthropic/claude-sonnet-5-5"
}

เลือกโมเดลที่ผู้ให้บริการของคุณยังคงเปิดให้ใช้งานอยู่ เนื่องจาก Anthropic ได้ยกเลิก claude-sonnet-4-20250514 ไปเมื่อวันที่ 15 มิถุนายน 2026 การตั้งค่าที่ยังคงระบุชื่อโมเดลดังกล่าวจะใช้งานไม่ได้

โมเดลภายในเครื่องสามารถทำงานผ่านไฟล์เดียวกันนี้ได้ เนื่องจากเซิร์ฟเวอร์ใดก็ตามที่รองรับมาตรฐาน OpenAI สามารถประกาศเป็นผู้ให้บริการได้ หากคุณรันโมเดลด้วย Ollama บน VPS เดียวกัน ไฟล์ config จะชี้ไปยัง API ภายในเครื่อง และชื่อโมเดลจะเป็นชื่อที่แสดงใน ollama list บนเครื่องของคุณ:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": { "baseURL": "http://127.0.0.1:11434/v1" },
      "models": { "your-model-name": { "name": "Local coding model" } }
    }
  }
}

มีนิสัยการใช้งานที่ติดตั้งมาพร้อมกับโปรแกรมซึ่งควรเริ่มใช้ตั้งแต่วันแรก OpenCode มาพร้อมกับเอเจนต์ 2 ตัวที่คุณสามารถสลับไปมาได้ด้วยปุ่ม Tab ได้แก่ Build ซึ่งเป็นเอเจนต์เริ่มต้นที่มีสิทธิ์เข้าถึงเต็มรูปแบบ และ Plan ซึ่งเป็นเอเจนต์แบบจำกัดสิทธิ์สำหรับการวิเคราะห์ โดยจะปฏิเสธการแก้ไขไฟล์นอกไดเรกทอรีแผนงานของตนเองหากไม่ได้รับคำยินยอมจากผู้ใช้ก่อน อย่างไรก็ตาม Plan ไม่ใช่โหมดอ่านอย่างเดียวโดยสมบูรณ์ เพราะยังสามารถรันคำสั่ง shell ได้ และคำสั่ง shell สามารถเปลี่ยนแปลงไฟล์ได้ ให้เริ่มงานใหม่ในโหมด Plan ปล่อยให้มันอ่านโค้ดและเสนอแนวทาง แล้วค่อยสลับไปที่ Build เมื่อคุณเห็นด้วยกับแผนนั้นแล้ว หากคุณต้องการให้การตรวจสอบรอบแรกเป็นแบบอ่านอย่างเดียวจริงๆ ให้ปฏิเสธการแก้ไขไฟล์และคำสั่ง shell สำหรับ Plan ใน opencode.json เนื่องจาก OpenCode ถือว่า deny เป็นการบล็อกการกระทำนั้น ในขณะที่ ask จะเป็นเพียงการแจ้งเตือนเพื่อขออนุมัติจากคุณเท่านั้น:

{
  "$schema": "https://opencode.ai/config.json",
  "agent": {
    "plan": {
      "permission": { "edit": "deny", "bash": "deny" }
    }
  }
}

บนเซิร์ฟเวอร์ การตรวจสอบรอบแรกที่ไม่สามารถเปลี่ยนแปลงสิ่งใดได้ถือเป็นการป้องกันที่คุ้มค่า Claude Code กำหนดการตัดสินใจในลักษณะเดียวกันนี้เป็นโหมดสิทธิ์การใช้งานแทนที่จะเป็นเอเจนต์ และการศึกษาเรื่อง การเปลี่ยนไปใช้โหมดอัตโนมัติเป็นค่าเริ่มต้น นั้นมีประโยชน์หากคุณใช้งานเครื่องมือทั้งสองตัว เนื่องจากโหมดที่เซสชันเริ่มต้นขึ้นจะเป็นตัวกำหนดว่าเอเจนต์ที่ไม่มีคนคอยเฝ้าดูจะสามารถเปลี่ยนแปลงสิ่งต่างๆ ได้มากน้อยเพียงใด

ขอบเขตความเสียหายที่อาจเกิดขึ้น

Coding agent ไม่ใช่เครื่องมือแบบ passive ดังนั้นต้องระบุให้ชัดเจนว่าการตั้งค่านี้ครอบคลุมและไม่ครอบคลุมสิ่งใดบ้าง การตั้งค่านี้มีความเสี่ยงต่อความเสียหายของไฟล์: ผู้ใช้ opencode เป็นเจ้าของเฉพาะ home directory ของตนเองเท่านั้น ดังนั้นการแก้ไขหรือลบไฟล์จะถูกจำกัดอยู่แค่ภายในขอบเขตนั้น การตั้งค่านี้มีความเสี่ยงต่อการเปิดเผยข้อมูลรับรอง: กุญแจถูกเก็บไว้ในไฟล์เดียวที่มีโหมด 600 ภายใต้บัญชีผู้ใช้เดียว การตั้งค่านี้ไม่ได้จำกัดสิ่งที่บัญชีผู้ใช้สามารถทำได้ตามสิทธิ์ ดังนั้นหากไดเรกทอรีของโปรเจกต์มีข้อมูลรับรองสำหรับการ deploy งาน production อยู่ agent ก็สามารถนำข้อมูลเหล่านั้นไปใช้ได้ จึงควรแยกข้อมูลดังกล่าวออกจากบัญชีผู้ใช้ของ agent โดยเด็ดขาด

ต่างจาก gateway agent อย่าง OpenClaw ตรงที่ OpenCode 1.x เป็นโปรแกรม terminal แบบโต้ตอบ ไม่ใช่ daemon โดยค่าเริ่มต้นโปรแกรมจะไม่เปิดพอร์ตรับการเชื่อมต่อ (มีเพียงการใช้ flag --port, --hostname หรือ --mdns เท่านั้นที่จะทำให้ TUI เปิดพอร์ต) และไม่มี service ที่ทำงานค้างไว้ ดังนั้นจึงไม่มี systemd unit ที่ต้องเขียนและไม่มีพอร์ตที่ต้องตั้งค่า firewall สำหรับตัว agent เอง แต่ OpenCode 2 จะเปลี่ยนรูปแบบนี้โดยใช้ background server แบบใช้ร่วมกัน ดังนั้นควรตรวจสอบประเด็นนี้อีกครั้งก่อนทำการย้ายเวอร์ชัน การจำกัดขอบเขตจะขึ้นอยู่กับบัญชีผู้ใช้และไดเรกทอรีของโปรเจกต์ ซึ่งเป็นเหตุผลว่าทำไมส่วนแรกของคู่มือนี้จึงมีความสำคัญที่สุด

สภาพแวดล้อมที่ล้อมรอบ agent ยังคงต้องการการดูแลตามมาตรฐาน เนื่องจาก coding VPS ก็คือเซิร์ฟเวอร์สาธารณะ: ต้องใช้ SSH แบบกุญแจเท่านั้นและปิดการล็อกอินด้วย root ตามที่ระบุใน การเพิ่มความปลอดภัย SSH บน VPS, ใช้ firewall แบบ default-deny และอัปเดตระบบอย่างสม่ำเสมอ นอกจากนี้ควรตรวจสอบสิ่งที่ agent สร้างขึ้นเสมอ ให้อ่าน diff ก่อนทำการ push เช่นเดียวกับที่คุณอ่าน pull request จากผู้ร่วมพัฒนาคนใหม่ เพราะคุณคือผู้ที่ต้องรับผิดชอบในการ deploy ผลลัพธ์นั้น

สุดท้ายนี้ ควรหมั่นอัปเดตตัวเครื่องมือให้เป็นปัจจุบัน OpenCode มีการออกรุ่นใหม่บ่อยครั้ง และการอัปเดตมักมาพร้อมกับการแก้ไขข้อผิดพลาดที่สำคัญสำหรับโปรแกรมที่รันคำสั่งบนเซิร์ฟเวอร์ของคุณ การอัปเดตใช้วิธีเดียวกับตอนติดตั้ง: ให้รันสคริปต์ติดตั้งซ้ำในฐานะผู้ใช้ opencode หรือรัน sudo npm update -g opencode-ai หากคุณติดตั้งผ่าน npm จากนั้นยืนยันเวอร์ชันใหม่ด้วย opencode --version ทั้งสองวิธีจะทำให้คุณยังคงใช้งานเวอร์ชัน 1.x อยู่ การย้ายไปใช้ OpenCode 2 ถือเป็นการย้ายเวอร์ชันแยกต่างหาก การสละเวลาบำรุงรักษาเพียงเล็กน้อยในตอนนี้มีต้นทุนต่ำกว่าการต้องมาแก้ไขพฤติกรรมของโปรแกรมที่รุ่นเก่าหลายเดือนได้แก้ไขไปแล้ว

FAQ

OpenCode สามารถใช้โมเดลภายในเครื่องแทนการจ่ายเงินผ่าน API ได้หรือไม่?

ได้ OpenCode รองรับการใช้งานร่วมกับเซิร์ฟเวอร์ที่เข้ากันได้กับ OpenAI ทุกแห่ง ดังนั้นคุณสามารถใช้โมเดลที่รันผ่าน Ollama บน VPS เดียวกันได้ โดยระบุผู้ให้บริการใน opencode.json ด้วย baseURL ของเครื่องคุณเองและชื่อโมเดลตามที่ Ollama รายงาน ข้อควรระวังคือเรื่องฮาร์ดแวร์ เนื่องจากโมเดลที่มีประสิทธิภาพเพียงพอสำหรับการเขียนโค้ดจริงจำเป็นต้องใช้หน่วยความจำจำนวนมาก ดังนั้นควรตรวจสอบขนาดของเซิร์ฟเวอร์ให้เหมาะสมกับโมเดลก่อนทำการดาวน์โหลด

ฉันจะให้ OpenCode ทำงานต่อไปได้อย่างไรหลังจากปิดแล็ปท็อป?

ให้รันโปรแกรมภายใน tmux บน VPS โดยเริ่มการทำงานของ agent ใน session ที่ตั้งชื่อไว้ด้วย tmux new -s opencode จากนั้นให้ detach ออกด้วยการกด Ctrl-b แล้วตามด้วย d ซึ่งจะทำให้ session ยังคงทำงานอยู่บนเซิร์ฟเวอร์แม้การเชื่อมต่อ SSH ของคุณจะสิ้นสุดลง คุณสามารถกลับเข้ามาใช้งานต่อได้ตลอดเวลาด้วย tmux attach -t opencode โดยที่บทสนทนาและงานที่กำลังรันอยู่จะยังคงอยู่ครบถ้วน ทั้งนี้การรีบูตเซิร์ฟเวอร์จะทำให้ session สิ้นสุดลง ดังนั้นควรเริ่ม session ใหม่หลังจากรีบูตเครื่อง

การอนุญาตให้ OpenCode รันคำสั่งบน VPS ของฉันมีความปลอดภัยหรือไม่?

คุณสามารถจัดการความปลอดภัยได้หากมีการจำกัดขอบเขตการเข้าถึง ให้สร้างผู้ใช้ที่ไม่มีสิทธิ์พิเศษ (unprivileged user) สำหรับ OpenCode โดยเฉพาะและไม่ให้สิทธิ์ sudo เก็บโปรเจกต์ไว้ใน git และทำการ commit ก่อนเริ่มงานแต่ละครั้งเพื่อให้สามารถย้อนกลับการแก้ไขที่ผิดพลาดได้ เก็บ API key ไว้ในไฟล์ที่มีโหมด 600 และใช้ Plan agent ของโปรแกรมเพื่อตรวจสอบงานในรอบแรกก่อนที่จะอนุญาตให้ Build agent ทำการเปลี่ยนแปลงใดๆ โดยสามารถตั้งค่าการแก้ไขและคำสั่ง shell ให้เป็น deny สำหรับ Plan หากคุณต้องการให้รอบการทำงานนั้นเป็นแบบอ่านได้อย่างเดียว (read-only) วิธีนี้จะทำให้ agent สามารถสร้างความเสียหายได้เฉพาะไฟล์ที่บัญชีผู้ใช้นั้นเป็นเจ้าของเท่านั้น ส่วนอื่นๆ ของเซิร์ฟเวอร์จะยังคงปลอดภัย

OpenCode แตกต่างจาก Claude Code อย่างไร?

OpenCode เป็นซอฟต์แวร์โอเพนซอร์ส (MIT) และไม่ยึดติดกับผู้ให้บริการรายใดรายหนึ่ง โดยสามารถเชื่อมต่อกับผู้ให้บริการโมเดลมากกว่า 75 แห่ง รวมถึงโมเดลภายในเครื่อง ผ่านอินเทอร์เฟซเดียว ส่วน Claude Code เป็น terminal agent ของ Anthropic เอง ซึ่งถูกสร้างมาเพื่อใช้งานกับโมเดลของ Anthropic โดยเฉพาะ หากคุณต้องการเครื่องมือเดียวที่ใช้ได้กับผู้ให้บริการหลายราย หรือต้องการระบบที่โฮสต์เองทั้งหมดโดยใช้โมเดลภายในเครื่อง OpenCode คือตัวเลือกที่เหมาะสม ทั้งสองโปรแกรมสามารถรันบน VPS ภายใน tmux ได้ดีโดยใช้การตั้งค่าผู้ใช้ที่ไม่มีสิทธิ์พิเศษแบบเดียวกัน