# คำอธิบายเครื่องมือภาษาไทย (Thai tool descriptions)
#
# แต่ละคีย์ภายใต้ [tools] จะตรงกับค่าที่ส่งกลับจาก name() ของเครื่องมือ
# ค่าคือคำอธิบายที่มนุษย์อ่านได้ซึ่งจะแสดงใน system prompts

[tools]
backup = "สร้าง, ลิสต์, ตรวจสอบ และกู้คืนข้อมูลสำรองของเวิร์กสเปซ"
browser = "การทำงานอัตโนมัติบนเว็บ/เบราว์เซอร์ด้วยแบ็คเอนด์ที่ถอดเปลี่ยนได้ (agent-browser, rust-native, computer_use) รองรับการดำเนินการ DOM และการดำเนินการระดับ OS (ย้ายเมาส์, คลิก, ลาก, พิมพ์คีย์, กดคีย์, จับภาพหน้าจอ) ผ่าน computer-use sidecar ใช้ 'snapshot' เพื่อจับคู่พารามิเตอร์โต้ตอบกับ refs (@e1, @e2) บังคับใช้ browser.allowed_domains สำหรับการเปิดหน้าเว็บ"
browser_delegate = "มอบหมายงานที่ใช้เบราว์เซอร์ให้กับ CLI ที่มีความสามารถด้านเบราว์เซอร์เพื่อโต้ตอบกับเว็บแอปพลิเคชัน เช่น Teams, Outlook, Jira, Confluence"
browser_open = "เปิด URL HTTPS ที่ได้รับอนุญาตในเบราว์เซอร์ของระบบ ข้อจำกัดด้านความปลอดภัย: เฉพาะโดเมนใน allowlist เท่านั้น, ห้ามโฮสต์โลคัล/ส่วนตัว, ห้ามดึงข้อมูล (scraping)"
cloud_ops = "เครื่องมือให้คำปรึกษาด้านการเปลี่ยนแปลงคลาวด์ วิเคราะห์แผน IaC, ประเมินเส้นทางการย้ายระบบ, ตรวจสอบค่าใช้จ่าย และตรวจสอบสถาปัตยกรรมตามหลัก Well-Architected Framework อ่านอย่างเดียว: ไม่สร้างหรือแก้ไขทรัพยากรคลาวด์"
cloud_patterns = "ไลบรารีรูปแบบคลาวด์ แนะนำรูปแบบสถาปัตยกรรม cloud-native ที่เหมาะสม (containerization, serverless, การปรับปรุงฐานข้อมูลให้ทันสมัย ฯลฯ) ตามคำอธิบายภาระงาน"
composio = "รันคำสั่งบนแอปมากกว่า 1,000 แอปผ่าน Composio (Gmail, Notion, GitHub, Slack ฯลฯ) ใช้ action='list' เพื่อดูคำสั่งที่ใช้งานได้ ใช้ action='execute' พร้อม action_name/tool_slug และพารามิเตอร์เพื่อรันคำสั่ง หากไม่แน่ใจพารามิเตอร์ ให้ส่ง 'text' พร้อมคำอธิบายภาษาธรรมชาติแทน ใช้ action='list_accounts' เพื่อดูบัญชีที่เชื่อมต่อ และ action='connect' เพื่อรับ URL OAuth"
content_search = "ค้นหาเนื้อหาไฟล์ด้วยรูปแบบ regex ภายในเวิร์กสเปซ รองรับ ripgrep (rg) พร้อมระบบสำรองเป็น grep โหมดเอาต์พุต: 'content' (บรรทัดที่ตรงกันพร้อมบริบท), 'files_with_matches' (เฉพาะเส้นทางไฟล์), 'count' (จำนวนที่พบต่อไฟล์) ตัวอย่าง: pattern='fn main', include='*.rs', output_mode='content'"
cron_add = """สร้างงานตั้งเวลา cron (shell หรือ agent) รองรับตารางเวลาแบบ cron/at/every ใช้ job_type='agent' พร้อม prompt เพื่อรัน AI agent ตามกำหนดเวลา หากต้องการส่งเอาต์พุตไปยังแชนเนล (Discord, Telegram, Slack, Mattermost, Matrix) ให้ตั้งค่า delivery={"mode":"announce","channel":"discord","to":"<channel_id_or_chat_id>"} นี่เป็นเครื่องมือที่แนะนำสำหรับการส่งข้อความตั้งเวลาหรือหน่วงเวลาไปยังผู้ใช้ผ่านแชนเนล"""
cron_list = "รายการงานตั้งเวลา cron ทั้งหมด"
cron_remove = "ลบงานตั้งเวลาด้วย id"
cron_run = "บังคับรันงานตั้งเวลาทันทีและบันทึกประวัติการรัน"
cron_runs = "รายการประวัติการรันล่าสุดของงานตั้งเวลา"
cron_update = "แก้ไขงานตั้งเวลาที่มีอยู่ (ตารางเวลา, คำสั่ง, prompt, การเปิดใช้งาน, การส่งข้อมูล, โมเดล ฯลฯ)"
data_management = "การเก็บรักษาข้อมูลเวิร์กสเปซ, การล้างข้อมูล และสถิติการจัดเก็บ"
delegate = "มอบหมายงานย่อยให้กับเอเจนต์เฉพาะทาง ใช้เมื่อ: งานจะได้รับประโยชน์จากโมเดลที่ต่างออกไป (เช่น สรุปผลเร็ว, การให้เหตุผลเชิงลึก, การสร้างโค้ด) เอเจนต์ย่อยจะรันหนึ่ง prompt ตามค่าเริ่มต้น หากตั้ง agentic=true จะสามารถทำงานวนซ้ำด้วยเครื่องมือที่จำกัดได้"
discord_search = "ค้นหาประวัติข้อความ Discord ที่เก็บไว้ใน discord.db ใช้เพื่อค้นหาข้อความในอดีต, สรุปกิจกรรมในแชนเนล หรือดูว่าผู้ใช้พูดอะไร รองรับการค้นหาด้วยคีย์เวิร์ดและตัวกรองเสริม: channel_id, since, until"
file_edit = "แก้ไขไฟล์โดยการแทนที่ข้อความที่ตรงกันเป๊ะๆ ด้วยเนื้อหาใหม่"
file_read = "อ่านเนื้อหาไฟล์พร้อมเลขบรรทัด รองรับการอ่านบางส่วนผ่าน offset และ limit ดึงข้อความจาก PDF; ไฟล์ไบนารีอื่นจะถูกอ่านด้วยการแปลง UTF-8 แบบสูญเสียข้อมูล"
file_write = "เขียนเนื้อหาลงในไฟล์ในเวิร์กสเปซ"
git_operations = "รันคำสั่ง Git แบบโครงสร้าง (status, diff, log, branch, commit, add, checkout, stash) ให้เอาต์พุต JSON ที่แยกส่วนแล้ว และรวมเข้ากับนโยบายความปลอดภัยสำหรับการควบคุมตนเอง"
glob_search = "ค้นหาไฟล์ที่ตรงกับรูปแบบ glob ภายในเวิร์กสเปซ ส่งกลับรายการเส้นทางไฟล์ที่ตรงกันเทียบกับรูทของเวิร์กสเปซ ตัวอย่าง: '**/*.rs' (ไฟล์ Rust ทั้งหมด), 'src/**/mod.rs' (mod.rs ทั้งหมดใน src)"
google_workspace = "โต้ตอบกับบริการ Google Workspace (Drive, Gmail, Calendar, Sheets, Docs ฯลฯ) ผ่าน gws CLI ต้องติดตั้งและยืนยันตัวตน gws ก่อน"
hardware_board_info = "ส่งกลับข้อมูลบอร์ดฉบับเต็ม (ชิป, สถาปัตยกรรม, แผนผังหน่วยความจำ) สำหรับฮาร์ดแวร์ที่เชื่อมต่อ ใช้เมื่อ: ผู้ใช้ถามเกี่ยวกับ 'board info', 'ใช้บอร์ดอะไร', 'ฮาร์ดแวร์ที่ต่ออยู่', 'ข้อมูลชิป' หรือ 'memory map'"
hardware_memory_map = "ส่งกลับแผนผังหน่วยความจำ (ช่วงที่อยู่ flash และ RAM) สำหรับฮาร์ดแวร์ที่เชื่อมต่อ ใช้เมื่อ: ผู้ใช้ถามเกี่ยวกับ 'upper and lower memory addresses', 'แผนผังหน่วยความจำ' หรือ 'ที่อยู่ที่อ่านได้'"
hardware_memory_read = "อ่านค่าหน่วยความจำ/รีจิสเตอร์จริงจาก Nucleo ผ่าน USB ใช้เมื่อ: ผู้ใช้ถามให้ 'อ่านค่ารีจิสเตอร์', 'อ่านหน่วยความจำที่แอดเดรส', 'dump memory' ส่งกลับเป็น hex dump ต้องเชื่อมต่อ Nucleo ผ่าน USB พารามิเตอร์: address (hex), length (bytes)"
http_request = "ส่งคำขอ HTTP ไปยัง API ภายนอก รองรับเมธอด GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS ข้อจำกัดด้านความปลอดภัย: เฉพาะโดเมนใน allowlist เท่านั้น, ห้ามโฮสต์โลคัล/ส่วนตัว, ตั้งค่า timeout และจำกัดขนาดการตอบกลับได้"
image_info = "อ่านข้อมูลเมตาของไฟล์รูปภาพ (รูปแบบ, ขนาดกว้างยาว, ขนาดไฟล์) และสามารถเลือกส่งกลับข้อมูลที่เข้ารหัส base64 ได้"
jira = "โต้ตอบกับ Jira: ดึงตั๋วตามระดับรายละเอียดที่กำหนด, ค้นหา issue ด้วย JQL และเพิ่มคอมเมนต์พร้อมรองรับการกล่าวถึง (mention) และการจัดรูปแบบ"
knowledge = "จัดการกราฟความรู้ของการตัดสินใจด้านสถาปัตยกรรม, รูปแบบโซลูชัน, บทเรียนที่ได้รับ และผู้เชี่ยวชาญ การดำเนินการ: capture, search, relate, suggest, expert_find, lessons_extract, graph_stats"
linkedin = "จัดการ LinkedIn: สร้างโพสต์, รายการโพสต์ของคุณ, คอมเมนต์, แสดงความรู้สึก, ลบโพสต์, ดูการมีส่วนร่วม, ดูข้อมูลโปรไฟล์ และอ่านกลยุทธ์เนื้อหาที่กำหนดไว้ ต้องมีข้อมูลยืนยันตัวตน LINKEDIN_* ในไฟล์ .env"
microsoft365 = "การรวมเข้ากับ Microsoft 365: จัดการอีเมล Outlook, ข้อความ Teams, กิจกรรมปฏิทิน, ไฟล์ OneDrive และการค้นหา SharePoint ผ่าน Microsoft Graph API"
model_routing_config = "จัดการการตั้งค่าโมเดลเริ่มต้น, เส้นทางผู้ให้บริการ/โมเดลตามสถานการณ์, กฎการจำแนกประเภท และโปรไฟล์เอเจนต์ย่อย"
notion = "โต้ตอบกับ Notion: สอบถามฐานข้อมูล, อ่าน/สร้าง/อัปเดตหน้า และค้นหาในเวิร์กสเปซ"
pdf_read = "ดึงข้อความธรรมดาจากไฟล์ PDF ในเวิร์กสเปซ ส่งกลับข้อความที่อ่านได้ทั้งหมด ไฟล์ PDF ที่มีแต่รูปภาพหรือเข้ารหัสจะส่งกลับผลลัพธ์ที่ว่างเปล่า ต้องเปิดฟีเจอร์ 'rag-pdf' ตอน build"
project_intel = "ข้อมูลอัจฉริยะในการส่งมอบโปรเจกต์: สร้างรายงานสถานะ, ตรวจจับความเสี่ยง, ร่างการอัปเดตสำหรับลูกค้า, สรุป sprint และประเมินพยายาม เป็นเครื่องมือวิเคราะห์แบบอ่านอย่างเดียว"
proxy_config = "จัดการการตั้งค่าพร็อกซีของ Revka (ขอบเขต: environment | revka | services) รวมถึงการปรับใช้ในขณะรันและใน process environment"
pushover = "ส่งการแจ้งเตือน Pushover ไปยังอุปกรณ์ของคุณ ต้องมี PUSHOVER_TOKEN และ PUSHOVER_USER_KEY ในไฟล์ .env"
schedule = """จัดการงาน shell ที่ตั้งเวลาไว้ การดำเนินการ: create/add/once/list/get/cancel/remove/pause/resume คำเตือน: เครื่องมือนี้สร้างงาน shell ที่เอาต์พุตจะถูกบันทึกใน log เท่านั้น ไม่ส่งไปยังแชนเนลใดๆ หากต้องการส่งข้อความตั้งเวลาไปยัง Discord/Telegram/Slack/Matrix ให้ใช้เครื่องมือ cron_add"""
screenshot = "จับภาพหน้าจอปัจจุบัน ส่งกลับเส้นทางไฟล์และข้อมูล PNG ที่เข้ารหัส base64"
security_ops = "เครื่องมือปฏิบัติการด้านความปลอดภัยสำหรับบริการจัดการความปลอดภัยไซเบอร์ การดำเนินการ: triage_alert, run_playbook, parse_vulnerability, generate_report, list_playbooks, alert_stats"
shell = "รันคำสั่ง shell ในไดเรกทอรีรูทของเวิร์กสเปซ"
sop_advance = "รายงานผลลัพธ์ของขั้นตอน SOP ปัจจุบันและไปยังขั้นตอนถัดไป ระบุ run_id, ขั้นตอนสำเร็จหรือล้มเหลว และสรุปเอาต์พุตสั้นๆ"
sop_approve = "อนุมัติขั้นตอน SOP ที่รอการอนุมัติจากผู้ปฏิบัติงาน ส่งกลับคำสั่งในขั้นตอนที่จะดำเนินการ ใช้ sop_status เพื่อดูว่ามีรายการใดรอยู่"
sop_execute = "สั่งรันขั้นตอนการปฏิบัติงานมาตรฐาน (SOP) ด้วยชื่อด้วยตนเอง ส่งกลับ run ID และคำสั่งขั้นตอนแรก ใช้ sop_list เพื่อดู SOP ที่มี"
sop_list = "รายการขั้นตอนการปฏิบัติงานมาตรฐาน (SOP) ทั้งหมดที่โหลดไว้ พร้อมเงื่อนไขการรัน, ลำดับความสำคัญ, จำนวนขั้นตอน และจำนวนการรันที่ใช้งานอยู่"
sop_status = "สอบถามสถานะการรัน SOP ระบุ run_id สำหรับการรันเฉพาะ หรือ sop_name สำหรับรายการการรันของ SOP นั้น หากไม่มีพารามิเตอร์จะแสดงการรันที่ใช้งานอยู่ทั้งหมด"
swarm = "ประสานงานกลุ่มเอเจนต์เพื่อทำงานร่วมกัน รองรับกลยุทธ์แบบลำดับ (pipeline), แบบขนาน (fan-out/fan-in) และแบบเราเตอร์ (เลือกโดย LLM)"
tool_search = """ดึงข้อมูลโครงสร้าง schema ฉบับเต็มสำหรับเครื่องมือ MCP ที่โหลดแบบหน่วงเวลา (deferred) เพื่อให้สามารถเรียกใช้งานได้ ใช้ "select:name1,name2" สำหรับการจับคู่ที่แน่นอนหรือใช้คีย์เวิร์ดเพื่อค้นหา"""
weather = "ดึงข้อมูลสภาพอากาศปัจจุบันและพยากรณ์อากาศสำหรับสถานที่ใดก็ได้ทั่วโลก รองรับชื่อเมือง (ในภาษาหรือตัวอักษรใดก็ได้), รหัสสนามบิน IATA, พิกัด GPS, รหัสไปรษณีย์ และการระบุตำแหน่งตามโดเมน ส่งกลับอุณหภูมิ, ความรู้สึกจริง, ความชื้น, ความเร็ว/ทิศทางลม, ปริมาณน้ำฝน, ทัศนวิสัย, ความกดอากาศ, ดัชนี UV และเมฆปกคลุม เลือกพยากรณ์อากาศได้ 0–3 วัน หน่วยเริ่มต้นเป็นเมตริก (°C, km/h, mm) แต่สามารถตั้งเป็นอิมพีเรียลได้ ไม่ต้องใช้คีย์ API"
web_fetch = "ดึงข้อมูลหน้าเว็บและส่งกลับเนื้อหาเป็นข้อความธรรมดาที่สะอาด หน้า HTML จะถูกแปลงเป็นข้อความที่อ่านได้โดยอัตมัติ คำตอบที่เป็น JSON และข้อความธรรมดาจะถูกส่งกลับตามเดิม เฉพาะคำขอ GET เท่านั้น ปฏิบัติตามการเปลี่ยนเส้นทาง ความปลอดภัย: เฉพาะโดเมนใน allowlist เท่านั้น ห้ามโฮสต์โลคัล/ส่วนตัว"
web_search_tool = "ค้นหาข้อมูลบนเว็บ ส่งกลับผลลัพธ์การค้นหาที่เกี่ยวข้องพร้อมชื่อเรื่อง, URL และคำอธิบาย ใช้เพื่อค้นหาข้อมูลปัจจุบัน ข่าวสาร หรือหัวข้อการวิจัย"
workspace = "จัดการเวิร์กสเปซแบบหลายไคลเอนต์ คำสั่งย่อย: list, switch, create, info, export แต่ละเวิร์กสเปซจะมีการแยกหน่วยความจำ, การตรวจสอบ, ความลับ และข้อจำกัดเครื่องมือออกจากกัน"
