Wednesday, September 30, 2026

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

การใช้งาน AI Coding Agent อย่าง OpenCode ช่วยเพิ่มความเร็วในการพัฒนาซอฟต์แวร์ได้อย่างมหาศาล แต่การปล่อยให้ AI ทำงานโดยไม่มีการกำหนดขอบเขตความปลอดภัยที่รัดกุม อาจนำไปสู่ความเสี่ยง เช่น การรันคำสั่งอันตราย การอ่านไฟล์ความลับ หรือการทำข้อมูลสำคัญรั่วไหล บทความนี้สรุปแนวทางการจัดการ Security & 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",
"* .env.example": "allow" }, "read": { "**/.env*": "deny", "**/.env.example": "allow" }, "grep": { "**/.env*": "deny", "**/.env.example": "allow" }, "glob": { "*": "allow" }, "external_directory": { "~/projects/personal/**": "allow" } }, "security": { "restrictToWorkspace": true, "allowAbsolutePaths": false }, "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 นาที สังเกตไอคอนมุมซ้ายล่างจะเปลี่ยนเป็นสีเขียว)