Gå til innholdet

Tjener

Samhandle med AicippY-tjener over HTTP.

Kommandoen aicippy-code serve kjører en hodeløs HTTP-server som eksponerer et OpenAPI-endepunkt som en AicippY-klient kan bruke.


Bruk

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

Alternativer

FlaggBeskrivelseStandard
--portPort å lytte på4096
--hostnameVertsnavn å lytte på127.0.0.1
--mdnsAktiver mDNS-oppdagelsefalse
--mdns-domainEgendefinert domenenavn for mDNS-tjenesteaicippy-code.local
--corsYtterligere nettleseropprinnelse som tillates[]

--cors kan angis flere ganger:

Terminal window
aicippy-code serve --cors http://localhost:5173 --cors https://app.example.com

Autentisering

Sett AICIPPY_CODE_SERVER_PASSWORD for å beskytte serveren med HTTP grunnleggende autentisering. Brukernavnet er satt til aicippy-code som standard, eller sett AICIPPY_CODE_SERVER_USERNAME for å overstyre det. Dette gjelder både aicippy-code serve og aicippy-code web.

Terminal window
AICIPPY_CODE_SERVER_PASSWORD=your-password aicippy-code serve

Slik fungerer det

Når du kjører aicippy-code starter den en TUI og en server. Der TUI er klient som snakker med serveren. Serveren viser en OpenAPI 3.1-spesifikasjon endepunkt. Dette endepunktet brukes også til å generere en SDK.

Denne arkitekturen lar AicippY støtte flere klienter og lar deg samhandle med AicippY programmatisk.

Du kan kjøre aicippy-code serve for å starte en frittstående server. Hvis du har AicippY TUI kjører, vil aicippy-code serve starte en ny server.


Koble til en eksisterende server

Når du starter TUI, tildeler den tilfeldig en port og vertsnavn. Du kan i stedet sende inn --hostname og --port flagg. Bruk deretter denne til å koble til serveren.

/tui endepunktet kan brukes til å kjøre TUI gjennom serveren. Du kan for eksempel forhåndsutfylle eller kjøre en forespørsel. Dette oppsettet brukes av AicippY IDE plugins.


Spes

Serveren publiserer en OpenAPI 3.1-spesifikasjon som kan vises på:

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

For eksempel http://localhost:4096/doc. Bruk spesifikasjonen til å generere klienter eller inspisere forespørsels- og svartyper. Eller se den i en Swagger-utforsker.


APIer

aicippy-code-serveren viser følgende APIer.


Globalt

MetodeStiBeskrivelseSvar
GET/global/healthFå serverhelse og versjon{ healthy: true, version: string }
GET/global/eventFå globale hendelser (SSE strøm)Eventstrøm

Prosjekt

MetodeStiBeskrivelseSvar
GET/projectList alle prosjekterProject[]
GET/project/currentHent gjeldende prosjektProject

Bane og VCS

MetodeStiBeskrivelseSvar
GET/pathHent gjeldende banePath
GET/vcsHent VCS-info for gjeldende prosjektVcsInfo

Forekomst

MetodeStiBeskrivelseSvar
POST/instance/disposeAvslutt gjeldende forekomstboolean

Konfigurasjon

MetodeStiBeskrivelseSvar
GET/configHent konfigurasjonsinformasjonConfig
PATCH/configOppdater konfigurasjonConfig
GET/config/providersList leverandører og standardmodeller{ providers: Provider[], default: { [key: string]: string } }

Leverandør

MetodeStiBeskrivelseSvar
GET/providerList alle leverandører{ all: Provider[], default: {...}, connected: string[] }
GET/provider/authHent autentiseringsmetoder for leverandør{ [providerID: string]: ProviderAuthMethod[] }
POST/provider/{id}/oauth/authorizeAutoriser en leverandør ved å bruke OAuthProviderAuthAuthorization
POST/provider/{id}/oauth/callbackHåndter OAuth-tilbakeringing for en leverandørboolean

Sesjoner

MetodeStiBeskrivelseMerknader
GET/sessionList alle økterReturnerer Session[]
POST/sessionOpprett en ny øktbody: { parentID?, title? }, returnerer Session
GET/session/statusHent øktstatus for alle økterReturnerer { [sessionID: string]: SessionStatus }
GET/session/:idHent øktdetaljerReturnerer Session
DELETE/session/:idSlett en økt og alle dens dataReturnerer boolean
PATCH/session/:idOppdater øktegenskaperbody: { title? }, returnerer Session
GET/session/:id/childrenHent en økts barneøkterReturnerer Session[]
GET/session/:id/todoHent gjøremålslisten for en øktReturnerer Todo[]
POST/session/:id/initAnalyser appen og lag AGENTS.mdbody: { messageID, providerID, modelID }, returnerer boolean
POST/session/:id/forkFork en eksisterende økt ved en meldingbody: { messageID? }, returnerer Session
POST/session/:id/abortAvbryt en kjørende øktReturnerer boolean
POST/session/:id/shareDel en øktReturnerer Session
DELETE/session/:id/shareSlutt å dele en øktReturnerer Session
GET/session/:id/diffHent diff for denne øktenspørring: messageID?, returnerer FileDiff[]
POST/session/:id/summarizeOppsummer øktenbody: { providerID, modelID }, returnerer boolean
POST/session/:id/revertTilbakestill en meldingbody: { messageID, partID? }, returnerer boolean
POST/session/:id/unrevertGjenopprett alle tilbakestilte meldingerReturnerer boolean
POST/session/:id/permissions/:permissionIDSvar på en tillatelsesforespørselbody: { response, remember? }, returnerer boolean

Meldinger

MetodeStiBeskrivelseMerknader
GET/session/:id/messageList meldinger i en øktspørring: limit?, returnerer { info: Message, parts: Part[]}[]
POST/session/:id/messageSend en melding og vent på svarbody: { messageID?, model?, agent?, noReply?, system?, tools?, parts }, returnerer { info: Message, parts: Part[]}
GET/session/:id/message/:messageIDHent meldingsdetaljerReturnerer { info: Message, parts: Part[]}
POST/session/:id/prompt_asyncSend en melding asynkront (ingen vent)body: samme som /session/:id/message, returnerer 204 No Content
POST/session/:id/commandUtfør en slash-kommandobody: { messageID?, agent?, model?, command, arguments }, returnerer { info: Message, parts: Part[]}
POST/session/:id/shellKjør en shell-kommandobody: { agent, model?, command }, returnerer { info: Message, parts: Part[]}

Kommandoer

MetodeStiBeskrivelseSvar
GET/commandList alle kommandoerCommand[]

Filer

MetodeStiBeskrivelseSvar
GET/find?pattern=<pat>Søk etter tekst i filerEn rekke matchobjekter med path, lines, line_number, absolute_offset, submatches
GET/find/file?query=<q>Finn filer og kataloger etter navnstring[] (baner)
GET/find/symbol?query=<q>Finn symboler i arbeidsområdetSymbol[]
GET/file?path=<path>List filer og katalogerFileNode[]
GET/file/content?path=<p>Les en filFileContent
GET/file/statusHent status for sporede filerFile[]

/find/file spørringsparametere

  • query (obligatorisk) - søkestreng (uklar samsvar)
  • type (valgfritt) - begrense resultatene til "file" eller "directory"
  • directory (valgfritt) — overstyr prosjektroten for søket
  • limit (valgfritt) - maks. resultater (1–200)
  • dirs (valgfritt) - eldre flagg ("false" returnerer kun filer)

Verktøy (eksperimentelt)

MetodeStiBeskrivelseSvar
GET/experimental/tool/idsVis alle verktøy-ID-erToolIDs
GET/experimental/tool?provider=<p>&model=<m>List verktøy med JSON-skjemaer for en modellToolList

LSP, formattere og MCP

MetodeStiBeskrivelseSvar
GET/lspHent LSP-serverstatusLSPStatus[]
GET/formatterHent formateringsstatusFormatterStatus[]
GET/mcpHent MCP-serverstatus{ [name: string]: MCPStatus }
POST/mcpLegg til MCP-server dynamiskbody: { name, config }, returnerer MCP statusobjekt

Agenter

MetodeStiBeskrivelseSvar
GET/agentList alle tilgjengelige agenterAgent[]

Logging

MetodeStiBeskrivelseSvar
POST/logSkriv loggoppføring. Body: { service, level, message, extra? }boolean

TUI

MetodeStiBeskrivelseSvar
POST/tui/append-promptLegg til tekst i promptenboolean
POST/tui/open-helpÅpne hjelpedialogenboolean
POST/tui/open-sessionsÅpne øktvelgerenboolean
POST/tui/open-themesÅpne temavelgerenboolean
POST/tui/open-modelsÅpne modellvelgerenboolean
POST/tui/submit-promptSend inn gjeldende promptboolean
POST/tui/clear-promptTøm promptenboolean
POST/tui/execute-commandUtfør en kommando ({ command })boolean
POST/tui/show-toastVis toast ({ title?, message, variant })boolean
GET/tui/control/nextVent på neste kontrollforespørselKontrollforespørselsobjekt
POST/tui/control/responseSvar på en kontrollforespørsel ({ body })boolean

Auth

MetodeStiBeskrivelseSvar
PUT/auth/:idAngi autentiseringsinformasjon. Body må samsvare med leverandørskjemaboolean

Hendelser

MetodeStiBeskrivelseSvar
GET/eventStrøm av server-sendte hendelser. Første hendelse er server.connected, deretter busshendelserStrøm av server-sendte hendelser

Dokumentasjon

MetodeStiBeskrivelseSvar
GET/docOpenAPI 3.1-spesifikasjonHTML side med OpenAPI-spesifikasjon