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

CLI

أوامر وخيارات CLI في OpenCode.

يبدأ CLI الخاص بـ OpenCode افتراضيا واجهة TUI عند تشغيله بدون أي معاملات.

Terminal window
opencode

كما يدعم أيضا أوامر موثقة في هذه الصفحة، ما يتيح لك التفاعل مع OpenCode برمجيا.

Terminal window
opencode run "Explain how closures work in JavaScript"

tui

بدء واجهة المستخدم terminal (TUI) الخاصة بـ OpenCode.

Terminal window
opencode [project]

الخيارات

الخيارالمختصرالوصف
--continue-cمتابعة الجلسة الأخيرة
--session-sمعرّف الجلسة للمتابعة
--forkتفريع الجلسة عند المتابعة (يستخدم مع --continue أو --session)
--promptالموجّه المراد استخدامه
--model-mالنموذج المراد استخدامه بصيغة provider/model
--agentالوكيل المراد استخدامه
--portالمنفذ الذي يتم الاستماع عليه
--hostnameاسم المضيف الذي يتم الاستماع عليه

الأوامر

يتضمن CLI الخاص بـ OpenCode أيضا الأوامر التالية.


agent

إدارة وكلاء OpenCode.

Terminal window
opencode agent [command]

attach

إرفاق terminal بخادم الواجهة الخلفية لـ OpenCode قيد التشغيل بالفعل، والذي تم تشغيله عبر الأمرين serve أو web.

Terminal window
opencode attach [url]

يتيح ذلك استخدام واجهة TUI مع واجهة خلفية لـ OpenCode تعمل عن بعد. على سبيل المثال:

Terminal window
# Start the backend server for web/mobile access
opencode web --port 4096 --hostname 0.0.0.0
# In another terminal, attach the TUI to the running backend
opencode attach http://10.20.30.40:4096

الرايات

الرايةالمختصرالوصف
--dirدليل العمل الذي ستبدأ منه واجهة TUI
--session-sمعرّف الجلسة للمتابعة

create

إنشاء وكيل جديد بإعدادات مخصصة.

Terminal window
opencode agent create

سيرشدك هذا الأمر خلال إنشاء وكيل جديد مع موجه نظام مخصص وإعدادات الأدوات.


list

عرض جميع الوكلاء المتاحين.

Terminal window
opencode agent list

auth

أمر لإدارة بيانات الاعتماد وتسجيل الدخول لمزودي الخدمة.

Terminal window
opencode auth [command]

login

يعتمد OpenCode على قائمة المزودين في Models.dev، لذا يمكنك استخدام opencode auth login لتهيئة مفاتيح API لأي مزود ترغب باستخدامه. يتم حفظ ذلك في ~/.local/share/opencode/auth.json.

Terminal window
opencode auth login

عند تشغيل OpenCode يقوم بتحميل المزودين من ملف بيانات الاعتماد، وكذلك أي مفاتيح معرّفة في متغيرات البيئة لديك أو في ملف .env ضمن مشروعك.


list

يسرد جميع المزودين الذين تم توثيقهم كما هم محفوظون في ملف بيانات الاعتماد.

Terminal window
opencode auth list

أو النسخة المختصرة.

Terminal window
opencode auth ls

logout

يسجلك خارج مزود عبر حذفه من ملف بيانات الاعتماد.

Terminal window
opencode auth logout

github

إدارة وكيل GitHub لأتمتة المستودع.

Terminal window
opencode github [command]

install

تثبيت وكيل GitHub في مستودعك.

Terminal window
opencode github install

يقوم ذلك بإعداد سير عمل GitHub Actions اللازم ويرشدك خلال عملية التهيئة. اعرف المزيد.


run

تشغيل وكيل GitHub. يُستخدم هذا عادة ضمن GitHub Actions.

Terminal window
opencode github run
الرايات
الرايةالوصف
--eventحدث GitHub مُحاكى لتشغيل الوكيل عليه
--tokenرمز وصول شخصي لـ GitHub

mcp

إدارة خوادم Model Context Protocol.

Terminal window
opencode mcp [command]

add

إضافة خادم MCP إلى تهيئتك.

Terminal window
opencode mcp add

سيرشدك هذا الأمر خلال إضافة خادم MCP محلي أو بعيد.


list

عرض جميع خوادم MCP المُهيأة وحالة اتصالها.

Terminal window
opencode mcp list

أو استخدم النسخة المختصرة.

Terminal window
opencode mcp ls

auth

إجراء المصادقة مع خادم MCP يدعم OAuth.

Terminal window
opencode mcp auth [name]

إذا لم تُحدِّد اسم خادم، فسيُطلب منك الاختيار من الخوادم المتاحة الداعمة لـ OAuth.

يمكنك أيضا عرض الخوادم الداعمة لـ OAuth وحالة المصادقة الخاصة بها.

Terminal window
opencode mcp auth list

أو استخدم النسخة المختصرة.

Terminal window
opencode mcp auth ls

logout

إزالة بيانات اعتماد OAuth لخادم MCP.

Terminal window
opencode mcp logout [name]

debug

تشخيص مشاكل اتصال OAuth لخادم MCP.

Terminal window
opencode mcp debug <name>

models

عرض جميع النماذج المتاحة من المزودين المُهيأين.

Terminal window
opencode models [provider]

يعرض هذا الأمر جميع النماذج المتاحة عبر المزودين المُهيأين لديك بصيغة provider/model.

هذا مفيد لتحديد اسم النموذج الدقيق الذي ستستخدمه في تهيئتك.

يمكنك اختياريا تمرير معرّف مزود لتصفية النماذج حسب ذلك المزود.

Terminal window
opencode models anthropic

الرايات

الرايةالوصف
--refreshتحديث ذاكرة التخزين المؤقت للنماذج من models.dev
--verboseاستخدام مخرجات أكثر تفصيلا للنماذج (تشمل بيانات مثل التكاليف)

استخدم الراية --refresh لتحديث قائمة النماذج المخزنة مؤقتا. يفيد ذلك عند إضافة نماذج جديدة إلى مزود وتريد رؤيتها في OpenCode.

Terminal window
opencode models --refresh

run

تشغيل opencode في وضع غير تفاعلي عبر تمرير موجه مباشرة.

Terminal window
opencode run [message..]

هذا مفيد للبرمجة النصية والأتمتة، أو عندما تريد إجابة سريعة دون تشغيل واجهة TUI كاملة. على سبيل المثال.

Terminal window
opencode run Explain the use of context in Go

يمكنك أيضا الإرفاق بمثيل opencode serve قيد التشغيل لتجنّب زمن الإقلاع البارد لخوادم MCP في كل تشغيل:

Terminal window
# Start a headless server in one terminal
opencode serve
# In another terminal, run commands that attach to it
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. راجع توثيق الخادم لواجهة HTTP الكاملة.

Terminal window
opencode serve

يشغّل هذا خادم HTTP يوفّر وصولا عبر API لوظائف opencode دون واجهة TUI. اضبط OPENCODE_SERVER_PASSWORD لتفعيل مصادقة HTTP الأساسية (اسم المستخدم الافتراضي opencode).

الرايات

الرايةالوصف
--portالمنفذ الذي يتم الاستماع عليه
--hostnameاسم المضيف الذي يتم الاستماع عليه
--mdnsتفعيل اكتشاف mDNS
--corsأصول/منشأات إضافية للمتصفح للسماح بـ CORS

session

إدارة جلسات OpenCode.

Terminal window
opencode session [command]

list

عرض جميع جلسات OpenCode.

Terminal window
opencode session list
الرايات
الرايةالمختصرالوصف
--max-count-nحصر النتائج في أحدث N جلسات
--formatتنسيق المخرجات: table أو json (table)

stats

عرض إحصاءات استخدام الرموز والتكلفة لجلسات OpenCode لديك.

Terminal window
opencode stats

الرايات

الرايةالوصف
--daysعرض الإحصاءات لآخر N يومًا (الافتراضي: كل الوقت)
--toolsعدد الأدوات المطلوب عرضها (الافتراضي: الكل)
--modelsعرض تفصيل استخدام النماذج (مخفي افتراضيا). مرّر رقمًا لعرض أعلى N
--projectالتصفية حسب المشروع (الافتراضي: كل المشاريع، سلسلة فارغة: المشروع الحالي)

export

تصدير بيانات الجلسة بصيغة JSON.

Terminal window
opencode export [sessionID]

إذا لم تُقدّم معرّف جلسة، فسيُطلب منك الاختيار من الجلسات المتاحة.


import

استيراد بيانات الجلسة من ملف JSON أو رابط مشاركة OpenCode.

Terminal window
opencode import <file>

يمكنك الاستيراد من ملف محلي أو من رابط مشاركة OpenCode.

Terminal window
opencode import session.json
opencode import https://opncd.ai/s/abc123

web

بدء خادم OpenCode بدون واجهة مع واجهة ويب.

Terminal window
opencode web

يشغّل هذا خادم HTTP ويفتح متصفح ويب للوصول إلى OpenCode عبر واجهة ويب. اضبط OPENCODE_SERVER_PASSWORD لتفعيل مصادقة HTTP الأساسية (اسم المستخدم الافتراضي opencode).

الرايات

الرايةالوصف
--portالمنفذ الذي يتم الاستماع عليه
--hostnameاسم المضيف الذي يتم الاستماع عليه
--mdnsتفعيل اكتشاف mDNS
--corsأصول/منشأات إضافية للمتصفح للسماح بـ CORS

acp

بدء خادم ACP (Agent Client Protocol).

Terminal window
opencode acp

يشغّل هذا الأمر خادم ACP يتواصل عبر stdin/stdout باستخدام nd-JSON.

الرايات

الرايةالوصف
--cwdدليل العمل
--portالمنفذ الذي يتم الاستماع عليه
--hostnameاسم المضيف الذي يتم الاستماع عليه

uninstall

إلغاء تثبيت OpenCode وإزالة جميع الملفات ذات الصلة.

Terminal window
opencode uninstall

الرايات

الرايةالمختصرالوصف
--keep-config-cالإبقاء على ملفات التهيئة
--keep-data-dالإبقاء على بيانات الجلسات واللقطات
--dry-runعرض ما سيتم حذفه دون تنفيذ الحذف
--force-fتخطي مطالبات التأكيد

upgrade

تحديث opencode إلى أحدث إصدار أو إلى إصدار محدد.

Terminal window
opencode upgrade [target]

للترقية إلى أحدث إصدار.

Terminal window
opencode upgrade

للترقية إلى إصدار محدد.

Terminal window
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_SHAREbooleanمشاركة الجلسات تلقائيا
OPENCODE_GIT_BASH_PATHstringمسار ملف Git Bash التنفيذي على Windows
OPENCODE_CONFIGstringمسار ملف التهيئة
OPENCODE_CONFIG_DIRstringمسار دليل التهيئة
OPENCODE_CONFIG_CONTENTstringمحتوى تهيئة JSON مُضمّن
OPENCODE_DISABLE_AUTOUPDATEbooleanتعطيل التحقق التلقائي من التحديثات
OPENCODE_DISABLE_PRUNEbooleanتعطيل تنقية البيانات القديمة
OPENCODE_DISABLE_TERMINAL_TITLEbooleanتعطيل تحديث عنوان terminal تلقائيا
OPENCODE_PERMISSIONstringتهيئة أذونات JSON مُضمّنة
OPENCODE_DISABLE_DEFAULT_PLUGINSbooleanتعطيل الإضافات الافتراضية
OPENCODE_DISABLE_LSP_DOWNLOADbooleanتعطيل تنزيل خوادم LSP تلقائيا
OPENCODE_ENABLE_EXPERIMENTAL_MODELSbooleanتفعيل النماذج التجريبية
OPENCODE_DISABLE_AUTOCOMPACTbooleanتعطيل ضغط السياق تلقائيا
OPENCODE_DISABLE_CLAUDE_CODEbooleanتعطيل القراءة من .claude (الموجه + المهارات)
OPENCODE_DISABLE_CLAUDE_CODE_PROMPTbooleanتعطيل قراءة ~/.claude/CLAUDE.md
OPENCODE_DISABLE_CLAUDE_CODE_SKILLSbooleanتعطيل تحميل .claude/skills
OPENCODE_DISABLE_MODELS_FETCHbooleanتعطيل جلب النماذج من مصادر بعيدة
OPENCODE_FAKE_VCSstringمزود VCS وهمي لأغراض الاختبار
OPENCODE_DISABLE_FILETIME_CHECKbooleanتعطيل التحقق من وقت الملف لتحسين الأداء
OPENCODE_CLIENTstringمعرّف العميل (الافتراضي cli)
OPENCODE_ENABLE_EXAbooleanتفعيل أدوات بحث الويب من Exa
OPENCODE_SERVER_PASSWORDstringتفعيل المصادقة الأساسية لخادمي serve/web
OPENCODE_SERVER_USERNAMEstringتجاوز اسم مستخدم المصادقة الأساسية (الافتراضي opencode)
OPENCODE_MODELS_URLstringرابط مخصص لجلب تهيئة النماذج

تجريبي

تقوم متغيرات البيئة التالية بتفعيل ميزات تجريبية قد تتغير أو تتم إزالتها.

المتغيرالنوعالوصف
OPENCODE_EXPERIMENTALbooleanتفعيل جميع الميزات التجريبية
OPENCODE_EXPERIMENTAL_ICON_DISCOVERYbooleanتفعيل اكتشاف الأيقونات
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECTbooleanتعطيل النسخ عند التحديد في TUI
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MSnumberالمهلة الافتراضية لأوامر bash بالميلي ثانية
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAXnumberالحد الأقصى لرموز المخرجات لاستجابات LLM
OPENCODE_EXPERIMENTAL_FILEWATCHERbooleanتفعيل مراقب الملفات لكامل الدليل
OPENCODE_EXPERIMENTAL_OXFMTbooleanتفعيل مُنسّق oxfmt
OPENCODE_EXPERIMENTAL_LSP_TOOLbooleanتفعيل أداة LSP تجريبية
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHERbooleanتعطيل مراقب الملفات
OPENCODE_EXPERIMENTAL_EXAbooleanتفعيل ميزات Exa التجريبية
OPENCODE_EXPERIMENTAL_LSP_TYbooleanتفعيل تدقيق أنواع LSP تجريبي
OPENCODE_EXPERIMENTAL_MARKDOWNbooleanتفعيل ميزات markdown تجريبية
OPENCODE_EXPERIMENTAL_PLAN_MODEbooleanتفعيل وضع الخطة