يشغّل الأمر aicippy-code serve خادما HTTP دون واجهة ويعرض نقطة نهاية OpenAPI يمكن لعميل aicippy-code استخدامها.
aicippy-code serve [--port <number>] [--hostname <string>] [--cors <origin>]
الخيار الوصف الافتراضي --portالمنفذ الذي يستمع عليه 4096--hostnameاسم المضيف الذي يستمع عليه 127.0.0.1--mdnsتفعيل اكتشاف mDNS false--mdns-domainاسم نطاق مخصص لخدمة mDNS aicippy-code.local--corsأصول (Origins) متصفح إضافية مسموح بها []
يمكن تمرير --cors عدة مرات:
aicippy-code serve --cors http://localhost:5173 --cors https://app.example.com
عيّن AICIPPY_CODE_SERVER_PASSWORD لحماية الخادم باستخدام مصادقة HTTP الأساسية. اسم المستخدم افتراضيا هو aicippy-code، أو عيّن AICIPPY_CODE_SERVER_USERNAME لتغييره. ينطبق ذلك على كل من aicippy-code serve و aicippy-code web.
AICIPPY_CODE_SERVER_PASSWORD = your-password aicippy-code serve
عند تشغيل aicippy-code يبدأ تشغيل واجهة terminal تفاعلية (TUI) وخادما. تكون الـ TUI هي
العميل الذي يتحدث إلى الخادم. يوفّر الخادم نقطة نهاية لمواصفة OpenAPI 3.1.
وتُستخدم هذه النقطة أيضا لتوليد SDK .
تتيح هذه البنية لـ aicippy-code دعم عدة عملاء وتمكّنك من التفاعل مع aicippy-code برمجيا.
يمكنك تشغيل aicippy-code serve لبدء خادم مستقل. إذا كانت واجهة aicippy-code في terminal (TUI)
قيد التشغيل، فسيبدأ aicippy-code serve خادما جديدا.
عند بدء الـ TUI تقوم بتعيين منفذ واسم مضيف عشوائيا. يمكنك بدلا من ذلك تمرير الخيارات --hostname و --port، ثم استخدامهما للاتصال بخادمها.
يمكن استخدام نقطة النهاية /tui للتحكم في الـ TUI عبر الخادم. على سبيل المثال، يمكنك تعبئة الموجّه مسبقا أو تشغيله. يُستخدم هذا الإعداد بواسطة ملحقات AicippY لـ IDE .
ينشر الخادم مواصفة OpenAPI 3.1 ويمكن عرضها على:
http://<hostname>:<port>/doc
على سبيل المثال: http://localhost:4096/doc. استخدم المواصفة لتوليد عملاء أو لفحص أنواع الطلبات والاستجابات. أو اعرضها في مستكشف Swagger.
يعرض خادم aicippy-code واجهات API التالية.
الطريقة المسار الوصف الاستجابة GET/global/healthالحصول على صحة الخادم وإصداره { healthy: true, version: string }GET/global/eventالحصول على الأحداث العامة (تدفق SSE) تدفق أحداث
الطريقة المسار الوصف الاستجابة GET/projectسرد جميع المشاريع Project[]GET/project/currentالحصول على المشروع الحالي Project
الطريقة المسار الوصف الاستجابة GET/pathالحصول على المسار الحالي PathGET/vcsالحصول على معلومات VCS للمشروع الحالي VcsInfo
الطريقة المسار الوصف الاستجابة POST/instance/disposeالتخلص من المثيل الحالي boolean
الطريقة المسار الوصف الاستجابة GET/configالحصول على معلومات الإعدادات ConfigPATCH/configتحديث الإعدادات ConfigGET/config/providersسرد المزوّدين والنماذج الافتراضية { providers: Provider[] , default: { [key: string]: string } }
الطريقة المسار الوصف الاستجابة GET/providerسرد جميع المزوّدين { all: Provider[] , default: {...}, connected: string[] }GET/provider/authالحصول على طرق مصادقة المزوّد { [providerID: string]: ProviderAuthMethod[] }POST/provider/{id}/oauth/authorizeتفويض مزوّد باستخدام OAuth ProviderAuthAuthorizationPOST/provider/{id}/oauth/callbackمعالجة رد نداء OAuth لمزوّد boolean
الطريقة المسار الوصف الملاحظات GET/sessionسرد جميع الجلسات يعيد Session[] POST/sessionإنشاء جلسة جديدة المتن: { parentID?, title? }، يعيد Session GET/session/statusالحصول على حالة الجلسات جميعها يعيد { [sessionID: string]: SessionStatus } GET/session/:idالحصول على تفاصيل الجلسة يعيد Session DELETE/session/:idحذف جلسة وجميع بياناتها يعيد boolean PATCH/session/:idتحديث خصائص الجلسة المتن: { title? }، يعيد Session GET/session/:id/childrenالحصول على الجلسات الفرعية لجلسة يعيد Session[] GET/session/:id/todoالحصول على قائمة المهام (todo) للجلسة يعيد Todo[] POST/session/:id/initتحليل التطبيق وإنشاء AGENTS.md المتن: { messageID, providerID, modelID }، يعيد boolean POST/session/:id/forkتفريع جلسة موجودة عند رسالة المتن: { messageID? }، يعيد Session POST/session/:id/abortإلغاء جلسة قيد التشغيل يعيد boolean POST/session/:id/shareمشاركة جلسة يعيد Session DELETE/session/:id/shareإلغاء مشاركة جلسة يعيد Session GET/session/:id/diffالحصول على diff لهذه الجلسة الاستعلام: messageID?، يعيد FileDiff[] POST/session/:id/summarizeتلخيص الجلسة المتن: { providerID, modelID }، يعيد boolean POST/session/:id/revertالتراجع عن رسالة المتن: { messageID, partID? }، يعيد boolean POST/session/:id/unrevertاستعادة جميع الرسائل المتراجع عنها يعيد boolean POST/session/:id/permissions/:permissionIDالرد على طلب إذن المتن: { response, remember? }، يعيد boolean
الطريقة المسار الوصف الملاحظات GET/session/:id/messageسرد رسائل جلسة الاستعلام: limit?، يعيد { info: Message , parts: Part[] }[] POST/session/:id/messageإرسال رسالة والانتظار للحصول على رد المتن: { messageID?, model?, agent?, noReply?, system?, tools?, parts }، يعيد { info: Message , parts: Part[] } GET/session/:id/message/:messageIDالحصول على تفاصيل الرسالة يعيد { info: Message , parts: Part[] } POST/session/:id/prompt_asyncإرسال رسالة بشكل غير متزامن (بدون انتظار) المتن: مثل /session/:id/message، يعيد 204 No Content POST/session/:id/commandتنفيذ أمر شرطة مائلة (slash) المتن: { messageID?, agent?, model?, command, arguments }، يعيد { info: Message , parts: Part[] } POST/session/:id/shellتشغيل أمر في shell المتن: { agent, model?, command }، يعيد { info: Message , parts: Part[] }
الطريقة المسار الوصف الاستجابة GET/commandسرد جميع الأوامر Command[]
الطريقة المسار الوصف الاستجابة GET/find?pattern=<pat>البحث عن نص داخل الملفات مصفوفة من كائنات المطابقة تحتوي على path وlines وline_number وabsolute_offset وsubmatches GET/find/file?query=<q>العثور على الملفات والمجلدات بالاسم string[] (مسارات)GET/find/symbol?query=<q>العثور على رموز مساحة العمل Symbol[]GET/file?path=<path>سرد الملفات والمجلدات FileNode[]GET/file/content?path=<p>قراءة ملف FileContentGET/file/statusالحصول على حالة الملفات المتعقّبة File[]
query (مطلوب) — سلسلة البحث (مطابقة ضبابية)
type (اختياري) — حصر النتائج في "file" أو "directory"
directory (اختياري) — تجاوز جذر المشروع لأجل البحث
limit (اختياري) — الحد الأقصى للنتائج (1–200)
dirs (اختياري) — خيار قديم (إرجاع "false" يعيد الملفات فقط)
الطريقة المسار الوصف الاستجابة GET/experimental/tool/idsسرد جميع معرّفات الأدوات ToolIDsGET/experimental/tool?provider=<p>&model=<m>سرد الأدوات مع مخططات JSON لنموذج ToolList
الطريقة المسار الوصف الاستجابة GET/lspالحصول على حالة خادم LSP LSPStatus[]GET/formatterالحصول على حالة المنسّقات FormatterStatus[]GET/mcpالحصول على حالة خادم MCP { [name: string]: MCPStatus }POST/mcpإضافة خادم MCP ديناميكيا المتن: { name, config }، يعيد كائن حالة MCP
الطريقة المسار الوصف الاستجابة GET/agentسرد جميع الوكلاء المتاحين Agent[]
الطريقة المسار الوصف الاستجابة POST/logكتابة إدخال سجل. المتن: { service, level, message, extra? } boolean
الطريقة المسار الوصف الاستجابة POST/tui/append-promptإلحاق نص بالموجّه booleanPOST/tui/open-helpفتح مربع حوار المساعدة booleanPOST/tui/open-sessionsفتح محدد الجلسات booleanPOST/tui/open-themesفتح محدد السمات booleanPOST/tui/open-modelsفتح محدد النماذج booleanPOST/tui/submit-promptإرسال الموجّه الحالي booleanPOST/tui/clear-promptمسح الموجّه booleanPOST/tui/execute-commandتنفيذ أمر ({ command }) booleanPOST/tui/show-toastعرض toast ({ title?, message, variant }) booleanGET/tui/control/nextالانتظار لطلب التحكم التالي كائن طلب تحكم POST/tui/control/responseالاستجابة لطلب تحكم ({ body }) boolean
الطريقة المسار الوصف الاستجابة PUT/auth/:idتعيين بيانات اعتماد المصادقة. يجب أن يطابق المتن مخطط المزوّد boolean
الطريقة المسار الوصف الاستجابة GET/eventتدفق أحداث مرسلة من الخادم (SSE). أول حدث هو server.connected ثم أحداث الحافلة تدفق أحداث مرسلة من الخادم
الطريقة المسار الوصف الاستجابة GET/docمواصفة OpenAPI 3.1 صفحة HTML تتضمن مواصفة OpenAPI