خدمة تعتمد على وصول وكيل Cloudflare Worker إلى OpenAI/AzureOpenAI API، والتي تدعم حاليًا الوصول إلى تطبيقات WeChat الخاصة بالمؤسسة وحسابات WeChat العامة
هناك ثلاث طرق
快速编辑
في الزاوية اليمنى العليا، وقم بتنزيل ملف js المعبأ في إصدار هذا المشروع، وانسخ المحتوى إلى المحرر، واحفظه设置
الأخير في الصف الأوسط من الخيارات بالصفحة، وحدد变量
الموجود على اليسار، ثم قم بالتمرير لأسفل الصفحة إلى KV 命名空间绑定
،编辑变量
وانقر لإضافة الارتباط الذي تم إنشاؤه في الجزء الثاني من مساحة الاسم، يجب ملء اسم المتغير الموجود على اليسار بـ KV
环境变量
في الأعلى، واقرأ الفصول التالية لتكوينها على الواجهة وفقًا للخدمة التي تريد الوصول إليها.触发器
الثاني في الصف الأوسط من الخيارات في صفحة العامل لإضافة اسم المجال إلى العامل. يمكنك الرجوع إلى استخدام Cloudflare Workers لحل مشكلة عدم إمكانية الوصول إلى واجهة برمجة التطبيقات الخاصة بـ OpenAI وChatGPT. ملاحظة: عندما ينفذ wrangler
النشر، فإنه سيطبع المعلومات ذات الصلة، مثل متغيرات البيئة ومعرف KV الذي تم تكوينه في wrangler.toml
. يمكن رؤية ذلك من سجل تنفيذ Github Actions
id
kv_namespaces
في الملف wrangler.toml
بمعرف مساحة الاسم التي تم إنشاؤها للربط.Settings
- Secrets and variables
- Actions
في مستودع المشروع الخاص بك[vars]
في الملف الإضافي wrangler.toml
في الفصول التالية وفقًا للخدمة التي سيتم الوصول إليها، واملأ محتوى الملف بالكاملDeploy
يدويًا على صفحة إجراءات Github لإكمال النشر.بحاجة إلى فهم الاستخدام الأساسي لـ Git وNode.Js
wranger
هو عميل سطر الأوامر الرسمي لـ Cloudflare بعد تسجيل الدخول npx wrangler login
، يمكنك نشر العمال من خلال سطر الأوامر.KV
من خلال سطر الأوامر، ثم يتم ملء id
kv_namespaces
في الملف wrangler.toml
بمعرف مساحة الاسم التي تم إنشاؤها للربط.[vars]
في ملف التكوين wrangler.toml
وفقًا للخدمات التي تريد الوصول إليها.wrangler.toml
إلى wrangler.prod.toml
واستخدم الأمر npm run deploy
للنشر على Workerبالمقارنة مع WeChat، فمن المستحسن استخدام Enterprise WeChat. المزايا هي: 1. يتم التحكم في النطاق المرئي لتطبيق WeChat الخاص بالمؤسسة وهو غير مفتوح تمامًا مثل الحساب العام 2. بعد الانضمام إلى المؤسسة، يمكن لـ WeChat الشخصي الدخول إلى التطبيق من خلال الشركة في WeChat الشخصي، والذي فقط يتطلب نقرتين، بينما يتطلب الدخول إلى حساب الاشتراك المزيد من النقرات 3. دعم إنذارات الروبوت لمجموعة WeChat الخاصة بالمؤسسة
قم بالتسجيل في Enterprise WeChat، واملأ المعلومات كما تريد، دون الحاجة إلى مصادقة
الواجهة الخلفية لإدارة WeChat الخاصة بالمؤسسة - صفحة معلومات المؤسسة الخاصة بي - تأكيد معرف مؤسستك (corpid)
إدارة التطبيقات - قم بإنشاء تطبيق، ويمكنك عرض AgentId وSecret، وتلقي الرسائل - قم بإعداد استقبال API لإنشاء Token وEncodingAESKey بشكل عشوائي، ولا تحتاج إلى حفظه في هذا الوقت.
يقوم العامل بتكوين متغيرات البيئة التي يتطلبها التطبيق. يمكن تهيئتها من خلال عمليات الواجهة، راجع الخطوة الثالثة لنشر واجهة Cloudflare أعلاه. يمكن تهيئته من خلال ملف التكوين، راجع الخطوة الثالثة لنشر Github Action والخطوة الثالثة لنشر سطر الأوامر المحلي.
اسم متغير | وصف المحتوى | ملاحظة |
---|---|---|
WEWORK_ID_LIST | قائمة بمعرفات التطبيقات المسموح لها بالوصول إليها، ومضاعفاتها مفصولة بفواصل. | يتم تخصيص المعرف بواسطتك، ومن المستحسن أن يتكون من أحرف وأرقام في حدود 10 أرقام. |
WEWORK_${ID}_APPID | الشركات WeChat الشركات | استبدل ${ID} بالمعرف المخصص الخاص بك |
WEWORK_${ID}_TOKEN | رمز التطبيق | استبدل ${ID} بالمعرف المخصص الخاص بك |
WEWORK_${ID}_AES_KEY | تم تطبيق ترميز AESKey | استبدل ${ID} بالمعرف المخصص الخاص بك |
WEWORK_${ID}_ADMIN_USER_ID_LIST | قائمة المستخدمين الإداريين، مضاعفات مفصولة بفواصل | يمكنك تركه بدون تكوين في الوقت الحالي وتهيئته لاحقًا عندما تعرف معرف المستخدم الخاص بك. |
وفقًا لاسم المجال والمعرف المخصص، احصل على عنوان الخادم (URL) في الخطوة 3 وقم بتكوينه. التنسيق هو https://${域名}/openai/wework/${ID}
. على سبيل المثال، إذا كان اسم المجال هو xxx.com
والمعرف المخصص هو id123
، فإن عنوان الخادم (URL) هو https://xxx.com/openai/wework/id123
. على الرغم من أنه من المقترح为保障企业数据安全,需配置备案主体与当前企业主体相同或有关联关系的域名
، ومع ذلك، وجد الاختبار الفعلي أن Cloudflare يربط اسم المجال الخاص به يمكنني أيضًا اجتياز عملية التحقق ولست متأكدًا من القواعد المحددة.
يمكن للمستخدمين الانضمام إلى الشركة من خلال My Business-WeChat Plug-in-Invite Follower ومسح رمز الاستجابة السريعة ضوئيًا، والدخول إلى الشركة لاستخدام التطبيقات على WeChat الشخصي. لاحظ أنه يمكنك إيقاف تشغيل رسائل التطبيق في إعدادات WeChat للأعمال - إشعار الرسائل الجديدة - تلقي الرسائل في WeChat للأعمال فقط، وإلا فلن تتلقى رسائل رد في WeChat الشخصي الخاص بك.
قم بتسجيل حساب WeChat عام، عادةً ما يكون حساب اشتراك شخصي، مع حد منخفض للتحقق من المؤهلات
منصة إدارة الحساب العام - الإعدادات والتطوير - صفحة التكوين الأساسية: قم بتأكيد معرف المطور الخاص بك (AppID)، وإنشاء رمز مميز (Token)، وتشفير الرسائل ومفتاح فك التشفير (EncodingAESKey) (مطلوب فقط في حالة تشغيل وضع الأمان أو وضع التوافق)، هذا هناك ليست هناك حاجة لتمكين تكوين الخادم عندما
يقوم العامل بتكوين متغيرات البيئة التي يتطلبها حساب WeChat العام. يمكن تهيئتها من خلال عمليات الواجهة، راجع الخطوة الثالثة لنشر واجهة Cloudflare أعلاه. يمكن تهيئته من خلال ملف التكوين، راجع الخطوة الثالثة لنشر Github Action والخطوة الثالثة لنشر سطر الأوامر المحلي.
اسم متغير | وصف المحتوى | ملاحظة |
---|---|---|
WECHAT_ID_LIST | قائمة بمعرفات الحسابات الرسمية المسموح لها بالوصول، متعددة منها مفصولة بفواصل. | يتم تخصيص المعرف بواسطتك، ومن المستحسن أن يتكون من أحرف وأرقام في حدود 10 أرقام. |
WECHAT_${ID}_APPID | معرف المطور (AppID) للحساب الرسمي | استبدل ${ID} بالمعرف المخصص الخاص بك |
WECHAT_${ID}_TOKEN | رمز الحساب العام | استبدل ${ID} بالمعرف المخصص الخاص بك |
WECHAT_${ID}_AES_KEY | مفتاح تشفير وفك تشفير رسائل الحساب الرسمي (EncodingAESKey) | استبدل ${ID} بالمعرف المخصص الخاص بك وهذا مطلوب فقط عند تمكين الوضع الآمن أو وضع التوافق. |
WECHAT_ADMIN_USER_ID_LIST | قائمة المستخدمين الإداريين، مضاعفات مفصولة بفواصل | يمكنك تركه بدون تكوين في الوقت الحالي وتهيئته لاحقًا عندما تعرف معرف المستخدم الخاص بك. |
WECHAT_ADMIN_OPENAI_KEY | مفتاح OpenAI الخاص بالمستخدم المسؤول | اختياريًا، سيتم استخدام WECHAT_GUEST_OPENAI_KEY بشكل افتراضي، مع أولوية أعلى من تكوين OpenAI |
WECHAT_GUEST_OPENAI_KEY | مفتاح OpenAI الخاص بالزائر | اختياري، يمكن استخدامه حسب الرغبة، وله أولوية أعلى من تكوين OpenAI، قم بالتكوين بحذر! |
استنادًا إلى اسم المجال والمعرف المخصص، احصل على عنوان الخادم (URL) الذي تم تكوينه في الخطوة الثانية وقم بتكوينه بالتنسيق https://${域名}/openai/wechat/${ID}
. على سبيل المثال، إذا كان اسم المجال هو xxx.com
والمعرف المخصص هو id123
، فإن عنوان الخادم (URL) هو https://xxx.com/openai/wechat/id123
تحدد طريقة تشفير الرسائل وفك تشفيرها بشكل عام نصًا عاديًا، وتمكن تكوين الخادم، ويمكن استخدامها بعد التحقق الناجح من الوصول.
يمكن تجاهل الحالة عند الإدخال
طلب | الأدوار المتاحة | يوضح |
---|---|---|
/يساعد | زائر، مستخدم | الحصول على معلومات مساعدة الأوامر |
/setOpenAiType | زائر، مستخدم | تعيين ما إذا كنت تريد استخدام openAi أو azureOpenAi يتم استخدامه بشكل افتراضي. |
/bindKey | زائر، مستخدم | قم بربط مفتاح OpenAI API بتنسيق /bindKey xxx. إذا تم ربط المفتاح، فسيتم الكتابة فوقه. بعد الربط، استخدم الأمر /testKey لاختبار ما إذا كان متاحًا بشكل طبيعي. |
/unbindKey | مستخدم | قم بإلغاء ربط مفتاح OpenAI API |
/bindAzureKey | زائر، مستخدم | ربط مفتاح AzureOpenAI بتنسيق /bindAzureKey yourResourceName:yourDeploymentName:yourApiKey. إذا تم ربط المفتاح، فسيتم الكتابة فوقه. بعد الربط، استخدم الأمر /testKey لاختبار ما إذا كان متاحًا بشكل طبيعي. |
/unbindAzureKey | مستخدم | قم بإلغاء ربط مفتاح AzureOpenAI API |
/testKey | مستخدم | اتصل بـ OpenAI/AzureOpenAI لسرد واجهة النموذج، واختبار ما إذا كان مفتاح واجهة برمجة التطبيقات مرتبطًا ومتاحًا بشكل طبيعي، ولا يستهلك أي استخدام. |
/setChatType | المستخدم، التجريبي | قم بتبديل وضع المحادثة، يمكنك الاختيار بين "الدردشة الفردية" و"الدردشة التسلسلية"، والوضع الافتراضي هو "الدردشة الفردية". تقوم "الدردشة الفردية" بمعالجة الإدخال الحالي فقط، بينما ستجلب "الدردشة المتقاطعة" سجلات الدردشة التاريخية لطلب OpenAI، مما يستهلك المزيد من الاستخدام. |
/newChat | المستخدم، التجريبي | امسح سجل الدردشة السابق وابدأ محادثة جديدة |
/إعادة المحاولة | المستخدم، التجريبي | احصل على الإجابة المقابلة بناءً على msgId، وسيتم الاحتفاظ بالإجابة لمدة 3 دقائق فقط. يمكن تكوين وقت الاحتفاظ عبر ANSWER_EXPIRES_MINUTES |
.. | المستخدم، التجريبي | أعد محاولة الإجابة المتأخرة الأخيرة |
. . | المستخدم، التجريبي | أعد محاولة الإجابة المتأخرة الأخيرة |
/bindSessionKey | زائر، مستخدم | لربط مفتاح جلسة OpenAI، يمكنك عرض رأس طلب https://api.openai.com/v1/usage في صفحة الاستخدام. سيصبح مفتاح الجلسة الأصلي غير صالح في كل مرة تقوم فيها بتسجيل الدخول مرة أخرى وتحتاج إلى الربط مرة أخرى. |
/unbindSessionKey | مستخدم | قم بإلغاء ربط مفتاح جلسة OpenAI |
/usage | مستخدم | قد يكون هناك تأخير لمدة 5 دقائق تقريبًا للحصول على معلومات الاستخدام لهذا الشهر، وتحتاج إلى ربط مفتاح OpenAI API أو مفتاح الجلسة. |
/freeUsage | مستخدم | قد يكون هناك تأخير لمدة 5 دقائق تقريبًا للحصول على معلومات الاستخدام المجانية، وتحتاج إلى ربط مفتاح جلسة OpenAI. |
/نظام | المستخدم، المسؤول | عرض بعض معلومات تكوين النظام الحالي، مثل نموذج OpenAI الحالي، ومعرف المستخدم الحالي، وما إلى ذلك. |
/التعليمات | زائر، مستخدم | بعض الأسئلة المتداولة |
/adminAuth | زائر، مستخدم | إخفاء الأوامر وتصبح مسؤولاً من خلال مصادقة الرمز المميز لتجنب مشكلة تكوين معرف المستخدم المسؤول لكل نظام أساسي. يلزم تكوين ADMIN_AUTH_TOKEN أولاً |
/testAlarm | مسؤول | إخفاء الأمر واختبار إرسال رسالة إنذار. ALARM_URL يحتاج إلى التهيئة أولاً |
/تعليق | زائر، مستخدم | يرسل المستخدمون تعليقات إلى المطورين. يلزمك تكوين FEEDBACK_URL أولاً |
اسم التكوين | القيمة الافتراضية | يوضح |
---|---|---|
CHAT_MODEL | gpt-3.5-توربو | اسم نموذج OpenAI |
OPEN_AI_API_PREFIX | https://api.openai.com/v1 | بادئة واجهة برمجة التطبيقات (API) الشائعة لـ OpenAI |
GUEST_KEY | اختياريًا، يمكن استخدام مفتاح openai الافتراضي للزائر حسب الرغبة، فهو يعمل عبر الأنظمة الأساسية، لذا قم بتكوينه بعناية! | |
ADMIN_KEY | اختياري، مفتاح openai الافتراضي للمستخدم المسؤول، صالح عبر الأنظمة الأساسية | |
OPEN_AI_USAGE | https://api.openai.com/dashboard/billing/usage | عنوان استخدام OpenAI |
OPEN_AI_FREE_USAGE | https://api.openai.com/dashboard/billing/credit_grants | عنوان الاستخدام المجاني لـ OpenAI |
OPEN_AI_API_TIMEOUT_MS | 30000 | انتهت مهلة طلب OpenAI API، بالمللي ثانية |
OPEN_AI_API_KEY_OCCUPYING_DURATION | 0 | يتم استخدام الفاصل الزمني لاستخدام مفتاح OpenAI API، بالثواني، للحد من التيار، ويتم تمكينه عندما يكون أكبر من 0. لا يمكن القول أن استخدام kv لتنفيذ الحد الحالي يمكن استخدامه إلا بالكاد. |
OPEN_AI_API_CHAT_EXTRA_PARAMS | معلمات عالمية إضافية للدردشة عبر OpenAI API وسلسلة JSON والمعلمات المتاحة | |
MIN_CHAT_RESPONSE_TOKEN_NUM | 500 | الحد الأدنى لعدد الرموز المميزة التي يرد عليها OpenAI |
MAX_HISTORY_LENGTH | 20 | الحد الأقصى لطول سجل الدردشة |
الإجابة_EXPIRES_MINUTES | 3 | كم من الوقت لحفظ الأسئلة/الأجوبة، بالدقائق |
SYSTEM_INIT_MESSAGE | أنت ChatGPT، وهو نموذج لغة كبير تم تدريبه بواسطة OpenAI. أجب بإيجاز قدر الإمكان: 2021-09-01 | تم إرسال رسالة النظام الأولى الافتراضية إلى OpenAI، والتي يمكن استخدامها لضبط النموذج |
WELCOME_MESSAGE | مرحبًا، يمكنك إدخال /help لعرض الأوامر المتوفرة حاليًا | رسالة ترحيب عندما يتابع المستخدمون التطبيق |
AZURE_API_PREFIX | https://RESOURCENAME.openai.azure.com/openai | Azure OpenAI عبر بادئة الطلب |
AZURE_CHAT_API_VERSION | 2023-03-15-معاينة | إصدار API لواجهة الدردشة |
AZURE_LIST_MODEL_API_VERSION | 2022-12-01 | قائمة إصدارات واجهة API النموذجية |
AZURE_GUEST_KEY | اختياريًا، يمكن استخدام مفتاح Azure OpenAI الافتراضي للزائر حسب الرغبة، فهو يعمل عبر الأنظمة الأساسية، لذا قم بتكوينه بعناية! | |
AZURE_ADMIN_KEY | اختياري، مفتاح azure openai الافتراضي للمستخدمين الإداريين، صالح عبر الأنظمة الأساسية |
اسم التكوين | القيمة الافتراضية | يوضح |
---|---|---|
DEBUG_MODE | خطأ شنيع | في وضع التصحيح، سيتم طباعة المزيد من السجلات |
ECHO_MODE | خطأ شنيع | وضع الصدى، يقوم بإرجاع المعلومات المستلمة مباشرة |
ALARM_URL | عنوان URL للإنذار، يدعم حاليًا روبوتات مجموعة WeChat للمؤسسات والعناوين المخصصة التي ستنشر { "msg": "xxxx" } بيانات JSON | |
ردود الفعل_URL | يدعم عنوان URL لتعليقات المستخدم حاليًا روبوتات مجموعة WeChat للمؤسسات وستكون العناوين المخصصة عبارة عن بيانات POST { "msg": "xxxx" } JSON. | |
ADMIN_AUTH_TOKEN | يجب أن يكون الرمز المميز الذي تمت مصادقته كمسؤول طويلًا ومعقدًا بدرجة كافية، ويجب تهيئته وحفظه بعناية! |