Wednesday, September 30, 2026

[OpenCode] คู่มือตั้งค่า ความปลอดภัยใน OpenCode: คุม Permissions และปกป้องไฟล์ความลับ

การใช้งาน AI Coding Agent อย่าง OpenCode ช่วยเพิ่มความเร็วในการพัฒนาซอฟต์แวร์ได้อย่างมหาศาล แต่การปล่อยให้ AI ทำงานโดยไม่มีการกำหนดขอบเขตสิทธิ์ที่รัดกุม อาจนำไปสู่ความเสี่ยง เช่น การอ่านไฟล์ความลับ หรือการแก้ไขซอร์สโค้ดโดยไม่ได้อนุญาต บทความนี้สรุปแนวทางการจัดการ Permissions ใน OpenCode แบบถูกต้องตาม Schema และเอกสารทางการล่าสุดครับ


1. โครงสร้างและการตั้งค่า Permissions ใน opencode.json

การจำกัดสิทธิ์ใน OpenCode ทำได้โดยการกำหนดค่าใน opencode.json ซึ่งรองรับทั้งการตั้งค่าแบบครอบคลุมและการกำหนดสิทธิ์แบบเจาะจง (Granular Rules):

{
  "$schema": "https://opencode.ai/config.json",
  "permission": {
    "bash": {
      "*Get-Content **/.env*": "deny",
      "*gc **/.env*": "deny",
      "*type **/.env*": "deny",
      "*cat **/.env*": "deny",
      "*grep **/.env*": "deny",
      "*Select-String **/.env*": "deny"
    },
    "read": {
      "**/.env*": "deny",
      "**/.env.example": "allow"
    },
    "grep": {
      "**/.env*": "deny",
      "**/.env.example": "allow"
    },
    "glob": {
      "*": "allow"
    },
    "external_directory": {
      "*": "deny",
      "~/projects/personal/**": "allow"
    }
  },
  "share": "manual"
}
  • ผลลัพธ์ของสิทธิ์ (Actions): มี 3 ค่าหลัก คือ "allow" (อนุญาตทันที), "ask" (ต้องถามยืนยัน), และ "deny" (ปฏิเสธเด็ดขาด)
  • การใช้ Wildcard Matching: รองรับ * (ตรงกับตัวอักษรใดๆ ในชั้นเดียว), ** (Recursive สแกนทะลุทุก Subdirectory) และ ? (ตรงกับ 1 ตัวอักษร)
  • หลักการอ่านกฎ (Last-Match-Wins): ระบบจะอ่านกฎจากบนลงล่าง กฎข้อสุดท้ายที่ตรงเงื่อนไขจะเป็นกฎที่มีผลจริงเสมอ เช่น การสั่ง "**/.env*": "deny" ไว้ก่อนเพื่อบล็อกไฟล์ .env ทุกรูปแบบแล้วจึงวาง "**/.env.example": "allow" ไว้ด้านล่างสุด เพื่อปลดล็อกให้ใช้เฉพาะไฟล์ตัวอย่างได้

Tuesday, September 29, 2026

[OpenCode] ลองของใหม่! LongCat 2.5 Preview บน OpenCode — AI สายโค้ด Context 1M รองรับโปรเจกต์ยักษ์

สายการพัฒนาซอฟต์แวร์ด้วย AI Coding Tools บน OpenCode ต้องไม่พลาดกับโมเดลแรงรุ่นใหม่อย่าง LongCat 2.5 Preview จาก Meituan ที่เปิดตัวมาเพื่อสายโค้ดดิ้งและเอเจนต์ที่ต้องการประมวลผล Context ขนาดใหญ่โดยเฉพาะ


เจาะลึกฟีเจอร์เด่น LongCat 2.5 Preview

โมเดลระดับ Trillion Parameters นี้ได้รับการปรับแต่งมาให้ทำงานร่วมกับสภาพแวดล้อม Dev Tools ยุคใหม่ได้อย่างมีประสิทธิภาพ:

  • 1M Long Context Window: รองรับ Context สูงสุดถึง 1,000,000 Tokens วิเคราะห์โค้ดฐานใหญ่ (Codebase) และอ่านเอกสารเชิงลึกได้สบาย
  • Native Tool Calling & Multi-Step Reasoning: ออกแบบมาสำหรับการทำงานแบบเอเจนต์ ตัดสินใจใช้ Tools และวางแผนการแก้ปัญหาโค้ดซับซ้อนได้หลายขั้นตอน
  • Deeply Compatible: เข้ากันได้ดีกับ OpenCode, Claude Code และเครื่องมือพัฒนาชั้นนำ

Thursday, September 24, 2026

[OpenCode] ใส่ Model ID ผิด ชีวิตเปลี่ยน! เช็กวิธีหาโค้ดโมเดลที่ถูกต้องใน OpenCode ผ่าน Terminal

การค้นหารหัสโมเดล (Model ID) เพื่อนำไปใช้งานกับเอเจนต์ใน OpenCode สามารถทำได้อย่างรวดเร็วผ่าน OpenCode Terminal / CLI โดยตรง ด้วย 2 ขั้นตอนดังนี้


ขั้นตอนที่ 1: ค้นหาชื่อโมเดลผ่าน Terminal

คุณสามารถพิมพ์คำสั่ง /models ขณะใช้งาน OpenCode TUI หรือรันคำสั่งผ่าน Terminal โดยตรง:

opencode models

ระบบจะแสดงรายชื่อโมเดลทั้งหมดที่พร้อมใช้งาน พร้อมรูปแบบ Provider ID เช่น anthropic/claude-sonnet-4-5, openai/gpt-4o หรือโมเดล Local อย่าง ollama/gemma3:4b

Wednesday, September 23, 2026

[Kubernetes] วิธีบริหารจัดการคอนฟิกฉบับมือโปร: แยก Code และ Configuration บน Kubernetes ด้วย Deployment, ConfigMap และ Secret

หลังจากที่เราเรียนรู้วิธีเปิดใช้งาน Kubernetes บน Docker Desktop ไปแล้ว ในบทเรียนนี้เราจะมาดูวิธีการปรับแต่งและควบคุมแอปพลิเคชันอย่างเป็นระบบด้วย Deployment (YAML) ร่วมกับการจัดการคอนฟิกผ่าน ConfigMap และข้อมูลลับด้วย Secret ผ่านการ Mount Volume แบบไม่ต้องพึ่งพา Environment Variables ครับ


ทำความรู้จัก ConfigMap และ Secret

เพื่อแยกส่วนประกอบของการตั้งค่าออกจากตัว Container Image เราจึงใช้วัตถุ 2 ตัวนี้เข้ามาช่วยบริหารจัดการข้อมูล:

  • ConfigMap: สำหรับเก็บข้อมูลการตั้งค่าทั่วไป เช่น ไฟล์ Config, พอร์ต หรือ URL ระบบ
  • Secret: สำหรับเก็บข้อมูลสำคัญ เช่น Password, API Tokens หรือข้อมูลฐานข้อมูล

[Kubernetes] วิธีการเปิดใช้งานและทดลองใช้ Kubernetes (Kube) บน Docker Desktop

สำหรับบทเรียนนี้ เราจะมาเรียนรู้วิธีการเปิดใช้งานและทดลองใช้ Kubernetes (Kube) บน Docker Desktop แบบมือจับทำทีละขั้นตอนครับ เหมาะมากสำหรับผู้เริ่มต้นที่ต้องการสภาพแวดล้อมทดสอบ Local Cluster โดยไม่ต้องติดตั้งเครื่องมือซับซ้อนเพิ่มเติม


ขั้นตอนที่ 1: เปิดใช้งาน Kubernetes ใน Docker Desktop

ปกติแล้ว Docker Desktop จะมาพร้อมกับ Kubernetes ในตัว แต่ถูกปิดไว้อยู่ ให้เปิดใช้งานตามนี้ครับ:

  1. เปิดโปรแกรม Docker Desktop ขึ้นมา
  2. กดที่ไอคอนรูปเฟือง ⚙️ (Settings) บริเวณมุมขวาบน
  3. เลือกแถบเมนู Kubernetes จากรายการด้านซ้าย
  4. ติ๊กถูกที่ช่อง Enable Kubernetes
  5. กดปุ่ม Apply & restart ด้านล่างขวา
  6. รอระบบดาวน์โหลดและเริ่มต้นบริการ (อาจใช้เวลา 3–5 นาที สังเกตไอคอนมุมซ้ายล่างจะเปลี่ยนเป็นสีเขียว)