Skip to content

เซิร์ฟเวอร์

โต้ตอบกับเซิร์ฟเวอร์ aicippy-code ผ่าน HTTP

คำสั่ง aicippy-code serve รันเซิร์ฟเวอร์ HTTP ที่ไม่มีหัวซึ่งเปิดเผยตำแหน่งข้อมูล OpenAPI ที่ไคลเอนต์ aicippy-code สามารถใช้ได้


การใช้งาน

Terminal window
aicippy-code serve [--port <number>] [--hostname <string>] [--cors <origin>]

ตัวเลือก

Flagคำอธิบายค่าเริ่มต้น
--portพอร์ตที่จะฟัง4096
--hostnameชื่อโฮสต์ที่จะฟัง127.0.0.1
--mdnsเปิดใช้งานการค้นพบ mDNSfalse
--mdns-domainชื่อโดเมนที่กำหนดเองสำหรับบริการ mDNSaicippy-code.local
--corsต้นกำเนิดเบราว์เซอร์เพิ่มเติมที่จะอนุญาต[]

--cors สามารถส่งผ่านได้หลายครั้ง:

Terminal window
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

Terminal window
AICIPPY_CODE_SERVER_PASSWORD=your-password aicippy-code serve

มันทำงานอย่างไร

เมื่อคุณรัน aicippy-code มันจะเริ่มต้น TUI และเซิร์ฟเวอร์ โดยที่ TUI คือ ลูกค้าที่พูดคุยกับเซิร์ฟเวอร์ เซิร์ฟเวอร์เปิดเผยข้อมูลจำเพาะของ OpenAPI 3.1 จุดสิ้นสุด ตำแหน่งข้อมูลนี้ยังใช้เพื่อสร้าง SDK

สถาปัตยกรรมนี้ช่วยให้ aicippy-code รองรับไคลเอนต์หลายตัว และช่วยให้คุณสามารถโต้ตอบกับ aicippy-code โดยทางโปรแกรมได้

คุณสามารถเรียกใช้ aicippy-code serve เพื่อเริ่มเซิร์ฟเวอร์แบบสแตนด์อโลน ถ้าคุณมี aicippy-code TUI ทำงาน aicippy-code serve จะเริ่มเซิร์ฟเวอร์ใหม่


เชื่อมต่อกับเซิร์ฟเวอร์ที่มีอยู่

เมื่อคุณเริ่ม TUI มันจะสุ่มกำหนดพอร์ตและชื่อโฮสต์ คุณสามารถผ่าน --hostname และ --port ธง แทนได้ จากนั้นใช้สิ่งนี้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์

ตำแหน่งข้อมูล /tui สามารถใช้เพื่อขับเคลื่อน TUI ผ่านเซิร์ฟเวอร์ ตัวอย่างเช่น คุณสามารถกรอกข้อมูลล่วงหน้าหรือเรียกใช้พร้อมท์ได้ การตั้งค่านี้ถูกใช้โดยปลั๊กอิน AicippY IDE


ข้อมูลจำเพาะ

เซิร์ฟเวอร์เผยแพร่ข้อมูลจำเพาะ OpenAPI 3.1 ที่สามารถดูได้ที่:

http://<hostname>:<port>/doc

ตัวอย่างเช่น http://localhost:4096/doc ใช้ข้อมูลจำเพาะเพื่อสร้างไคลเอ็นต์หรือตรวจสอบคำขอและประเภทการตอบกลับ หรือดูใน Swagger explorer


API

เซิร์ฟเวอร์ aicippy-code เปิดเผย API ต่อไปนี้


ทั่วโลก

Methodเส้นทางคำอธิบายการตอบสนอง
GET/global/healthรับสถานะและเวอร์ชันของเซิร์ฟเวอร์{ healthy: true, version: string }
GET/global/eventรับกิจกรรมระดับโลก (SSE สตรีม)สตรีมกิจกรรม

โครงการ

Methodเส้นทางคำอธิบายการตอบสนอง
GET/projectแสดงรายการโครงการทั้งหมดProject[]
GET/project/currentรับโครงการปัจจุบันProject

เส้นทาง & VCS

Methodเส้นทางคำอธิบายการตอบสนอง
GET/pathรับเส้นทางปัจจุบันPath
GET/vcsรับข้อมูล VCS สำหรับโครงการปัจจุบันVcsInfo

ตัวอย่าง

Methodเส้นทางคำอธิบายการตอบสนอง
POST/instance/disposeกำจัดอินสแตนซ์ปัจจุบันboolean

การกำหนดค่า

Methodเส้นทางคำอธิบายการตอบสนอง
GET/configรับข้อมูลการกำหนดค่ากำหนดค่า
PATCH/configอัปเดตการกำหนดค่ากำหนดค่า
GET/config/providersผู้ให้บริการรายชื่อและโมเดลเริ่มต้น{ providers: ผู้ให้บริการ[], default: { [key: string]: string } }

ผู้ให้บริการ

Methodเส้นทางคำอธิบายการตอบสนอง
GET/providerรายชื่อผู้ให้บริการทั้งหมด{ all: ผู้ให้บริการ[], default: {...}, connected: string[] }
GET/provider/authรับวิธีการตรวจสอบความถูกต้องของผู้ให้บริการ{ [providerID: string]: ProviderAuthMethod[] }
POST/provider/{id}/oauth/authorizeให้สิทธิ์ผู้ให้บริการโดยใช้ OAuthการอนุญาตของผู้ให้บริการ
POST/provider/{id}/oauth/callbackจัดการการโทรกลับ OAuth สำหรับผู้ให้บริการboolean

เซสชัน

Methodเส้นทางคำอธิบายหมายเหตุ
GET/sessionแสดงรายการเซสชันทั้งหมดส่งคืน เซสชัน[]
POST/sessionสร้างเซสชันใหม่body: { parentID?, title? } ส่งคืน เซสชัน
GET/session/statusรับสถานะเซสชันสำหรับเซสชันทั้งหมดส่งคืน { [sessionID: string]: SessionStatus }
GET/session/:idรับรายละเอียดเซสชั่นส่งคืน เซสชัน
DELETE/session/:idลบเซสชันและข้อมูลทั้งหมดส่งคืน boolean
PATCH/session/:idอัปเดตคุณสมบัติเซสชันbody: { title? } ส่งคืน เซสชัน
GET/session/:id/childrenรับเซสชันย่อยของเซสชันส่งคืน เซสชัน[]
GET/session/:id/todoรับรายการสิ่งที่ต้องทำสำหรับเซสชันส่งคืน สิ่งที่ต้องทำ[]
POST/session/:id/initวิเคราะห์แอปและสร้าง AGENTS.mdเนื้อความ: { messageID, providerID, modelID } ส่งคืน boolean
POST/session/:id/forkแยกเซสชันที่มีอยู่ไปที่ข้อความbody: { messageID? } ส่งคืน เซสชัน
POST/session/:id/abortยกเลิกเซสชันที่ทำงานอยู่ส่งคืน boolean
POST/session/:id/shareแบ่งปันเซสชั่นส่งคืน เซสชัน
DELETE/session/:id/shareยกเลิกการแชร์เซสชันส่งคืน เซสชัน
GET/session/:id/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

ข้อความ

Methodเส้นทางคำอธิบายหมายเหตุ
GET/session/:id/messageแสดงรายการข้อความในเซสชันข้อความค้นหา: limit? ส่งคืน { info: ข้อความ, parts: ส่วน[]}[]
POST/session/:id/messageส่งข้อความและรอการตอบกลับเนื้อความ: { messageID?, model?, agent?, noReply?, system?, tools?, parts } ส่งคืน { info: ข้อความ, parts: ส่วน[]}
GET/session/:id/message/:messageIDรับรายละเอียดข้อความส่งคืน { info: ข้อความ, parts: ส่วนหนึ่ง[]}
POST/session/:id/prompt_asyncส่งข้อความแบบอะซิงโครนัส (ไม่ต้องรอ)เนื้อความ: เหมือนกับ /session/:id/message ส่งคืน 204 No Content
POST/session/:id/commandดำเนินการคำสั่งเครื่องหมายทับเนื้อความ: { messageID?, agent?, model?, command, arguments } ส่งคืน { info: ข้อความ, parts: ส่วน[]}
POST/session/:id/shellรันคำสั่ง shellเนื้อความ: { agent, model?, command } ส่งคืน { info: ข้อความ, parts: ส่วน[]}

คำสั่ง

Methodเส้นทางคำอธิบายการตอบสนอง
GET/commandแสดงรายการคำสั่งทั้งหมดCommand[]

ไฟล์

Methodเส้นทางคำอธิบายการตอบสนอง
GET/find?pattern=<pat>ค้นหาข้อความในไฟล์อาร์เรย์ของวัตถุที่ตรงกับ path, lines, line_number, absolute_offset, submatches
GET/find/file?query=<q>ค้นหาไฟล์และไดเร็กทอรีตามชื่อstring[] (paths)
GET/find/symbol?query=<q>ค้นหาสัญลักษณ์พื้นที่ทำงานSymbol[]
GET/file?path=<path>แสดงรายการไฟล์และไดเร็กทอรีFileNode[]
GET/file/content?path=<p>อ่านไฟล์เนื้อหาไฟล์
GET/file/statusรับสถานะสำหรับไฟล์ที่ถูกติดตามFile[]

/find/file พารามิเตอร์การสืบค้น

  • query (จำเป็น) — สตริงการค้นหา (การจับคู่แบบคลุมเครือ)
  • type (ไม่บังคับ) — จำกัดผลลัพธ์ไว้ที่ "file" หรือ "directory"
  • directory (เป็นทางเลือก) — แทนที่รูทโปรเจ็กต์สำหรับการค้นหา
  • limit (ไม่บังคับ) — ผลลัพธ์สูงสุด (1–200)
  • dirs (ไม่บังคับ) — แฟล็กดั้งเดิม ("false" ส่งคืนเฉพาะไฟล์)

เครื่องมือ (ขั้นทดลอง)

Methodเส้นทางคำอธิบายการตอบสนอง
GET/experimental/tool/idsแสดงรายการรหัสเครื่องมือทั้งหมดรหัสเครื่องมือ
GET/experimental/tool?provider=<p>&model=<m>แสดงรายการเครื่องมือที่มีสกีมา JSON สำหรับโมเดลรายการเครื่องมือ

LSP, ฟอร์แมตเตอร์ & MCP

Methodเส้นทางคำอธิบายการตอบสนอง
GET/lspรับ LSP สถานะเซิร์ฟเวอร์LSPStatus[]
GET/formatterรับสถานะฟอร์แมตเตอร์FormatterStatus[]
GET/mcpรับ MCP สถานะเซิร์ฟเวอร์{ [name: string]: MCPStatus }
POST/mcpเพิ่มเซิร์ฟเวอร์ MCP แบบไดนามิกbody: { name, config } ส่งคืนออบเจ็กต์สถานะ MCP

ตัวแทน

Methodเส้นทางคำอธิบายการตอบสนอง
GET/agentรายชื่อตัวแทนที่มีอยู่ทั้งหมดตัวแทน[]

การบันทึก

Methodเส้นทางคำอธิบายการตอบสนอง
POST/logเขียนรายการบันทึก เนื้อความ: { service, level, message, extra? }boolean

TUI

Methodเส้นทางคำอธิบายการตอบสนอง
POST/tui/append-promptเพิ่มข้อความต่อท้ายข้อความแจ้งboolean
POST/tui/open-helpเปิดกล่องโต้ตอบความช่วยเหลือboolean
POST/tui/open-sessionsเปิดตัวเลือกเซสชันboolean
POST/tui/open-themesเปิดตัวเลือกธีมboolean
POST/tui/open-modelsเปิดตัวเลือกรุ่นboolean
POST/tui/submit-promptส่งข้อความแจ้งปัจจุบันboolean
POST/tui/clear-promptล้างข้อความแจ้งboolean
POST/tui/execute-commandดำเนินการคำสั่ง ({ command })boolean
POST/tui/show-toastโชว์ขนมปังปิ้ง ({ title?, message, variant })boolean
GET/tui/control/nextรอคำขอควบคุมถัดไปวัตถุคำขอควบคุม
POST/tui/control/responseตอบสนองต่อคำขอควบคุม ({ body })boolean

การรับรองความถูกต้อง

Methodเส้นทางคำอธิบายการตอบสนอง
PUT/auth/:idตั้งค่าข้อมูลประจำตัวการรับรองความถูกต้อง เนื้อความต้องตรงกับสคีมาของผู้ให้บริการboolean

กิจกรรม

Methodเส้นทางคำอธิบายการตอบสนอง
GET/eventสตรีมเหตุการณ์ที่เซิร์ฟเวอร์ส่ง งานแรกคือ server.connected จากนั้นงานรถบัสสตรีมเหตุการณ์ที่เซิร์ฟเวอร์ส่ง

เอกสาร

Methodเส้นทางคำอธิบายการตอบสนอง
GET/docข้อมูลจำเพาะของ OpenAPI 3.1HTML หน้าพร้อมข้อมูลจำเพาะ OpenAPI