عن المشروع

# One API الوصول إلى جميع نماذج الذكاء الاصطناعي الكبرى عبر تنسيق API موحد من OpenAI، جاهز للاستخدام مباشرةً. ## النماذج والقنوات المدعومة - سلسلة OpenAI ChatGPT (بما في ذلك Azure OpenAI) - سلسلة Anthropic Claude (بما في ذلك AWS Claude) - سلسلة Google PaLM2 / Gemini - سلسلة Mistral - ByteDance Doubao (Huoshan Engine) - Baidu Wenxin Yiyan - Alibaba Tongyi Qianwen - iFlytek Spark - Zhipu ChatGLM - 360 ZhiNao - Tencent Hunyuan - Moonshot AI, Baichuan, MINIMAX, DeepSeek - Groq, Ollama, Lingyi Wanwu, StepFun, Coze - Cohere, Cloudflare Workers AI, together.ai, novita.ai - SiliconCloud, xAI, DeepL وغيرها ## الوظائف الأساسية 1. **توحيد واجهة API**: جميع القنوات توفر واجهات متوافقة مع تنسيق OpenAI، دون الحاجة لتعديل الكود عند تبديل النموذج. 2. **توازن الحمل**: دعم توجيه متعدد القنوات مع توزيع تلقائي بناءً على مجموعات المضاعفات. 3. **إدارة الرموز**: تعيين مدة صلاحية وحد أقصى ورصيد ونطاق IP وقائمة النماذج المسموح بها لكل رمز وصول. 4. **إدارة القنوات**: إنشاء وإدارة دفعية للعديد من القنوات الخلفية مع قوائم نماذج مستقلة. 5. **تجميع المستخدمين**: تجميعات مختلفة بتفاوتات وصلاحيات مختلفة. 6. **رموز الاستبدال**: إنشاء وتصدير رموز استبدال جماعية لإعادة تعبئة الحسابات. 7. **إعادة المحاولة التلقائية**: التبديل التلقائي إلى قنوات بديلة عند فشل القناة الأولية. 8. **واجهة الرسم**: دعم وساطة واجهات توليد الصور. 9. **مكافآت الدعوة**: دعم نظام دعوة المستخدمين. 10. **نشر متعدد الآلات**: دعم توزيعات master/slave مع مزامنة cache عبر Redis. 11. **التخصيص**: دعم تخصيص اسم النظام والشعار وتذييل الصفحة والصفحة الرئيسية وصفحة حول. 12. **طرق تسجيل الدخول**: دعم التسجيل بالبريد الإلكتروني، تفويض Feishu، تفويض GitHub، تفويض WeChat Official Account. 13. **Cloudflare AI Gateway**: دعم الربط المباشر مع Cloudflare AI Gateway. 14. **تبديل السمات**: دعم تغيير سمة الواجهة. ## طرق النشر ### نشر Docker (موصى به) ```shell # وضع SQLite docker run --name one-api -d --restart always -p 3000:3000 \ -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data \ justsong/one-api # وضع MySQL docker run --name one-api -d --restart always -p 3000:3000 \ -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" \ -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data \ justsong/one-api ``` الحساب الأولي: اسم المستخدم `root`، كلمة المرور `123456`. ### نشر Docker Compose ```shell docker-compose up -d ``` يتم تخزين البيانات في دليل `./data/mysql`. ### النشر اليدوي ```shell git clone https://github.com/songquanpeng/one-api.git cd one-api/web/default && npm install && npm run build cd ../.. && go mod download && go build -ldflags "-s -w" -o one-api ./one-api --port 3000 --log-dir ./logs ``` ### منصات الطرف الثالث يدعم النشر بلمسة واحدة عبر Sealos وZeabur وRender، ومتوافق أيضًا مع لوحة Baota. ## طريقة الاستخدام 1. أضف مفاتيح API لكل نموذج في صفحة "القنوات". 2. أنشئ رموز وصول للمستخدمين المحددين في صفحة "الرموز". 3. اضبط API Base في العميل إلى عنوان One API (مثل `https://your-domain/v1`)، واضبط API Key على الرمز المُنشأ. يمكن تحديد قناة معينة بإلحاق `-CHANNEL_ID` بالرمز، مثال: `Authorization: Bearer ONE_API_KEY-1`. ## نقاط المتغيرات البيئية | المتغير | الشرح | |---|---| | `REDIS_CONN_STRING` | تفعيل cache Redis | | `SESSION_SECRET` | مفتاح session ثابت للحفاظ على حالة تسجيل الدخول بعد إعادة التشغيل | | `SQL_DSN` | استخدام MySQL/PostgreSQL بدلاً من SQLite | | `SYNC_FREQUENCY` | تكرار مزامنة cache (بالثواني)، مُوصى به للنشر متعدد الآلات | | `NODE_TYPE` | `master` أو `slave`، للاستخدام متعدد الآلات | | `FRONTEND_BASE_URL`| إعادة توجيه طلبات الواجهة الأمامية من الخادم | | `INITIAL_ROOT_TOKEN`| إنشاء root token تلقائياً عند أول تشغيل | ## الترخيص ترخيص MIT، يشترط الإبقاء على نسب المشروع وارابطه في تذييل الصفحة.