docs: add a protocol reference page for custom clients
I maintainer di solito rispondono entro 1 giorno
@kachamsiddarth ci sta già lavorando.
Dal 21/10/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
The server speaks protocol v1 now (#285), but the only description of it is a section of server/setup.mdx. Anyone writing their own client (a mobile app, a CLI, a different widget) needs one page that lists every part, every error code and a request they can paste into a terminal. This issue is that page.
What to do
- New page
website/src/content/docs/server/protocol.mdx, titleProtocol, added to the Server sidebar inwebsite/astro.config.mjs(lines 121 to 128), after Setup. Cover:- How to ask for v1:
"protocol": 1in the body, or thex-chatcops-protocol: 1header. The response then hasx-chatcops-protocol: 1. Without either, the server answers in the 0.5 format, which goes away in 1.0. - The request body: the fields in
chatRequestSchema(packages/server/src/config.ts, lines 101 to 123) with their limits, plusprotocol. - Every part in
WirePart(packages/core/src/protocol/v1.ts, lines 50 to 99), one short paragraph or table row each, with an example line. Say which ones the server sends today (start,text-start,text-delta,text-end,tool-call,tool-result,lead-captured,error,finish) and that the others (source,handoff,agent-message,suggestions) are reserved for later features. - Framing: one
data: <json>line per part,data: [DONE]once at the end,: pingcomments after 10 s of silence, clients ignore unknown part types, and a stream withoutfinishwas cut off. - Errors before the stream: every status and code from
packages/core/src/protocol/errors.ts, with the JSON body shape andRetry-After. - Errors during the stream: the
errorpart's codes,retryable, andscopeforbudget_exceeded. - A
curlexample:curl -N -X POST http://localhost:3001/chat -H 'Content-Type: application/json' -d '{"protocol":1,"conversationId":"test-1","message":"Hi"}', followed by what it prints. import type { WirePart } from '@chatcops/core/protocol'for TypeScript clients.
- How to ask for v1:
- In
website/src/content/docs/server/setup.mdx, keep the "Response format" section short: the two formats in one paragraph, and a link to the new page for the details. Move the parts list and the status table there.
Where to look
packages/server/src/http.ts, which does negotiation, statuses, pings and[DONE]packages/server/tests/http.test.tsfor real request and response examplespackages/core/src/protocol/for the types and the status map
Acceptance criteria
- New
server/protocol.mdxin the sidebar, covering the points above - Every part and error code in
v1.tsanderrors.tsis on the page, and nothing that isn't - The curl example's output on the page is real. You don't need an API key: run the Express example (
packages/server/src/examples/express-server.ts) withprovider: scriptedProvider([textStep('Hello!')])from@chatcops/core/testing/provider, and don't commit that change -
pnpm --filter @chatcops/website buildsucceeds - Changeset:
pnpm changeset --empty(docs only)
Please get this merged by Dec 8, since the v0.6 release notes link to it.
Want to work on this? Comment below and I'll assign it to you. Please take one issue at a time, branch off dev, and open your PR against dev with Closes #<this issue number>. Setup notes (pnpm, build before test) are in CONTRIBUTING.md.
- Lingua principale
- TypeScript
- Stelle
- 13
- Fork
- 7
- Merge medio
- 3h 41m
- PR unite (30g)
- 155
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di codercops/chatcops
-
Document the pre-chat formForse già presa @masyarakatai l’ha presa 5 giorni fa. Apertadocumentation good first issue hacktoberfest widget
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
codercops/chatcops#70 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
docs: update the providers page for openai-compatible, registerProvider and provider importsForse già presa @prakashNalla l’ha presa oggi. Apertadocumentation good first issue hacktoberfest website
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
codercops/chatcops#291 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Create @chatcops/store-cloudflare (D1, KV and a Durable Object counter)Forse già presa @bhushan4work l’ha presa oggi. Apertaenhancement hacktoberfest help wanted server
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
codercops/chatcops#249 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Create @chatcops/store-sqlite, a store for single-server setupsForse già presa @srikar-naidu l’ha presa oggi. Apertaenhancement hacktoberfest help wanted server
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
codercops/chatcops#247 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Batch analytics events into an EventSink and compute stats from itForse già presa @srujankaleru2007 l’ha presa oggi. Apertacore enhancement hacktoberfest help wanted
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
codercops/chatcops#246 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di codercops/chatcops
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
paperclipai/paperclip#17151 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
AgoraIO-Extensions/agent-infra#3159 ·
I maintainer di solito rispondono entro 1 giorno
-
blocklist addition
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 66/100
MetaMask/eth-phishing-detect#304596 ·
I maintainer di solito rispondono entro 1 giorno
-
friction
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
kentcdodds/kody#4142 ·
-
[Bug] Statistics | Task statistics are always empty on MikroORM with MySQL or SQLiteForse già presa @NdekoCode l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ever-co/ever-gauzy#11214 ·
I maintainer di solito rispondono entro 1 giorno