تخطَّ إلى المحتوى

دعم ACP

استخدم OpenCode في أي محرر متوافق مع ACP.

يدعم OpenCode بروتوكول Agent Client Protocol أو (ACP)، مما يتيح لك استخدامه مباشرة في المحررات وبيئات التطوير المتكاملة (IDEs) المتوافقة.

ACP بروتوكول مفتوح يوحّد آلية التواصل بين محررات الشيفرة ووكلاء البرمجة بالذكاء الاصطناعي.


الإعداد

لاستخدام 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 وفقا لـ documentation:

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 للدردشة.

إذا احتجت إلى تمرير متغيرات البيئة (مثل OPENCODE_API_KEY)، فارجع إلى Configuring Adapters: Environment Variables ضمن توثيق CodeCompanion.nvim للاطلاع على التفاصيل كاملة.

الدعم

يعمل OpenCode عبر ACP بالطريقة نفسها التي يعمل بها في terminal. جميع الميزات مدعومة:

  • الأدوات المضمنة (عمليات الملفات، أوامر terminal، إلخ.)
  • الأدوات المخصصة وأوامر الشرطة المائلة
  • خوادم MCP المضبوطة في إعدادات OpenCode
  • قواعد خاصة بالمشروع من AGENTS.md
  • المنسقات (formatters) والمدققات (linters) المخصصة
  • نظام الوكلاء والأذونات