Skip to content

Arabic automation

Busbar edited this page Nov 2, 2026 · 1 revision

الأتمتة

English

كل ما تفعله الأزرار هو أمر له معرّف، مثل capture.fullscreen أو doc.export. النافذة وأداة سطر الأوامر وقناة التحكم وخادم MCP تستدعي القائمة نفسها. ما تستطيع نقره تستطيع كتابته في سكربت. بعض الأوامر بلا زر بعد. تلك في آخر هذه الصفحة.

screenit-cli يُبنى بجانب التطبيق (cargo build --release -p screenit-cli) ويُضمَّن عند تجهيز إصدار.

أمر واحد

screenit-cli commands --ids
screenit-cli exec capture.fullscreen
screenit-cli exec doc.export '{"path":"C:\\Users\\Public\\shot.png"}'

exec يطبع نتيجة JSON. الحقول غير المعروفة تُرفض ولا يُطبَّق شيء. المعاملات السيئة تُرجع خطأ. لا تُسقط العملية.

عدة أوامر في جلسة واحدة

screenit-cli run '[["capture.fullscreen",{}],["doc.export",{"path":"shot.png"}]]'

التطبيق وهو يعمل

ما دام screenit.exe مفتوحًا فهو يستمع على 127.0.0.1 ومنفذ مؤقت. %LOCALAPPDATA%\screenIt\control.json يحتوي port وtoken وpid. كل طلب يجب أن يحمل هذا الرمز. الطلبات تُنفَّذ على خيط الواجهة، فتتحدث النافذة فورًا. تنتهي مهلة الرد بعد 60 ثانية.

$c = Get-Content "$env:LOCALAPPDATA\screenIt\control.json" | ConvertFrom-Json
$tcp = [System.Net.Sockets.TcpClient]::new("127.0.0.1", $c.port)
$w = [System.IO.StreamWriter]::new($tcp.GetStream()); $w.AutoFlush = $true
$r = [System.IO.StreamReader]::new($tcp.GetStream())
$w.WriteLine((@{ id = 1; token = $c.token; method = "engine.execute";
  params = @{ command = "capture.fullscreen"; params = @{} } } | ConvertTo-Json -Depth 5 -Compress))
$r.ReadLine()

طريقتان مهمتان:

الطريقة الغرض
engine.commands تسرد كل أمر: المعرّف، والتسمية، ومسار القائمة، والاختصار، ووصف المعاملات، وهل يجب أن يكون هناك مستند مفتوح.
engine.execute تشغّل أمرًا واحدًا. الجسم: {"command","params"}.

screenit-cli serve يتكلم JSON نفسه، كائنًا في كل سطر على stdin/stdout، في جلسة بلا واجهة وبلا رمز. screenit-cli mcp يقدّم الأوامر نفسها أدوات Model Context Protocol على stdio، لوكيل يستدعي screenIt مباشرة.

مواصفات البروتوكول في docs/control-protocol.md داخل المستودع.

أوامر بلا زر في 0.2.2

هذه تعمل. ليست في شريط الالتقاط ولا في المحرر.

الأمر ماذا يفعل
capture.scroll.begin و.add_frame و.finish و.cancel لقطة تمرير تُضم الإطارات فيها.
capture.freehand وcapture.multi_area وcapture.fixed وcapture.last_region أشكال تحديد أخرى، وتكرار المستطيل السابق.
capture.preset.save و.list و.delete و.run إعدادات التقاط مسماة، منها التأخير وهل يُفتح المحرر.
doc.export بمسار .jpg أو .gif أو .bmp أو .tif أو .webp أو .pdf يسطّح المستند المفتوح إلى تلك الصيغة. زر المحرر نفسه يطلب PNG دائمًا.
image.border وimage.shadow وimage.edges وimage.reflection وimage.spotlight وimage.watermark وimage.perspective وimage.pagecurl وimage.fade وimage.canvas وimage.trim وimage.combine إطار، وظل، وحافة ممزقة، وانعكاس، وضوء مسلط، وعلامة مائية، ومنظور، وطي صفحة، وما يتصل بها.
image.grayscale وimage.invert وimage.sepia وimage.blur وimage.pixelate وimage.sharpen وimage.resize وimage.rotate وimage.flip_horizontal وimage.flip_vertical تعديلات على البكسلات.
editor.smart_redact يجد البريد والهاتف وأرقام البطاقات (Luhn) وعناوين IP والروابط وعباراتك، ثم يبكسلها أو يموّهها. الجودة تتبع التعرّف على النص.
image.remove_background إزالة خلفية حسب اللون ابتداءً من الزوايا. ليس نموذج تقسيم.
video.trim وvideo.cut وvideo.combine وvideo.gif وvideo.from_images قص أو قطع أو دمج تسجيلات، أو GIF متحركة، أو MP4 من صور. القص يعيد الترميز.
record.devices يسرد الكاميرات وأجهزة التسجيل ذات الصلة.
settings.get وsettings.set وsettings.reset وsettings.open قراءة ملف الإعدادات وكتابته.
ocr.info يبلّغ عن محرك التعرّف النشط واللغات المثبّتة.

مرّر المعاملات JSON. screenit-cli commands يطبع نص المعاملات لكل معرّف. المستند الناقص يُرجع خطأ من الأوامر التي تطلب مستندًا، مثل doc.export قبل أي التقاط.

التالي

التقاط الشاشة · تسجيل الشاشة · اختصارات لوحة المفاتيح

Clone this wiki locally