ข้ามไปยังเนื้อหาหลัก

ใช้ตัวแทนเขียนโค้ดที่ติดตั้งแล้วเป็นโมเดลแชต

หากคุณชำระค่าบริการตัวแทนเขียนโค้ดอยู่แล้วและได้ลงชื่อเข้าใช้บนเครื่องที่รัน Libre WebUI คุณสามารถคุยกับตัวแทนนั้นจากแชตปกติได้โดยไม่ต้องเพิ่มคีย์ API แยก Libre WebUI จะตรวจพบอินเทอร์เฟซบรรทัดคำสั่งของตัวแทนและแสดงในตัวเลือกโมเดลเหมือนโมเดลอื่น

สิ่งที่ระบบตรวจพบ

ทุกครั้งที่ขอรายการโมเดล Libre WebUI จะค้นหาคำสั่งต่อไปนี้ใน PATH ของเซิร์ฟเวอร์:

โมเดลคำสั่งผู้ให้บริการ
Claude CodeclaudeAnthropic
CodexcodexOpenAI
OpenCodeopencodeSST
PipiMario Zechner

รายการที่พบจะปรากฏใต้กลุ่ม Agents ในตัวเลือกโมเดล ระบบจะไม่ติดตั้งสิ่งใดให้และไม่ต้องมีไฟล์กำหนดค่า หากคำสั่งทำงานใน shell ของเซิร์ฟเวอร์ รายการนั้นก็จะปรากฏ

การเลือกโมเดล ไม่ใช่แค่ CLI

CLI แต่ละรายการอาจแสดงหลายตัวเลือกในกลุ่ม Agents:

  • Claude Code มีค่าเริ่มต้นของบัญชีที่ลงชื่อเข้าใช้ พร้อม Sonnet, Opus และ Haiku
  • Codex มีค่าเริ่มต้นที่กำหนดไว้ พร้อมตระกูลการลงชื่อเข้าใช้ ChatGPT ตามเอกสาร ได้แก่ GPT-5.6 Sol, Terra, Luna และ GPT-5.3 Codex Spark
  • Pi ใช้โมเดลที่กำหนดไว้ใน CLI เอง
  • OpenCode แสดงโมเดลของผู้ให้บริการทุกเจ้าที่ได้ยืนยันตัวตนไว้ (จาก opencode models) และต้องเลือกให้ชัดเจนเสมอ เพราะค่าเริ่มต้นระดับ CLI อาจชี้ไปยังเซิร์ฟเวอร์ในเครื่องที่โฮสต์ Libre WebUI เข้าถึงไม่ได้

Pi รันแต่ละรอบแบบไม่มีสถานะ (--no-session) ปิดเครื่องมือในเครื่อง และใช้พรอมต์ระบบที่เป็นกลาง คำตอบจึงไม่ถูกปรุงแต่งด้วยการตั้งค่า Pi ส่วนตัวของผู้ใช้ระบบปฏิบัติการบนเซิร์ฟเวอร์ และแชตจะไม่แตะต้องการตั้งค่านั้น

วิธีใช้

  1. ลงชื่อเข้าใช้เป็นผู้ดูแลระบบ
  2. เริ่มแชตและเปิดตัวเลือกโมเดล
  3. เลือกรายการใต้ Agents
  4. ส่งข้อความตามปกติ คำตอบจะสตรีมกลับทีละ token

บทสนทนาถูกจัดเก็บเหมือนแชตอื่น คุณจึงออกแล้วกลับมา เปลี่ยนชื่อ และค้นหาจากชุดคำสั่งได้ แต่ละรอบจะส่ง transcript ของบทสนทนาล่าสุดไปยังตัวแทนและสตรีมคำตอบกลับมา

ผู้ใช้ที่เข้าถึงได้และสิ่งที่ตัวแทนเข้าถึงได้

ฟีเจอร์นี้ใช้ได้ เฉพาะผู้ดูแลระบบ และเหตุผลนี้สำคัญ ตัวแทนรันบนโฮสต์ด้วยผู้ใช้ระบบปฏิบัติการเดียวกับ backend ของ Libre WebUI ไม่ได้รันในคอนเทนเนอร์ Work จึงได้รับข้อมูลรับรองของตัวแทนและสิทธิ์ทั้งหมดที่ผู้ใช้นั้นมีตามปกติ ซึ่งอาจรวมถึงการอ่านไฟล์และรันคำสั่งบนเซิร์ฟเวอร์หากตัวแทนตัดสินใจทำ

ให้ถือว่าการเปิดฟีเจอร์นี้เทียบเท่ากับการให้ตัวแทนเข้าถึง shell ของเครื่อง ด้วยเหตุนี้ฟีเจอร์จึง ปิดอยู่ ตั้งแต่แรก ผู้ดูแลระบบต้องเปิดที่ Settings → User Management → Agents การตั้งค่าจะถูกบันทึกและมีผลทันทีโดยไม่ต้องรีสตาร์ต

หากต้องการตรึงการตัดสินใจที่ระดับการติดตั้งโดยไม่ขึ้นกับสวิตช์ขณะรัน ให้ตั้งตัวแปรสภาพแวดล้อมเป็นค่าใดค่าหนึ่ง (และจะล็อกสวิตช์ในอินเทอร์เฟซด้วย):

AGENT_CLI_MODELS_ENABLED=false # or true

สำหรับโมเดลที่ทำงานกับไฟล์ได้แต่ยังอยู่ใน sandbox ให้ใช้ Work แทน โดย Work จะรันโมเดลที่ใช้เครื่องมือได้ในคอนเทนเนอร์ที่จำกัดสิทธิ์พร้อมพื้นที่ทำงานแยก

การกำหนดค่า

ตัวแปรค่าเริ่มต้นวัตถุประสงค์
AGENT_CLI_MODELS_ENABLEDไม่ได้ตั้งค่าตรึงฟีเจอร์เป็น true/false; หากไม่ตั้งค่าจะใช้สวิตช์ผู้ดูแลระบบ (ปิดตามค่าเริ่มต้น)
AGENT_CLI_TIMEOUT_MS600000เวลาสูงสุดที่ตัวแทนหนึ่งรอบทำงานได้ก่อนถูกยุติ

การแก้ปัญหา

ไม่มีกลุ่ม Agents ปรากฏ ตรวจสอบว่าเปิดฟีเจอร์ที่ Settings → User Management → Agents (ปิดตามค่าเริ่มต้น) และลงชื่อเข้าใช้เป็นผู้ดูแลระบบ จากนั้นตรวจสอบว่าคำสั่งอยู่ใน PATH ของโปรเซส backend ไม่ใช่เพียง interactive shell ของคุณ ตัวจัดการบริการ คอนเทนเนอร์ Docker หรือ desktop launcher มักเริ่มด้วย PATH ที่สั้นกว่า login terminal มาก

คำตอบล้มเหลวทันที รันคำสั่งเดียวกันด้วยตนเองในฐานะผู้ใช้เซิร์ฟเวอร์ (claude -p "hello" หรือ codex exec "hello") สาเหตุส่วนใหญ่คือตัวแทนขอให้ลงชื่อเข้าใช้ใหม่เพราะเซสชันหมดอายุ หรือถึงขีดจำกัดอัตราของการสมัครสมาชิก โดยเฉพาะ OpenCode จะรายงานการเข้าสู่ระบบผู้ให้บริการที่หมดอายุไว้ใน log ของตนเองเท่านั้น ให้รัน opencode auth login อีกครั้งในฐานะผู้ใช้เซิร์ฟเวอร์

คำตอบหยุดกลางทาง รอบยาวอาจถึง AGENT_CLI_TIMEOUT_MS ให้เพิ่มค่า หรือแบ่งคำขอเป็นขั้นตอนเล็กลง

ที่เกี่ยวข้อง