Project Files
README.md
إضافة شاملة لـ LM Studio تتيح أدوات متقدمة لإدارة الملفات، تنفيذ JavaScript، والتعامل مع Excel والذاكرة السياقية.
D:\bido\project_tools\newtools\ # الجذر الرئيسي للإضافة ├── manifest.json # بيانات الإضافة ├── package.json # تبعيات Node.js ├── tsconfig.json # إعدادات TypeScript ├── src\ # الكود المصدري │ ├── index.ts # نقطة الدخول │ ├── toolsProvider.ts # مزود الأدوات الرئيسي │ └── findLMStudioHome.ts # مساعد العثور على مجلد LM Studio ├── dist\ # الملفات المترجمة (تُنشأ بعد البناء) │ ├── index.js # نقطة الدخول المترجمة │ ├── toolsProvider.js # مزود الأدوات المترجم │ └── ... # ملفات أخرى مترجمة └── copilot_unit\ # مجلد العمل (يُنشأ تلقائياً) ├── scripts\ # سكربتات JavaScript ├── memory\ # ملفات الذاكرة السياقية ├── execution_trace.md # سجل تنفيذ الأوامر └── ... # ملفات أخرى حسب الاستخدام
# انتقل إلى مجلد الإضافة cd D:\bido\project_tools\newtools # تثبيت التبعيات (إن لم تكن مثبتة) npm install # بناء الإضافة npm run build
لماذا من الجذر؟
lms dev يبحث عن manifest.json في المجلد الحاليmain: "dist/index.js" نسبة للجذر__dirname لتحديد موقع copilot_unitالوضع الافتراضي:
لتغيير الجذر:
للوصول خارج copilot_unit (غير آمن):
writeFile - كتابة أو إنشاء ملفreadFile - قراءة محتوى ملفrenameFile - إعادة تسمية ملفdeleteFile - حذف ملفcreateFolder - إنشاء مجلدrunJavaScript - تنفيذ JavaScript عبر Node.js
{ code: "console.log('مرحبا')" }{ file: "scripts/test.js" }{ code: "...", args: ["arg1", "arg2"] }{ code: "...", timeoutMs: 30000 }readExcelSheet - قراءة ورقة ExcelappendExcelRow - إضافة صف إلى ExcelsaveContextMemory - حفظ ذاكرة سياقيةloadContextMemory - تحميل ذاكرة سياقيةlogExecution - تسجيل سجل تنفيذlogToolUsage - تسجيل استخدام أداةrecordInsight - تسجيل إدراكsuggestNextAction - اقتراح إجراء تاليgetCurrentTime - الوقت الحاليgetCurrentDate - التاريخ الحاليsummarizeWithModel - تلخيص نصexportToFile - تصدير محتوى لملفlms dev من D:\bido\project_tools\newtools\manifest.json في المجلد الحاليcopilot_unit افتراضياًCOPILOT_UNIT_UNSAFE=1 للوصول خارجهاcopilot_unitlistDirectoryStructure للتحقق من الملفاتexecution_trace.md لتفاصيل الخطأexecution_trace.md - سجل شامل لكل العملياتtool_log.md - سجل استخدام الأدواتmodel_reflection.md - إدراكات النموذجnext_action_suggestions.md - اقتراحات الإجراءاتCOPILOT_UNIT_BASE - تحديد جذر مخصص لـ copilot_unitCOPILOT_UNIT_UNSAFE - السماح بالوصول خارج copilot_unit (1 للتفعيل)للتطوير والتعديل:
src/npm run buildlms devللمساهمة أو الإبلاغ عن مشاكل، راجع الكود في src/toolsProvider.ts.
deleteFolder - حذف مجلدlistDirectoryStructure - عرض محتويات مجلد# ⚠️ مهم جداً: يجب تنفيذ lms dev من الجذر الرئيسي للإضافة
cd D:\bido\project_tools\newtools
lms dev
copilot_unit يُنشأ تحت: D:\bido\project_tools\newtools\copilot_unit\
# قبل تشغيل lms dev
$env:COPILOT_UNIT_BASE = 'D:\bido\project_tools'
lms dev
# النتيجة: copilot_unit يُنشأ تحت D:\bido\project_tools\copilot_unit\
$env:COPILOT_UNIT_UNSAFE = '1'
lms dev
# يسمح لأدوات الملفات بالوصول لمسارات مطلقة
// في المحادثة مع النموذج
runJavaScript({
code: `
const fs = require('fs');
console.log('مجلد العمل:', process.cwd());
console.log('ملفات المجلد:', fs.readdirSync('.'));
`
})
// أولاً: إنشاء السكربت
writeFile({
file: "scripts/hello.js",
content: `
console.log('مرحبا من السكربت!');
console.log('المعاملات:', process.argv.slice(2));
`
})
// ثانياً: تنفيذ السكربت
runJavaScript({
file: "scripts/hello.js",
args: ["معامل1", "معامل2"]
})
// إضافة بيانات
appendExcelRow({
file: "patients.xlsx",
sheet: "main",
row: ["أحمد", 30, "مريض جديد"]
})
// قراءة البيانات
readExcelSheet({
file: "patients.xlsx",
sheet: "main"
})