چیتشیت
ایجنتهای سازماندهندهی شخصی
Personal Organizer Agents
پنج پروژهی سازماندهندهی محلی. خروجی هر کدام، نحوهی اجرا، ورودیها، خروجیها، فایلهای بازبینی و اعتبارسنجیها.
فهرست مطالب
مقایسهی پروژههای Node کنار هم
مقایسه| عامل | Bookmark Path Organizer | Calendar Focus Planner | Field Notes Map Builder |
|---|---|---|---|
| خروجی ساخت | صفحهی مسیر مطالعه | برنامهی تمرکز و پیشنهادهای ICS | GeoJSON و نقشهی شماتیک |
| ورودی | درخت bookmarks، topics | sample.ics، tasks.json، یک روز | observations، radiusMeters |
| خروجیها | bookmarks.json، progress.json، report.html | focus.ics، plan.json، plan.html | observations.geojson، groups.json، report.html |
| فایل بازبینی | آرگومان سوم progress.json | ندارد | آرگومان سوم group-review.json |
| خط قرمزها (هرگز انجام نمیدهد) | واکشی لینکها | تغییر تقویم حساب کاربری | دانلود عکسها یا تایلها |
مقایسهی پروژههای Python کنار هم
مقایسه| عامل | Download Folder Sort Desk | Catalog Record Linker |
|---|---|---|
| خروجی ساخت | طرح بایگانی و گروههای تکراری | تطبیق متقاطع (crosswalk) و کاتالوگ mergeشده |
| ورودی | folder، occupied | left_csv، right_csv، threshold |
| خروجیها | moves.json، duplicates.json، review.html | crosswalk.csv، merged-catalog.json، review.html |
| فایل بازبینی | --decisions decisions.json | --decisions decisions.json |
| خط قرمزها (هرگز انجام نمیدهد) | انتقال فایل | انجام merge صرفاً بر اساس شباهت |
اجرای پیادهسازی مرجع
دستورها| دستور | کارکرد |
|---|---|
node cli.ts sample.json output | سازماندهندهی بوکمارک یا نقشهی یادداشتهای میدانی |
node cli.ts <input.json> <dir> <review.json> | اجرای مجدد با بازبینی دانلودشدهی شما |
node cli.ts sample.ics tasks.json 2026-10-14 output 10 | برنامهریزی تقویم با بافر 10 دقیقهای |
python3 cli.py samples/input.json --output demo-output | میز مرتبسازی دانلودها یا لینکدهندهی کاتالوگ |
python3 cli.py <input.json> --output <dir> --decisions decisions.json | اعمال تأییدیههای شما |
python3 scripts/project_test.py <project> --all --solution --strict | نمرهدهی به پیادهسازی مرجع |
مراحل برنامهریز تقویم
گامبهگام- CLIبازه را از 09:00 تا 17:00 UTC در روز مشخصشده تنظیم میکند.
- parseCalendarبه
UID،DTSTARTوDTENDنیاز دارد. رویدادهای لغوشده و شفاف (transparent) را نادیده میگیرد. - availableSlotsبافر را دور رویدادها اضافه میکند، همپوشانیها را merge میکند، سپس فاصلههای خالی را فهرست میکند.
- scheduleوظایف را بر اساس اولویت و سپس شناسه مرتب میکند.
- scheduleهر وظیفه را در اولین فاصلهی خالی با طول کافی قرار میدهد.
- scheduleوظیفهای را که در هیچ فاصلهای جا نمیشود با ذکر دلیل بهعنوان زمانبندینشده ثبت میکند.
- exportCalendarپیشنهادها را برای ایمپورت دستی در
focus.icsمینویسد.
Download sort desk
معماریقوانین امتیازدهی
مفهومها- امتیاز موضوع بوکمارک
- کلیدواژه در عنوان 3 امتیاز میافزاید. کلیدواژه در یادداشتها 1 امتیاز میافزاید.
- بوکمارکهای تکراری
- URL یکسان پس از حذف fragment. رشتههای query مهم باقی میمانند.
- دستهبندی فایل
- پسوند شناختهشده 3 امتیاز میافزاید. کلمات workshop و handout به documents مقدار 1 امتیاز میافزایند.
- تداخل نام فایل
- مقصدِ اشغالشده قبل از پسوند
-2یا-3میگیرد، بدون حساسیت به حروف بزرگ و کوچک. - امتیاز جفت کاتالوگ
- شباهت ژاکارد عنوان ضربدر 0.8 به اضافهی شباهت ژاکارد پدیدآورنده ضربدر 0.2.
- مشاهدات مجاور
- تابع
distanceMeters()از کرهی زمین با شعاع 6371008.8 متر استفاده میکند. - گروههای نقشه
- جفتهای درون شعاع مجاز به یک مؤلفهی همبند میپیوندند.
پیشفرضها و محدودیتها
پیشفرضها| تنظیم | پیشفرض | یادداشت |
|---|---|---|
Calendar buffer minutes | 10 | محدودهی مجاز 0 تا 120 |
Calendar output folder | focus-output | آرگومان چهارم CLI |
Max tasks | 100 | دقایق 5 تا 480، اولویت 1 تا 5 |
threshold | 0.25 | محدود، از 0 تا 1 |
Folder nesting | 32 | درختهای بوکمارک با عمق بیشتر با خطا مواجه میشوند |
Radius | 0..1000000 | متر |
approved | False | هر انتقال برنامهریزیشده ابتدا تأییدنشده است |
schema_version | 1 | در moves.json و merged-catalog.json |
پیامهای خطا و رفع آنها
عیبیابیExpand recurrence and timezone values to UTC before importing- علت
- وجود
RRULEیاTZIDدر ICS - راهحل
- ابتدا رویدادها را در خروجیگیر بسط دهید
Event needs UID, DTSTART and DTEND- علت
- پایان ضمنی یا وجود
DURATION - راهحل
- یک
DTENDصریح بنویسید
stale approval: source content or destination plan changed- علت
- تغییر فایلها یا طرح پس از بازبینی
- راهحل
- از
decisions.jsonجدید استفاده کنید
output must be outside the input folder- علت
- خروجی داخل پوشهی اسکنشده قرار دارد
- راهحل
- مسیر خروجی دیگری انتخاب کنید
Progress order must contain every current id exactly once- علت
- تغییر بوکمارکها پس از دانلود
- راهحل
- بدون آرگومان سوم اجرا کنید
one-to-one match violated- علت
- یک رکورد دو بار پذیرفته شده است
- راهحل
- هر رکورد را فقط در یک جفت بپذیرید
نوشتن فایل بازبینی
کار و کد| وظیفه | کد |
|---|---|
| تفکیک یک گروه نقشه | "decisions": {"<id>": "keep-separate"} |
| نگهداشتن یک گروه نقشه | "decisions": {"<id>": "keep-group"} |
| ذخیرهی ترتیب خوانش | "order": [...], "completed": [...] |
| تأیید انتقال فایلها | "approved": ["<path>"] |
| پذیرش یک جفت کاتالوگ | "match": true, "values": {} |
| نسخهبندی یک بازبینی در Node | "schemaVersion": 1 |
نمونههای حلشده
پرسش و پاسخ- چرا نمونه از 09:20 تا 11:10 مشغول است؟
- دو رویداد همپوشانی دارند و بافر 10 دقیقهای بازهی آنها را گستردهتر میکند.
- کدام وظیفه جا نمیشود؟
- وظیفهی
deepبه 120 دقیقه نیاز دارد. هیچ جای خالی اینقدر طولانی نیست. - چرا
map-1وmap-2همگروه میشوند؟ - هر دو URL پس از نرمالسازی به سند یکسانی اشاره دارند.
- فایل
handout.txtبه کجا میرود؟ - مسیر
documents/handout.txtاشغال است، پس-2میگیرد. - آیا
left:map-1وright:r-7merge شدهاند؟ - فقط پس از تأیید جفت توسط شما. هیچ رکوردی حذف نمیشود.
نکات کاربردی
نکتهها- مقدار تمامروز
DTEND;VALUE=DATEبازهی باز است (شامل خود روز نمیشود). 14 اکتبر در20261015پایان مییابد. - مدیر فایل باید درست قبل از انتقال، هویت فایل را دوباره بررسی کند. طرح، تراکنش نیست.
- وضعیت
readyبه این معناست که mergeهای پذیرفتهشده هیچ تداخل بازی ندارند؛ به این معنا نیست که همهی جفتها خوانده شدهاند. - فرمت GeoJSON ابتدا از طول جغرافیایی و سپس عرض جغرافیایی استفاده میکند.
- ایمپورتکنندهی بوکمارک درخت پوشههای JSON را میخواند، نه HTML مرورگر را.
- قبل از یکپارچهسازی یک ابزار، حداقل یک ورودی جدید از خودتان را آزمایش کنید.