| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602 |
- ---
- title: CLI
- description: أوامر وخيارات CLI في OpenCode.
- ---
- import { Tabs, TabItem } from "@astrojs/starlight/components"
- يبدأ CLI الخاص بـ OpenCode افتراضيا واجهة [TUI](/docs/tui) عند تشغيله بدون أي معاملات.
- ```bash
- opencode
- ```
- كما يدعم أيضا أوامر موثقة في هذه الصفحة، ما يتيح لك التفاعل مع OpenCode برمجيا.
- ```bash
- opencode run "Explain how closures work in JavaScript"
- ```
- ---
- ### tui
- بدء واجهة المستخدم terminal (TUI) الخاصة بـ OpenCode.
- ```bash
- opencode [project]
- ```
- #### الخيارات
- | الخيار | المختصر | الوصف |
- | ------------ | ------- | ----------------------------------------------------------------- |
- | `--continue` | `-c` | متابعة الجلسة الأخيرة |
- | `--session` | `-s` | معرّف الجلسة للمتابعة |
- | `--fork` | | تفريع الجلسة عند المتابعة (يستخدم مع `--continue` أو `--session`) |
- | `--prompt` | | الموجّه المراد استخدامه |
- | `--model` | `-m` | النموذج المراد استخدامه بصيغة provider/model |
- | `--agent` | | الوكيل المراد استخدامه |
- | `--port` | | المنفذ الذي يتم الاستماع عليه |
- | `--hostname` | | اسم المضيف الذي يتم الاستماع عليه |
- ---
- ## الأوامر
- يتضمن CLI الخاص بـ OpenCode أيضا الأوامر التالية.
- ---
- ### agent
- إدارة وكلاء OpenCode.
- ```bash
- opencode agent [command]
- ```
- ---
- ### attach
- إرفاق terminal بخادم الواجهة الخلفية لـ OpenCode قيد التشغيل بالفعل، والذي تم تشغيله عبر الأمرين `serve` أو `web`.
- ```bash
- opencode attach [url]
- ```
- يتيح ذلك استخدام واجهة TUI مع واجهة خلفية لـ OpenCode تعمل عن بعد. على سبيل المثال:
- ```bash
- # ابدأ خادم الواجهة الخلفية للوصول عبر الويب/الجوال
- opencode web --port 4096 --hostname 0.0.0.0
- # في محطة طرفية (terminal) أخرى، اربط TUI بالواجهة الخلفية قيد التشغيل
- opencode attach http://10.20.30.40:4096
- ```
- #### الرايات
- | الراية | المختصر | الوصف |
- | ----------- | ------- | ----------------------------------- |
- | `--dir` | | دليل العمل الذي ستبدأ منه واجهة TUI |
- | `--session` | `-s` | معرّف الجلسة للمتابعة |
- ---
- #### create
- إنشاء وكيل جديد بإعدادات مخصصة.
- ```bash
- opencode agent create
- ```
- سيرشدك هذا الأمر خلال إنشاء وكيل جديد مع موجه نظام مخصص وإعدادات الأدوات.
- ---
- #### list
- عرض جميع الوكلاء المتاحين.
- ```bash
- opencode agent list
- ```
- ---
- ### auth
- أمر لإدارة بيانات الاعتماد وتسجيل الدخول لمزودي الخدمة.
- ```bash
- opencode auth [command]
- ```
- ---
- #### login
- يعتمد OpenCode على قائمة المزودين في [Models.dev](https://models.dev)، لذا يمكنك استخدام `opencode auth login` لتهيئة مفاتيح API لأي مزود ترغب باستخدامه. يتم حفظ ذلك في `~/.local/share/opencode/auth.json`.
- ```bash
- opencode auth login
- ```
- عند تشغيل OpenCode يقوم بتحميل المزودين من ملف بيانات الاعتماد، وكذلك أي مفاتيح معرّفة في متغيرات البيئة لديك أو في ملف `.env` ضمن مشروعك.
- ---
- #### list
- يسرد جميع المزودين الذين تم توثيقهم كما هم محفوظون في ملف بيانات الاعتماد.
- ```bash
- opencode auth list
- ```
- أو النسخة المختصرة.
- ```bash
- opencode auth ls
- ```
- ---
- #### logout
- يسجلك خارج مزود عبر حذفه من ملف بيانات الاعتماد.
- ```bash
- opencode auth logout
- ```
- ---
- ### github
- إدارة وكيل GitHub لأتمتة المستودع.
- ```bash
- opencode github [command]
- ```
- ---
- #### install
- تثبيت وكيل GitHub في مستودعك.
- ```bash
- opencode github install
- ```
- يقوم ذلك بإعداد سير عمل GitHub Actions اللازم ويرشدك خلال عملية التهيئة. [اعرف المزيد](/docs/github).
- ---
- #### run
- تشغيل وكيل GitHub. يُستخدم هذا عادة ضمن GitHub Actions.
- ```bash
- opencode github run
- ```
- ##### الرايات
- | الراية | الوصف |
- | --------- | ------------------------------------ |
- | `--event` | حدث GitHub مُحاكى لتشغيل الوكيل عليه |
- | `--token` | رمز وصول شخصي لـ GitHub |
- ---
- ### mcp
- إدارة خوادم Model Context Protocol.
- ```bash
- opencode mcp [command]
- ```
- ---
- #### add
- إضافة خادم MCP إلى تهيئتك.
- ```bash
- opencode mcp add
- ```
- سيرشدك هذا الأمر خلال إضافة خادم MCP محلي أو بعيد.
- ---
- #### list
- عرض جميع خوادم MCP المُهيأة وحالة اتصالها.
- ```bash
- opencode mcp list
- ```
- أو استخدم النسخة المختصرة.
- ```bash
- opencode mcp ls
- ```
- ---
- #### auth
- إجراء المصادقة مع خادم MCP يدعم OAuth.
- ```bash
- opencode mcp auth [name]
- ```
- إذا لم تُحدِّد اسم خادم، فسيُطلب منك الاختيار من الخوادم المتاحة الداعمة لـ OAuth.
- يمكنك أيضا عرض الخوادم الداعمة لـ OAuth وحالة المصادقة الخاصة بها.
- ```bash
- opencode mcp auth list
- ```
- أو استخدم النسخة المختصرة.
- ```bash
- opencode mcp auth ls
- ```
- ---
- #### logout
- إزالة بيانات اعتماد OAuth لخادم MCP.
- ```bash
- opencode mcp logout [name]
- ```
- ---
- #### debug
- تشخيص مشاكل اتصال OAuth لخادم MCP.
- ```bash
- opencode mcp debug <name>
- ```
- ---
- ### models
- عرض جميع النماذج المتاحة من المزودين المُهيأين.
- ```bash
- opencode models [provider]
- ```
- يعرض هذا الأمر جميع النماذج المتاحة عبر المزودين المُهيأين لديك بصيغة `provider/model`.
- هذا مفيد لتحديد اسم النموذج الدقيق الذي ستستخدمه في [تهيئتك](/docs/config/).
- يمكنك اختياريا تمرير معرّف مزود لتصفية النماذج حسب ذلك المزود.
- ```bash
- opencode models anthropic
- ```
- #### الرايات
- | الراية | الوصف |
- | ----------- | ------------------------------------------------------------- |
- | `--refresh` | تحديث ذاكرة التخزين المؤقت للنماذج من models.dev |
- | `--verbose` | استخدام مخرجات أكثر تفصيلا للنماذج (تشمل بيانات مثل التكاليف) |
- استخدم الراية `--refresh` لتحديث قائمة النماذج المخزنة مؤقتا. يفيد ذلك عند إضافة نماذج جديدة إلى مزود وتريد رؤيتها في OpenCode.
- ```bash
- opencode models --refresh
- ```
- ---
- ### run
- تشغيل opencode في وضع غير تفاعلي عبر تمرير موجه مباشرة.
- ```bash
- opencode run [message..]
- ```
- هذا مفيد للبرمجة النصية والأتمتة، أو عندما تريد إجابة سريعة دون تشغيل واجهة TUI كاملة. على سبيل المثال.
- ```bash "opencode run"
- opencode run Explain the use of context in Go
- ```
- يمكنك أيضا الإرفاق بمثيل `opencode serve` قيد التشغيل لتجنّب زمن الإقلاع البارد لخوادم MCP في كل تشغيل:
- ```bash
- # ابدأ خادمًا بلا واجهة في محطة طرفية واحدة
- opencode serve
- # في محطة طرفية أخرى، شغّل الأوامر التي ترتبط به
- opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
- ```
- #### الرايات
- | الراية | المختصر | الوصف |
- | ------------ | ------- | ----------------------------------------------------------------- |
- | `--command` | | الأمر المراد تشغيله؛ استخدم الرسالة كوسائط |
- | `--continue` | `-c` | متابعة الجلسة الأخيرة |
- | `--session` | `-s` | معرّف الجلسة للمتابعة |
- | `--fork` | | تفريع الجلسة عند المتابعة (يستخدم مع `--continue` أو `--session`) |
- | `--share` | | مشاركة الجلسة |
- | `--model` | `-m` | النموذج المراد استخدامه بصيغة provider/model |
- | `--agent` | | الوكيل المراد استخدامه |
- | `--file` | `-f` | ملف/ملفات لإرفاقها بالرسالة |
- | `--format` | | التنسيق: default (منسق) أو json (أحداث JSON خام) |
- | `--title` | | عنوان للجلسة (يستخدم موجهًا مقتطعًا إن لم تُحدَّد قيمة) |
- | `--attach` | | الإرفاق بخادم opencode قيد التشغيل (مثل http://localhost:4096) |
- | `--port` | | منفذ الخادم المحلي (الافتراضي منفذ عشوائي) |
- ---
- ### serve
- بدء خادم OpenCode بدون واجهة للوصول عبر API. راجع [توثيق الخادم](/docs/server) لواجهة HTTP الكاملة.
- ```bash
- opencode serve
- ```
- يشغّل هذا خادم HTTP يوفّر وصولا عبر API لوظائف opencode دون واجهة TUI. اضبط `OPENCODE_SERVER_PASSWORD` لتفعيل مصادقة HTTP الأساسية (اسم المستخدم الافتراضي `opencode`).
- #### الرايات
- | الراية | الوصف |
- | ------------ | ----------------------------------------- |
- | `--port` | المنفذ الذي يتم الاستماع عليه |
- | `--hostname` | اسم المضيف الذي يتم الاستماع عليه |
- | `--mdns` | تفعيل اكتشاف mDNS |
- | `--cors` | أصول/منشأات إضافية للمتصفح للسماح بـ CORS |
- ---
- ### session
- إدارة جلسات OpenCode.
- ```bash
- opencode session [command]
- ```
- ---
- #### list
- عرض جميع جلسات OpenCode.
- ```bash
- opencode session list
- ```
- ##### الرايات
- | الراية | المختصر | الوصف |
- | ------------- | ------- | ------------------------------------- |
- | `--max-count` | `-n` | حصر النتائج في أحدث N جلسات |
- | `--format` | | تنسيق المخرجات: table أو json (table) |
- ---
- ### stats
- عرض إحصاءات استخدام الرموز والتكلفة لجلسات OpenCode لديك.
- ```bash
- opencode stats
- ```
- #### الرايات
- | الراية | الوصف |
- | ----------- | ------------------------------------------------------------------------- |
- | `--days` | عرض الإحصاءات لآخر N يومًا (الافتراضي: كل الوقت) |
- | `--tools` | عدد الأدوات المطلوب عرضها (الافتراضي: الكل) |
- | `--models` | عرض تفصيل استخدام النماذج (مخفي افتراضيا). مرّر رقمًا لعرض أعلى N |
- | `--project` | التصفية حسب المشروع (الافتراضي: كل المشاريع، سلسلة فارغة: المشروع الحالي) |
- ---
- ### export
- تصدير بيانات الجلسة بصيغة JSON.
- ```bash
- opencode export [sessionID]
- ```
- إذا لم تُقدّم معرّف جلسة، فسيُطلب منك الاختيار من الجلسات المتاحة.
- ---
- ### import
- استيراد بيانات الجلسة من ملف JSON أو رابط مشاركة OpenCode.
- ```bash
- opencode import <file>
- ```
- يمكنك الاستيراد من ملف محلي أو من رابط مشاركة OpenCode.
- ```bash
- opencode import session.json
- opencode import https://opncd.ai/s/abc123
- ```
- ---
- ### web
- بدء خادم OpenCode بدون واجهة مع واجهة ويب.
- ```bash
- opencode web
- ```
- يشغّل هذا خادم HTTP ويفتح متصفح ويب للوصول إلى OpenCode عبر واجهة ويب. اضبط `OPENCODE_SERVER_PASSWORD` لتفعيل مصادقة HTTP الأساسية (اسم المستخدم الافتراضي `opencode`).
- #### الرايات
- | الراية | الوصف |
- | ------------ | ----------------------------------------- |
- | `--port` | المنفذ الذي يتم الاستماع عليه |
- | `--hostname` | اسم المضيف الذي يتم الاستماع عليه |
- | `--mdns` | تفعيل اكتشاف mDNS |
- | `--cors` | أصول/منشأات إضافية للمتصفح للسماح بـ CORS |
- ---
- ### acp
- بدء خادم ACP (Agent Client Protocol).
- ```bash
- opencode acp
- ```
- يشغّل هذا الأمر خادم ACP يتواصل عبر stdin/stdout باستخدام nd-JSON.
- #### الرايات
- | الراية | الوصف |
- | ------------ | --------------------------------- |
- | `--cwd` | دليل العمل |
- | `--port` | المنفذ الذي يتم الاستماع عليه |
- | `--hostname` | اسم المضيف الذي يتم الاستماع عليه |
- ---
- ### uninstall
- إلغاء تثبيت OpenCode وإزالة جميع الملفات ذات الصلة.
- ```bash
- opencode uninstall
- ```
- #### الرايات
- | الراية | المختصر | الوصف |
- | --------------- | ------- | ----------------------------------- |
- | `--keep-config` | `-c` | الإبقاء على ملفات التهيئة |
- | `--keep-data` | `-d` | الإبقاء على بيانات الجلسات واللقطات |
- | `--dry-run` | | عرض ما سيتم حذفه دون تنفيذ الحذف |
- | `--force` | `-f` | تخطي مطالبات التأكيد |
- ---
- ### upgrade
- تحديث opencode إلى أحدث إصدار أو إلى إصدار محدد.
- ```bash
- opencode upgrade [target]
- ```
- للترقية إلى أحدث إصدار.
- ```bash
- opencode upgrade
- ```
- للترقية إلى إصدار محدد.
- ```bash
- opencode upgrade v0.1.48
- ```
- #### الرايات
- | الراية | المختصر | الوصف |
- | ---------- | ------- | ----------------------------------------------------------- |
- | `--method` | `-m` | طريقة التثبيت المستخدمة: curl أو npm أو pnpm أو bun أو brew |
- ---
- ## الخيارات العامة
- يدعم سطر أوامر opencode الخيارات العامة التالية.
- | الراية | المختصر | الوصف |
- | -------------- | ------- | -------------------------------------- |
- | `--help` | `-h` | عرض المساعدة |
- | `--version` | `-v` | طباعة رقم الإصدار |
- | `--print-logs` | | طباعة السجلات إلى stderr |
- | `--log-level` | | مستوى السجل (DEBUG, INFO, WARN, ERROR) |
- ---
- ## متغيرات البيئة
- يمكن تهيئة OpenCode باستخدام متغيرات البيئة.
- | المتغير | النوع | الوصف |
- | ------------------------------------- | ------- | --------------------------------------------------------- |
- | `OPENCODE_AUTO_SHARE` | boolean | مشاركة الجلسات تلقائيا |
- | `OPENCODE_GIT_BASH_PATH` | string | مسار ملف Git Bash التنفيذي على Windows |
- | `OPENCODE_CONFIG` | string | مسار ملف التهيئة |
- | `OPENCODE_CONFIG_DIR` | string | مسار دليل التهيئة |
- | `OPENCODE_CONFIG_CONTENT` | string | محتوى تهيئة JSON مُضمّن |
- | `OPENCODE_DISABLE_AUTOUPDATE` | boolean | تعطيل التحقق التلقائي من التحديثات |
- | `OPENCODE_DISABLE_PRUNE` | boolean | تعطيل تنقية البيانات القديمة |
- | `OPENCODE_DISABLE_TERMINAL_TITLE` | boolean | تعطيل تحديث عنوان terminal تلقائيا |
- | `OPENCODE_PERMISSION` | string | تهيئة أذونات JSON مُضمّنة |
- | `OPENCODE_DISABLE_DEFAULT_PLUGINS` | boolean | تعطيل الإضافات الافتراضية |
- | `OPENCODE_DISABLE_LSP_DOWNLOAD` | boolean | تعطيل تنزيل خوادم LSP تلقائيا |
- | `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | boolean | تفعيل النماذج التجريبية |
- | `OPENCODE_DISABLE_AUTOCOMPACT` | boolean | تعطيل ضغط السياق تلقائيا |
- | `OPENCODE_DISABLE_CLAUDE_CODE` | boolean | تعطيل القراءة من `.claude` (الموجه + المهارات) |
- | `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | boolean | تعطيل قراءة `~/.claude/CLAUDE.md` |
- | `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | boolean | تعطيل تحميل `.claude/skills` |
- | `OPENCODE_DISABLE_MODELS_FETCH` | boolean | تعطيل جلب النماذج من مصادر بعيدة |
- | `OPENCODE_FAKE_VCS` | string | مزود VCS وهمي لأغراض الاختبار |
- | `OPENCODE_CLIENT` | string | معرّف العميل (الافتراضي `cli`) |
- | `OPENCODE_ENABLE_EXA` | boolean | تفعيل أدوات بحث الويب من Exa |
- | `OPENCODE_SERVER_PASSWORD` | string | تفعيل المصادقة الأساسية لخادمي `serve`/`web` |
- | `OPENCODE_SERVER_USERNAME` | string | تجاوز اسم مستخدم المصادقة الأساسية (الافتراضي `opencode`) |
- | `OPENCODE_MODELS_URL` | string | رابط مخصص لجلب تهيئة النماذج |
- ---
- ### تجريبي
- تقوم متغيرات البيئة التالية بتفعيل ميزات تجريبية قد تتغير أو تتم إزالتها.
- | المتغير | النوع | الوصف |
- | ----------------------------------------------- | ------- | ------------------------------------------- |
- | `OPENCODE_EXPERIMENTAL` | boolean | تفعيل جميع الميزات التجريبية |
- | `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | boolean | تفعيل اكتشاف الأيقونات |
- | `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | boolean | تعطيل النسخ عند التحديد في TUI |
- | `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | number | المهلة الافتراضية لأوامر bash بالميلي ثانية |
- | `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | number | الحد الأقصى لرموز المخرجات لاستجابات LLM |
- | `OPENCODE_EXPERIMENTAL_FILEWATCHER` | boolean | تفعيل مراقب الملفات لكامل الدليل |
- | `OPENCODE_EXPERIMENTAL_OXFMT` | boolean | تفعيل مُنسّق oxfmt |
- | `OPENCODE_EXPERIMENTAL_LSP_TOOL` | boolean | تفعيل أداة LSP تجريبية |
- | `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | boolean | تعطيل مراقب الملفات |
- | `OPENCODE_EXPERIMENTAL_EXA` | boolean | تفعيل ميزات Exa التجريبية |
- | `OPENCODE_EXPERIMENTAL_LSP_TY` | boolean | تمكين TY LSP لملفات python |
- | `OPENCODE_EXPERIMENTAL_MARKDOWN` | boolean | تفعيل ميزات markdown تجريبية |
- | `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | تفعيل وضع الخطة |
|