Skip to content

คำสั่ง

คำสั่งสร้างคำสั่งอีกครั้งที่ซ้ำกัน

คำสั่งดังกล่าวระบุพรอมต์จำเป็นต้องร้องขอเมื่อคำสั่งนั้นถูกดำเนินการใน TUI

/my-command

คำสั่งแบบกำหนดเองเป็นส่วนเพิ่มเติมจากคำสั่งในตัว เช่น /init, /undo, /redo, /share, /help เรียนรู้เพิ่มเติม


สร้างไฟล์คำสั่ง

สร้างไฟล์ Markdown ในไดเร็กทอรี commands/ เพื่อกำหนดคำสั่งทำตาม

สร้าง .opencode/commands/test.md:

.opencode/commands/test.md
---
description: Run tests with coverage
agent: build
model: anthropic/claude-3-5-sonnet-20241022
---
Run the full test suite with coverage report and show any failures.
Focus on the failing tests and suggest fixes.

frontmatter กำหนดคุณสมบัติคำสั่งเนื้อหาโดยละเอียด

ใช้คำสั่งโดยพิมพ์ / คำสั่งคำสั่ง

"/test"

เม็กซิโก

คำสั่งนี้จะผ่าน OpenCode หรือโดยการดำเนินการไฟล์ Markdown ในไดเร็กทอรี commands/


JSON

ใช้ส่วน command ใน OpenCode ของคุณ config:

opencode.jsonc
{
"$schema": "https://opencode.ai/config.json",
"command": {
// This becomes the name of the command
"test": {
// This is the prompt that will be sent to the LLM
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.",
// This is shown as the description in the TUI
"description": "Run tests with coverage",
"agent": "build",
"model": "anthropic/claude-3-5-sonnet-20241022"
}
}
}

รันคำสั่งนี้ใน TUI:

/test

Markdown

หากต้องการกำหนดคำสั่งของไฟล์ Markdown ได้คุณจะต้องดำเนินการใน:

  • ทั่วโลก: ~/.config/opencode/commands/
  • ต่อโครงการ: .opencode/commands/
~/.config/opencode/commands/test.md
---
description: Run tests with coverage
agent: build
model: anthropic/claude-3-5-sonnet-20241022
---
Run the full test suite with coverage report and show any failures.
Focus on the failing tests and suggest fixes.

ชื่อไฟล์ Markdown ในชื่อคำสั่งเช่น test.md ให้ คุณวิ่ง:

/test

เรามีพร้อมท์

พร้อมรองรับคำสั่งรองรับตามตำแหน่งและพิเศษหลายรายการ


บทความโทรทัศน์

ส่งผ่านข้อเขียนไปยังคำสั่งของวงดนตรี $ARGUMENTS

.opencode/commands/component.md
---
description: Create a new component
---
Create a new React component named $ARGUMENTS with TypeScript support.
Include proper typing and basic structure.

รันคำสั่งพร้อมอาร์กิวเมนต์:

/component Button

และ $ARGUMENTS จะเป็นอย่างไร Button

เราสามารถเข้าถึงแต่ละจุดได้ตามความต้องการตามหลัก:

  • $1 - ​​​​อาร์กิวเมนต์แรก
  • $2 - ​​​​อาร์กิวเมนต์ที่สอง
  • $3 - ​​​​อาร์กิวเมนต์ที่สาม
  • นั่น…

เช่น:

.opencode/commands/create-file.md
---
description: Create a new file with content
---
Create a file named $1 in the directory $2
with the following content: $3

รันคำสั่ง:

/create-file config.json src "{ \"key\": \"value\" }"

คุณจะรู้สึกได้ถึงความสูง:

  • $1 กับ config.json
  • $2 กับ src
  • $3 กับ { "key": "value" }

ส่วนเชล

ใช้ !command เพื่อแทรกเอาต์พุตของ คำสั่ง bash ใดๆ ลงในพรอมต์ของคุณ

เพื่อเป็นคำสั่งสร้างความพยายามเพื่อวิเคราะห์การทดสอบของการทดสอบ:

.opencode/commands/analyze-coverage.md
---
description: Analyze test coverage
---
Here are the current test results:
!`npm test`
Based on these results, suggest improvements to increase coverage.

หรือตรวจสอบการเปลี่ยนแปลงล่าสุด:

.opencode/commands/review-changes.md
---
description: Review recent changes
---
Recent git commits:
!`git log --oneline -10`
Review these changes and suggest any improvements.

คำสั่งไดเร็กทอรีรากของโปรเจ็กต์การปฏิบัติตามคำสั่งพร้อมท์


อ้างถึงไฟล์

รวมไฟล์ในคำสั่งของคุณ @ ในชื่อไฟล์

.opencode/commands/review-component.md
---
description: Review component
---
Review the component in @src/components/Button.tsx.
Check for performance issues and suggest improvements.

เนื้อหาไฟล์จะถูกรวมไว้ด้วยการประกาศอย่างเป็นทางการ


ตัวเลือก

มาดูรายละเอียดเพิ่มเติมกัน


Template

template กำหนดพรอมต์ที่จะเป็นไปได้ LLM จะดำเนินการคำสั่ง

opencode.json
{
"command": {
"test": {
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes."
}
}
}

รายการไม่จำเป็น จำเป็น


คำอธิบาย

ใช้ตัวเลือก description เพื่อให้คำอธิบายโดยย่อเกี่ยวกับสิ่งที่คำสั่งทำ

opencode.json
{
"command": {
"test": {
"description": "Run tests with coverage"
}
}
}

คำอธิบายที่เป็นคำอธิบายใน TUI คุณต้องการเขียนคำสั่ง


ตัวแทน

ใช้ agent เพื่อระบุทางเลือกว่า ตัวแทน ใดควรดำเนินการคำสั่งนี้ นี่คือ ตัวแทนย่อย คำสั่งจะไม่จำเป็นต้องทำการย่อยตัวแทนย่อยตาม… เหตุผลที่ทำให้สิ่งนี้เป็นไปได้ subtask เป็น false

opencode.json
{
"command": {
"review": {
"agent": "plan"
}
}
}

ขึ้นอยู่กับ ** ตัวเลือก** หากไม่ได้ระบุเหตุผลว่าเป็นเอเจนต์ปัจจุบันของคุณ


งานย่อย

ใช้ subtask บูลีนเพื่อไม่จำเป็นต้องทำอะไรเลย subagent เพราะเหตุใดจะช่วยให้คำสั่งไม่ทำให้ระบบหลักของคุณเสียหาย และจะ บังคับ เอเจนต์ให้ความเห็นตัวแทนย่อย โปรดดู mode เพื่อดูการตั้งค่าเป็น primary ในคืนนี้ agent แขก

opencode.json
{
"command": {
"analyze": {
"subtask": true
}
}
}

ส่วนนี้ ทางเลือก


Model

ใช้ model ไปจนถึงโมเดลเริ่มต้นสำหรับคำสั่งนี้

opencode.json
{
"command": {
"analyze": {
"model": "anthropic/claude-3-5-sonnet-20241022"
}
}
}

ส่วนนี้ ทางเลือก


บิวท์อิน

opencode มีคำสั่งในคำสั่งหลายเช่น /init, /undo, /redo, /share, /help; เรียนรู้เพิ่มเติม

บันทึกคำสั่งด้วยชื่อเดียวกันคำสั่งย้ำคำสั่งใน