---
doc-schema-version: 1
read_when:
    - คุณต้องการให้ OpenClaw แสดงวัตถุประสงค์หนึ่งไว้ตลอดเซสชันที่ยาวนาน
    - คุณต้องหยุดชั่วคราว ดำเนินการต่อ บล็อก ทำให้สำเร็จ หรือล้างเป้าหมายของเซสชัน
    - คุณต้องการทำความเข้าใจเครื่องมือ get_goal, create_goal และ update_goal
    - คุณต้องการดูว่าเป้าหมายแสดงใน TUI อย่างไร
summary: 'เป้าหมายของเซสชัน: วัตถุประสงค์ถาวรสำหรับแต่ละเซสชัน การควบคุมด้วย /goal เครื่องมือเป้าหมายสำหรับโมเดล งบประมาณโทเค็น และสถานะ TUI'
title: เป้าหมาย
x-i18n:
    generated_at: "2026-07-22T03:37:37Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 8bfe25eb9901394b32b61729fbcb6a7bd711ed859d284fa39b637000ed7f0a18
    source_path: tools/goal.md
    workflow: 16
---

# เป้าหมาย

**เป้าหมาย** คือวัตถุประสงค์ระยะยาวหนึ่งรายการที่แนบกับเซสชัน OpenClaw ปัจจุบัน
เป้าหมายทำให้เอเจนต์และผู้ดำเนินการมีจุดหมายร่วมกันสำหรับงานที่ใช้เวลานาน
โดยไม่เปลี่ยนจุดหมายนั้นให้เป็นงานเบื้องหลัง การแจ้งเตือน งาน Cron หรือ
คำสั่งถาวร

เป้าหมายเป็นสถานะของเซสชัน โดยจะย้ายไปพร้อมกับคีย์เซสชัน คงอยู่หลังจาก
เริ่มกระบวนการใหม่ และปรากฏใน `/goal` เครื่องมือเป้าหมายสำหรับโมเดล และส่วนท้ายของ TUI

ผลลัพธ์เมื่อคำสั่งแบบแยกส่วนเสร็จสิ้นจะส่งกลับไปยังเธรดสำหรับผู้ใช้ต้นทาง ดังนั้น
เทิร์นถัดไปจะยังคงเห็นเป้าหมายเดิม แม้ว่าการเรียกใช้คำสั่งจะใช้
เซสชันนโยบายแซนด์บ็อกซ์แยกต่างหาก

## เริ่มต้นอย่างรวดเร็ว

```text
/goal start ทำให้ CI ผ่านสำหรับ PR 87469 และพุชการแก้ไข
/goal
/goal edit ทำให้ CI ผ่านสำหรับ PR 87469 พุชการแก้ไข และอัปเดตเอกสาร
/goal pause กำลังรอ CI
/goal resume
/goal complete พุชและตรวจสอบแล้ว
/goal clear
```

`start` เป็นตัวเลือก: `/goal get CI green for PR 87469` ก็สร้างเป้าหมายเช่นกัน
เนื่องจากข้อความใดๆ หลัง `/goal` ที่ไม่ใช่คำสั่งการทำงานที่รู้จักจะถือเป็น
วัตถุประสงค์ใหม่

## เป้าหมายมีไว้เพื่ออะไร

ใช้เป้าหมายเมื่อเซสชันมีผลลัพธ์ที่ชัดเจนซึ่งควรแสดงให้เห็นอยู่เสมอ
ตลอดหลายเทิร์น:

- การปิดงาน PR: แก้ไข ตรวจสอบ autoreview พุช และเปิดหรืออัปเดต PR
- การดีบัก: ทำให้บั๊กเกิดซ้ำ ระบุส่วนที่เป็นเจ้าของ แพตช์ และ
  พิสูจน์การแก้ไข
- การจัดทำเอกสาร: อ่านเอกสารที่เกี่ยวข้อง เขียนหน้าใหม่ เชื่อมโยงข้ามหน้า และ
  ตรวจสอบบิลด์เอกสาร
- งานบำรุงรักษา: ตรวจสอบสถานะปัจจุบัน ทำการเปลี่ยนแปลงในขอบเขตที่จำกัด เรียกใช้
  การตรวจสอบที่เหมาะสม และรายงานสิ่งที่เปลี่ยนแปลง

เป้าหมายไม่ใช่คิวงาน ใช้ [Task Flow](/th/automation/taskflow),
[งาน](/th/automation/tasks), [งาน Cron](/th/automation/cron-jobs) หรือ
[คำสั่งถาวร](/th/automation/standing-orders) เมื่องานควรทำงานแบบแยกส่วน
ทำซ้ำตามกำหนดเวลา กระจายออกเป็นงานย่อยที่มีการจัดการ หรือคงอยู่ในรูปแบบนโยบาย

## ข้อมูลอ้างอิงคำสั่ง

`/goal` ที่ไม่มีอาร์กิวเมนต์จะแสดงข้อมูลสรุปเป้าหมายปัจจุบัน:

```text
เป้าหมาย
สถานะ: ใช้งานอยู่
วัตถุประสงค์: ทำให้ CI ผ่านสำหรับ PR 87469 และพุชการแก้ไข
โทเค็นที่ใช้: 12k
งบประมาณโทเค็น: 12k/50k

คำสั่ง: /goal edit <objective>, /goal pause, /goal complete, /goal clear
```

| คำสั่ง                                             | ผลลัพธ์                                                                   |
| --------------------------------------------------- | ------------------------------------------------------------------------ |
| `/goal` หรือ `/goal status`                           | แสดงเป้าหมายปัจจุบัน                                                   |
| `/goal start <objective>`                           | สร้างเป้าหมายใหม่สำหรับเซสชันปัจจุบัน                               |
| `/goal set <objective>`, `/goal create <objective>` | ชื่อแทนสำหรับ `start`                                                     |
| `/goal <objective>`                                 | สร้างเป้าหมายใหม่เช่นกัน (ข้อความใดๆ ที่ไม่ใช่คำสั่งการทำงานที่รู้จัก) |
| `/goal edit <objective>`                            | เรียบเรียงวัตถุประสงค์ปัจจุบันใหม่ โดยคงสถานะและการนับโทเค็นไว้      |
| `/goal pause [note]`                                | หยุดเป้าหมายที่ใช้งานอยู่ชั่วคราว                                                    |
| `/goal resume [note]`                               | ดำเนินเป้าหมายที่หยุดชั่วคราว ถูกบล็อก ถูกจำกัดการใช้งาน หรือถูกจำกัดงบประมาณต่อ         |
| `/goal complete [note]`                             | ทำเครื่องหมายว่าบรรลุเป้าหมายแล้ว                                                  |
| `/goal done [note]`                                 | ชื่อแทนสำหรับ `complete`                                                    |
| `/goal block [note]`                                | ทำเครื่องหมายว่าเป้าหมายถูกบล็อก                                                   |
| `/goal blocked [note]`                              | ชื่อแทนสำหรับ `block`                                                       |
| `/goal clear`                                       | นำเป้าหมายออกจากเซสชัน                                        |

แต่ละเซสชันมีเป้าหมายได้ครั้งละหนึ่งรายการเท่านั้น การเริ่มเป้าหมายที่สองจะล้มเหลว
พร้อม `Goal error: goal already exists` จนกว่าจะล้างเป้าหมายปัจจุบัน

`/goal start` ไม่รองรับแฟล็กงบประมาณโทเค็น โดยตั้งงบประมาณได้เฉพาะ
ผ่านเครื่องมือ `create_goal` สำหรับโมเดลเท่านั้น

## สถานะ

- `active`: เซสชันกำลังดำเนินการตามเป้าหมาย
- `paused`: ผู้ดำเนินการหยุดเป้าหมายชั่วคราว โดย `/goal resume` จะทำให้เป้าหมายกลับมาใช้งาน
  อีกครั้ง
- `blocked`: เอเจนต์หรือผู้ดำเนินการรายงานสิ่งที่ขัดขวางจริง โดย `/goal resume`
  จะทำให้เป้าหมายกลับมาใช้งานอีกครั้งเมื่อมีข้อมูลหรือสถานะใหม่
- `budget_limited`: ใช้งบประมาณโทเค็นที่กำหนดไว้ครบแล้ว โดย `/goal resume`
  จะเริ่มดำเนินการจากวัตถุประสงค์เดิมอีกครั้งด้วยช่วงงบประมาณใหม่
- `usage_limited`: สงวนไว้สำหรับสถานะหยุดเนื่องจากขีดจำกัดการใช้งานในอนาคต โดย `/goal
resume` จะเริ่มดำเนินการอีกครั้งในลักษณะเดียวกัน
- `complete`: บรรลุเป้าหมายแล้ว เป้าหมายที่เสร็จสมบูรณ์เป็นสถานะสิ้นสุด ให้ใช้ `/goal
clear` ก่อนเริ่มเป้าหมายอื่น

`/new` และ `/reset` จะล้างเป้าหมายของเซสชันปัจจุบัน เนื่องจากคำสั่งเหล่านี้ตั้งใจ
เริ่มบริบทเซสชันใหม่

## งบประมาณโทเค็น

เป้าหมายสามารถมีงบประมาณโทเค็นจำนวนบวกที่เป็นตัวเลือกได้ โดยตั้งค่าผ่าน
พารามิเตอร์ `token_budget` ของเครื่องมือ `create_goal` งบประมาณวัดจาก
จำนวนโทเค็นล่าสุดของเซสชัน ณ เวลาที่สร้างเป้าหมาย หากเซสชันมีเพียง
สแนปช็อตโทเค็นที่ล้าสมัยหรือไม่ทราบค่าเมื่อเริ่มเป้าหมาย OpenClaw จะรอ
สแนปช็อตล่าสุดครั้งถัดไปและใช้ค่านั้นเป็นค่าฐาน เพื่อไม่ให้นับโทเค็นที่ใช้ก่อน
มีเป้าหมายรวมในงบประมาณ

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

งบประมาณโทเค็นเป็นข้อจำกัดป้องกันสำหรับเป้าหมายของเซสชัน ไม่ใช่เพดานการเรียกเก็บเงิน โควตาของ
ผู้ให้บริการ การรายงานค่าใช้จ่าย และพฤติกรรมของหน้าต่างบริบทยังคงใช้การควบคุม
การใช้งานและโมเดลตามปกติของ OpenClaw

## เครื่องมือโมเดล

OpenClaw เปิดเผยเครื่องมือเป้าหมายสามรายการแก่ชุดควบคุมเอเจนต์:

| เครื่องมือ          | วัตถุประสงค์                                                                                                                  |
| ------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `get_goal`    | อ่านเป้าหมายของเซสชันปัจจุบัน ได้แก่ สถานะ วัตถุประสงค์ การใช้โทเค็น และงบประมาณโทเค็น                                         |
| `create_goal` | สร้างเป้าหมายเฉพาะเมื่อผู้ใช้หรือคำสั่งระบบร้องขออย่างชัดเจนเท่านั้น จะล้มเหลวหากเซสชันมีเป้าหมายอยู่แล้ว |
| `update_goal` | ทำเครื่องหมายเป้าหมายเป็น `complete` หรือ `blocked`                                                                                   |

โมเดลไม่สามารถหยุดชั่วคราว ดำเนินการต่อ ล้าง หรือแทนที่เป้าหมายโดยไม่แจ้งได้ การดำเนินการเหล่านี้ยังคงเป็น
การควบคุมของผู้ดำเนินการ/เซสชันผ่าน `/goal` และคำสั่งรีเซ็ต เพื่อให้เอเจนต์
สามารถรายงานการบรรลุผลหรือสิ่งที่ขัดขวางจริงโดยไม่เปลี่ยน
จุดหมายอย่างเงียบๆ

`update_goal` ควรทำเครื่องหมายเป้าหมายเป็น `complete` เฉพาะเมื่อบรรลุ
วัตถุประสงค์จริงแล้วเท่านั้น และควรทำเครื่องหมายเป้าหมายเป็น `blocked` เฉพาะหลังจาก
เงื่อนไขที่ขัดขวางเดิมเกิดซ้ำอย่างน้อยสามเทิร์นของเป้าหมายติดต่อกัน ไม่ใช่เพราะ
ความยากลำบากทั่วไปหรือยังเก็บรายละเอียดไม่เรียบร้อย

## บริบทเป้าหมายในทุกเทิร์น

ทุกเทิร์นของผู้ใช้/แชตที่มีเป้าหมายที่ใช้งานอยู่จะมีบรรทัดบริบทบทบาทผู้ใช้นี้:

```text
เป้าหมายที่ใช้งานอยู่: <objective> — ดำเนินการต่อหรืออัปเดตสถานะ (get_goal/update_goal)
```

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

## UI ควบคุม

UI ควบคุมบนเว็บแสดงเป้าหมายเป็นแถบขนาดกะทัดรัดเหนือช่องเขียนแชต:
ไอคอนสถานะ ป้ายสถานะ (ตัวอย่างเช่น `Pursuing goal`) วัตถุประสงค์
ที่ถูกตัดทอน และตัวจับเวลาที่ผ่านไปแบบสด

แถบนี้มีตัวควบคุมแบบอินไลน์:

- **ดินสอ** เติม `/goal edit <objective>` ลงในช่องเขียนล่วงหน้าเพื่อให้
  เรียบเรียงและส่งวัตถุประสงค์ใหม่ได้
- **หยุดชั่วคราว / ดำเนินการต่อ** สลับระหว่าง `/goal pause` และ `/goal resume` ตาม
  สถานะปัจจุบัน
- **ถังขยะ** ส่ง `/goal clear`
- **เครื่องหมายบั้ง** ขยายแถบเพื่อแสดงวัตถุประสงค์ฉบับเต็ม หมายเหตุสถานะ
  ล่าสุด การใช้โทเค็น และเวลาที่ผ่านไป

ปุ่มการดำเนินการจะถูกซ่อนขณะที่ช่องเขียนไม่สามารถส่งได้ (ตัวอย่างเช่น
เมื่อการเชื่อมต่อ Gateway ขัดข้อง) แต่เครื่องหมายบั้งสำหรับขยายยังคงทำงาน

## TUI

ส่วนท้ายของ TUI จะแสดงเป้าหมายของเซสชันที่ใช้งานอยู่ถัดจากช่องเอเจนต์
เซสชัน และโมเดล ก่อนตัวบ่งชี้โทเค็น/โหมด

ตัวอย่างส่วนท้าย:

- `Pursuing goal (12k/50k)` สำหรับเป้าหมายที่ใช้งานอยู่ซึ่งมีงบประมาณโทเค็น
- `Goal paused (/goal resume)` สำหรับเป้าหมายที่หยุดชั่วคราว
- `Goal blocked (/goal resume)` สำหรับเป้าหมายที่ถูกบล็อก
- `Goal hit usage limits (/goal resume)` สำหรับเป้าหมายที่ถูกจำกัดการใช้งาน
- `Goal unmet (50k/50k)` สำหรับเป้าหมายที่ถูกจำกัดงบประมาณ
- `Goal achieved (42k)` สำหรับเป้าหมายที่เสร็จสมบูรณ์

ส่วนท้ายออกแบบให้กะทัดรัด ใช้ `/goal` เพื่อดูวัตถุประสงค์ฉบับเต็ม
หมายเหตุ งบประมาณโทเค็น และคำสั่งที่ใช้ได้

## พฤติกรรมของช่องทาง

`/goal` ทำงานในเซสชัน OpenClaw ที่รองรับคำสั่ง รวมถึง TUI และ
พื้นผิวแชตที่อนุญาตคำสั่งข้อความ สถานะเป้าหมายแนบอยู่กับ
คีย์เซสชัน ไม่ใช่การรับส่ง ดังนั้นสองพื้นผิวที่ใช้คีย์เซสชันร่วมกันจะเห็น
เป้าหมายเดียวกัน

สถานะเป้าหมายไม่ใช่คำสั่งการส่ง: สถานะนี้ไม่บังคับให้ตอบกลับผ่าน
ช่องทาง ไม่เปลี่ยนพฤติกรรมคิว ไม่อนุมัติเครื่องมือ และไม่กำหนดเวลางาน

## การแก้ไขปัญหา

| ข้อความ                                | ความหมาย                                                                                                                                      |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `Goal error: goal already exists`      | เซสชันมีเป้าหมายอยู่แล้ว ใช้ `/goal` เพื่อตรวจสอบ ใช้ `/goal complete` หากเสร็จแล้ว หรือใช้ `/goal clear` ก่อนเริ่มวัตถุประสงค์อื่น |
| `Goal error: goal not found`           | เซสชันยังไม่มีเป้าหมาย เริ่มเป้าหมายด้วย `/goal start <objective>`                                                                       |
| `Goal error: goal is already complete` | เป้าหมายอยู่ในสถานะสิ้นสุด ล้างเป้าหมายก่อนเริ่มหรือดำเนินวัตถุประสงค์อื่นต่อ                                                                |

หากการใช้โทเค็นแสดง `0` หรือดูเหมือนล้าสมัย เซสชันที่ใช้งานอยู่อาจยังไม่มี
สแนปช็อตโทเค็นล่าสุด การใช้งานจะรีเฟรชเมื่อ OpenClaw บันทึกการใช้งานเซสชัน
และผลรวมที่คำนวณจากบทสนทนา

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

- [คำสั่งแบบสแลช](/th/tools/slash-commands)
- [TUI](/th/web/tui)
- [เครื่องมือเซสชัน](/th/concepts/session-tool)
- [Compaction](/th/concepts/compaction)
- [Task Flow](/th/automation/taskflow)
- [คำสั่งถาวร](/th/automation/standing-orders)
