Files
Boyce 010d99c2d5 docs(i18n): translate the review-bot row and refresh README stamps
c962177c7 rewrote the 'codewhale review' table row in README.md but left
all 18 translations on the old wording, missing link and stale stamps,
so scripts/check-readme-translations.py fails on main. Translate the new
row in every pack (linking the anchor that commit added) and bump the
stamps.

Signed-off-by: Boyce <[email protected]>
2026-10-29 16:05:13 +08:00

20 KiB
Raw Permalink Blame History

Codewhale

وكيل برمجة مفتوح المصدر لطرفيتك يعمل مع أي نموذج.

أعطِ Codewhale مهمة فيقرأ المستودع ويعدّل الملفات ويشغّل الأوامر إلى أن تكتمل المهمة أو يحتاج إلى مُدخل منك. يعمل مع أكثر من 40 مزوّدًا مدمجًا، وDeepSeek V4.1 Flash هو الخيار الافتراضي، ومع نماذج تعمل على جهازك. ويسرد /receipts الملفات التي غيّرها والأوامر التي شغّلها واستدعاءات الويب وMCP التي أجراها.

CI crates.io npm License: MIT Discord

الموقع · التوثيق · سجل التغييرات · المساهمة

English · 简体中文 · 日本語 · Tiếng Việt · Bahasa Indonesia · 한국어 · Español · Português · Русский · Українська · Français · Deutsch · 繁體中文 · हिन्दी · Türkçe · Italiano · Polski · Català

جلسة Codewhale في الطرفية

نسخة تطوير من 0.10.2 مع نموذج اختبار ذي ردود مُعدّة مسبقًا، بإذن Full Access داخل مساحة عمل مؤقتة. أما التعديل والاختبارات الثلاثة ومراجعة الوكيل الفرعي فقد جرت فعلًا.

Codewhale × OrcaRouter — استخدام إضافي بنسبة 30% لـ DeepSeek v4.1 Flash

اطّلع على عرض Codewhale × OrcaRouter. تحصل Codewhale على عمولة إحالة من OrcaRouter.

التثبيت

على macOS وLinux:

curl -fsSL https://codewhale.net/install.sh | sh

يضع المثبّت codewhale واسمه البديل المختصر codew في ~/.local/bin بعد التحقق منهما بمجموع الاختبار (checksum). إذا أظهرت الصدفة بعد ذلك command not found، فشغّل سطر PATH الذي يطبعه المثبّت (التفاصيل). ويرقّيه الأمر codewhale update. تثبّت هذه الأوامر أحدث إصدار. أما هذه الصفحة فتتبع main، لذا فالميزة المعلَّمة برقم إصدار تصل في ذلك الإصدار؛ ويسرد سجل التغييرات ما يضيفه كل إصدار.

Windows وnpm وCargo وطرق تثبيت أخرى
winget install HunterBown.CodeWhale  # Windows x64 (or Scoop, or the installer from GitHub Releases)
npm install -g codewhale            # wraps the same release binaries
cargo install codewhale-cli --locked  # crates.io; can trail GitHub Releases

تتوفر ملفات ثنائية جاهزة لأنظمة Linux وmacOS وWindows على x64 وarm64. وتجد Nix وHomebrew على Linux وAndroid/Termux (معاينة) والتنزيل اليدوي في دليل التثبيت، والحاويات في Docker. التزم بطريقة تثبيت واحدة لكل جهاز؛ وإلا ستوجد نسختان على PATH وتُستخدم النسخة التي تأتي أولًا.

البدء السريع

  1. احفظ عملك بعمل commit أو stash، ثم شغّل codewhale من جذر مستودع git. افتراضيًا يطبّق تعديلات الملفات هناك دون أن يسأل، ويعرض لك الفروقات (diff).
  2. شغّل /provider (أو اضغط F3)، واختر مزوّدًا، والصق مفتاح API الخاص به، ثم اختر نموذجًا. DeepSeek هو المزوّد الافتراضي. إن لم يكن لديك مفتاح، فاختر بيئة تشغيل محلية بدلًا من ذلك. وإذا لم يكن أي مزوّد مُعدًّا وكان Ollama يقدّم نموذج محادثة بالفعل، يستخدمه Codewhale تلقائيًا؛ وبدءًا من 0.10.2 يعرضه عليك عندما ترسل رسالتك الأولى.
  3. اكتب مهمة:
Fix the failing tests and explain what changed.

تعمل الأوامر المخصصة للقراءة فقط فورًا. أما أي أمر صدفة آخر فيسأل Codewhale عنه أولًا: y يشغّله مرة واحدة، وa يسمح بالأوامر المشابهة له لبقية المحادثة، وn يرفضه. ويُلغي /undo آخر طلب لك وتغييرات الملفات الناتجة عنه. ويسرد /help الأوامر واختصارات لوحة المفاتيح.

في السكربتات وCI، يشغّل codewhale exec مهمة واحدة دون الواجهة. افتراضيًا، يستخدم --auto وضع Full Access: تعمل الأدوات دون سؤال، وتعمل أوامر الصدفة دون صندوق حماية Codewhale، ويتيح وضع الثقة لأدوات الملفات الكتابة خارج مساحة العمل. أضف --sandbox workspace-write للإبقاء على صندوق حماية الصدفة وقيود مساحة العمل على أدوات الملفات، مع تعطيل وضع الثقة:

codewhale exec --auto --sandbox workspace-write "fix the failing tests and explain what changed"

الأوضاع والأذونات

يبدأ التثبيت الجديد في وضع Work مع إذن Ask.

التبديل عبر الخيارات
الوضع (Mode) Tab (عندما يكون حقل الإدخال فارغًا) أو /mode في Plan يقرأ ويبحث لكنه لا يغيّر شيئًا. وفي Work يعدّل الملفات ويشغّل الأوامر. أما Operate فله صلاحيات Work نفسها، ويعامل طلبك على أنه هدف، ويواصل العمل حتى يُتحقَّق من الهدف أو يحتاج إلى مُدخل منك.
الإذن (Permission) Shift+Tab مع Ask تُطبَّق تعديلات الملفات في مستودعك دون سؤال، ويسأل قبل أوامر الصدفة التي ليست للقراءة فقط. ومع Auto-Review تعتمد القواعد ونموذج مراجِع الاستدعاءات الروتينية، ويرفض هذا الإذن الاستدعاءات عالية الخطورة؛ انتقل إلى Ask لتوافق عليها بنفسك. أما Full Access فلا يسأل أبدًا ويوقف صندوق حماية Codewhale؛ وتظل قواعد المستودع والسياسة المُدارة سارية.

راجع دليل الأوضاع والأذونات للتفاصيل.

ما الذي يفعله

الجديد في 0.10.2

  • يحوّل /pet on طرفيتك إلى حوت متحرك يُظهر ما يفعله الوكيل، بينما يبقى مربع الرسائل قابلًا للاستخدام. وتكتب جسيماته البالغ عددها 980 الخطوة الحالية بالإنجليزية أو الصينية أو اليابانية.
  • يعرض /workbar terminal الصدفات التي يشغّلها الوكيل أثناء عملها. اكتب في إحداها، أو اضغط Ctrl+N لتفتح صدفة خاصة بك (macOS وLinux).
  • يتراجع /undo عن آخر طلب لك كاملًا في خطوة واحدة، بما في ذلك كل ملف غيّره، ويعمل /diff في المجلدات التي لا تستخدم Git.
  • عندما تكون الخطة جاهزة، يسألك Codewhale هل تبدأ Work بإذن Ask أو Auto-Review، أم تواصل التخطيط.
  • يمنح /color كل محادثة لونًا خاصًا بها لمربع الكتابة، ويُحفظ مع الجلسة.
  • يمكن أن يستخدم web_search واجهة Search API الجديدة من DeepSeek: اضبط [search] provider = "deepseek" مع مفتاح DeepSeek.
  • خارج Full Access، لا يعمل أبدًا أمر curl أو wget قد يرفع بيانات اعتماد دون موافقتك، ويُرفض الأمر الذي يُخفي محارف Unicode غير مرئية. ولم يعد write يستبدل ملفًا لم يقرأه الوكيل، أو ملفًا تغيّر بعد أن قرأه.

النماذج

يأتي Codewhale بأكثر من 40 مزوّدًا مدمجًا، منها Anthropic وOpenAI وDeepSeek وGoogle وMistral وMoonshot وOpenRouter وxAI. وتعمل أي نقطة نهاية متوافقة مع OpenAI، وكذلك النماذج المحلية عبر Ollama أو vLLM أو SGLang. والنموذج الافتراضي هو deepseek-flash من DeepSeek، الذي نقلته DeepSeek إلى DeepSeek-V4.1-Flash-1017 في 2026-10-17؛ ويشغّله 0.10.1 دون تحديث (التفاصيل).

ويبدّل /model النموذج بين دورات المحادثة، ويختار /model auto نموذجًا لكل دورة (ويضبط /router طريقة الاختيار). ويعرض /turn inspect النموذج الذي استخدمته الدورة وتكلفتها والمدة التي استغرقتها. ويتيح لك codewhale auth chatgpt استخدام اشتراك ChatGPT بدلًا من مفتاح API (تجريبي). راجع المزوّدين.

الإيصالات والتراجع

يسرد /receipts، أو codewhale receipts --last بعد الخروج، الملفات التي تغيّرت، والأوامر التي شُغّلت، واستدعاءات الويب وMCP، والوكلاء الذين شُغّلوا، والموافقات ومن منحها، وحالات الفشل. ويُلغي /undo آخر طلب لك والملفات التي غيّرها، في خطوة واحدة ومن دون وضع الثقة. ويعيد /restore مساحة العمل كلها إلى لقطة سابقة؛ ولأن ذلك يكتب فوق التعديلات اللاحقة، فإنه يتطلب /trust on أو Full Access. راجع الإيصالات.

تُحفظ عمليات تشغيل exec التي تتيح أدوات بكل صيغ الإخراج، لذا يعمل codewhale receipts --last بعد exec --auto، بما في ذلك مع --json. أما عمليات التشغيل التي تقتصر على الإجابة بإخراج نصي أو --json فلا تُحفظ إلا عند الاستئناف أو عند بدء ضغط المحادثة؛ استخدم --output-format stream-json لحفظها دائمًا من أجل الإيصالات أو exec --continue.

الأعمال الأطول

يحدد /goal هدفًا يستمر عبر دورات المحادثة. ويستطيع Codewhale توزيع العمل على وكلاء فرعيين، أو تشغيل فريق وكلاء، أو اتباع سير عمل مضمَّن في المستودع.

إن كنت قادمًا من وكيل آخر

يقرأ Codewhale ملف AGENTS.md من تلقاء نفسه. أما ملفات التعليمات المكتوبة لأدوات أخرى، مثل CLAUDE.md أو .cursorrules أو .github/copilot-instructions.md، فلا تُحمَّل إلا عندما تختار ذلك بإضافة project_instruction_imports = ["claude"] (أو "cursor" أو "cline" أو "windsurf" أو "copilot" أو "all") إلى ملف إعداداتك؛ راجع config.example.toml. ويُصدر Codewhale تحذيرًا عندما يعثر على ملف منها لم يحمّله.

يجهّز /import-claude استيرادًا لإعدادات Claude Code وخوادم MCP الخاصة بك لتراجعه. ويقبل /plugin install إضافات Claude Code التي تحتوي على مهارات وأوامر وملفات تعريف وكلاء وخوادم MCP، ويرفض الإضافات التي تحتاج إلى خطافات أو خوادم LSP (التفاصيل).

الامتدادات

اربط خوادم MCP، وأضف المهارات والإضافات، وشغّل الخطافات عند أحداث الجلسة والأدوات. ويتيح وضع الشيفرة (Code mode، تجريبي ومفعّل افتراضيًا) للنموذج كتابة برنامج execute_tools واحد يستدعي عدة أدوات من MCP والإضافات؛ ويظل كل استدعاء خاضعًا لقواعد الموافقة لديك ويحتفظ بإيصاله. وتستطيع إضافة Computer Use المثبّتة بشكل مستقل (تجريبية، لنظام macOS فقط) مراقبة التطبيقات الأخرى والتحكم فيها. وتبقى معطّلة إلى أن تراجع صلاحيات وصولها وتفعّلها (الدليل).

طرق التشغيل

الأمر ما يفعله
codewhale تطبيق الطرفية التفاعلي
codewhale exec "…" مهمة واحدة دون الواجهة. دون خيارات إضافية يجيب دون استخدام الأدوات؛ ويفعّل --auto الأدوات مع Full Access افتراضيًا، ويقيّدها --sandbox workspace-write، ويبث --output-format stream-json الأحداث بصيغة JSON
codewhale web واجهة ويب محلية على 127.0.0.1 (الدليل)
codewhale review --pr N مراجعة استشارية لطلب pull request على GitHub. يُنشئ إعداد بوت GitHub سير عمل مثبّت الإصدار للمراجعات التلقائية و@codewhale review، باستخدام مفتاح النموذج الخاص بك وهوية App اختيارية
codewhale app-server --http واجهة Runtime API، وهي واجهة HTTP محلية للخيوط والأحداث والموافقات وتغييرات الملفات في كل دورة
codewhale serve --acp بروتوكول Agent Client Protocol عبر stdio، لمحررات مثل Zed

يتشارك تطبيق الطرفية وexec وweb وRuntime API محركًا واحدًا (البنية). ويتصل به من الشريط الجانبي امتداد VS Code الذي يصونه المجتمع (المصدر). ويجري تطوير تطبيق أصلي لسطح المكتب مبني على Runtime API؛ ولا يتوفر له تنزيل عام بعد.

التكلفة والحسابات

يُتاح Codewhale مجانًا بترخيص MIT. عندما تستخدم مفتاح API الخاص بك تدفع للمزوّد مباشرة؛ ولا تحتاج النماذج المحلية إلى مفتاح. ويعرض الشريط السفلي و/cost تكلفة الجلسة عندما يكون السعر معروفًا، ويُعرض السعر غير المعروف على أنه غير معروف، ولا يُعرض أبدًا على أنه مجاني.

لا تحتاج إلى حساب. وتبقى المفاتيح التي تضيفها عبر /provider على جهازك.

الأمان والخصوصية

في Ask وAuto-Review تعمل الأوامر داخل صندوق حماية نظام التشغيل حيثما يوفّر النظام واحدًا: Seatbelt على macOS، وbubblewrap على Linux عندما يكون مثبّتًا. لا يوجد على Windows صندوق حماية لنظام التشغيل بعد، ويوقف Full Access صندوق الحماية. وداخل صندوق الحماية لا تستطيع أوامر الصدفة قراءة مخازن بيانات الاعتماد مثل ~/.ssh و~/.aws وملفات .env؛ وبدءًا من 0.10.2 تشمل القاعدة نفسها جلسات الطرفية ومزيدًا من أدوات الملفات. ويعرض /preview-request معاينة للطلب التالي بعد حجب بياناته الحساسة (redacted)، دون إرساله.

القياس عن بُعد مفعّل افتراضيًا. يرسل أعدادًا مجمّعة (الإصدار والمنصة، ومدة الجلسة ونتيجتها، والمزوّدين المدمجين الذين استخدمتهم، وأعداد الميزات والأخطاء) مع معرّف تثبيت عشوائي يتغيّر كل 90 يومًا، ولا يرسل أبدًا المحادثات أو الشيفرة أو الموجّهات (prompts) أو أسماء النماذج أو أسماء الملفات أو المستودعات أو بيانات الاعتماد. ويوقفه الأمر codewhale config set telemetry false. وعند بدء التشغيل يتحقق Codewhale أيضًا من GitHub بحثًا عن إصدار جديد؛ اضبط CODEWHALE_NO_UPDATE_CHECK=1 لتخطي ذلك. المزيد في ترتيب التفويض وصندوق الحماية والقياس عن بُعد.

التوثيق

ابدأ من هنا المرجع
التثبيت الإعدادات
المزوّدون والنماذج المحلية البنية
الأوضاع والأذونات Runtime API
اختصارات لوحة المفاتيح تأليف الإضافات
مراجعة PR على GitHub كل التوثيق

المجتمع

إذا كان هناك مزوّد مفقود أو سير عمل غير مريح، فافتح issue أو أرسل pull request. يحتفظ المساهمون بالفضل في العمل الذي يُدمج، وتوضّح بنية المستودع مكان كل شيء.

تواصل معنا على Discord، أو أضف القائم على صيانة المشروع، Hunter، على WeChat (hunterbown) واطلب الانضمام إلى مجموعة Whale Brothers.

التاريخ والترخيص

بدأ Codewhale باسم deepseek-tui ولا يزال يقرأ إعدادات ذلك المشروع وجلساته. ويُصان باستقلال، وليس تابعًا لـ DeepSeek ولا لأي مزوّد نماذج آخر. شكرًا لـكل من ساهم.

Codewhale contributors

الترخيص: MIT. والشيفرة المقتبسة من مشاريع مفتوحة المصدر أخرى مُدرجة في إشعارات الأطراف الثالثة.