Skip to content

การรองรับ ACP

ใช้ OpenCode ในโปรแกรมแก้ไขที่รองรับ ACP

OpenCode ที่แสดง Agent Client Protocol หรือ (ACP) ซึ่งสามารถช่วยได้โดยตรงในการแก้ไขและ IDE ที่หน่วยความจำ

ACP เป็นแบบเปิดมาตรฐานการสื่อสารระหว่างโปรแกรมแก้ไขโค้ดและตัวแทน AI


การกำหนดค่า

ในการใช้ OpenCode ผ่าน ACP ให้กำหนดค่าโปรแกรมแก้ไขของคุณให้รันคำสั่ง opencode acp

คำสั่งนี้จะเริ่ม OpenCode เป็นกระบวนการย่อยที่เข้ากันได้กับ ACP ซึ่งสื่อสารกับโปรแกรมแก้ไขของคุณผ่าน JSON-RPC ผ่าน stdio

นี่คือตัวอย่างสำหรับโปรแกรมแก้ไขยอดนิยมที่รองรับ ACP


Zed

อดทนต่อไป Zed (~/.config/zed/settings.json):

~/.config/zed/settings.json
{
"agent_servers": {
"OpenCode": {
"command": "opencode",
"args": ["acp"]
}
}
}

สิ่งนั้นเปิดใช้สำหรับ agent: new thread ใน Command Palette

คุณต้องผูกมัดอย่างหนักเพื่อแก้ไข keymap.json ของคุณ:

keymap.json
[
{
"bindings": {
"cmd-alt-o": [
"agent::NewExternalAgentThread",
{
"agent": {
"custom": {
"name": "OpenCode",
"command": {
"command": "opencode",
"args": ["acp"]
}
}
}
}
]
}
}
]

JetBrains IDEs

เพิ่มลงใน acp.json ของ JetBrains IDE ของคุณตาม เอกสาร:

acp.json
{
"agent_servers": {
"OpenCode": {
"command": "/absolute/path/bin/opencode",
"args": ["acp"]
}
}
}

นี่เป็นการเปิดให้ตัวแทน ‘OpenCode’ ในเนื้อหาของตัวแทน AI Chat


Avante.nvim

ยังคงมี Avante.nvim ของคุณ:

{
acp_providers = {
["opencode"] = {
command = "opencode",
args = { "acp" }
}
}
}

จะต้องส่งผ่านวันพรุ่งนี้:

{
acp_providers = {
["opencode"] = {
command = "opencode",
args = { "acp" },
env = {
OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
}
}
}
}

CodeCompanion.nvim

ลองใช้ OpenCode ACP ใน CodeCompanion.nvim ให้เพิ่มสิ่งต่อไปนี้ใน Neovim ของคุณ:

require("codecompanion").setup({
interactions = {
chat = {
adapter = {
name = "opencode",
model = "claude-sonnet-4",
},
},
},
})

คุณสามารถใช้ CodeCompanion เพื่อใช้ opencode เป็น ACP agent สำหรับแชท

หากคุณต้องส่ง environment variables (เช่น OPENCODE_API_KEY) โปรดดู Configuring Adapters: Environment Variables ในเอกสารของ CodeCompanion.nvim สำหรับรายละเอียดทั้งหมด

การรองรับ

opencode ทำงานผ่าน ACP เหมือนกับใน terminal และรองรับฟีเจอร์ทั้งหมด:

  • เครื่องมือใน (ไฟล์ไฟล์คำสั่งอื่นๆ)
  • คำอธิบายและคำสั่งสแลช
  • MCP แขกที่นี่คือข้อมูลเพิ่มเติมของ OpenCode ของคุณ
  • กฎเฉพาะโครงการจาก AGENTS.md
  • คนจัดรูปแบบและ linters เวียนนา
  • ระบบตัวแทนและระบบ