From b3940e87f70ccf654dc24611827f9ca5270b9d1b Mon Sep 17 00:00:00 2001 From: Zareian Date: Fri, 2 Oct 2026 06:50:33 +0330 Subject: [PATCH] docs: age tone, public IDs, prices, account deletion and the test-account cleanup Co-Authored-By: Claude Opus 5.5 --- CLAUDE.md | 15 ++++++++++++--- docs/ai-cost-and-guardrails.md | 6 ++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 4432f0e..4eb2038 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -404,10 +404,19 @@ anyone who can read this repo can forge a token for any user.** رد شد؛ شرحش در `docs/ai-cost-and-guardrails.md` است. - **هزینه:** هر سوال حدودِ ۰٫۲ سنت (≈۶۰۰ تومان) است و ۷۰٪ِ آن ورودی است. **سقفِ روزانه:** رایگان `AI_DAILY_QUOTA_FREE` (پیش‌فرض ۳)، مشترک `Plan.ai_daily_quota` (ادمین، پیش‌فرض ۱۵). تا امروز همه ۱۵ - داشتند. گزارشِ مدیرعامل در `~/Desktop/گزارشات Tadrisino/گزارش-هزینه-دستیار/` است. مسیرِ استریم + داشتند. گزارشِ مدیرعامل و گزارشِ ۲۶ در `~/Desktop/گزارشات Tadrisino/گزارش-۲۶/` است. مسیرِ استریم حالا توکن‌ها را ثبت می‌کند (پیش از این صفر بود). خرجِ GapGPTِ آن روز حدودِ ۴ سنت بود. -- ⚠️ **لحنِ دستیار هنوز از روی پایه است، نه سن**؛ بزرگسالی که پایه‌ی سوم را بردارد لحنِ دبستانی - می‌گیرد. این تصمیمِ محصولی است و سنجش می‌خواهد. +- **لحنِ دستیار از سن** (`tone_for`، پرامپت `tutor-v12-age-tone`): ۱۸+ در هر پایه لحنِ بزرگسال می‌گیرد؛ + نمادگذاری از کتابِ پایه. کشِ جواب با لحن کلید می‌خورد. فقط یک مقایسه‌ی زنده (سوم، ۸ و ۴۵ سال). +- **شناسه‌ی نمایشی** `User482917` (`accounts/public_id.py`، از id، بی‌ستون؛ ادمین با آن جستجو می‌کند). +- **قیمتِ موقتِ پلن‌ها** (`subscription.0007`): ماهانه ۹۹ و سالانه ۹۹۰ هزار تومان، هر دو ۵ سوال در روز. +- **حذفِ حساب** `POST /api/user/delete`: شماره‌دار با کدِ پیامکیِ تازه (`verify_phone_otp`، مشترک با ورود)، + مهمان با «حذف»؛ سفارش‌ها و statuslog می‌مانند؛ دموها رد می‌شوند. «ورود با حسابِ دیگر» فقط خروج است؛ + چند حساب روی یک دستگاه عمداً نگه داشته نمی‌شود. +- **پاک‌سازیِ ۲۰۲۶-۱۰-۰۲ روی سرور**: `delete_users --real-phones --skip-paid` پنج حسابِ شماره‌دار (۱، ۱۷، + ۱۹، ۲۰، ۲۱) را پاک کرد؛ دموها و کاربرِ ۲۶ (پرداختِ موفق) ماندند. بکاپ: + `.deploy-backups/db-before-user-cleanup-20261002-061142.sqlite3`. دستور فقط مدل‌های خودِ پروژه را + می‌شمارد؛ بارِ اول `admin.LogEntry` (کارمندِ ادمین) را هم گرفته بود و پیش از اجرا اصلاح شد. - `spectacular --validate` یک خطای از پیش موجود دارد (روی `d5dbd1b` هم بود) که به این تغییرها ربطی ندارد. ## وضعیت ۲۰۲۶-۰۹-۳۰ — بازار وصل شد diff --git a/docs/ai-cost-and-guardrails.md b/docs/ai-cost-and-guardrails.md index 2c9f79c..5e3ecfd 100644 --- a/docs/ai-cost-and-guardrails.md +++ b/docs/ai-cost-and-guardrails.md @@ -1,10 +1,10 @@ # هزینه‌ی دستیار و محدود کردنش به ریاضی نسخه‌ی کامل برای مدیرعامل (جدول و نمودار، HTML و PDF): -`~/Desktop/گزارشات Tadrisino/گزارش-هزینه-دستیار/`. این فایل خلاصه‌ی فنیِ همان است و +`~/Desktop/گزارشات Tadrisino/گزارش-۲۶/`. این فایل خلاصه‌ی فنیِ همان است و می‌گوید عددها از کجا آمده‌اند و چطور دوباره اندازه گرفته می‌شوند. -## هزینه‌ی هر سوال (مهرِ ۱۴۰۵، پرامپتِ `tutor-v11-math-only`، `gpt-4.1-mini`) +## هزینه‌ی هر سوال (مهرِ ۱۴۰۵، پرامپتِ `tutor-v11-math-only`؛ از `tutor-v12-age-tone` لحن برای ۱۸+ بزرگسالانه است، `gpt-4.1-mini`) - **قیمت:** GapGPT برای `gpt-4.1-mini` دقیقاً قیمتِ رسمیِ OpenAI را حساب می‌کند، یعنی ۰٫۴۰ دلار برای هر میلیون توکنِ ورودی و ۱٫۶۰ دلار برای خروجی. این با `usage.cost`ِ ۵۳۹ فراخوانیِ @@ -39,6 +39,8 @@ Message.objects.filter(role='assistant', created_at__gte=since).values('conversa می‌گیرد. کد در `subscription.services.ai_daily_quota` است. - کاربرِ رایگانی که به سقف می‌رسد پیامِ «با خریدِ اشتراک…» می‌گیرد و اپ دکمه‌ی «دیدنِ اشتراک‌ها» را نشان می‌دهد. +- قیمتِ موقت (migrationِ `subscription.0007`): ماهانه ۹۹٬۰۰۰ و سالانه ۹۹۰٬۰۰۰ تومان، هر دو ۵ سوال در روز. + API پلن‌ها `aiDailyQuota` و `freeAiDailyQuota` می‌دهد و کارتِ پلن عدد را از همین می‌سازد. - انتخابِ عددها تصمیمِ محصولی است. جدولِ قیمت در برابرِ سقف در نسخه‌ی کاملِ گزارش آمده است. ## محافظِ دستیار (`rag/services/guardrails.py`)