راهنمای فورجینیر — قسمت ۲
دو راه برای ساختن یک پلاگین — با هوش مصنوعی، یا با کد
در قسمت اول دیدیم رابط برنامه چه شکلی است. حالا میرویم سراغ کاری که فورجینیر برایش ساخته شده: ساختنِ یک کنترل تازه. دو در وجود دارد و هر دو به یک جا میرسند. همهٔ تصویرها از نسخهٔ ۵.۶.۶ گرفته شدهاند.
قبل از هر چیز یک جملهٔ کوتاه که بقیهٔ این نوشته رویش سوار است: در فورجینیر، پلاگین یعنی یک پوشه با دو چیز داخلش — یک فایل کد، و یک فایل توصیف که مشخص میکند فرمِ ورودی چه شکلی باشد. همین. نه نصبکننده، نه رجیستری، نه سرویس.
شما فرایند کاریتان را شرح میدهید؛ آن دو فایل نتیجهاند، نه پیشنیاز.
۱ — کدام راه برای شما
تفاوت دو راه در این نیست که کدام «حرفهایتر» است. در این است که کد کجا نوشته میشود و کجا میماند.
| راه اول — هوش مصنوعیِ داخل برنامه | راه دوم — کد از بیرون |
کد را که مینویسد | هوش مصنوعی، روی سرور فورجینیر | شما، یا یک هوش مصنوعی عمومی |
کد کجا میماند | روی سرور؛ به دستگاه شما نمیآید | روی دستگاه خودتان، در پوشهٔ پلاگین |
هزینه | هر سؤال کمی اعتبار | رایگان |
مناسبِ | تغییر دادن کنترلی که هست، یا شروع بدون هیچ کدی | وقتی کد را دارید یا خودتان مینویسید |
اشتباه که شد | میگویید «آن تغییر قبلی اشتباه بود، برگردان» | فایل را عوض میکنید و دوباره میاندازید |
۲ — راه اول: هوش مصنوعیِ داخل برنامه
این راه از دکمهٔ «اصلاح کد» شروع میشود — روی هر کارتی در صفحهٔ پلاگینها. اسمش «اصلاح» است ولی فقط برای تغییر دادن نیست: اگر با «پلاگین تازه» یک پلاگین خالی بسازید و رویش «اصلاح کد» بزنید، همین گفتگو از صفر برایتان کنترل مینویسد.
نکتهٔ فنی که در پسزمینه اتفاق میافتد و خوب است بدانید: پلاگینی که هنوز منتشر نشده روی سرور وجود ندارد و نشست اصلاح برایش باز نمیشود. برنامه بهجای پیام خطا، خودش همانجا ثبتش میکند و بعد گفتگو را باز میکند. لازم نیست اول بروید «انتشار» را پیدا کنید.
پنجرهٔ گفتگو و اصلاح

پنجرهٔ گفتگو — بالا نام پلاگین، وسط تاریخچهٔ گفتگو، پایین کادر نوشتن و تنظیمها
سه جملهٔ بالای این پنجره، کل قرارداد را میگویند و ارزش خواندن دارند:
- ایراد را به زبان ساده بنویسید — «نباید همهٔ اعضا را انتخاب کند، فقط تیرها»
- کد روی سرور عوض میشود و به دستگاه شما نمیآید
- هزینهٔ هر سؤال از اعتبار شما کم میشود
- گفتگو یادش میماند، پس میتوانید بگویید «آن تغییر قبلی اشتباه بود، برگردان»
آن جملهٔ آخر مهمتر از چیزی است که به نظر میرسد. این یک جعبهٔ یکبارمصرف نیست؛ یک گفتگوی ادامهدار روی همان کد است. اگر جواب اول درست نبود، لازم نیست از اول شروع کنید.
انتخاب موتور هوش مصنوعی

پنج موتور در دسترس — ستاره یعنی پیشنهاد برنامه، آذرخش یعنی سریعتر
پنج گزینه هست: DeepSeek، Gemini، Grok، OpenAI و GLM. اگر دلیل خاصی ندارید، پیشنهادِ ستارهدار را نگه دارید. اگر جواب یکی قانعتان نکرد، همان سؤال را با موتور دیگری بپرسید — گفتگو حفظ میشود.
چطور درخواست بنویسیم

یک درخواست خوب: کوتاه، مشخص، و در زبان مسئله نه در زبان کد
سه قاعده که فرق یک جواب خوب و یک رفتوبرگشت طولانی را میسازند:
- در زبان مسئله بنویسید، نه زبان برنامهنویسی. «فقط ترکیبهایی که در نامشان زلزله هست» بهتر از «شرط فیلتر را عوض کن» است.
- یک تغییر در هر پیام. اگر سه چیز را با هم بخواهید و یکیشان غلط دربیاید، نمیدانید کدام را باید پس بگیرید.
- بگویید نتیجه چه باید باشد، نه اینکه کجای کد را عوض کند. کد را نمیبینید؛ پس نشانی دادنِ داخل کد بیفایده است.
دو تیک پایین کادر
کمهزینه | فقط تکهٔ عوضشده بازنویسی میشود. ارزانتر است، ولی گاهی هوش مصنوعی جای درست را پیدا نمیکند |
رفع خودکار خطای کامپایل | اگر کد تولیدشده کامپایل نشد، خودش تلاش میکند درستش کند |
توضیح خود برنامه صریح است: تیک «کمهزینه» را که بردارید، کل فایل از نو نوشته میشود — مطمئنتر، ولی چند برابر گرانتر. توصیهٔ عملی: با تیک شروع کنید؛ اگر دو بار پشت سر هم جواب درست نداد، بردارید و همان سؤال را دوباره بپرسید.
بعد از اینکه جواب آمد
چهار دکمهٔ پایین پنجره کارهای بعدیاند:
- فرستادن پیام — سؤال را میفرستد
- ساخت دوباره — همان درخواست را دوباره اجرا میکند
- ثبت نام — نامی که برای نسخهٔ اصلاحشده انتخاب کردهاید ثبت میشود
- ثبت نسخهٔ اصلاحشده — کار تمام است؛ نسخهٔ تازه ثبت میشود
پیگیری: درخواستهای اصلاح من

فهرست نشستهای باز — با درصد تغییرِ کد تا این لحظه
هر نشستی که باز کردهاید اینجاست، با وضعیتش و اینکه تا الان چند درصد کد عوض شده. میتوانید هفتهٔ بعد برگردید و ادامه بدهید. کارت پایین این صفحه هم میگوید فعلاً هزینه از اعتبار خودتان کم میشود و حساب اختصاصی هوش مصنوعی «بهزودی» میآید.
۳ — راه دوم: کد را از بیرون بیاورید
این راه برای کسی است که کد را خودش مینویسد، یا میخواهد از یک هوش مصنوعی عمومی بگیرد و اعتبار خرج نکند. سه قدم دارد و هر سه روی یک پنجرهاند.

پنجرهٔ «ساخت پلاگین از فایل کد» — سه قدم، یک صفحه
قدم اول، دکمهٔ نارنجی: «کپی راهنمای پلاگیننویسی». این دکمه یک متن راهنما را در کلیپبورد شما میگذارد. آن را در ChatGPT یا DeepSeek یا Claude میچسبانید و بعد به زبان خودتان میگویید چه کنترلی میخواهید. آن راهنما همان چیزی است که خروجیِ یک چت عمومی را به یک پلاگینِ قابل نصب تبدیل میکند.
قدم دوم: فایلها را بیندازید
هوش مصنوعی دو فایل به شما میدهد. هر دو را با هم در کادر بیندازید — یا روی کادر کلیک کنید و از پنجرهٔ ویندوز انتخابشان کنید.

هر دو فایل افتادهاند و دکمه شمارشان را نشان میدهد
نکتهای که یک بار وقت میگیرد و دیگر نه: نام فایلها هیچ نقشی ندارد. اگر هوش مصنوعی فایل توصیف را با نام خودش داد — چیزی مثل یک رشتهٔ طولانی و تاریخدار — باز هم شناخته میشود. برنامه از روی محتوا تشخیص میدهد کدام توصیف است، نه از روی نام.
قدم سوم: ساخت

پیام پایان صریح است: چند فایل کد، و اینکه فرم از کجا ساخته شد
پیام پایانی را بخوانید. اگر بنویسد «فرم از manifest ساخته شد»، یعنی هر دو فایل درست خوانده شدهاند. اگر بنویسد «manifest ندادی — فرم همان نمونه ماند»، یعنی فقط کد را انداختهاید و پلاگینِ تازه فرمِ نمونه را دارد. این تنها راه فهمیدنش است؛ بعداً وقتی فرم غریبه به نظر برسد، دیر است.
۴ — نتیجه: یک پلاگین واقعی
برای این نوشته یک کنترل کوچک واقعی ساختیم — «کنترل ترکیبهای زلزله» — که ترکیبهای بارِ مدل را میخواند، آنهایی را که کلیدواژهٔ دادهشده در نامشان هست جدا میکند، و شمارشان را با حد انتظار میسنجد. بلافاصله بعد از ساخت، کارتش در فهرست پلاگینها ظاهر شد.

کارت پلاگین تازه — عنوان، توضیح، سازنده و مسیر پوشه، همه از فایل توصیف
و بعد از بازگشت، خودش را در فهرست کنترلها گذاشت — در همان گروهی که در فایل توصیف نوشته بودیم، نه در ته فهرست.

کنترل تازه در گروه خودش نشسته — و خط قیمت هنوز منتظر جواب سرور است
به خط آخرِ پنل چپ نگاه کنید: «قیمت هنوز از سرور نیامده». این عمدی است. قیمتی که در فایل توصیف مینویسید یک پیشنهاد است؛ مرجعِ قیمت همیشه سرور است — چون فایل روی دیسک قابل تغییر است و اگر برنامه به آن اعتماد میکرد، هرکسی میتوانست قیمت هر کنترلی را صفر کند.
و این تصویر، جانِ ماجراست
هیچکس این فرم را طراحی نکرده. هیچ صفحهای کشیده نشده و هیچ دکمهای جانمایی نشده. کل این صفحه از روی فایل توصیف ساخته شده — عنوان هر فیلد، نوعش، مقدار پیشفرضش، و آن خط راهنمای خاکستری زیرش.

فرمی که خودِ برنامه ساخت: یک فیلد متنی، یک عددی، دو کلید، هرکدام با راهنمای خودش
و دکمههای پایین — اجرای کنترل، ذخیرهٔ تنظیمات، بازنشانی — هم بدون هیچ کاری سر جایشاناند. این همان چیزی است که در ابتدا گفتیم: شما فرایند کاریتان را شرح میدهید، نه رابط کاربریاش را.
۵ — فایل توصیف چه چیزهایی را تعیین میکند
اینها همان کلیدهاییاند که در تصویرهای بالا اثرشان را دیدید:
کلید | چه چیزی را تعیین میکند |
title | عنوانی که در فهرست کنترلها و بالای فرم میآید |
subtitle | خط توضیح زیر عنوان |
icon | شمایل کنار نام |
group | کنترل در کدام دستهٔ فهرست بنشیند |
author | نام سازنده، همانکه کنار پلاگین دیده میشود |
host | برای کدام نرمافزار است |
country / code | کشور و آییننامه — تعیین میکند زیر کدام پرچم دیده شود |
price | پیشنهاد قیمت هر اجرا؛ مرجع نهایی سرور است |
share | حالت اشتراک سورس کد |
form | فهرست فیلدها — هر فیلد عنوان، نوع، پیشفرض و راهنما دارد |
نوع فیلدها همانهایی است که در تصویر آخر دیدید: متن، عدد (با کف و سقف)، و کلید روشن/خاموش. شناسه و کلیدِ داخلی پلاگین را خودِ برنامه میگذارد — حتی اگر در فایل بنویسیدشان — تا دو پلاگین شناسهٔ یکسان نگیرند.
۶ — پنج دامی که وقت میگیرند
- همهٔ کد در یک فایل. کلاس کمکی میتوانید داشته باشید، ولی فایل دوم نه.
- فقط کد دادن. اگر فایل توصیف را نیندازید، فرم همان فرم نمونه میماند و پلاگین ورودیهای خودش را نخواهد داشت.
- قیمت را از روی فایل باور نکنید. تا سرور جواب ندهد، خط قیمت منتظر میماند.
- «ایتبس پنهان اجرا شود» را پیشفرض روشن نگذارید. وقتی میبینید روی مدل چه میگذرد، اگر چیزی غلط رفت خودتان میفهمید.
- در راه اول، کد را نخواهید ببینید. روی سرور میماند. با آن حرف میزنید، نه اینکه بخوانیدش.
جمعبندی
- پلاگین = یک پوشه، یک فایل کد، یک فایل توصیف
- راه اول: «اصلاح کد» → گفتگو با هوش مصنوعی روی سرور؛ کد به دست شما نمیرسد و هر سؤال اعتبار میبرد
- راه دوم: کپی راهنما → گرفتن دو فایل از یک چت عمومی → انداختنشان در برنامه؛ رایگان
- فرم خودش از فایل توصیف ساخته میشود — این بزرگترین صرفهجویی کل ماجراست
- مرجع قیمت همیشه سرور است، نه فایل روی دیسک
قدم بعدی: در قسمت ۳ همین کنترل را روی یک مدل واقعی اجرا میکنیم و گزارشش را میگیریم.
نسخهٔ برنامه در همهٔ تصویرهای این نوشته: ۵.۶.۶ · تصویرها بدون دستکاری از خود برنامه گرفته شدهاند · www.etabsplugin.com

