Files
neuron/packages/web/src/content/docs/th/tui.mdx
T

391 lines
14 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: TUI
description: การใช้อินเทอร์เฟซผู้ใช้ terminal OpenCode
---
import { Tabs, TabItem } from "@astrojs/starlight/components"
OpenCode มีอินเทอร์เฟซ terminal แบบโต้ตอบหรือ TUI สำหรับการทำงานในโครงการของคุณด้วย LLM
การรัน OpenCode จะเริ่มต้น TUI สำหรับไดเร็กทอรีปัจจุบัน
```bash
opencode
```
หรือคุณสามารถเริ่มต้นสำหรับไดเร็กทอรีการทำงานเฉพาะได้
```bash
opencode /path/to/project
```
เมื่อคุณอยู่ใน TUI แล้ว คุณสามารถแจ้งด้วยข้อความได้
```text
Give me a quick summary of the codebase.
```
---
## การอ้างอิงไฟล์
คุณสามารถอ้างอิงไฟล์ในข้อความของคุณโดยใช้ `@` นี่เป็นการค้นหาไฟล์ที่ไม่ชัดเจนในไดเร็กทอรีการทำงานปัจจุบัน
:::tip
คุณยังสามารถใช้ `@` เพื่ออ้างอิงไฟล์ในข้อความของคุณได้
:::
```text "@packages/functions/src/api/index.ts"
How is auth handled in @packages/functions/src/api/index.ts?
```
เนื้อหาของไฟล์จะถูกเพิ่มในการสนทนาโดยอัตโนมัติ
---
## คำสั่ง Bash
เริ่มข้อความด้วย `!` เพื่อรันคำสั่ง shell
```bash frame="none"
!ls -la
```
ผลลัพธ์ของคำสั่งจะถูกเพิ่มเข้าไปในการสนทนาซึ่งเป็นผลลัพธ์ของเครื่องมือ
---
## คำสั่ง
เมื่อใช้ OpenCode TUI คุณสามารถพิมพ์ `/` ตามด้วยชื่อคำสั่งเพื่อดำเนินการอย่างรวดเร็ว ตัวอย่างเช่น:
```bash frame="none"
/help
```
คำสั่งส่วนใหญ่ยังมีการผูกคีย์โดยใช้ `ctrl+x` เป็นคีย์ผู้นำ โดยที่ `ctrl+x` เป็นคีย์ผู้นำเริ่มต้น [เรียนรู้เพิ่มเติม](/docs/keybinds)
นี่คือคำสั่งสแลชที่ใช้ได้ทั้งหมด:
---
### connect
เพิ่มผู้ให้บริการให้กับ OpenCode ให้คุณเลือกจากผู้ให้บริการที่มีอยู่และเพิ่มคีย์ API
```bash frame="none"
/connect
```
---
### compact
กระชับเซสชันปัจจุบัน _นามแฝง_: `/summarize`
```bash frame="none"
/compact
```
**ผูกปุ่ม:** `ctrl+x c`
---
### details
สลับรายละเอียดการดำเนินการของเครื่องมือ
```bash frame="none"
/details
```
**ผูกปุ่ม:** `ctrl+x d`
---
### editor
เปิดตัวแก้ไขภายนอกเพื่อเขียนข้อความ ใช้ตัวแก้ไขที่ตั้งค่าไว้ในตัวแปรสภาพแวดล้อม `EDITOR` ของคุณ [เรียนรู้เพิ่มเติม](#editor-setup)
```bash frame="none"
/editor
```
**ผูกปุ่ม:** `ctrl+x e`
---
### exit
ออกจาก OpenCode _นามแฝง_: `/quit`, `/q`
```bash frame="none"
/exit
```
**ผูกปุ่ม:** `ctrl+x q`
---
### export
ส่งออกการสนทนาปัจจุบันไปยัง Markdown และเปิดในตัวแก้ไขเริ่มต้นของคุณ ใช้ตัวแก้ไขที่ตั้งค่าไว้ในตัวแปรสภาพแวดล้อม `EDITOR` ของคุณ [เรียนรู้เพิ่มเติม](#editor-setup)
```bash frame="none"
/export
```
**ผูกปุ่ม:** `ctrl+x x`
---
### help
แสดงกล่องโต้ตอบความช่วยเหลือ
```bash frame="none"
/help
```
**ผูกปุ่ม:** `ctrl+x h`
---
### init
สร้างหรืออัปเดตไฟล์ `AGENTS.md` [เรียนรู้เพิ่มเติม](/docs/rules)
```bash frame="none"
/init
```
**ผูกปุ่ม:** `ctrl+x i`
---
### models
รายการรุ่นที่มีจำหน่าย
```bash frame="none"
/models
```
**ผูกปุ่ม:** `ctrl+x m`
---
### new
เริ่มเซสชันใหม่ _นามแฝง_: `/clear`
```bash frame="none"
/new
```
**ผูกปุ่ม:** `ctrl+x n`
---
### redo
ทำซ้ำข้อความที่เลิกทำก่อนหน้านี้ ใช้ได้หลังจากใช้ `/undo` เท่านั้น
:::tip
การเปลี่ยนแปลงไฟล์ใดๆ จะถูกกู้คืนด้วย
:::
ภายในจะใช้ Git เพื่อจัดการการเปลี่ยนแปลงไฟล์ ดังนั้นโครงการของคุณ **จำเป็นต้อง
เป็นที่เก็บ Git**
```bash frame="none"
/redo
```
**ผูกปุ่ม:** `ctrl+x r`
---
### sessions
รายการและสลับระหว่างเซสชัน _นามแฝง_: `/resume`, `/continue`
```bash frame="none"
/sessions
```
**ผูกปุ่ม:** `ctrl+x l`
---
### share
แบ่งปันเซสชั่นปัจจุบัน [เรียนรู้เพิ่มเติม](/docs/share)
```bash frame="none"
/share
```
**ผูกปุ่ม:** `ctrl+x s`
---
### themes
แสดงรายการธีมที่มีอยู่
```bash frame="none"
/theme
```
**ผูกปุ่ม:** `ctrl+x t`
---
### thinking
สลับการเปิดเผยการบล็อก thinking/reasoning ในการสนทนา เมื่อเปิดใช้งาน คุณสามารถดูกระบวนการให้เหตุผลของแบบจำลองสำหรับแบบจำลองที่รองรับการคิดแบบขยาย
:::note
คำสั่งนี้ควบคุมเฉพาะว่าบล็อกการคิด **แสดง** หรือไม่ โดยไม่ได้เปิดใช้งานหรือปิดใช้งานความสามารถในการให้เหตุผลของโมเดล หากต้องการสลับความสามารถในการให้เหตุผลตามจริง ให้ใช้ `ctrl+t` เพื่อหมุนเวียนไปตามตัวแปรโมเดล
:::
```bash frame="none"
/thinking
```
---
### undo
เลิกทำข้อความสุดท้ายในการสนทนา ลบข้อความผู้ใช้ล่าสุด การตอบกลับที่ตามมาทั้งหมด และการเปลี่ยนแปลงไฟล์ใดๆ
:::tip
การเปลี่ยนแปลงไฟล์ใดๆ ที่ทำจะถูกคืนค่าด้วย
:::
ภายในจะใช้ Git เพื่อจัดการการเปลี่ยนแปลงไฟล์ ดังนั้นโครงการของคุณ **จำเป็นต้อง
เป็นที่เก็บ Git**
```bash frame="none"
/undo
```
**ผูกปุ่ม:** `ctrl+x u`
---
### unshare
ยกเลิกการแชร์เซสชันปัจจุบัน [เรียนรู้เพิ่มเติม](/docs/share#un-sharing)
```bash frame="none"
/unshare
```
---
## การตั้งค่าตัวแก้ไข
ทั้งคำสั่ง `/editor` และ `/export` ใช้ตัวแก้ไขที่ระบุในตัวแปรสภาพแวดล้อม `EDITOR` ของคุณ
<Tabs>
<TabItem label="Linux/macOS">
```bash
# Example for nano or vim
export EDITOR=nano
export EDITOR=vim
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
export EDITOR="code --wait"
```
หากต้องการทำให้เป็นแบบถาวร ให้เพิ่มสิ่งนี้ลงในโปรไฟล์ shell ของคุณ
`~/.bashrc`, `~/.zshrc` ฯลฯ
</TabItem>
<TabItem label="Windows (CMD)">
```bash
set EDITOR=notepad
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
set EDITOR=code --wait
```
หากต้องการทำให้เป็นแบบถาวร ให้ใช้ **คุณสมบัติของระบบ** > **สภาพแวดล้อม
ตัวแปร**.
</TabItem>
<TabItem label="Windows (PowerShell)">
```powershell
$env:EDITOR = "notepad"
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
# include --wait
$env:EDITOR = "code --wait"
```
หากต้องการทำให้เป็นแบบถาวร ให้เพิ่มสิ่งนี้ลงในโปรไฟล์ PowerShell ของคุณ
</TabItem>
</Tabs>
ตัวเลือกตัวแก้ไขยอดนิยม ได้แก่ :
- `code` - ​รหัส Visual Studio
- `cursor` - ​เคอร์เซอร์
- `windsurf` - ​วินด์เซิร์ฟ
- `nvim` - ​บรรณาธิการ Neovim
- `vim` - ​​โปรแกรมแก้ไขเป็นกลุ่ม
- `nano` - ​​โปรแกรมแก้ไขนาโน
- `notepad` - ​สมุดบันทึกของ Windows
- `subl` - ​​ข้อความประเสริฐ
:::note
บรรณาธิการบางคนเช่น VS Code จำเป็นต้องเริ่มต้นด้วยแฟล็ก `--wait`
:::
ผู้แก้ไขบางรายจำเป็นต้องมีอาร์กิวเมนต์บรรทัดคำสั่งเพื่อทำงานในโหมดการบล็อก แฟล็ก `--wait` ทำให้กระบวนการแก้ไขบล็อกจนกว่าจะปิด
---
## กำหนดค่า
คุณสามารถปรับแต่งพฤติกรรม TUI ผ่านไฟล์กำหนดค่า OpenCode ของคุณได้
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
}
```
### ตัวเลือก
- `scroll_acceleration` - ​​เปิดใช้งานการเร่งความเร็วการเลื่อนแบบ macOS เพื่อการเลื่อนที่ราบรื่นและเป็นธรรมชาติ เมื่อเปิดใช้งาน ความเร็วในการเลื่อนจะเพิ่มขึ้นตามท่าทางการเลื่อนอย่างรวดเร็ว และคงความแม่นยำไว้สำหรับการเคลื่อนไหวที่ช้าลง **การตั้งค่านี้มีความสำคัญมากกว่า `scroll_speed` และแทนที่เมื่อเปิดใช้งาน**
- `scroll_speed` - ​​ควบคุมความเร็วของการเลื่อน TUI เมื่อใช้คำสั่งการเลื่อน (ขั้นต่ำ: `1`) ค่าเริ่มต้นเป็น `3` **หมายเหตุ: สิ่งนี้จะถูกละเว้นหากตั้งค่า `scroll_acceleration.enabled` เป็น `true`.**
---
## การปรับแต่ง
คุณสามารถปรับแต่งแง่มุมต่างๆ ของมุมมอง TUI ได้โดยใช้ชุดคำสั่ง (`ctrl+x h` หรือ `/help`) การตั้งค่าเหล่านี้ยังคงมีอยู่ตลอดการรีสตาร์ท
---
#### การแสดงชื่อผู้ใช้
สลับว่าจะให้ชื่อผู้ใช้ของคุณปรากฏในข้อความแชทหรือไม่ เข้าถึงสิ่งนี้ผ่าน:
- Command Palette: ค้นหา "ชื่อผู้ใช้" หรือ "ซ่อนชื่อผู้ใช้"
- การตั้งค่าจะคงอยู่โดยอัตโนมัติและจะถูกจดจำตลอดเซสชัน TUI