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]>
20 KiB
وكيل برمجة مفتوح المصدر لطرفيتك يعمل مع أي نموذج.
أعطِ Codewhale مهمة فيقرأ المستودع ويعدّل الملفات ويشغّل الأوامر إلى أن تكتمل
المهمة أو يحتاج إلى مُدخل منك. يعمل مع أكثر من 40 مزوّدًا مدمجًا، وDeepSeek V4.1 Flash هو
الخيار الافتراضي، ومع نماذج تعمل على جهازك. ويسرد /receipts الملفات التي غيّرها
والأوامر التي شغّلها واستدعاءات الويب وMCP التي أجراها.
الموقع · التوثيق · سجل التغييرات · المساهمة
English · 简体中文 · 日本語 · Tiếng Việt · Bahasa Indonesia · 한국어 · Español · Português · Русский · Українська · Français · Deutsch · 繁體中文 · हिन्दी · Türkçe · Italiano · Polski · Català
نسخة تطوير من 0.10.2 مع نموذج اختبار ذي ردود مُعدّة مسبقًا، بإذن Full Access داخل مساحة عمل مؤقتة. أما التعديل والاختبارات الثلاثة ومراجعة الوكيل الفرعي فقد جرت فعلًا.
اطّلع على عرض 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 وتُستخدم النسخة التي تأتي أولًا.
البدء السريع
- احفظ عملك بعمل commit أو stash، ثم شغّل
codewhaleمن جذر مستودع git. افتراضيًا يطبّق تعديلات الملفات هناك دون أن يسأل، ويعرض لك الفروقات (diff). - شغّل
/provider(أو اضغطF3)، واختر مزوّدًا، والصق مفتاح API الخاص به، ثم اختر نموذجًا. DeepSeek هو المزوّد الافتراضي. إن لم يكن لديك مفتاح، فاختر بيئة تشغيل محلية بدلًا من ذلك. وإذا لم يكن أي مزوّد مُعدًّا وكان Ollama يقدّم نموذج محادثة بالفعل، يستخدمه Codewhale تلقائيًا؛ وبدءًا من 0.10.2 يعرضه عليك عندما ترسل رسالتك الأولى. - اكتب مهمة:
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 ولا لأي مزوّد نماذج آخر. شكرًا
لـكل من ساهم.
الترخيص: MIT. والشيفرة المقتبسة من مشاريع مفتوحة المصدر أخرى مُدرجة في إشعارات الأطراف الثالثة.
