--- title: دعم ACP description: استخدم OpenCode في أي محرر متوافق مع ACP. --- يدعم OpenCode بروتوكول [Agent Client Protocol](https://agentclientprotocol.com) أو (ACP)، مما يتيح لك استخدامه مباشرة في المحررات وبيئات التطوير المتكاملة (IDEs) المتوافقة. :::tip للاطلاع على قائمة بالمحررات والأدوات التي تدعم ACP، راجع [ACP progress report](https://zed.dev/blog/acp-progress-report#available-now). ::: ACP بروتوكول مفتوح يوحّد آلية التواصل بين محررات الشيفرة ووكلاء البرمجة بالذكاء الاصطناعي. --- ## الإعداد لاستخدام OpenCode عبر ACP، اضبط محررك ليشغّل الأمر `opencode acp`. يشغّل هذا الأمر OpenCode كعملية فرعية متوافقة مع ACP تتواصل مع محررك عبر JSON-RPC باستخدام stdio. فيما يلي أمثلة لمحررات شائعة تدعم ACP. --- ### Zed أضف إلى إعدادات [Zed](https://zed.dev) (`~/.config/zed/settings.json`): ```json title="~/.config/zed/settings.json" { "agent_servers": { "OpenCode": { "command": "opencode", "args": ["acp"] } } } ``` لفتحه، استخدم الإجراء `agent: new thread` في **Command Palette**. يمكنك أيضا ربط اختصار لوحة مفاتيح عبر تعديل `keymap.json`: ```json title="keymap.json" [ { "bindings": { "cmd-alt-o": [ "agent::NewExternalAgentThread", { "agent": { "custom": { "name": "OpenCode", "command": { "command": "opencode", "args": ["acp"] } } } } ] } } ] ``` --- ### JetBrains IDEs أضف إلى ملف acp.json الخاص بـ [JetBrains IDE](https://www.jetbrains.com/) وفقا لـ [documentation](https://www.jetbrains.com/help/ai-assistant/acp.html): ```json title="acp.json" { "agent_servers": { "OpenCode": { "command": "/absolute/path/bin/opencode", "args": ["acp"] } } } ``` لفتحه، اختر الوكيل الجديد 'OpenCode' من محدد الوكلاء في AI Chat. --- ### Avante.nvim أضف إلى إعدادات [Avante.nvim](https://github.com/yetone/avante.nvim): ```lua { acp_providers = { ["opencode"] = { command = "opencode", args = { "acp" } } } } ``` إذا احتجت إلى تمرير متغيرات البيئة: ```lua {6-8} { acp_providers = { ["opencode"] = { command = "opencode", args = { "acp" }, env = { OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY") } } } } ``` --- ### CodeCompanion.nvim لاستخدام OpenCode كوكيل ACP في [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim)، أضف التالي إلى إعدادات Neovim: ```lua require("codecompanion").setup({ interactions = { chat = { adapter = { name = "opencode", model = "claude-sonnet-4", }, }, }, }) ``` يضبط هذا الإعداد CodeCompanion لاستخدام OpenCode كوكيل ACP للدردشة. إذا احتجت إلى تمرير متغيرات البيئة (مثل `OPENCODE_API_KEY`)، فارجع إلى [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) ضمن توثيق CodeCompanion.nvim للاطلاع على التفاصيل كاملة. ## الدعم يعمل OpenCode عبر ACP بالطريقة نفسها التي يعمل بها في الطرفية. جميع الميزات مدعومة: :::note بعض أوامر الشرطة المائلة المضمنة مثل `/undo` و`/redo` غير مدعومة حاليا. ::: - الأدوات المضمنة (عمليات الملفات، أوامر الطرفية، إلخ.) - الأدوات المخصصة وأوامر الشرطة المائلة - خوادم MCP المضبوطة في إعدادات OpenCode - قواعد خاصة بالمشروع من `AGENTS.md` - المنسقات (formatters) والمدققات (linters) المخصصة - نظام الوكلاء والأذونات