Kommandoen vikasit serve kjører en hodeløs HTTP-server som eksponerer et OpenAPI-endepunkt som en Vikasit Code-klient kan bruke.
vikasit serve [--port <number>] [--hostname <string>] [--cors <origin>]
Flagg Beskrivelse Standard --portPort å lytte på 4096--hostnameVertsnavn å lytte på 127.0.0.1--mdnsAktiver mDNS-oppdagelse false--mdns-domainEgendefinert domenenavn for mDNS-tjeneste vikasit.local--corsYtterligere nettleseropprinnelse som tillates []
--cors kan angis flere ganger:
vikasit serve --cors http://localhost:5173 --cors https://app.example.com
Sett VIKASIT_SERVER_PASSWORD for å beskytte serveren med HTTP grunnleggende autentisering. Brukernavnet er satt til vikasit som standard, eller sett VIKASIT_SERVER_USERNAME for å overstyre det. Dette gjelder både vikasit serve og vikasit web.
VIKASIT_SERVER_PASSWORD = your-password vikasit serve
Når du kjører vikasit 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 Vikasit Code støtte flere klienter og lar deg samhandle med Vikasit Code programmatisk.
Du kan kjøre vikasit serve for å starte en frittstående server. Hvis du har
Vikasit Code TUI kjører, vil vikasit serve starte en ny 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 Vikasit Code IDE plugins.
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.
opencode-serveren viser følgende APIer.
Metode Sti Beskrivelse Svar GET/global/healthFå serverhelse og versjon { healthy: true, version: string }GET/global/eventFå globale hendelser (SSE strøm) Eventstrøm
Metode Sti Beskrivelse Svar GET/projectList alle prosjekter Project[]GET/project/currentHent gjeldende prosjekt Project
Metode Sti Beskrivelse Svar GET/pathHent gjeldende bane PathGET/vcsHent VCS-info for gjeldende prosjekt VcsInfo
Metode Sti Beskrivelse Svar POST/instance/disposeAvslutt gjeldende forekomst boolean
Metode Sti Beskrivelse Svar GET/configHent konfigurasjonsinformasjon ConfigPATCH/configOppdater konfigurasjon ConfigGET/config/providersList leverandører og standardmodeller { providers: Provider[] , default: { [key: string]: string } }
Metode Sti Beskrivelse Svar 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 OAuth ProviderAuthAuthorizationPOST/provider/{id}/oauth/callbackHåndter OAuth-tilbakeringing for en leverandør boolean
Metode Sti Beskrivelse Merknader GET/sessionList alle økter Returnerer Session[] POST/sessionOpprett en ny økt body: { parentID?, title? }, returnerer Session GET/session/statusHent øktstatus for alle økter Returnerer { [sessionID: string]: SessionStatus } GET/session/:idHent øktdetaljer Returnerer Session DELETE/session/:idSlett en økt og alle dens data Returnerer boolean PATCH/session/:idOppdater øktegenskaper body: { title? }, returnerer Session GET/session/:id/childrenHent en økts barneøkter Returnerer Session[] GET/session/:id/todoHent gjøremålslisten for en økt Returnerer Todo[] POST/session/:id/initAnalyser appen og lag AGENTS.md body: { messageID, providerID, modelID }, returnerer boolean POST/session/:id/forkFork en eksisterende økt ved en melding body: { messageID? }, returnerer Session POST/session/:id/abortAvbryt en kjørende økt Returnerer boolean POST/session/:id/shareDel en økt Returnerer Session DELETE/session/:id/shareSlutt å dele en økt Returnerer Session GET/session/:id/diffHent diff for denne økten spørring: messageID?, returnerer FileDiff[] POST/session/:id/summarizeOppsummer økten body: { providerID, modelID }, returnerer boolean POST/session/:id/revertTilbakestill en melding body: { messageID, partID? }, returnerer boolean POST/session/:id/unrevertGjenopprett alle tilbakestilte meldinger Returnerer boolean POST/session/:id/permissions/:permissionIDSvar på en tillatelsesforespørsel body: { response, remember? }, returnerer boolean
Metode Sti Beskrivelse Merknader GET/session/:id/messageList meldinger i en økt spørring: limit?, returnerer { info: Message , parts: Part[] }[] POST/session/:id/messageSend en melding og vent på svar body: { messageID?, model?, agent?, noReply?, system?, tools?, parts }, returnerer { info: Message , parts: Part[] } GET/session/:id/message/:messageIDHent meldingsdetaljer Returnerer { 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-kommando body: { messageID?, agent?, model?, command, arguments }, returnerer { info: Message , parts: Part[] } POST/session/:id/shellKjør en shell-kommando body: { agent, model?, command }, returnerer { info: Message , parts: Part[] }
Metode Sti Beskrivelse Svar GET/commandList alle kommandoer Command[]
Metode Sti Beskrivelse Svar GET/find?pattern=<pat>Søk etter tekst i filer En rekke matchobjekter med path, lines, line_number, absolute_offset, submatches GET/find/file?query=<q>Finn filer og kataloger etter navn string[] (baner)GET/find/symbol?query=<q>Finn symboler i arbeidsområdet Symbol[]GET/file?path=<path>List filer og kataloger FileNode[]GET/file/content?path=<p>Les en fil FileContentGET/file/statusHent status for sporede filer File[]
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)
Metode Sti Beskrivelse Svar GET/experimental/tool/idsVis alle verktøy-ID-er ToolIDsGET/experimental/tool?provider=<p>&model=<m>List verktøy med JSON-skjemaer for en modell ToolList
Metode Sti Beskrivelse Svar GET/lspHent LSP-serverstatus LSPStatus[]GET/formatterHent formateringsstatus FormatterStatus[]GET/mcpHent MCP-serverstatus { [name: string]: MCPStatus }POST/mcpLegg til MCP-server dynamisk body: { name, config }, returnerer MCP statusobjekt
Metode Sti Beskrivelse Svar GET/agentList alle tilgjengelige agenter Agent[]
Metode Sti Beskrivelse Svar POST/logSkriv loggoppføring. Body: { service, level, message, extra? } boolean
Metode Sti Beskrivelse Svar POST/tui/append-promptLegg til tekst i prompten booleanPOST/tui/open-helpÅpne hjelpedialogen booleanPOST/tui/open-sessionsÅpne øktvelgeren booleanPOST/tui/open-themesÅpne temavelgeren booleanPOST/tui/open-modelsÅpne modellvelgeren booleanPOST/tui/submit-promptSend inn gjeldende prompt booleanPOST/tui/clear-promptTøm prompten booleanPOST/tui/execute-commandUtfør en kommando ({ command }) booleanPOST/tui/show-toastVis toast ({ title?, message, variant }) booleanGET/tui/control/nextVent på neste kontrollforespørsel Kontrollforespørselsobjekt POST/tui/control/responseSvar på en kontrollforespørsel ({ body }) boolean
Metode Sti Beskrivelse Svar PUT/auth/:idAngi autentiseringsinformasjon. Body må samsvare med leverandørskjema boolean
Metode Sti Beskrivelse Svar GET/eventStrøm av server-sendte hendelser. Første hendelse er server.connected, deretter busshendelser Strøm av server-sendte hendelser
Metode Sti Beskrivelse Svar GET/docOpenAPI 3.1-spesifikasjon HTML side med OpenAPI-spesifikasjon