Deepseek ArtifactsDeepseek Artifacts
Claude Code CLI · 2026

شريط الحالة في Claude Code: أقِمه بأمر /statusline (2026)

حوّل أسفل طرفيتك إلى لوحة قياس حيّة — النموذج، ومؤشر نافذة السياق، وفرع git، والمجلد، والتكلفة كلها في نظرة واحدة. اثنتا عشرة خطوة مصوّرة من أمر /statusline المدمج إلى شريط ملوّن مصقول، مع حلول ما لا يظهر فيه الشريط.

الخلاصة السريعة

  • /statusline مدمج في Claude Code. شغّله مرة، وصِف الشريط الذي تريده في جملة واحدة، فيكتب وكيل statusline-setup السكربت ويضبط كتلة statusLine داخل ~/.claude/settings.json عنك.
  • على Windows يعرض الوكيل ثلاثة مسارات: تحويل ملف PowerShell profile، أو الإشارة إلى إعداد WSL أو Git Bash، أو إنشاء نسخة افتراضية جديدة تعرض المستخدم والمجلد والنموذج واستخدام السياق.
  • يقرأ السكربت مستند JSON واحدًا من stdin — model.display_name وworkspace.current_dir وcontext_window.used_percentage وcost.total_cost_usd وغيرها — وكل ما يطبعه echo يصير شريطك. ألوان ANSI وصفوف متعددة مسموح بها.
  • كل شيء يعمل محليًا ولا يستهلك أي توكنات. تتجدد التحديثات مع أحداث الجلسة (أو كل N ثانية عبر refreshInterval)، وعندما تعفي عنه يزيله /statusline clear دفعة واحدة.

How to Set Up a Custom Status Line in Claude Code CLI to Track API Costs and Context Usage (2026)

القناة:ProgrammingKnowledge23:32

مشاهدة

Claude Code最該裝的不是Skill,是這個腳本|彩色進度條、費用、git 分支一眼看完

القناة:YAHA學堂8:44

مشاهدة

Your Claude Code Terminal Should Look Like This (Status Line Setup)

القناة:Leon van Zyl9:02

مشاهدة

How to Add a Custom Status Line in Claude Code on Windows 11 (Project-Level Setup)

القناة:Devtamin7:27

مشاهدة

Status line — Claude Code documentation

الوثائق:code.claude.com

مشاهدة

سُجلت الخطوات 1–4 على Windows PowerShell والخطوات 5–12 على macOS؛ واللقطات الثابتة مأخوذة من تسجيلات شاشة نظيفة فقط — ولم تُستخدم أي إطارات فيها كاميرا المُنشئ أو طبقات مطبوعة.

نصائح الإعداد — ذكر نظام التشغيل، وإبقاء السكربت عامًا في ملف مستقل، والحاجة إلى jq، وحيلة ملف التصحيح — من الفيديوهين الإضافيين المشار إليهما أعلاه. أسماء الحقول وسلوك التحديث في الأقسام المتعمقة تتبع وثائق شريط الحالة الرسمية.

جولة /statusline — 12 خطوة مصوّرة

شغّل /statusline ودع Claude يوصّل كل شيء

  1. 1

    شغّل Claude Code في طرفيتك

    أطلق claude في PowerShell أو الطرفية أو أي شل. الجلسة الجديدة لا تُظهر سوى صندوق الترحيب وسطر أوامر فارغ — الشريط أسفل حقل الإدخال، حيث سيسكن شريط الحالة، لا يوجد حتى تُضاف كتلة statusLine إلى ~/.claude/settings.json.

    Claude Code v2.1.83 welcome box open in a Windows PowerShell terminal after typing claude, with an empty input prompt and no status line beneath it
    جلسة Claude Code v2.1.83 جديدة في Windows PowerShell — صندوق ترحيب، وسطر إدخال فارغ، ولا شريط حالة بعد.شاهد عند 0:22
  2. 2

    اكتب أمر /statusline

    يصفه قائمة الأوامر المائلة ببساطة: إعداد واجهة شريط الحالة في Claude Code. اضغط Enter. هذا الأمر المدمج يفهم اللغة الطبيعية، فلن تحتاج إلى كتابة سكربت يدويًا — ومع ذلك لك حرية تعديل ما يولّده لاحقًا كما تشاء.

    Slash command /statusline typed into Claude Code with the autocomplete menu labelling it as the way to set up Claude Code’s status line UI
    الإكمال التلقائي يعرّف /statusline بأنه الأمر الذي يضبط واجهة شريط الحالة في Claude Code.شاهد عند 0:32
  3. 3

    أجب عن أسئلة وكيل الإعداد

    يتولى الأمر وكيل statusline-setup المخصص. على Windows يبلّغ بعدم العثور على إعداد شل قياسي ويعرض ثلاثة مسارات: أن تلصق ملف PS1 ليحوّله، أو تشير إلى إعداد WSL أو Git Bash، أو تبدأ بنسخة افتراضية تعرض المستخدم والمجلد والنموذج واستخدام السياق. المسارات الثلاثة تنتهي جميعها عند كتلة settings.json نفسها.

    statusline-setup agent on Windows reporting it could not find standard shell config files and offering to paste a PS1, point at a WSL or Git Bash config, or set up a fresh statusline showing user, directory, model and context usage
    خيارات الوكيل الثلاثة على Windows: تحويل PS1، أو تخصيص إعداد، أو البدء من افتراضي محكم.شاهد عند 1:20
  4. 4

    راجع الإعداد والسكربت الذي كتبهما

    عند انتهائه يطبع الوكيل معاينة للشريط — اسم المستخدم والمجلد وفرع git والنموذج ونسبة السياق — ويحدد بدقة مكان كل شيء: الإعدادات في ~/.claude/settings.json والسكربت في ~/.claude/statusline-command.sh. على macOS وLinux يمكن للخطوة نفسها أن تحوّل سطر التوجيه الحالي لديك في .zshrc أو .bashrc بدل البدء من الصفر.

    Claude Code confirming your status line is configured with a preview reading hardik, ~/Dev/project, main, Claude Opus 4.6 and ctx:42%, and noting the config is in ~/.claude/settings.json with the script at ~/.claude/statusline-command.sh
    تأكيد الإعداد بمعاينة hardik | ~/Dev/project | main | Claude Opus 4.6 | ctx:42% مع مساري الملفين.شاهد عند 3:06

صِف الشريط الذي تريده بلغة بسيطة

  1. 5

    اطلب الشريط الذي تريده بدقة

    أعد تشغيل /statusline متى شئت وصِف الشريط في جملة واحدة: اعرض اسم النموذج ونسبة السياق مع شريط تقدم. الطلبات بلغات أخرى تعمل أيضًا — فالأمر في جوهره مجرد prompt للوكيل. كل طلب جديد يعيد كتابة السكربت نفسه ولا يكدّس نسخًا مكررة.

    Natural language request /statusline show model name and context percentage with a progress bar submitted to Claude Code, which replies Noodling while it works
    طلب واحد بلغة بسيطة — اسم النموذج وشريط تقدم لنسبة السياق — هو الواجهة بأكملها.شاهد عند 1:07
  2. 6

    شاهد أداة statusline-setup وهي تعمل

    يستدعي Claude Code أداة statusline-setup المدمجة فتقرأ ~/.claude/settings.json الحالي وسكربت شريط الحالة ثم تعيد كتابتهما. تلخّص بطاقة Claude المنبثقة الميزة: إعداد شريط حالة مخصص لمراقبة استخدام نافذة السياق والتكاليف وحالة git.

    Built-in statusline-setup tool configuring the status line while a white Configuration tooltip reads Customize your status line to monitor context window usage, costs and git status in Claude Code
    أداة statusline-setup أثناء التشغيل: تقرأ الإعدادات والسكربت، ويظهر وصف الميزة عند التحويم.شاهد عند 1:12
  3. 7

    تعرّف على شريطك الجديد

    عند الانتهاء يلخّص الوكيل التصميم — اسم النموذج بالسماوي الغامق، وشريط سياق من عشرين خانة يبقى أخضر حتى 49% ويصفر عند 50% ويحمرّ عند 80% — والشريط يعمل فعلًا أسفل طرفيتك. لا حاجة لإعادة تشغيل؛ اطلب التعديلات في الجلسة نفسها.

    Claude Code summarising the freshly configured status line — a bold cyan model name and a 20 character context bar green to 49 percent, yellow to 79 and red above — above the live Opus 4.6 bar reading 2 percent
    يلخّص الوكيل فوق الشريط الحي لـ Opus 4.6 (1M context) الذي يعرض سياق 2%.شاهد عند 1:27

اقرأ السكربت الذي ولّده

  1. 8

    مستند JSON واحد يصل عبر stdin

    افتح السكربت المولَّد — ~/.claude/statusline.sh على macOS وLinux، أو نسخة .ps1 / statusline-command.sh على Windows. مع كل تحديث يمرّر Claude Code لقطة JSON من الجلسة إلى المدخل القياسي للسكربت. يحلّل الباش المولَّد الحقول عبر jq: .model.display_name و.workspace.current_dir و.cost.total_cost_usd و.cost.total_duration_ms و.context_window.used_percentage.

    Top of statusline.sh parsing the stdin JSON with jq into MODEL, DIR, COST and PCT variables, then choosing BAR_COLOR red at 90 percent context used and yellow at 70
    قسم التحليل: خمس قراءات jq من stdin، ثم اختيار BAR_COLOR عند عتبتي 90% و70% من السياق.شاهد عند 5:46
  2. 9

    ما تطبعه echo يصبح الشريط

    ذيل السكربت عرض مجرد: تكلفة منسّقة بـ printf، ومللي ثانية تتحول إلى دقائق وثوانٍ، وecho واحد لكل صف من صفوف الشريط — النموذج مع المجلد وفرع git في الصف الأول، والشريط والنسبة والتكلفة والمؤقت في الثاني. رموز ألوان ANSI مرحّب بها، وكل echo إضافي يضيف صفًا ببساطة.

    Lower half of statusline.sh turning DURATION_MS into minutes and seconds, appending the git branch from git rev-parse, and echoing the model row plus the bar, percentage, cost and elapsed time row
    سطرا echo يصنعان صفّي الشريط: النموذج مع المجلد والفرع، ثم الشريط والنسبة والتكلفة والمؤقت.شاهد عند 6:13
  3. 10

    أضف وعي git بالطريقة نفسها

    بيانات git على بُعد استدعاء عملية فرعية واحدة: git rev-parse --git-dir يكشف المستودع، وgit branch --show-current يجلب اسم الفرع، وgit diff --cached --numstat و--numstat يحصيان الملفات المرحّلة والمعدلة. المثال المولَّد يلوّن العدد المرحّل بالأخضر والمعدل بالأصفر — حارس رخيص إن كنت تدير عدة جلسات Claude Code على فروع متعددة.

    Close-up of GIT_STATUS logic colouring staged counts green and modified counts yellow with ANSI escape codes next to the BRANCH detection in a Claude Code statusline script
    GIT_STATUS مجمّع من عددي المرحّل والمعدل، ملون بالأخضر والأصفر برموز ANSI.شاهد عند 5:01

الكتلة بيدك: مسح وإعادة كتابة وصفوف متعددة

  1. 11

    كل شيء معلّق بكتلة واحدة في settings.json

    ألقِ نظرة في ~/.claude/settings.json وستجد الميزة كلها كائن statusLine واحدًا: type بقيمة "command" مع الأمر المطلوب تشغيله — bash ~/.claude/statusline-command.sh في هذا الإعداد. نفّذ /statusline clear فيحذف الوكيل الكتلة؛ صِف شريطًا جديدًا فيعيد كتابتها. ويعمل أيضًا ملف .claude/settings.json على مستوى المشروع إن أردت شريطًا لكل مستودع.

    Diff of ~/.claude/settings.json deleting the statusLine block with type command pointing at bash /Users/matt/.claude/statusline-command.sh after /statusline cleared the config
    فرق /statusline clear: تترك كتلة statusLine ملف settings.json، جاهزة لإعادة الكتابة.شاهد عند 1:41
  2. 12

    خطوة أبعد: صفوف متعددة للتكلفة والمدة وروابط المستودع

    الصفوف تتراكم مجانًا، لذا يطبع مثال الوثائق الرسمي متعدد الأسطر رابط مستودع قابلًا للنقر عبر تسلسلات الهروب OSC 8، ثم صفًا ثانيًا يحمل شريط السياق وتكلفة الجلسة منسّقة بـ printf '$%.2f' والدقائق والثواني المنقضية. العتبات، ونسب حدود المعدل، ووضع vim — اطلب أي تركيبة وواصل التحسين حتى تناسبك اللوحة.

    statusline.sh snippet building a clickable repo link with printf OSC 8 escapes and printing line one with model and branch plus line two with context bar, cost and duration
    مثال مشروح: رابط OSC 8 للمستودع في السطر الأول؛ الشريط والتكلفة والمدة في الثاني.شاهد عند 7:31

JSON على stdin الذي يتلقاه سكربت شريط الحالة

عند استدعاء السكربت يضع Claude Code لقطة JSON من الجلسة في المدخل القياسي. هذه الحقول الجديرة بالمعرفة وفق الوثائق الرسمية — اذكر أيًا منها في جملة /statusline وسيتكفل الوكيل بالباقي:

  • 1أساسيات الجلسة — session_id وtranscript_path وcwd وversion، إضافة إلى session_name وprompt_id بعد إرسال أول prompt.
  • 2model.id وmodel.display_name — نموذج Claude النشط الذي يبدأ به الشريط غالبًا.
  • 3workspace.current_dir وworkspace.project_dir وworkspace.added_dirs، إضافة إلى workspace.git_worktree وrepo.owner / repo.name عندما ينتمي المجلد إلى مستودع مُستضاف.
  • 4context_window.used_percentage وremaining_percentage — يحسب used توكنات الإدخال وإنشاء الكاش وقراءته لكنه لا يشمل التوكنات الناتجة.
  • 5يتفصّل context_window.current_usage إلى input_tokens وoutput_tokens وcache_creation_input_tokens وcache_read_input_tokens؛ ويكون null قبل أول استدعاء API وبعد /compact مباشرة.
  • 6cost.total_cost_usd وcost.total_duration_ms وcost.total_api_duration_ms وcost.total_lines_added وcost.total_lines_removed — لشرائط نمط الإنفاق والإيقاع.
  • 7على خطط Pro/Max تجد rate_limits.five_hour وrate_limits.seven_day مع used_percentage وresets_at (وتظهر ثنائية spend_limit لإعدادات البوابة) — قد يغيب كل نافذة على حدة، فاحرص على التحقق.
  • 8وإضافات — exceeds_200k_tokens وfast_mode وeffort.level وthinking.enabled وoutput_style.name وvim.mode وagent.name وpr.number / pr.url / pr.review_state وعائلة worktree.*.

تتبع أسماء الحقول وثائق شريط الحالة الرسمية، وتتضمن الوثائق نفسها سكربتات جاهزة لـ Bash وPython وNode.js، ونسخة Windows PowerShell، ووصفة كاش git للأجهزة البطيئة.

استكشاف الأخطاء: شريط غائب أو خاطئ أو متقادم

معظم إخفاقات شريط الحالة ترجع إلى واحدة من خمس أسباب، وكلها تُصلَح من الجلسة نفسها دون إعادة تثبيت.

  1. 1لا يظهر شيء إطلاقًا — افحص أولًا سلامة JSON في ~/.claude/settings.json؛ في أحد التسجيلات بقيت جلسة Windows صامتة حتى صُحّح محرف زائد في مسار الأمر وأُعيد تشغيل الجلسة. يختفي الشريط أيضًا ما دامت نوافذ الأذونات مفتوحة، ولن تعمل السكربتات قبل الوثوق بمساحة العمل.
  2. 2شريط فارغ بلا خطأ — فقد خرج السكربت برمز غير صفري أو لم يطبع شيئًا. شغّله يدويًا، مثل echo '{"model":{"display_name":"Opus"}}' | bash ~/.claude/statusline.sh، واقرأ الخرج؛ كما يسجل claude --debug مخرجات stderr للسكربت.
  3. 3يعمل في مشروع واحد فقط — فقد سقطت الكتلة في ملف .claude/settings.json على مستوى المشروع بدل مجلدك الرئيسي. انقلها إلى ~/.claude/settings.json لتحصل على شريط في كل مشروع.
  4. 4الأرقام تبدو خاطئة — فالسكربت على الأرجح يقرأ الخاصية الخطأ. اطلب من Claude تفريغ JSON الخام القادم عبر stdin في ملف تصحيح، واقرأ ذلك الملف وصحّح الحقل؛ هكذا تمامًا أصلحت جلسة macOS المسجلة نسبتها بنفسها.
  5. 5السكربت موجود لكنه لا يرسم شيئًا على macOS أو Linux — jq غير مثبت. ثبّته (brew install jq أو sudo apt install jq أو ما يعادله على Windows)، ثم اطلب من Claude تحديث شريط الحالة ليُعاد توليد السكربت وفقًا له.

معدل تجدد الشريط (وما يكلّفه)

يعمل السكربت مرة عند بدء الجلسة، ثم يعيد العمل كلما حدث شيء: رسالة مساعد جديدة، أو اكتمال /compact، أو تغيير وضع الأذونات أو وضع vim، أو تعديل الأمر نفسه، أو إعادة تعيين نافذة حدود المعدل، أو انتهاء صلاحية كاش prompt الدافئ. تخضع التحديثات لـ debounce بمقدار 300 مللي ثانية، ويُلغى التشغيل الجاري إذا وصل تشغيل أحدث.

لأن التحديثات مدفوعة بالأحداث، قد يسكت الشريط أثناء الخمول — كأثناء انتظار تشغيل طويل لوكيل فرعي مثلاً. أضف refreshInterval إلى كتلة statusLine لإعادة تشغيل السكربت كل N ثانية للبيانات المرتبطة بالزمن. لا شيء من هذا يلامس الـ API: يعمل السكربت محليًا ولا يستهلك أي توكنات، وكل سطر echo إضافي يُرسم صفًا آخر.

وهناك مقبضان إضافيان للهواة: hideVimModeIndicator يخفي نص -- INSERT -- المدمج إذا كان سكربتك يرسم وضع vim بنفسه، وإعداد subagentStatusLine المستقل يمنح الوكلاء الفرعيين صفوفها المخصصة في لوحة الوكلاء.

الأسئلة الشائعة حول شريط حالة Claude Code

أدلة ذات صلة