ai-startup-skills
AI 제품을 만드는 스타트업을 위한 7단계 에이전트 스킬: 검증 → 비즈플랜 → 정책 → 로드쇼 → 고객 확보 → 가격 책정 → 등록
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗منصة إنجاز أعمال ثنائية اللغة، تتضمن مركز قيادة تفاعليًا، سَدِيد، طبقة صلاحيات متعددة المستأجرين، وتكاملات مؤسسية قابلة للتهيئة.
يدعم سَدِيد المحادثة الصوتية بصوته الموحّد، الأسئلة النصية، تحليل الصور والفيديو والصوت والمستندات، وإرسال البريد وSMS عبر مزوّدات مؤسسية تُضبط من متغيّرات البيئة. الإرسال الخارجي محصور بلحسابات الإدارية المصرّح لها، ويمر دائماً عبر معاينة كاملة وإقرار بشري ورمز اعتماد قصير الصلاحية قبل إرسال وحيد، ثم تُحدّث حالة التسليم عبر Webhook موقّع.
يمكن للزائر مشاهدة العرض التنفيذي كاملاً دون اسم مستخدم أو كلمة مرور. لا تظهر حقول الدخول إلا بعد إقرار صريح بالانتقال من العرض المفتوح إلى مرحلة التفعيل؛ ولا يمنح هذا الإقرار أي صلاحية داخل النظام.
يبدأ صوت سَدِيد بعد ضغط المستخدم دائماً، ويعرض حالة التحضير والتشغيل والخطأ
بوضوح، ولا يُستبدل بصوت متصفح آلي عند غياب إعداد ElevenLabs. (المسار
/executive-bridge «جسر القيادة» حُذف من النظام كليًّا بقرار المالك
٢٠٢٦/٠٨/٠٥، ولا بديل مسجَّل له.)
SadeedCopilot ترسل النص والمرفقات عبر SadeedProvider وsadeedAuthedFetch إلى /api/chat؛ أوامر الصفحات تمر عبر sadeedBrain. اللوحة نفسها تستعمل chat.sendMessage، فلا يُدّعى مرور كل طلب عبر الدماغ.gemini-3.6-flash). البديل القائم Gemini عبر Lovable AI Gateway (google/gemini-3-flash-preview) عند تهيئة LOVABLE_API_KEY وفشل مؤقت أو عدم دعم النموذج الأساسي. ليس اتصالًا مباشرًا بـOpenAI./api/chat/health يعيد حالة المخزن في gate وحضور المفتاح؛ ok يؤكد نجاح الفحص، لا نجاح توليد إجابة فعلية. pingChat ينقل هذه الحالة.threads/messages تتطلب مستخدمًا متحققًا وthreadId؛ الناقل الحالي يرسل id فقط، لذا لا يُدّعى حفظ محادثة اللوحة كاملة بين الزيارات. الكتابات الخلفية قد تفشل وتُسجّل دون تعطيل الرد.src/lib/sadeed/openai-provider.server.ts يستخدم حزمة @ai-sdk/openai الرسمية وResponses API
بالنموذج gpt-4.1-mini ومفتاح OPENAI_API_KEY من Secrets على الخادم فقط.
طلب POST /api/chat مع X-SADEED-Provider: openai يختار هذا المسار؛ اللوحة تبقى على Gemini
حتى ينجح التحقق الفعلي. لا Edge Function منفصلة ولا مساعد مكرر ولا تغيير قاعدة أو صلاحيات.
تبقى بوابات المعدّل والحصة اليومية والتزامن الحالية؛ OpenAI محدود بـ1200 رمز خرج لكل خطوة،
خطوتين كحد أقصى، مهلة توليد 25 ثانية، ودون إعادة محاولة أو تحويل تلقائي لمزوّد آخر.
store: false يمنع حفظ الاستجابة في سجل Responses، ولا يَعِد بسياسة احتفاظ أخرى.
الترويسة X-SADEED-Generation تميّز نجاح التوليد عن رد الخطأ الآمن حتى مع HTTP 200.
تجربة 2026-10-19 عبر /api/chat: وصل الطلب إلى OpenAI ورُفض بـ429؛ الفحص المباشر
أكد insufficient_quota / credit_balance_exhausted. لم يصل رد مولّد ناجح؛ يلزم معالجة
رصيد OpenAI ثم إعادة التحقق قبل تفعيل المسار في اللوحة. لم يُنشر هذا التغيير.
src/routes/__root.tsx يركّب SadeedProvider وSadeedCopilot مرة واحدة؛ صفحات /sadeed و/assistant/ و/assistant/$threadId تستعمل CanonicalSadeedRoute لفتح اللوحة نفسها.src/routes/api/chat.ts (POST /api/chat) هي مسار خادم TanStack؛ ليست Supabase Edge Function. src/server.ts يغلّف مدخل الخادم، والبناء يستهدف Cloudflare Workers افتراضيًا. لا يثبت ذلك أن النسخة الحالية منشورة.src/lib/ai-gateway.server.ts ينشئ Google Gemini مباشرة. src/lib/sadeed/backup-provider.server.ts يستعمل محوّل OpenAI-compatible للوصول إلى نموذج Gemini في بوابة Lovable؛ اسم المحوّل لا يعني استخدام نموذج OpenAI. مسار OpenAI الإضافي أعلاه يستعمل اتصالًا مباشرًا مستقلًا؛ الافتراضي يبقى Gemini.org_members. القراءات والكتابات العادية تستعمل عميل المستدعي وسياسات الوصول؛ الضيف لا يحصل على أدوات المؤسسة أو استرجاعها أو حفظ المحادثة. هذا وصف للكود، وليس شهادة جديدة على سياسات قاعدة الإنتاج.src/start.ts يضيف حامل الجلسة إلى استدعاءات createServerFn. ناقل الدردشة يضيفه بنفسه؛ انتهاء مهلة التحقق لا يمنح صلاحيات مستخدم متحقق.src/lib/sadeed-core/services/chat-error-text.ts يحوّل أخطاء العميل إلى رسائل عربية آمنة. خطأ المزوّد يُحوّل في الخادم إلى رد آمن؛ قد يصل HTTP 200 مع سطر خطأ، فلا يكفي نجاح HTTP لإثبات نجاح النموذج.src/lib/sadeed-core/providers/sadeed-provider.tsx وstate/sadeed-store.ts؛ الرسم يستعمل react-markdown وremark-gfm في SadeedCopilot.tsx.| النطاق | الأسماء | الاستخدام |
|---|---|---|
| البناء/المتصفح، إعدادات عامة فقط | VITE_SUPABASE_URL, VITE_SUPABASE_PUBLISHABLE_KEY, VITE_SUPABASE_PROJECT_ID | ربط العميل بالخدمات الحالية؛ ليست مفاتيح إدارية |
| الخادم | SUPABASE_URL, SUPABASE_PUBLISHABLE_KEY, SUPABASE_SERVICE_ROLE_KEY | ربط الخادم ومخزن بوابات المعدّل؛ المفتاح الإداري لا يدخل المتصفح |
| الذكاء الأساسي | GEMINI_API_KEY أو GOOGLE_GENERATIVE_AI_API_KEY, GEMINI_MODEL | المفتاح الأساسي مطلوب لتجاوز الرد المحلي؛ النموذج محصور بقائمة الخادم |
| البديل الاختياري | LOVABLE_API_KEY | نموذج Gemini عبر البوابة؛ لا يكفي وحده لتجاوز شرط المفتاح الأساسي الحالي |
| الصوت الاختياري | ELEVENLABS_API_KEY | صوت سَدِيد عبر الخادم فقط |
| بوابات التكلفة | SADEED_CHAT_MAX_INFLIGHT, SADEED_CHAT_DAILY_PER_IDENTITY, SADEED_CHAT_DAILY_GLOBAL, SADEED_GATE_DEGRADED_MODE | سقوف التزامن واليوم؛ الوضع bounded قرار فوترة للمالك، لا يُفعّل تلقائيًا |
| النشر المستقل الاختياري | CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID | صلاحيات النشر في حساب المالك، لا إعدادات المتصفح |
مسار Gemini الافتراضي لا يتطلب OPENAI_API_KEY؛ مسار OpenAI الإضافي يتطلبه. وجود أسماء في وثيقة أو .env.example لا يثبت تفعيل خدمة. المفاتيح الخاصة تُضبط في بيئة الخادم فقط، ولا تُنسخ إلى README أو Git أو أي متغير VITE_*. لا يُفترض أن كل اسم في .env.example يستعمله المسار الحالي.
cp .env.example .env.local
npm ci
npm run dev
املأ فقط القيم المطلوبة في .env.local. لا تُودع مفاتيح الإنتاج أو
SUPABASE_SERVICE_ROLE_KEY في المستودع.
لمعاينة حزمة Cloudflare بعد بنائها، شغّل npm run build ثم
npm run preview. يستخدم أمر المعاينة إعداد Worker الناتج نفسه بدل خادم Vite
العام.
npm run check
npm run lint
npm run typecheck
npm test
npm run build
npm run check:secrets
npm run check:audit
تجمع npm run check بين ESLint، فحص TypeScript، اختبارات Vitest، وبناء
الإنتاج، وفحوص الأداء والتباين والأسرار وتدقيق الاعتمادات. الأوامر المنفردة أعلاه بدائل للتشخيص وليست إثباتًا على تنفيذ البوابة كاملة. اختبارات E2E التي تعتمد على خدمات المصادقة تُشغّل عبر npm run test:e2e
بعد توفير بيانات بيئة الاختبار.
فحص توثيق ٢٠٢٦/١٠/١٩: شُغّل bunx vitest run src/lib/sadeed-core/services src/lib/sadeed/backup-provider.model-404.test.ts src/lib/sadeed/backup-provider.retry-after.test.ts src/routes/api/chat-health.test.ts؛ نجح 47 اختبارًا في 10 ملفات. لم تُشغّل بوابة npm run check كاملة في هذا الفحص، ولم يُختبر اتصال OpenAI أو توليد البديل فعليًا.
خط Lovable هو الناشر الأساسي الحالي بحسب .github/workflows/deploy.yml؛ Cloudflare Workers هدف البناء الافتراضي، ونشر GitHub Actions مسار احتياطي اختياري. ci.yml يستدعيه بعد بواباته على دفع main؛ إن غابت إعداداته يتخطى النشر مع تحذير، فالأخضر لا يثبت نشرًا. اختبار الأمان E2E استشاري عند غياب بياناته، ولا يُدّعى أنه بوابة إلزامية في كل تشغيل.
خطوات إطلاق آمن عند إذن المالك، لا في فحص التوثيق هذا:
npm run build يكتب معرّف البناء ويُخرج .output/server/wrangler.json؛ npm run preview يعاين هذه الحزمة محليًا.vercel.json وفرع إعداد Vercel لا يثبت اعتماده للإنتاج./api/public/health و/api/chat/health، ثم تسجيل الدخول والصلاحيات وسؤال عربي حقيقي والتكاملات المعنية. المزامنة ليست نشرًا، وفحص حضور المفاتيح ليس فحص توليد.راجع DEPLOYMENT.md كمرجع تاريخي، مع تقديم الشروط الفعلية في ci.yml وdeploy.yml وقرارات المالك على العبارات القديمة المخالفة. هذا الفحص لم يغيّر النشر أو الأسرار أو قاعدة البيانات.
البيانات الظاهرة داخل صورة مركز القيادة نموذجية للعرض؛ الأزرار الشفافة الموضوعة فوقها حقيقية وقابلة للتنقل، وتُظهر الواجهة المنطقة النشطة صراحة.