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

أداة سطر الأوامر

ثبّت الأمر oleafly على Windows أو macOS أو Linux، وابنِ المشاريع وافحصها من طرفية أو من CI، وزامن مع خدمة LaTeX عبر الإنترنت، واربط وكلاء البرمجة عبر خادم MCP الخاص به ومهارته.

يأتي Oleafly مع oleafly، أداة سطر أوامر تعمل على المشاريع نفسها التي يعمل عليها التطبيق. ابنِ ورقة أو افحصها من طرفية أو من نص برمجي أو من CI. امنح وكيل برمجة طريقًا موثوقًا إلى مشروعك. زامن مع خدمة LaTeX عبر الإنترنت أو مع خادم Oleafly، أو شغّل وكيل Oleafly دون فتح التطبيق.

وهو يأتي داخل التطبيق على كل المنصات. تغطي هذه الصفحة الأوامر في Oleafly 0.4.8 وما بعده. كانت الإصدارات الأقدم تحوي أوامر أقل، لذا ثبّت إصدار Oleafly في النصوص البرمجية التي تعتمد عليه.

النظامأين يحتفظ به التطبيقضع oleafly على PATH
Windowsoleafly-cli.exe بجوار التطبيق، في %LOCALAPPDATA%\Oleafly لبرنامج الإعداد أو C:\Program Files\Oleafly لحزمة MSIيؤدي Install في صف Terminal command ضمن Settings → General إلى نسخه إلى %LOCALAPPDATA%\Oleafly\bin\oleafly.exe وإضافة ذلك المجلد إلى PATH لديك
macOSOleafly.app/Contents/MacOS/oleafly-cliيربط Install في صف Terminal command الأمر oleafly داخل /usr/local/bin إذا كان بإمكانك الكتابة هناك، وإلا داخل ~/.local/bin
حزم Linux (.deb و.rpm)/usr/bin/oleafly-cliلا شيء تفعله: تثبّت الحزمة /usr/bin/oleafly
AppImage على Linuxداخل AppImageيؤدي Install إلى نسخه إلى ~/.local/bin/oleafly

البرامج التي يشغّلها Oleafly، مثل طرفيته الخاصة ووكلاء CLI، تجد oleafly دائمًا على PATH لديها، حتى قبل أن تثبّته. ويحمل المتغير OLEAFLY_CLI مساره الكامل.

  1. افتح Settings → General واختر Install في صف Terminal command.
  2. افتح نافذة PowerShell أو Command Prompt جديدة. النوافذ المفتوحة من قبل تحتفظ بـ PATH القديم.
  3. تحقق من أنه يعمل:
نافذة المحطة الطرفية
Get-Command oleafly
oleafly version

يحذف Remove في الصف نفسه النسخة ويُخرج المجلد من PATH مرة أخرى. وعندما يتحدّث Oleafly، يجدد النسخة عند تشغيله في المرة التالية.

انقل Oleafly إلى مجلد Applications أولًا. النسخة التي تعمل من صورة القرص تعرض “Move Oleafly to your Applications folder first” بدلًا من Install.

الأمر رابط إلى التطبيق، لذا يؤدي تحديث Oleafly إلى تحديث الأمر أيضًا. وإذا لم يكن المجلد على PATH لديك، يعرض الصف السطر الذي تضيفه إلى ملف تهيئة الغلاف. تحقق منه بـ command -v oleafly.

تضع حزم .deb و.rpm الأمر oleafly على PATH لديك عند تثبيتها. وتشغيل oleafly دون أي شيء بعده يفتح التطبيق.

يحتاج AppImage إلى نسخة، لأن الملفات داخل AppImage تزول عندما يُغلق. وبعد أن تستبدل AppImage بنسخة أحدث، يعرض الصف Update. وإذا لم يكن ~/.local/bin على PATH لديك، يعرض الصف السطر الذي تضيفه.

يطبع oleafly version إصدار التطبيق والمحركات التي سيستخدمها الأمر. ويفحص oleafly doctor المحركات والتطبيق وGit وأمر الطرفية وعملاء MCP لديك، ويطبع إصلاحًا لكل ما هو ناقص. وهو يعمل خارج المشروع أيضًا.

يفتح oleafly . المجلد الحالي في التطبيق. وكل أمر آخر يعمل على المجلد الذي أنت فيه؛ ويوجّهه -C متبوعًا بمسار إلى مكان آخر.

نافذة المحطة الطرفية
cd ~/papers/thesis
oleafly init --engine typst
oleafly build
oleafly log --diagnostics
oleafly -C ~/papers/review --json build
  • يجعل oleafly init المجلد الحالي مشروعًا. ويقبل --engine القيم tectonic أو latexmk أو typst أو markdown.
  • ينشئ oleafly new متبوعًا بمجلد و--template ومعرّف قالب مشروعًا من قالب. ويسرد oleafly templates list --all القوالب.
  • يستخدم oleafly build محرك المشروع وإعداداته، بالطريقة نفسها التي يعمل بها التطبيق: Tectonic وTypst وPandoc المرفقة مع Oleafly، أو LaTeX الذي ثبّتّه. ويبني --main مستندًا آخر من المشروع، ويختار --compiler مجمّع LaTeX لمشاريع latexmk، وينسخ -o ملف PDF إلى مكان آخر، ويضبط --timeout الحد بالثواني.
  • المجلد الذي فتحته في مكانه في التطبيق يُبنى بالمحرك والمستند الرئيسي اللذين اخترتهما هناك، داخل مجلد البناء الخاص بالتطبيق.
  • لا يبني التطبيق والأمر المشروع نفسه في وقت واحد: ينتظر الثاني الأول. والبناء الفاشل يُبقي آخر ملف PDF سليم.
  • يعيد oleafly watch البناء عند كل حفظ. ويسرد oleafly log --diagnostics الأخطاء والتحذيرات مع الملف والسطر، ويزيل oleafly clean مخرجات البناء.

للتفاصيل الخاصة بـ Typst، انظر مشاريع Typst.

تعمل وكلاء البرمجة على أفضل وجه مع ثلاثة أشياء يمنحها الأمر: oleafly context لخريطة المشروع، و--json لنتائج يمكنها قراءتها، ورموز خروج تقول ما الذي حدث خطأً. وهناك ثلاث طرق لربط وكيل.

يأتي Oleafly بمهارة اسمها oleafly-cli. وهي تعلّم الوكيل الأوامر ومخرجات JSON ورموز الخروج، والحلقة التي تعمل أفضل: اقرأ السياق، وعدّل، وابنِ، واقرأ التشخيصات، وأصلح الخطأ الأول.

في طرفية Oleafly ووكلاء CLI الذين يشغّلهم، اختر المهارة كأي مهارة أخرى. وللوكيل الذي تشغّله بنفسك، فعّل Settings → AI Assistant → Skills → Share skills with other agents on this computer. يربط Oleafly عندها مهاراته، ومنها oleafly-cli، بالمجلدات التي تقرؤها وكلاء البرمجة الأخرى، مثل ~/.claude/skills و~/.codex/skills و~/.agents/skills. ويطبع oleafly skills path مكان المهارات، للوكلاء الذين يقرؤون مجلدًا آخر.

oleafly mcp هو خادم MCP يتحدث عبر الإدخال والإخراج القياسيين. وعندما يكون مشروعك مفتوحًا في التطبيق، فإنه يمرّر الاستدعاءات إلى خادم MCP الخاص بالتطبيق، فيحصل الوكيل على كل أدوات التطبيق وعلى مطالبات موافقتك. وإلا فإنه يعمل بمفرده، بأدوات قراءة (حالة المشروع، وخريطة المشروع، والملفات، والبحث، والسجلات، وتقرير doctor، والبحث عن الاستشهادات) وcompile. لا يوجد عنوان URL أو رمز لنسخه، ولا Node.js لتثبيته.

أسرع إعداد هو oleafly mcp config --client متبوعًا بـ claude-code أو claude-desktop أو codex أو cursor أو gemini. فهو يطبع المدخل الخاص بذلك العميل؛ وأضف --write ليُضاف لك، مع نسخة احتياطية من ملف العميل. أعد تشغيل العميل أو أعد الاتصال به بعد ذلك. داخل مشروع يكتب إعدادات المشروع؛ وفي غير ذلك يكتب إعدادات المستخدم، مع المسار الكامل للأمر، لأن التطبيقات التي تشغّلها من سطح المكتب قد لا ترى PATH لديك.

نافذة المحطة الطرفية
claude mcp add --scope user oleafly -- oleafly mcp

داخل مشروع، يضيف oleafly mcp config --client claude-code --write الخادم إلى ملف .mcp.json الخاص بالمشروع بدلًا من ذلك.

يشغّل Claude Desktop الخوادم دون مجلد مشروع، لذا يعمل مدخله دائمًا عبر التطبيق: أبقِ Oleafly مفتوحًا مع مشروعك. استخدم المسار الكامل إلى oleafly. وعلى Windows، ضاعف كل شرطة مائلة عكسية في المسار.

claude_desktop_config.json
{
"mcpServers": {
"oleafly": {
"command": "/usr/local/bin/oleafly",
"args": ["mcp", "--bridge", "always"]
}
}
}

يوجد الملف في ~/Library/Application Support/Claude على macOS وفي %APPDATA%\Claude على Windows.

~/.codex/config.toml
[mcp_servers.oleafly]
command = "oleafly"
args = ["mcp"]
tool_timeout_sec = 300

استخدم ~/.cursor/mcp.json لكل المشاريع، أو .cursor/mcp.json داخل مشروع واحد.

~/.cursor/mcp.json
{
"mcpServers": {
"oleafly": {
"command": "oleafly",
"args": ["mcp"]
}
}
}
~/.gemini/settings.json
{
"mcpServers": {
"oleafly": {
"command": "oleafly",
"args": ["mcp"],
"timeout": 300000
}
}
}

يرسم oleafly context خريطة المشروع: ملفاته ومخططه التفصيلي ووسومه واستشهاداته والملفات الناقصة والإحالات غير المحلولة ومشكلات آخر بناء. ويعطي --format md نصًا تلصقه في موجّه، ويعطي --format json الخريطة نفسها لبرنامج.

يشغّل oleafly check فحوصات Preflight على المشروع، بالنتائج نفسها التي تعرضها لوحة Preflight: المراجع والاستشهادات والوسوم والملفات الناقصة وحقول قائمة المراجع والأشكال وإخفاء الهوية في التحكيم الأعمى. والفحوصات التي تحتاج إلى ملف PDF المجمّع تستخدم آخر بناء.

يشغّل oleafly lint فحوصات LaTeX وBibTeX، والتدقيق الإملائي والنحوي في الإصدارات التي تتضمنه. ويطبّق --fix الإصلاحات التي يمكن تطبيقها بأمان.

كلاهما يقبل --format human أو json أو sarif، ويجعلهما --exit-code ينتهيان بالرمز 9 عندما يجدان مشكلات. ويعمل SARIF مع خدمات فحص الشيفرة مثل خدمة GitHub: اكتب التقرير بـ oleafly check --format sarif -o preflight.sarif، وارفعه بإجراء upload-sarif، فيظهر كل اكتشاف على سطره في طلب السحب.

زامن مع خدمة LaTeX عبر الإنترنت

قسم بعنوان “زامن مع خدمة LaTeX عبر الإنترنت”

ينزّل oleafly remote المشاريع من حسابك في خدمة LaTeX عبر الإنترنت ويُبقي مجلدًا متزامنًا مع أحدها، بعملية الدمج نفسها التي يستخدمها التطبيق.

تُحفظ عمليات تسجيل الدخول في المخزن المشفّر للتطبيق، فيعمل تسجيل دخول أجريته في التطبيق على سطر الأوامر والعكس بالعكس.

  • يحفظ oleafly auth login online --with-token رمز Git من إعدادات حساب الخدمة. ويحتاج الربط والمزامنة إلى واحد.
  • ينسخ oleafly auth login online --from-browser firefox تسجيل دخولك من متصفح على هذا الحاسوب، لسرد المشاريع وتنزيلها. يعمل Firefox على كل الأنظمة؛ ويعمل Chrome وEdge وBrave على macOS. ويقرأ --cookie-stdin ملف تعريف ارتباط الجلسة بدلًا من ذلك.
  • يحفظ oleafly auth login git --host https://gitlab.com رمزًا لمضيف Git.
  • يسرد oleafly auth status كل عمليات تسجيل الدخول ومصدر كل منها، دون إظهار أي سر.
  • يزيل oleafly auth logout تسجيل دخول.
نافذة المحطة الطرفية
oleafly remote list
oleafly remote import 64a1f0c2e5b7 --into ~/papers
cd ~/papers/thesis
oleafly remote link
oleafly remote sync
  • ينزّل oleafly remote import المشاريع إلى مجلدات جديدة. وهو يعمل مع أي حساب.
  • يربط oleafly remote link مجلدًا بمشروعه على الإنترنت عبر تكامل Git في الخدمة، وهو يحتاج إلى رمز Git.
  • يدمج oleafly remote sync التغييرات التي على الإنترنت في المجلد ويرسل تغييراتك. ويعرض --dry-run ما سيتغير، ويدمج --no-push دون إرسال.
  • عندما يتغير ملف على الجانبين، لا تكتب المزامنة شيئًا وتنتهي بالرمز 8. شغّلها مرة أخرى مع --resolve ومسار الملف متبوعًا بـ =local أو =remote لكل ملف.
  • يعرض oleafly remote diff ما يختلف؛ ومع --exit-code ينتهي بالرمز 9 عندما تختلف الملفات وبالرمز 8 عندما تتعارض. ويبني --latexdiff --pdf ملف PDF موسومًا بتغييراتك، باستخدام latexdiff من توزيعة TeX لديك.
  • تعرض oleafly remote status وoleafly remote unlink وoleafly remote open الرابط، وتزيله، وتفتح المشروع في متصفحك.

يسجّل oleafly server sign-in متبوعًا بعنوان الخادم دخول سطر الأوامر برمز توافق عليه في متصفحك. وسطر الأوامر جهاز قائم بذاته على الخادم، منفصل عن التطبيق.

  • يعرض oleafly server status وoleafly server projects خوادمك والمشاريع المشتركة.
  • يعرض oleafly server share رابط المشروع ويشغّل مشاركة الرابط والتعليقات أو يوقفها.
  • يسرد oleafly server members الأشخاص في مشروع ويضيفهم أو يزيلهم أو يغيّر أدوارهم. ولا يستطيع تغيير المشاركة والأعضاء إلا المالك.
  • يسرد oleafly server comments التعليقات ويضيفها ويردّ عليها ويحلّها. والتعليق الذي لا يمكن إرساله فورًا يُحفظ ويُرسل في المرة التالية.

تتم مشاركة مشروع للمرة الأولى في التطبيق. انظر التعاون المباشر.

يجيب oleafly ask عن سؤال حول المشروع دون تغيير أي شيء. ويؤدي oleafly agent run مهمة.

نافذة المحطة الطرفية
oleafly ask "Which sections cite Smith 2021?"
oleafly agent run --allow write "Fix the overfull boxes in chapter 3"
  • يستطيع الوكيل قراءة المشروع دائمًا. ويضيف --allow القيم write أو commands أو network، ويرفض الوكيل كل ما لم تسمح به. ولا يتوقف أبدًا ليطرح سؤالًا.
  • تذهب التغييرات إلى مجلد مراجعة في .oleafly/agent-runs/ أولًا. ويكتبها oleafly agent apply متبوعًا بذلك المجلد في المشروع، ويكتبها --apply في التشغيل مباشرة.
  • يأتي المزوّد والنموذج ومستوى الجهد من إعدادات التطبيق، أو من --provider و--model و--effort. ويأتي المفتاح من متغير البيئة الخاص بالمزوّد نفسه، مثل ANTHROPIC_API_KEY، أو من المخزن المشفّر للتطبيق.
  • يطبع --json نتيجة واحدة عند انتهاء التشغيل، ويضيف --events سطر JSON لكل حدث أثناء العمل.

أبقِ مهام البحث تعمل بعد إغلاق التطبيق

قسم بعنوان “أبقِ مهام البحث تعمل بعد إغلاق التطبيق”

علّم مهمة بحث بالخيار Keep running when Oleafly is closed. وعندما تغلق التطبيق، يتولى مساعد صغير يعمل في الخلفية تلك المهام وتواصل تجاربها عملها. والخطوة التي تحتاج إلى موافقتك توقف المهمة مؤقتًا وترسل إشعارًا. وعندما تفتح Oleafly مرة أخرى، يستعيد المهام ويعرض ما حدث. أوقف هذا، أو شغّل المساعد عند تسجيل الدخول، ضمن Settings → Research → Background tasks. ويعرض oleafly daemon status ما يفعله المساعد.

يشرح كل أمر خياراته بـ --help. المرجع الكامل في المستودع: docs/cli.md (يفتح في علامة تبويب جديدة).

الأمرما يفعله
oleafly openيفتح مجلدًا في التطبيق (oleafly . للمجلد الحالي)
oleafly initيجعل المجلد الحالي مشروعًا
oleafly newينشئ مشروعًا، من قالب إذا سمّيت واحدًا
oleafly templatesيسرد القوالب ويعرض أحدها
oleafly buildيبني المشروع
oleafly watchيعيد البناء عند كل حفظ
oleafly cleanيزيل مخرجات البناء
oleafly logيعرض سجل آخر بناء أو مشكلاته
oleafly doctorيفحص المحركات والتطبيق وإعدادك
oleafly versionيعرض الإصدار والمحركات المستخدمة
oleafly project infoيعرض إعدادات المشروع
oleafly projects listيسرد مشاريع التطبيق
oleafly configيقرأ إعدادات المشروع والتطبيق ويضبطها
الأمرما يفعله
oleafly citeيطبع BibTeX لـ DOI أو معرّف arXiv أو ISBN أو معرّف PubMed؛ ويضيفه --add إلى قائمة المراجع
oleafly literatureيبحث في OpenAlex وSemantic Scholar وCrossref وarXiv وPubMed
oleafly bib checkيجد المدخلات التي لا تطابق أي سجل حقيقي
oleafly bib cleanيصلح مفاتيح الاستشهاد ويزيل التكرارات؛ ويكتب --apply التغييرات
oleafly statsيعدّ الكلمات والعناوين والأشكال والمعادلات
oleafly synctexيربط سطر مصدر بملف PDF والعكس
oleafly exportيصدّر المستند إلى Word وHTML وMarkdown وEPUB وغيرها
oleafly convertيحوّل ملفًا واحدًا إلى صيغة أخرى
oleafly typstيسرد نسخ Typst ويثبّتها ويزيلها
oleafly checkpointيسرد نقاط التحقق المحفوظة في التطبيق ويقارنها وينسخها
الأمرما يفعله
oleafly contextيرسم خريطة المشروع لشخص أو لوكيل
oleafly mcpيشغّل خادم MCP؛ ويُعدّ mcp config عميلًا
oleafly skillsيسرد المهارات ويطبع أماكنها
oleafly askيجيب عن سؤال حول المشروع
oleafly agentيشغّل وكيل Oleafly على مهمة
oleafly daemonيشغّل المساعد الذي يُبقي المهام تعمل ويتحكم فيه
الأمرما يفعله
oleafly checkيشغّل فحوصات Preflight
oleafly lintيشغّل فحوصات LaTeX وBibTeX والتدقيق الإملائي والنحوي
الأمرما يفعله
oleafly authيسجّل الدخول إلى خدمات LaTeX عبر الإنترنت وخوادم Oleafly ومضيفي Git
oleafly remoteيستورد المشاريع التي على الإنترنت ويربطها ويزامنها
oleafly serverيعمل مع خوادم Oleafly: المشاريع والمشاركة والأعضاء والتعليقات
الأمرما يفعله
oleafly completionsيطبع إكمالات الغلاف لـ bash وzsh وfish وPowerShell وelvish
oleafly manيطبع صفحة الدليل
oleafly help exit-codesيشرح رموز الخروج
الخيارما يفعله
-C متبوعًا بمساريشغّل الأمر على مجلد مشروع آخر
--jsonيطبع نتيجة JSON واحدة
--eventsيطبع التقدم كأسطر JSON قبل النتيجة
--quietيطبع النتيجة فقط
--logيعرض سجل المجمّع none أو tail أو full
--no-inputلا يطرح سؤالًا أبدًا
--colorيستخدم اللون auto أو always أو never

مع --json، يطبع كل أمر كائن JSON واحدًا: schema_version وok وcommand وحقول الأمر الخاصة وwarnings. وعندما يفشل أمر، يحمل error قيمة kind وcode ثابتًا وmessage. وعندما يفيد ذلك، يحمل أيضًا hint وdetails، و"retryable": true إذا كانت إعادة المحاولة قد تنجح. تحقق من schema_version قبل أن تعتمد على أي حقل.

{
"schema_version": 1,
"type": "result",
"ok": false,
"command": "remote sync",
"error": {
"kind": "conflict",
"code": "remote.conflicts",
"message": "2 files changed both here and online.",
"hint": "Pick a side with --resolve PATH=local or --resolve PATH=remote, then sync again.",
"details": { "conflicts": ["main.tex", "refs.bib"] }
},
"warnings": []
}

يضيف --events سطر JSON واحدًا لكل حدث تقدم قبل النتيجة.

يطبع oleafly help exit-codes الجدول نفسه.

الرمزالمعنى
0نجح الأمر
1حدث خطأ داخل Oleafly
2استُخدم الأمر استخدامًا خاطئًا، أو يحتاج إلى --yes ليمضي
3المشروع مفقود أو غير صالح، أو مسار يشير إلى خارجه
4أداة يحتاج إليها أو تطبيق Oleafly غير مثبّتة
5فشل البناء
6تحتاج إلى تسجيل الدخول
7فشلت الشبكة
8شيء آخر يحتجز المشروع، أو في المزامنة تعارضات
9وجد فحص مشكلات
130ضغطت Ctrl+C

لا يطرح الأمر سؤالًا أبدًا دون طرفية. ويوقف --no-input الأسئلة أيضًا، وكذلك يفعل المتغير CI؛ والأمر الذي يحتاج إلى «نعم» يفشل عندئذ برمز الخروج 2 ويطلب --yes. ويوقف NO_COLOR أو --color never اللون. وتُرفض المسارات التي تخرج من المشروع.

المتغيرالاستخدام
OLEAFLY_DATA_DIRمجلد بيانات Oleafly، عندما لا يكون ~/.oleafly
OLEAFLY_TECTONIC, OLEAFLY_LATEXMK, OLEAFLY_TYPST, OLEAFLY_PANDOCمجمّع يُستخدم بدلًا من الذي يجده Oleafly
OLEAFLY_APPتطبيق Oleafly الذي يشغّله oleafly open
OLEAFLY_ONLINE_GIT_TOKENرمز Git لخدمة LaTeX عبر الإنترنت، يُستخدم بدلًا من الرمز المحفوظ
OLEAFLY_CLIيعيّنه Oleafly للبرامج التي يشغّلها: المسار الكامل للأمر
CIعند تعيينه، لا يطرح الأمر سؤالًا أبدًا
NO_COLORعند تعيينه، لا يكون في المخرجات لون
ما تراهما تجرّبه
oleafly غير موجودافتح طرفية جديدة. ثم تحقق بـ Get-Command oleafly على Windows أو command -v oleafly على macOS وLinux، وأضف السطر الذي تعرضه Settings إلى ملف تهيئة الغلاف لديك
يبلّغ oleafly doctor عن محرك ناقصثبّته بالأمر الذي يطبعه doctor، أو افتح المشروع في التطبيق مرة
عميل MCP لا يستطيع بدء الخادمشغّل الأمر المهيأ في طرفية، واستخدم المسار الكامل من oleafly mcp config، وشغّل oleafly doctor
رمز الخروج 6شغّل oleafly auth status، ثم سجّل الدخول مرة أخرى
رمز الخروج 8 أثناء مزامنةشغّل المزامنة مرة أخرى مع --resolve لكل ملف تسرده
على macOS، تقول Settings “Move Oleafly to your Applications folder first”انقل التطبيق، وافتحه من Applications، ثم اختر Install
معاينة الصورة

تعذّر تحميل إجابات الذكاء الاصطناعي

حاول مرة أخرى، أو ابحث في الوثائق.