Something went wrong. Try again.
opencode v2 mirror
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616---title: CLIdescription: أوامر وخيارات CLI في OpenCode.---
import { Tabs, TabItem } from "@astrojs/starlight/components"
يبدأ CLI الخاص بـ OpenCode افتراضيا واجهة [TUI](/docs/tui) عند تشغيله بدون أي معاملات.
```bashopencode```
كما يدعم أيضا أوامر موثقة في هذه الصفحة، ما يتيح لك التفاعل مع OpenCode برمجيا.
```bashopencode run "Explain how closures work in JavaScript"```
---
### tui
بدء واجهة المستخدم terminal (TUI) الخاصة بـ OpenCode.
```bashopencode [project]```
#### الخيارات
| الخيار | المختصر | الوصف || ---------------------------------------- | ------- | ----------------------------------------------------------------- || <nobr><code>{"--continue"}</code></nobr> | `-c` | متابعة الجلسة الأخيرة || <nobr><code>{"--session"}</code></nobr> | `-s` | معرّف الجلسة للمتابعة || <nobr><code>{"--fork"}</code></nobr> | | تفريع الجلسة عند المتابعة (يستخدم مع `--continue` أو `--session`) || <nobr><code>{"--prompt"}</code></nobr> | | الموجّه المراد استخدامه || <nobr><code>{"--model"}</code></nobr> | `-m` | النموذج المراد استخدامه بصيغة provider/model || <nobr><code>{"--agent"}</code></nobr> | | الوكيل المراد استخدامه || <nobr><code>{"--port"}</code></nobr> | | المنفذ الذي يتم الاستماع عليه || <nobr><code>{"--hostname"}</code></nobr> | | اسم المضيف الذي يتم الاستماع عليه |
---
## الأوامر
يتضمن CLI الخاص بـ OpenCode أيضا الأوامر التالية.
---
### agent
إدارة وكلاء OpenCode.
```bashopencode agent [command]```
---
### attach
إرفاق terminal بخادم الواجهة الخلفية لـ OpenCode قيد التشغيل بالفعل، والذي تم تشغيله عبر الأمرين `serve` أو `web`.
```bashopencode attach [url]```
يتيح ذلك استخدام واجهة TUI مع واجهة خلفية لـ OpenCode تعمل عن بعد. على سبيل المثال:
```bash# ابدأ خادم الواجهة الخلفية للوصول عبر الويب/الجوالopencode web --port 4096 --hostname 0.0.0.0
# في محطة طرفية (terminal) أخرى، اربط TUI بالواجهة الخلفية قيد التشغيلopencode attach http://10.20.30.40:4096```
#### الرايات
| الراية | المختصر | الوصف || ---------------------------------------- | ------- | --------------------------------------------------------------------------------- || <nobr><code>{"--dir"}</code></nobr> | | دليل العمل الذي ستبدأ منه واجهة TUI || <nobr><code>{"--continue"}</code></nobr> | `-c` | متابعة آخر جلسة || <nobr><code>{"--session"}</code></nobr> | `-s` | معرّف الجلسة للمتابعة || <nobr><code>{"--fork"}</code></nobr> | | تفريع الجلسة عند المتابعة (استخدمه مع `--continue` أو `--session`) || <nobr><code>{"--password"}</code></nobr> | `-p` | كلمة مرور المصادقة الأساسية (الافتراضي `OPENCODE_SERVER_PASSWORD`) || <nobr><code>{"--username"}</code></nobr> | `-u` | اسم مستخدم المصادقة الأساسية (الافتراضي `OPENCODE_SERVER_USERNAME` أو `opencode`) |
---
#### create
إنشاء وكيل جديد بإعدادات مخصصة.
```bashopencode agent create```
سيرشدك هذا الأمر خلال إنشاء وكيل جديد مع موجه نظام مخصص وإعدادات الأدوات.
---
#### list
عرض جميع الوكلاء المتاحين.
```bashopencode agent list```
---
### auth
أمر لإدارة بيانات الاعتماد وتسجيل الدخول لمزودي الخدمة.
```bashopencode auth [command]```
---
#### login
يعتمد OpenCode على قائمة المزودين في [Models.dev](https://models.dev)، لذا يمكنك استخدام `opencode auth login` لتهيئة مفاتيح API لأي مزود ترغب باستخدامه. يتم حفظ ذلك في `~/.local/share/opencode/auth.json`.
```bashopencode auth login```
عند تشغيل OpenCode يقوم بتحميل المزودين من ملف بيانات الاعتماد، وكذلك أي مفاتيح معرّفة في متغيرات البيئة لديك أو في ملف `.env` ضمن مشروعك.
---
#### list
يسرد جميع المزودين الذين تم توثيقهم كما هم محفوظون في ملف بيانات الاعتماد.
```bashopencode auth list```
أو النسخة المختصرة.
```bashopencode auth ls```
---
#### logout
يسجلك خارج مزود عبر حذفه من ملف بيانات الاعتماد.
```bashopencode auth logout```
---
### github
إدارة وكيل GitHub لأتمتة المستودع.
```bashopencode github [command]```
---
#### install
تثبيت وكيل GitHub في مستودعك.
```bashopencode github install```
يقوم ذلك بإعداد سير عمل GitHub Actions اللازم ويرشدك خلال عملية التهيئة. [اعرف المزيد](/docs/github).
---
#### run
تشغيل وكيل GitHub. يُستخدم هذا عادة ضمن GitHub Actions.
```bashopencode github run```
##### الرايات
| الراية | الوصف || ------------------------------------- | ------------------------------------ || <nobr><code>{"--event"}</code></nobr> | حدث GitHub مُحاكى لتشغيل الوكيل عليه || <nobr><code>{"--token"}</code></nobr> | رمز وصول شخصي لـ GitHub |
---
### mcp
إدارة خوادم Model Context Protocol.
```bashopencode mcp [command]```
---
#### add
إضافة خادم MCP إلى تهيئتك.
```bashopencode mcp add```
سيرشدك هذا الأمر خلال إضافة خادم MCP محلي أو بعيد.
---
#### list
عرض جميع خوادم MCP المُهيأة وحالة اتصالها.
```bashopencode mcp list```
أو استخدم النسخة المختصرة.
```bashopencode mcp ls```
---
#### auth
إجراء المصادقة مع خادم MCP يدعم OAuth.
```bashopencode mcp auth [name]```
إذا لم تُحدِّد اسم خادم، فسيُطلب منك الاختيار من الخوادم المتاحة الداعمة لـ OAuth.
يمكنك أيضا عرض الخوادم الداعمة لـ OAuth وحالة المصادقة الخاصة بها.
```bashopencode mcp auth list```
أو استخدم النسخة المختصرة.
```bashopencode mcp auth ls```
---
#### logout
إزالة بيانات اعتماد OAuth لخادم MCP.
```bashopencode mcp logout [name]```
---
#### debug
تشخيص مشاكل اتصال OAuth لخادم MCP.
```bashopencode mcp debug <name>```
---
### models
عرض جميع النماذج المتاحة من المزودين المُهيأين.
```bashopencode models [provider]```
يعرض هذا الأمر جميع النماذج المتاحة عبر المزودين المُهيأين لديك بصيغة `provider/model`.
هذا مفيد لتحديد اسم النموذج الدقيق الذي ستستخدمه في [تهيئتك](/docs/config/).
يمكنك اختياريا تمرير معرّف مزود لتصفية النماذج حسب ذلك المزود.
```bashopencode models anthropic```
#### الرايات
| الراية | الوصف || --------------------------------------- | ------------------------------------------------------------- || <nobr><code>{"--refresh"}</code></nobr> | تحديث ذاكرة التخزين المؤقت للنماذج من models.dev || <nobr><code>{"--verbose"}</code></nobr> | استخدام مخرجات أكثر تفصيلا للنماذج (تشمل بيانات مثل التكاليف) |
استخدم الراية `--refresh` لتحديث قائمة النماذج المخزنة مؤقتا. يفيد ذلك عند إضافة نماذج جديدة إلى مزود وتريد رؤيتها في OpenCode.
```bashopencode models --refresh```
---
### run
تشغيل opencode في وضع غير تفاعلي عبر تمرير موجه مباشرة.
```bashopencode 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"```
#### الرايات
| الراية | المختصر | الوصف || ---------------------------------------- | ------- | --------------------------------------------------------------------------------- || <nobr><code>{"--command"}</code></nobr> | | الأمر المراد تشغيله؛ استخدم الرسالة كوسائط || <nobr><code>{"--continue"}</code></nobr> | `-c` | متابعة الجلسة الأخيرة || <nobr><code>{"--session"}</code></nobr> | `-s` | معرّف الجلسة للمتابعة || <nobr><code>{"--fork"}</code></nobr> | | تفريع الجلسة عند المتابعة (يستخدم مع `--continue` أو `--session`) || <nobr><code>{"--share"}</code></nobr> | | مشاركة الجلسة || <nobr><code>{"--model"}</code></nobr> | `-m` | النموذج المراد استخدامه بصيغة provider/model || <nobr><code>{"--agent"}</code></nobr> | | الوكيل المراد استخدامه || <nobr><code>{"--file"}</code></nobr> | `-f` | ملف/ملفات لإرفاقها بالرسالة || <nobr><code>{"--format"}</code></nobr> | | التنسيق: default (منسق) أو json (أحداث JSON خام) || <nobr><code>{"--title"}</code></nobr> | | عنوان للجلسة (يستخدم موجهًا مقتطعًا إن لم تُحدَّد قيمة) || <nobr><code>{"--attach"}</code></nobr> | | الإرفاق بخادم opencode قيد التشغيل (مثل http://localhost:4096) || <nobr><code>{"--password"}</code></nobr> | `-p` | كلمة مرور المصادقة الأساسية (الافتراضي `OPENCODE_SERVER_PASSWORD`) || <nobr><code>{"--username"}</code></nobr> | `-u` | اسم مستخدم المصادقة الأساسية (الافتراضي `OPENCODE_SERVER_USERNAME` أو `opencode`) || <nobr><code>{"--dir"}</code></nobr> | | دليل التشغيل، أو المسار على الخادم البعيد عند الإرفاق || <nobr><code>{"--variant"}</code></nobr> | | متغير النموذج (جهد الاستدلال الخاص بالمزود) || <nobr><code>{"--thinking"}</code></nobr> | | عرض كتل التفكير || <nobr><code>{"--port"}</code></nobr> | | منفذ الخادم المحلي (الافتراضي منفذ عشوائي) |
---
### serve
بدء خادم OpenCode بدون واجهة للوصول عبر API. راجع [توثيق الخادم](/docs/server) لواجهة HTTP الكاملة.
```bashopencode serve```
يشغّل هذا خادم HTTP يوفّر وصولا عبر API لوظائف opencode دون واجهة TUI. اضبط `OPENCODE_SERVER_PASSWORD` لتفعيل مصادقة HTTP الأساسية (اسم المستخدم الافتراضي `opencode`).
#### الرايات
| الراية | الوصف || ---------------------------------------- | ----------------------------------------- || <nobr><code>{"--port"}</code></nobr> | المنفذ الذي يتم الاستماع عليه || <nobr><code>{"--hostname"}</code></nobr> | اسم المضيف الذي يتم الاستماع عليه || <nobr><code>{"--mdns"}</code></nobr> | تفعيل اكتشاف mDNS || <nobr><code>{"--cors"}</code></nobr> | أصول/منشأات إضافية للمتصفح للسماح بـ CORS |
---
### session
إدارة جلسات OpenCode.
```bashopencode session [command]```
---
#### list
عرض جميع جلسات OpenCode.
```bashopencode session list```
##### الرايات
| الراية | المختصر | الوصف || ----------------------------------------- | ------- | ------------------------------------- || <nobr><code>{"--max-count"}</code></nobr> | `-n` | حصر النتائج في أحدث N جلسات || <nobr><code>{"--format"}</code></nobr> | | تنسيق المخرجات: table أو json (table) |
---
### stats
عرض إحصاءات استخدام الرموز والتكلفة لجلسات OpenCode لديك.
```bashopencode stats```
#### الرايات
| الراية | الوصف || --------------------------------------- | ------------------------------------------------------------------------- || <nobr><code>{"--days"}</code></nobr> | عرض الإحصاءات لآخر N يومًا (الافتراضي: كل الوقت) || <nobr><code>{"--tools"}</code></nobr> | عدد الأدوات المطلوب عرضها (الافتراضي: الكل) || <nobr><code>{"--models"}</code></nobr> | عرض تفصيل استخدام النماذج (مخفي افتراضيا). مرّر رقمًا لعرض أعلى N || <nobr><code>{"--project"}</code></nobr> | التصفية حسب المشروع (الافتراضي: كل المشاريع، سلسلة فارغة: المشروع الحالي) |
---
### export
تصدير بيانات الجلسة بصيغة JSON.
```bashopencode export [sessionID]```
إذا لم تُقدّم معرّف جلسة، فسيُطلب منك الاختيار من الجلسات المتاحة.
---
### import
استيراد بيانات الجلسة من ملف JSON أو رابط مشاركة OpenCode.
```bashopencode import <file>```
يمكنك الاستيراد من ملف محلي أو من رابط مشاركة OpenCode.
```bashopencode import session.jsonopencode import https://opncd.ai/s/abc123```
---
### web
بدء خادم OpenCode بدون واجهة مع واجهة ويب.
```bashopencode web```
يشغّل هذا خادم HTTP ويفتح متصفح ويب للوصول إلى OpenCode عبر واجهة ويب. اضبط `OPENCODE_SERVER_PASSWORD` لتفعيل مصادقة HTTP الأساسية (اسم المستخدم الافتراضي `opencode`).
#### الرايات
| الراية | الوصف || ---------------------------------------- | ----------------------------------------- || <nobr><code>{"--port"}</code></nobr> | المنفذ الذي يتم الاستماع عليه || <nobr><code>{"--hostname"}</code></nobr> | اسم المضيف الذي يتم الاستماع عليه || <nobr><code>{"--mdns"}</code></nobr> | تفعيل اكتشاف mDNS || <nobr><code>{"--cors"}</code></nobr> | أصول/منشأات إضافية للمتصفح للسماح بـ CORS |
---
### acp
بدء خادم ACP (Agent Client Protocol).
```bashopencode acp```
يشغّل هذا الأمر خادم ACP يتواصل عبر stdin/stdout باستخدام nd-JSON.
#### الرايات
| الراية | الوصف || ---------------------------------------- | --------------------------------- || <nobr><code>{"--cwd"}</code></nobr> | دليل العمل || <nobr><code>{"--port"}</code></nobr> | المنفذ الذي يتم الاستماع عليه || <nobr><code>{"--hostname"}</code></nobr> | اسم المضيف الذي يتم الاستماع عليه |
---
### uninstall
إلغاء تثبيت OpenCode وإزالة جميع الملفات ذات الصلة.
```bashopencode uninstall```
#### الرايات
| الراية | المختصر | الوصف || ------------------------------------------- | ------- | ----------------------------------- || <nobr><code>{"--keep-config"}</code></nobr> | `-c` | الإبقاء على ملفات التهيئة || <nobr><code>{"--keep-data"}</code></nobr> | `-d` | الإبقاء على بيانات الجلسات واللقطات || <nobr><code>{"--dry-run"}</code></nobr> | | عرض ما سيتم حذفه دون تنفيذ الحذف || <nobr><code>{"--force"}</code></nobr> | `-f` | تخطي مطالبات التأكيد |
---
### upgrade
تحديث opencode إلى أحدث إصدار أو إلى إصدار محدد.
```bashopencode upgrade [target]```
للترقية إلى أحدث إصدار.
```bashopencode upgrade```
للترقية إلى إصدار محدد.
```bashopencode upgrade v0.1.48```
#### الرايات
| الراية | المختصر | الوصف || -------------------------------------- | ------- | ----------------------------------------------------------- || <nobr><code>{"--method"}</code></nobr> | `-m` | طريقة التثبيت المستخدمة: curl أو npm أو pnpm أو bun أو brew |
---
## الخيارات العامة
يدعم سطر أوامر opencode الخيارات العامة التالية.
| الراية | المختصر | الوصف || ------------------------------------------ | ------- | -------------------------------------- || <nobr><code>{"--help"}</code></nobr> | `-h` | عرض المساعدة || <nobr><code>{"--version"}</code></nobr> | `-v` | طباعة رقم الإصدار || <nobr><code>{"--print-logs"}</code></nobr> | | طباعة السجلات إلى stderr || <nobr><code>{"--log-level"}</code></nobr> | | مستوى السجل (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_PLAN_MODE` | boolean | تفعيل وضع الخطة || `OPENCODE_EXPERIMENTAL_EVENT_SYSTEM` | boolean | تفعيل نظام الأحداث التجريبي || `OPENCODE_EXPERIMENTAL_NATIVE_LLM` | boolean | تفعيل مسار طلبات LLM الأصلي || `OPENCODE_EXPERIMENTAL_PARALLEL` | boolean | تفعيل تنفيذ بحث الويب بالتوازي || `OPENCODE_EXPERIMENTAL_SCOUT` | boolean | تفعيل Scout subagent || `OPENCODE_EXPERIMENTAL_WORKSPACES` | boolean | تفعيل دعم مساحات العمل |