AI WebService — هوش مصنوعی برای کارهای فنی
برنامهنویسی، پیکربندیِ سرور و شبکه، و کار روی ویندوزِ خودتان — کار را خودش انجام میدهد، نه فقط راهحل بگوید
معرفی
AI WebService، هوش مصنوعیِ وبسرویس برای کارهای فنی است — نه یک چتباتِ عمومی برای گپوگفت. کد مینویسد و اجرا میکند، سرور و روترِ میکروتیک را پیکربندی میکند و با اجازهٔ شما روی ویندوزِ خودتان کار را از ابتدا تا انتها برعهده میگیرد؛ نتیجه را بررسی میکند و فایلِ واقعی تحویل میدهد. از یک پنلِ فارسی، از اپِ ویندوز، یا مستقیم از نرمافزارِ خودتان با API.
انجامِ کار، نه فقط جواب
بهجای توضیحِ راهحل، فایل را میسازد، کد را اجرا میکند و خروجی را آزمایش میکند.
خواندنِ فایل
عکس و اسکرینشات، PDF، اکسل، ورد، CSV و فایلِ کد — تا ۲۵ مگابایت.
تحویلِ فایل
فایلهایی که میسازد (کد، سند، PDF، اکسل) همانجا برای دانلود میآیند.
کار در پسزمینه
کارهای طولانی با بستنِ صفحه قطع نمیشوند و پایانشان در پیامرسانِ بله خبر داده میشود.
حافظه و دستورالعملِ ثابت
ترجیحها و قواعدِ کارتان را یک بار بگویید؛ حافظه را خودتان میبینید و ویرایش میکنید.
فارسی از پایه
رابط و خروجیِ فارسی و راستبهچپ، رقم و تاریخِ شمسی، و سند و PDF ِ فارسی.
مناسبِ چه کسانی است؟
- برنامهنویسانِ وب و موبایل: نوشتن، بازبینی و رفعِ خطای کد.
- شرکتهای نرمافزاری: اتصالِ محصول به هوش مصنوعی با API ِ استاندارد.
- مدیرانِ شبکه و سرور: پیکربندی و عیبیابیِ سرورِ لینوکس، میکروتیک و ویندوز.
- مدیرانِ سایت و تیمهای فنی: ساختِ سایت و اپ، و خودکارسازیِ کارهای تکراری.
- کسبوکارها: استخراجِ داده از فاکتور، رسید و سندِ فارسی به اکسل و JSON.
یک سرویس، دو در
پنلی برای گفتگو و کار، و یک API که نرمافزارِ خودتان مستقیم صدایش میزند. هزینهٔ هر دو از یک سهمیه و با یک تعرفه حساب میشود؛ چون هزینه پیش از آنکه معلوم شود درخواست از پنل آمده یا از API اندازه گرفته میشود، برابریِ این دو نتیجهٔ ساختار است، نه دو مجموعه قانون که باید همزمان نگه داشته شوند.
امکانات
برنامهنویسی
یک دستیارِ برنامهنویسی که در محیطِ واقعی کار میکند: کد را فقط پیشنهاد نمیدهد، اجرا و آزمایش میکند.
نوشتن و اجرا
کد مینویسد، اجرا میکند و تا رسیدن به خروجیِ درست ادامه میدهد.
رفعِ خطا
متنِ خطا یا اسکرینشاتش را بفرستید؛ علت را پیدا و کد را اصلاح میکند.
بازبینیِ کد
خروجی با قواعدِ خودکارِ کیفیت و امنیت بررسی میشود؛ از جمله SQL، تستها و وابستگیها.
خواندنِ صفحههای وب
مستندات و صفحههای وب را میخواند؛ سایتهای ایرانی را هم.
سند و گزارش
مستندِ فنی، گزارش و PDF ِ فارسی با قلم و چیدمانِ درست.
استخراجِ داده
از عکس و PDF ِ فاکتور و رسیدِ فارسی، داده را به اکسل یا JSON درمیآورد.
سرور، شبکه و ویندوز
با اپِ ویندوز، AI WebService به کامپیوترِ شما وصل میشود و کار را از همانجا کامل برعهده میگیرد: دستور را خودش اجرا میکند، خروجی را میخواند، اگر خطا بود رفع میکند و تا پایانِ کار پیش میرود — نه اینکه فقط بگوید چه کنید. هر جایی که از ویندوزِ شما در دسترس است، برایش هم در دسترس است: سرورها، روترها و شبکهٔ داخلی.
سرورِ لینوکس
از ویندوزِ شما با SSH به سرور وصل میشود: نصب و تنظیمِ وبسرور و سرویسها، فایروال، بهروزرسانی، و عیبیابی از روی لاگها.
میکروتیک
اتصال به روتر، خواندن و بررسیِ پیکربندی، و تنظیمِ فایروال، NAT، کاربرها و سرویسها — با توضیحِ هر تغییر پیش از اعمال.
خودِ ویندوز
نصب و راهاندازیِ نرمافزار، مدیریتِ فایل و پوشه، و خودکارسازی با اسکریپتِ PowerShell.
عیبیابیِ شبکه
بررسیِ اتصال، DNS و رکوردهای دامنه و ایمیل، و پیداکردنِ گلوگاهِ مشکل.
پروژه و گیتِ شما
روی فایلها و مخزنِ گیتِ پروژه، با حسابِ گیتِ خودتان؛ سرورِ ما به گیتِ شما دسترسی ندارد.
گزارشِ کامل
هر دستوری که اجرا میشود با تاریخ در فایلِ گزارش روی کامپیوترِ خودتان ثبت میشود.
اختیار دستِ خودتان است
فقط خواندن
بررسی و گزارش؛ هیچ چیزی تغییر نمیکند.
با پرسش
پیش از هر تغییر اجازه میگیرد — روی صفحه یا با دکمه در پیامرسانِ بله (پیشفرض).
مورداعتماد
کار را بیوقفه و کامل خودش پیش میبرد.
ساختِ سایت و اپ
سایت و اپلیکیشنِ کامل، با کدِ واقعی و محتوای واقعی — نه قالبِ خالی.
ساختِ سایت
شرکتی یا فروشگاهی
سایتِ کامل با ۱۲ تا ۲۰ صفحه؛ در نسخهٔ فروشگاهی، سبدِ خرید و مراحلِ سفارش کار میکنند.
چهار سبکِ طراحی
لوکس، فناورانه و مینیمال، گرم و محلی، جسور و مدرن.
۱۵ صنف
از کلینیک و آموزشی تا املاک، رستوران، حقوقی، گردشگری و فروشگاهی.
بیش از ۴۰ بررسیِ کیفیت
پیش از تحویل در سه اندازهٔ صفحه سنجیده میشود و هیچ پیوندِ شکستهای نمیماند.
عکس با مجوز
عکسها از بانکهای تصویرِ دارای مجوز با ذکرِ منبع میآیند.
بدونِ اطلاعاتِ ساختگی
نشانی و شمارهٔ تماس فقط از اطلاعاتی میآید که خودتان میدهید.
ساختِ اپِ اندروید
APK و سورس
فایلِ APK ِ امضاشده بههمراهِ سورسِ کامل تحویل میشود.
Kotlin و Compose
با فناوریِ روزِ اندروید و طراحیِ Material 3 بر پایهٔ رنگِ برندِ شما.
فارسی و راستبهچپ
قلمِ فارسی، رقمِ فارسی و چیدمانِ درست؛ با بیش از ۳۶ قاعدهٔ بررسی.
راهنمای پنل
چه کاری میکند
در پنل فقط جواب نمیگیرید؛ کار انجام میشود. دستیار فایل میسازد و ویرایش میکند، کد اجرا میکند، پروژه میسازد و بیلد میگیرد، سند و PDF ِ فارسی تولید میکند، صفحههای وب را میخواند و صفحهای را که ساخته در مرورگر باز میکند و ایرادش را میگیرد — و نتیجه را به شکلِ فایلِ آمادهٔ دانلود تحویل میدهد.
پس درخواست را مثلِ یک کار بنویسید، نه مثلِ یک سؤال: «یک صفحهٔ فرود با فرمِ تماس بساز و فایلش را بده» بهتر از «چطور صفحهٔ فرود بسازم؟» جواب میگیرد.
فایلها
- هرچه ساخته شود خودکار تحویل داده میشود. زیرِ پاسخ یک کارت میآید؛ یک کلیک روی کارت، فایل دانلود میشود. لازم نیست مسیر یا دستوری بپرسید.
- عکسها بندانگشتی میآیند تا صفحه شلوغ نشود؛ همان کارت را که بزنید، اصلِ فایل دانلود میشود.
- خودتان هم فایل میفرستید. فایل را روی صفحه بکشید و رها کنید، یا از دکمهٔ گیره استفاده کنید. اسکرینشات را مستقیم با Ctrl+V بچسبانید.
- ویرایشِ دوباره. در همان گفتگو بگویید چه چیزی عوض شود؛ نسخهٔ تازه بهعنوانِ کارتِ تازه میآید و لازم نیست فایل را دوباره بفرستید.
نوشتن، توقف، بستنِ صفحه
- Enter میفرستد، Shift+Enter خطِ تازه میسازد.
- وسطِ کار میشود متوقف کرد. دکمهٔ ارسال وقتی کاری در جریان است «توقف» میشود؛ آنچه تا آن لحظه نوشته شده میماند.
- بستنِ صفحه کار را قطع نمیکند. کار تا آخر انجام میشود و دفعهٔ بعد، جواب و فایلهایش سرِ جایشان هستند.
- عنوانِ گفتگو را با کلیک روی خودش عوض کنید. گفتگوها در ستونِ کنارِ صفحهاند و جستوجو دارند.
مدل و هزینه
کنارِ کادرِ نوشتن، مدل را انتخاب میکنید. مدلها از نظرِ توانایی و نرخ فرق دارند: برای کارهای سبک ارزانترش کافی است و برای کارِ سنگینتر گرانترش صرفه دارد. سهمیهٔ باقیمانده بالای صفحه دیده میشود و هزینهٔ هر اجرا بلافاصله پس از پایانش کم میشود؛ ریزِ مصرف در «حساب من» ِ پنل است.
کار روی مخزنِ گیت
کارِ گیت روی رایانهٔ خودتان انجام میشود، نه روی سرورِ ما — و این یک تصمیم است، نه کمبود. روی کامپیوترتان از قبل واردِ گیتهاب یا گیتلب هستید؛ پس هیچ توکنی لازم نیست به پنل بدهید و هیچجا ذخیره نمیشود.
گفتن
«در پوشهٔ فلان، این تغییر را بده و کامیت کن.»
انجام
دستور روی ماشینِ خودتان و با حسابِ گیتِ خودتان اجرا میشود.
سرورِ ما اصلاً گیت ندارد و هیچ مخزنی — حتی عمومی — روی آن کلون نمیشود؛ فقط کاری که به حسابِ گیتِ شما نیاز دارد سرِ ماشینِ خودتان انجام میشود.
رایانهٔ من
بهطورِ معمول دستیار به فایلهای کامپیوترِ شما دسترسی ندارد. اگر بخواهید، رایانهتان را وصل میکنید تا مستقیم روی فایلها و پوشههای خودتان کار کند: نگاه کند، چیزی بسازد، پوشهای را مرتب کند، یا فایلی را همانجا بگذارد. اختیاری است و هر وقت بخواهید قطعش میکنید.
بله را وصل کنید
در «حساب من» ِ پنل، کارتِ «پیامرسان بله» نامِ بات و یک کدِ ششرقمی نشان میدهد؛ بات را باز کنید، «شروع» را بزنید و کد را بفرستید. بی این، راهی نیست که وقتی پشتِ سیستم نیستید از شما اجازه بگیریم.
روشنکردن
در «تنظیمات» ِ اپ، کلیدِ «دسترسی به این رایانه» را بزنید. نه فایلی لازم است، نه تنظیمِ دستی.
| حالت | رفتار |
|---|---|
| فقطخواندنی | فقط دستورهایی که چیزی را عوض نمیکنند (دیدنِ فایلها، وضعیت، لاگ). هر چیزِ دیگر رد میشود. |
| پرسشی (پیشفرض) | خواندنیها بیپرسش؛ هر چیزِ دیگر اجازه میخواهد: اگر پشتِ سیستم باشید همانجا پنجرهای میآید، وگرنه در بله با دو دکمه پرسیده میشود. |
| معتمد | همهچیز بیپرسش، ولی همچنان ثبت میشود. یک انتخابِ آگاهانه است، نه یک قفل. |
انتخابِ حالت روی خودِ همان کامپیوتر است، در فایلِ aiws-pc.json کنارِ برنامهٔ اتصال؛ پوشههایی که خواندن و نوشتن در آنها آزاد است را هم همانجا مشخص میکنید (roots). چند چیز در هیچ حالتی اجرا نمیشود و با هیچ تأییدی هم باز نمیشود: دستزدن به خودِ برنامهٔ اتصال، تنظیمات و کلیدش.
- چه چیزی لازم ندارد: نه زبانِ برنامهنویسی، و نه باز کردنِ هیچ پورتی روی مودم یا فایروال. برنامه خودش به سرویس وصل میشود، نه برعکس.
- گزارش: دستورها با دسترسیِ همان کاربری اجرا میشوند که برنامه را اجرا کرده، و هر دستور در فایلِ
aiws-pc.logکنارِ برنامه نوشته میشود. فقط گفتگوهای همان حساب، و فقط وقتی کاری در جریان است، میتوانند به این رایانه دستور بدهند. - در «حساب من» میبینید چه چیزی پرسیده شد و چه شد — با دکمهٔ «رد کردنِ همهٔ در انتظارها» برای لحظهای که چیزی درست به نظر نمیرسد.
- قطعکردن: در «حساب من» دکمهٔ قطع را بزنید؛ از همان لحظه دیگر دستوری نمیگیرد، حتی اگر آن کامپیوتر روشن باشد.
دستگاهها
میتوانید همزمان از چند دستگاه وارد باشید. فهرستِ دستگاههای واردشده و دکمهٔ بیرونکردنشان در «حساب من» است؛ اگر گوشیتان را گم کردید، از همانجا همهٔ دستگاههای دیگر را یکجا ببندید.
اتصالِ اپهای سازگار با Anthropic (مثلِ Claude Desktop)
اگر ترجیح میدهید بهجای مرورگر از یک برنامهٔ دسکتاپ که پروتکلِ Messages را بلد است استفاده کنید، آن را به همین سرویس وصل کنید: همان مدلها، همان سهمیه، و همان ابزارها.
کلید بسازید
از صفحهٔ «کلیدها» ِ پنل، با حسابِ خودتان. کلید فقط همان یک بار نشان داده میشود. برای چند دستگاه، محدودیتِ آیپی نگذارید.
حالتِ توسعهدهنده
Help → Troubleshooting → Enable Developer Mode
آدرس و کلید
Developer → Configure Third-Party Inference…
| Inference provider | Gateway |
| Gateway base URL | https://ai.webservice.ir |
| Gateway API key | کلیدی که در قدمِ ۱ ساختید |
| Credential kind | Static API key |
| Gateway auth scheme | Bearer |
/v1 بگذارید؛ خودِ اپ آن را اضافه میکند. با /v1 همهٔ درخواستها به مسیرِ اشتباه میروند. متغیرهای ANTHROPIC_BASE_URL و ANTHROPIC_AUTH_TOKEN مالِ خطِ فرماناند و اپِ دسکتاپ آنها را نمیخواند.دو تفاوت با پنلِ وب: گفتگوها مشترک نیستند (اپ تاریخچه را روی همان کامپیوتر نگه میدارد)، و فایلها بهجای کارت، با نشانیِ کامل در متنِ پاسخ میآیند.
چه کاری نمیکند
- به کامپیوترِ شما دسترسی ندارد — مگر خودتان وصلش کنید. تا آن موقع، هر کاری که باید آنجا انجام شود به شکلِ فایل یا اسکریپتِ آماده تحویل داده میشود تا خودتان اجرایش کنید.
- اگر سایتی باز نشود، خودش راهِ دیگری را امتحان میکند؛ اگر باز هم نشد، صریح میگوید نشد و محتوای قدیمی را بهجای صفحهٔ واقعی جا نمیزند.
- پاسخها ممکن است اشتباه داشته باشند. چیزهای مهم را خودتان بررسی کنید.
API و اتصال
API ِ AI WebService استانداردِ OpenAI است: همان پروتکلِ Chat Completions که بیشترِ ابزارها و کتابخانههای هوش مصنوعی با آن کار میکنند. یعنی SDK ِ رسمیِ OpenAI برای پایتون، Node.js و زبانهای دیگر، و هر نرمافزاری که گزینهٔ «OpenAI-compatible» دارد، فقط با عوضکردنِ آدرسِ پایه و کلید به AI WebService وصل میشود — بینوشتنِ حتی یک خط کدِ اختصاصی.
| آدرسِ پایه | https://ai.webservice.ir/v1 |
| احرازِ هویت | Authorization: Bearer sk-awc-… — کلید فقط یک بار، هنگامِ ساخت، نشان داده میشود؛ سرور تنها هشِ آن را نگه میدارد، پس اگر گمش کنید باید کلیدِ تازه بسازید. |
| قالبِ بدنه | application/json |
| مدلها | فهرست را از GET /v1/models بگیرید؛ بیفرستادنِ model، مدلِ پیشفرض () به کار میرود. |
نشانیها (Endpoints)
| متد | مسیر | کار |
|---|---|---|
| GET | /v1/models | فهرستِ مدلهای مجاز |
| GET | /v1/models/{id} | مشخصاتِ یک مدل |
| POST | /v1/chat/completions | تولیدِ پاسخ، شکلِ OpenAI — معمولی یا جریانی |
| POST | /v1/messages | تولیدِ پاسخ، شکلِ Anthropic — معمولی یا جریانی (پایینتر) |
| GET | /v1/files/{conversation_id} | فهرستِ فایلهایی که اجراها ساختهاند |
| GET | /v1/files/{conversation_id}/{name} | دانلودِ یکی از آن فایلها |
| GET | /api/hello | بررسیِ سلامتِ سرویس، بیکلید |
دو مسیرِ تولید هست چون دو خانوادهٔ کلاینت وجود دارد؛ هر دو یک موتور، یک کلید، یک سهمیه و یک تعرفه دارند و فقط شکلِ درخواست و پاسخ فرق میکند.
پارامترهای درخواست
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
| messages | array | بله | هر عضو {role, content}؛ نقشها: system، user، assistant. |
| model | string | خیر | نبودنش یعنی مدلِ پیشفرض؛ اگر کلید مدلِ ثابت داشته باشد، این فیلد نادیده گرفته میشود. |
| stream | boolean | خیر | با true پاسخ بهصورتِ جریانی (SSE) میآید. |
| conversation_id | string | خیر | افزودهٔ AI WebService — گفتگو را بینِ چند فراخوانی زنده نگه میدارد (پایینتر). |
دو رفتار که باید بدانید: پیامهای system با خطِ خالی به هم میچسبند و جایگزینِ پرامپتِ سیستمِ پیشفرض میشوند. اگر بیش از یک پیامِ غیرسیستمی بفرستید و conversation_id نداده باشید، همه در یک متن با برچسبِ «کاربر:» و «دستیار:» تا میشوند تا فراخوانِ بیحالت هم زمینه داشته باشد.
پاسخِ موفق — 200
{
"id": "chatcmpl-8f2c1a9b4e7d0a6c3b5e9f21",
"object": "chat.completion",
"created": 1757240000,
"model": "sonnet",
"choices": [{
"index": 0,
"message": {"role": "assistant", "content": "..."},
"finish_reason": "stop"
}],
"usage": {"prompt_tokens": 812, "completion_tokens": 143, "total_tokens": 955}
}
prompt_tokens جمعِ هر سه نوع ورودی است: ورودیِ تازه، توکنی که در کش نوشته شده و توکنی که از کش خوانده شده. محاسبهٔ هزینه اما با همان تفکیک انجام میشود.
نمونهکد
cURL
curl https://ai.webservice.ir/v1/chat/completions \
-H "Authorization: Bearer sk-awc-..." \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "system", "content": "Answer with code only."},
{"role": "user", "content": "Write a Python function that validates an Iranian national ID"}
]
}'
Python (کتابخانهٔ رسمیِ openai)
from openai import OpenAI
client = OpenAI(base_url="https://ai.webservice.ir/v1", api_key="sk-awc-...")
r = client.chat.completions.create(
messages=[
{"role": "system", "content": "Answer with code only."},
{"role": "user", "content": "Write a Python function that validates an Iranian national ID"},
],
)
print(r.choices[0].message.content)
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://ai.webservice.ir/v1", apiKey: "sk-awc-..." });
const r = await client.chat.completions.create({
messages: [{ role: "user", content: "Write an nginx config that redirects www to the bare domain" }],
});
console.log(r.choices[0].message.content);
PHP
$ch = curl_init("https://ai.webservice.ir/v1/chat/completions");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer sk-awc-...", "Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode(["messages" => [["role" => "user", "content" => "Explain this MySQL error: 1215"]]]),
]);
$res = json_decode(curl_exec($ch), true);
echo $res["choices"][0]["message"]["content"];
پاسخِ جریانی (Streaming)
ترتیب همیشه این است: یک تکه با delta: {"role": "assistant"} (شروع)، چند تکه با delta: {"content": "…"} (متن)، یک تکه با finish_reason: "stop" (پایانِ سالم)، و خطِ data: [DONE].
با "stream": true پاسخ تکهتکه به شکلِ استانداردِ SSE میآید و با data: [DONE] تمام میشود. خطایی که وسطِ جریان رخ دهد دیگر کدِ HTTP نمیگیرد؛ بهصورتِ متن میآید و finish_reason برابرِ error میشود، پس آن را بررسی کنید:
stream = client.chat.completions.create(messages=[{"role": "user", "content": "..."}], stream=True)
for chunk in stream:
choice = chunk.choices[0]
if choice.delta.content:
print(choice.delta.content, end="")
if choice.finish_reason == "error": # an error mid-stream arrives as text, not as an HTTP status
raise RuntimeError("stream failed")
پروتکلِ Anthropic — /v1/messages
اگر برنامهتان با SDK ِ Anthropic نوشته شده — یا اپِ دسکتاپی که این پروتکل را بلد است — این مسیر را میزند:
| تفاوت | شکلِ OpenAI | شکلِ Anthropic |
|---|---|---|
| مسیر | /v1/chat/completions | /v1/messages |
| احرازِ هویت | Authorization: Bearer | x-api-key (هر دو پذیرفته میشود) |
| پرامپتِ سیستم | پیامی با نقشِ system | فیلدِ جدای system |
| متنِ پاسخ | choices[0].message.content | content[0].text |
| پوششِ خطا | {"detail": "…"} | {"type":"error","error":{…}} |
# pip install anthropic
from anthropic import Anthropic
client = Anthropic(base_url="https://ai.webservice.ir", api_key="sk-awc-...")
msg = client.messages.create(
max_tokens=1024,
model="sonnet",
system="Answer with code only.",
messages=[{"role": "user", "content": "Write a bash one-liner that counts lines in *.py"}],
)
print(msg.content[0].text)
نامِ مدل: اگر کلاینت نامِ نسخهدار بفرستد، روی نامِ مستعارِ ما نگاشت میشود. تصویر و فایل: بلاکهای image و document با source.type = "base64" پذیرفته میشوند. آدرسِ پایه برای SDK ِ Anthropic بدونِ /v1 است.
گفتگوی چندمرحلهای و صرفهجویی
در پروتکلِ OpenAI باید هر بار کلِ تاریخچه را دوباره بفرستید. در AI WebService با فرستادنِ یک conversation_id ثابت، موتور خودش گفتگو را نگه میدارد؛ و ادامهٔ یک گفتگو حدودِ یکچهارمِ شروعِ دوباره هزینه دارد — برای کارهای دستهای (مثلاً صد توضیحِ محصول) یک شناسهٔ ثابت بگذارید:
# same conversation_id => the engine keeps the context; no need to resend the history
for item in products:
client.chat.completions.create(
messages=[{"role": "user", "content": f"Write a short description for: {item}"}],
extra_body={"conversation_id": "catalog-2026-10"},
)
فایلی که ساخته میشود
کلید همان ابزارهای پنل را دارد: میتواند فایل بسازد (کد، اکسل، PDF، …). فایلهای یک گفتگو را با همان conversation_id بگیرید — هر اجرا تا ۱۰ فایل، هر کدام تا ۲۰ مگابایت:
curl -H "Authorization: Bearer sk-awc-..." https://ai.webservice.ir/v1/files/catalog-2026-10
curl -H "Authorization: Bearer sk-awc-..." -O https://ai.webservice.ir/v1/files/catalog-2026-10/report.xlsx
کدهای خطا
بدنهٔ خطا به شکلِ {"detail": "…"} است؛ کتابخانههای OpenAI کدِ وضعیت را درست میفهمند، ولی برای دیدنِ متنِ خطا بدنهٔ پاسخ را بخوانید.
| کد | یعنی | چه کنیم |
|---|---|---|
| 400 | پیامِ کاربر نیامده یا مدل ناشناخته است | دستکم یک پیامِ user بفرستید؛ مدل را از /v1/models بگیرید |
| 401 | کلید نیامده، اشتباه، باطل یا منقضی است | هدر را درست بفرستید یا کلیدِ تازه بسازید |
| 402 | سهمیه تمام شده، از حداقلِ لازم کمتر است، یا سقفِ خرجِ کلید پر شده | پلن یا شارژ بخرید، یا سقفِ کلید را عوض کنید |
| 403 | آیپیِ فرستنده برای این کلید مجاز نیست | آیپی را به فهرستِ مجازِ کلید اضافه کنید |
| 502 | اجرا شروع شد ولی شکست خورد | دوباره تلاش کنید |
| 503 | صف در مهلتِ مقرر خالی نشد | با کمی فاصله دوباره بفرستید |
محدودیتها و رفتارها
- صف. درخواستها به ترتیبِ رسیدن اجرا میشوند و در پاسخِ جریانی جایگاه در صف اعلام میشود؛ سقفِ مصنوعیای بر تعدادِ درخواستهای همزمان نیست (تا اتصالِ باز). درخواستی که بیش از مهلتِ صف ثانیه در صف بماند با
503رد میشود. - زمانِ پاسخ چند ثانیه است (هر فراخوانی یک اجرای کامل است). API را برای کارهای پسزمینه و خودکارسازی به کار ببرید، نه برای دکمهای که کاربر منتظرِ جوابِ فوری آن است؛ مثلاً متنها را از پیش بسازید و ذخیره کنید.
- شکلِ خروجی را صریح بگویید. اگر خروجی مستقیم جایی درج میشود، در پیامِ
systemبنویسید دقیقاً چه میخواهید (مثلاً «فقط کد، بیتوضیح»). - زبانِ پاسخ همان زبانِ درخواست است؛ برای پاسخِ فارسی لازم نیست چیزی اضافه کنید.
- کلید را مثلِ رمز نگه دارید. کلید همان توانِ پنل را دارد؛ اگر لو برود، به نامِ شما کار میکند. از محدودیتِ آیپی، تاریخِ انقضا و سقفِ خرج استفاده کنید (بخشِ «کلید، سقف و هزینه» پایینتر).
کلید، سقف و هزینه
هر پروژه کلیدِ خودش را دارد تا خرج و دسترسیِ هر کدام جدا کنترل شود.
سقفِ خرج
برای هر کلید سقفِ هزینه بگذارید تا خرج از کنترل خارج نشود.
محدودیتِ آیپی
کلید فقط از آیپی یا محدودههایی که مجاز کردهاید کار کند.
تاریخِ انقضا
۳۰، ۹۰، ۱۸۰ یا ۳۶۵ روز، یا بدونِ انقضا.
مدلِ ثابت
هر کلید را میتوان به یک مدل محدود کرد.
یک کیف پول، یک تعرفه
هزینهٔ پنل و API از یک کیف پول و با یک تعرفه حساب میشود.
هزینهٔ منصفانه
زمانِ انتظار در صف و اجراهای ناموفق هزینه ندارند.
کدام مدل برای کدام کار؟
چند مدل با توان و هزینهٔ متفاوت در دسترس است: مدلِ متعادل برای بیشترِ کارهای روزمرهٔ برنامهنویسی، قویترین برای کارهای سنگین و چندمرحلهای، و ارزانترین برای کارهای ساده و پرتعداد. حافظهٔ متنِ مدلهای اصلی تا یک میلیون توکن است؛ یعنی پروژهها و فایلهای بزرگ را یکجا میخوانند.
تعرفه
پلنها ماهانهاند و قیمت و سهمیهٔ هر کدام زنده از خودِ سرویس خوانده میشود — همان عددهایی که هنگامِ خرید در پنل میبینید.
| پلن | قیمتِ ماهانه | به ریال | سهمیه | کارِ همزمان | کاربر | |
|---|---|---|---|---|---|---|
| در حالِ خواندن از سرویس… | ||||||
- واحد با کارِ موتور کم میشود، نه با زمان. وقتی جواب را میخوانید یا تایپ میکنید چیزی کم نمیشود؛ انتظار در صف و کاری که با خطای سرویس شکست بخورد هم حساب نمیشود.
- پنل و API از یک سهمیه میخورند — یک حساب، یک سهمیه.
- واحدِ مصرفنشده به ماهِ بعد منتقل نمیشود؛ اگر وسطِ دوره تمام شود، شارژ یا ارتقا بگیرید.
- خرید از «حساب و پلن» ِ پنل انجام میشود و با پرداخت، شرایطِ استفاده را میپذیرید.
اپها و دانلود
همان پنل، روی گوشی و کامپیوتر:
| برنامه | فایل | حجم | تاریخ |
|---|
اپِ اندروید
دانلودِ فایلهای ساختهشده، فرستادنِ فایل از گوشی و بهروزرسانیِ خودکار.
اپِ ویندوز
آیکن کنارِ ساعت، پرسشِ سریع، گرفتنِ اسکرینشات از بخشی از صفحه، و اتصال به ویندوز برای کار روی سرور، شبکه و پروژههای خودتان.
روی وب
بدونِ نصب، از هر مرورگری؛ روی گوشی هم میشود آن را مثلِ اپ به صفحهٔ اصلی افزود.
- اندروید: اندروید ۸ و بالاتر. پس از نصب، اپ خودش نسخهٔ تازه را میگیرد و با یک تپ نصب میکند.
- ویندوز: ویندوز ۱۰ و ۱۱. چون فایل امضای دیجیتال ندارد، ویندوز هشدار میدهد؛ More info و سپس Run anyway.
- نشانیِ دانلود همیشه تازهترین نسخه را میدهد؛ برای همرسانی، همین نشانیها را بفرستید.
شروع کار
حساب
دسترسی فعلاً با دعوت است و حساب را مدیرِ سرویس میسازد؛ برای گرفتنِ حساب با ما تماس بگیرید.
ورود
در ai.webservice.ir با شمارهٔ موبایل و کدِ یکبارمصرف وارد شوید.
انتخابِ پلن
از «حساب و پلن» ِ پنل، پلنِ مناسب را بخرید.
اولین کار
کارتان را مثلِ یک درخواست بنویسید؛ نتیجه را به شکلِ فایل تحویل بگیرید.