عن المشروع

craft (anacraft) هو أداة سطر أوامر مكتوبة بلغة Rust تُعدّ Google Analytics 4 لنطاق وتعيد قراءة المقاييس الناتجة كلوحة تحكم طرفية. لغة العرض الخاصة به مستوحاة من Minecraft: أشرطة بنمط خام، سبعة ألواح حية، تغذية أحداث في الوقت الفعلي وإشعارات إنجاز، مع لوحات ألوان قابلة للاختيار تشمل osaka-jade (الافتراضي)، catppuccin، github، tokyo-night وcatppuccin-latte. الأمر هو craft؛ ويتم تثبيت anacraft alongside كاسم مستعار. التثبيت والاستخدام الأساسي - نص تثبيت يُقدَّم من anacraft.dev ويضع الملف الثنائي في /usr/local/bin عند إمكانية الكتابة، وإلا في ~/.local/bin، دون الحاجة إلى sudo؛ متغير INSTALL_DIR يحدد موقعًا آخر. بنى المصدر تستخدم cargo install --git، وتُنشر الثنائيات المُحضَّرة مسبقًا في إصدارات GitHub الخاصة بالمشروع. - تشغيل anacraft دون أمر يفتح لوحة التحكم (dash هو الافتراضي). في حالة عدم وجود خاصية محفوظة، يعمل على بيانات اصطناعية، لذا يمكن تجربته قبل تسجيل الدخول. - مسار البدء السريع: craft configure لنطاق جديد، أو craft login ثم craft props و craft use لربط خاصية موجودة. - التقارير الفورية تطبع وتخرج: overview، pages، portals (مصادر الحركة)، realms (البلدان)، live وdemo، مع خيارات --days و--theme. - علمان عامان: --property يختار خاصية غير الافتراضي المحفوظ؛ --theme يتجاوز اللوحة لتشغيل واحد. تنسيقات الإخراج للبرمجة overview يقبل --format json (كائن واحد مُسمّى يحتوي على الوحدات، الفترة السابقة، النسبة المئوية للتغير، سلسلة المستخدمين اليومية والإنجازات) أو --format slack (حمولة Block Kit). كلاهما يطبع الحمولة فقط، لذا يمكن أن يكون ملخص أسبوعي سطر cron واحد يُPipe إلى ويب هوك. لا يتطلب أي من التنسيقين اشتراكًا. لوحة التحكم يمكن تبديل كل من الألواح السبعة باستخدام المفاتيح من 1 إلى 7 (أو اختصارات حروفية)، وتتدفق الألواح المتبقية لتملأterminal: EVENTS، RIGHT NOW (اللاعبين المباشرين وتغذية الأحداث)، COUNTRIES (رسم خريطة عالمية)، TOP PAGES، VITALS (المستخدمين، الجلسات، المشاهدات، التحويلات، معدل الارتداد، متوسط الجلسة)، TOP COUNTRIES وDAILY USERS. عناصر تحكم أخرى تشمل tab للتنقل بين الخصائص، shift-D لنسيان الخاصية المعروضة محليًا، t للتبديل وحفظ لوحة الألوان، r لإجبار إعادة جلب، overlay للمساعدة والخروج. التنبيهات craft watch يقارن اليوم الكامل الأكثر recent بمتوسط الأيام السابقة ويبلغ عن الانحرافات التي تتجاوز عتبات لكل مقياس مستمدة من تاريخ الموقع الخاص. يحدد الانخفاضات، الارتفاعات والصمت (عدد ينخفض إلى الصفر مقابل أساس غير صفر، كما عند إزالة علامة). تختلف القيم الافتراضية لكل مقياس (على سبيل المثال 30 بالمائة للمستخدمين والجلسات، 40 بالمائة للتحويلات، 20 بالمائة لمعدل الارتداد)، ويمكن ضبط العتبات وطول الأساس لكل خاصية في الإعدادات، ولا يُطلق أساس أقل من حد قابل للتكوين تنبيه عدد. تحمل التنبيهات قيمة المقياس، الحركة، الأساس ومخطط شراري، وتسمي القناة المهيمنة فقط عندما تمثل جزءًا كبيرًا من الحركة. يتم حفظ الحالة في ~/.anacraft/watch.json مفهرسًا باليوم بحيث يُصدر تنبيهًا واحدًا لكل يوم؛ أكواد الخروج هي 0 لعدم إطلاق أي شيء، 2 لتنبيه و1 لخطأ. خيارات التسليم تشمل --every للفحص المتكرر و--webhook لإرسال POST؛ craft slack --install يرشد خلال شاشة تثبيت Slack الخاصة ويحفظ عنوان ويب هوك وارد، باستخدام أضيق نطاق ينشر إلى القناة المختارة. خادم MCP للمساعدين craft mcp يعرض التقارير عبر بروتوكول سياق النموذج، بحيث يمكن لـ Claude Desktop، Claude Code أو عملاء MCP آخرين الإجابة على أسئلة حول موقع. craft mcp --install يكتب (ويزيل --uninstall) إدخال خادم في إعدادات العميل؛ يستخدم Claude Code claude mcp add. الأدوات تشمل site_status، live_visitors، list_pages، list_events، list_referrers، list_traffic_sources، list_countries، list_properties، search_pages، search_events وconfigure_site. يُوصف configure_site بأنه الكاتب الوحيد، حيث ينشئ خاصية وتدفق ويب لنطاق غير مُتتبع ويعيد العلامة؛ تسجيل الدخول واختيار الخاصية يظلان أمرًا بشريًا فقط. الردود هي JSON منظم مُسمّى بمعرف الخاصية ونافذة التاريخ المغطاة، وتُخزن التقارير المتطابقة لمدة تقارب دقيقة لتقليل استخدام حصة API. الإعداد والبيانات الاعتبارية توجد الخصائص وإعداداتها في ~/.config/anacraft/config.toml (يتم honour XDG_CONFIG_HOME)، بينما يُحفظ رمز تجديد OAuth عمدًا خارج هذا الدليل في ~/.anacraft/token.json. تتراكم الخصائص المتعددة في الإعداد وتنتقل بينها باستخدام tab، مع أن آخر خاصية تمت مشاهدتها عند الإغلاق تصبح النشطة. ترتيب الحل هو --property، ثم متغير البيئة ANACRAFT_PROPERTY_ID، ثم الخاصية النشطة المحفوظة. متغيرات بيئة أخرى تشمل ANACRAFT_WEBHOOK وللاستخدام عميل OAuth سحابي Google شخصي بدلاً من المدمج، ANACRAFT_OAUTH_CLIENT_ID وANACRAFT_OAUTH_CLIENT_SECRET. المتطلبات وملاحظات المشروع تتضمن المتطلبات خاصية GA4، طرفية TrueColor، وللبناء من المصدر Rust 1.74 أو أحدث. المستودع مرخص تحت رخصة Apache 2.0 ويتضمن إرشادات المساهمة؛ cargo run -- dash --demo يوفر لوحة تحكم تعمل دون حساب Google، ومهارة Claude Code تُشحن تحت .claude/skills/anacraft/. السياق التجاري ترتبط عدة قدرات بخطط مدفوعة (تُشار إليها باسم Anacrafter والمستويات فوقها، بدءًا من 2.99 دولارًا شهريًا في صفحة تسعير المشروع): craft configure، إرسال تنبيهات watch إلى Slack، وخادم MCP. أوضاع التجريب للوحة التحكم، watch وخادم MCP تعمل دون حساب أو اشتراك، وتنسيقات تقرير JSON وSlack لـ overview تُصرّح بأنها لا تحتاج اشتراكًا. في حالة عدم وجود خطة أو تسجيل دخول، لا يزال خادم MCP يبدأ وأدواته تُبلغ بما هو مطلوب بدلاً من الخروج.