Buckets:
| 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 بالطريقة نفسها التي يعمل بها في terminal. جميع الميزات مدعومة: | |
| :::note | |
| بعض أوامر الشرطة المائلة المضمنة مثل `/undo` و`/redo` غير مدعومة حاليا. | |
| ::: | |
| - الأدوات المضمنة (عمليات الملفات، أوامر terminal، إلخ.) | |
| - الأدوات المخصصة وأوامر الشرطة المائلة | |
| - خوادم MCP المضبوطة في إعدادات OpenCode | |
| - قواعد خاصة بالمشروع من `AGENTS.md` | |
| - المنسقات (formatters) والمدققات (linters) المخصصة | |
| - نظام الوكلاء والأذونات | |
Xet Storage Details
- Size:
- 4.32 kB
- Xet hash:
- d52ecf58a3a84e87429b55940955fd773e1908115f7470eaed8618c07739d5fa
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.