--- 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? ``` เนื้อหาของไฟล์จะถูกเพิ่มในการสนทนาโดยอัตโนมัติ --- ## คำสั่งทุบตี เริ่มข้อความด้วย `!` เพื่อรันคำสั่ง 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` ของคุณ ```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` ฯลฯ ```bash set EDITOR=notepad # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. # include --wait set EDITOR=code --wait ``` หากต้องการทำให้เป็นแบบถาวร ให้ใช้ **คุณสมบัติของระบบ** > **สภาพแวดล้อม ตัวแปร**. ```powershell $env:EDITOR = "notepad" # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. # include --wait $env:EDITOR = "code --wait" ``` หากต้องการทำให้เป็นแบบถาวร ให้เพิ่มสิ่งนี้ลงในโปรไฟล์ PowerShell ของคุณ ตัวเลือกตัวแก้ไขยอดนิยม ได้แก่ : - `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`) การตั้งค่าเหล่านี้ยังคงมีอยู่ตลอดการรีสตาร์ท --- #### การแสดงชื่อผู้ใช้ สลับว่าจะให้ชื่อผู้ใช้ของคุณปรากฏในข้อความแชทหรือไม่ เข้าถึงสิ่งนี้ผ่าน: - จานคำสั่ง: ค้นหา "ชื่อผู้ใช้" หรือ "ซ่อนชื่อผู้ใช้" - การตั้งค่าจะคงอยู่โดยอัตโนมัติและจะถูกจดจำตลอดเซสชัน TUI