When it is available
Only once the knowledge base isready. Before that there is no table of contents to edit, and the dashboard shows the build progress in its place.
A build in flight blocks it. While the knowledge base is discovering, transcribing or generating, sending it a message is a 409 naming the status: knowledge base is transcribing — wait for it to finish. The build is rewriting the same tree, so a chat turn would be editing underneath it. You can still open the conversation and read it — you can watch, but not drive.
The first thing you will see in the chat is a note the build itself left there when it finished, saying what it did and how many pages it left out.
What it is good for
Retitling and resummarising. This is the highest-value thing it does. Retrieval on Talqing is a model reading titles and summaries and choosing — there is no similarity search behind it — so an entry whose summary does not say what the page answers is an entry the agent will never fetch. Ask for “summaries that name the concrete things each page answers” and check the result againstGET /v1/knowledge/{kb_id}/prompt. See editing.
Restructuring. The build organizes pages from the site’s own link graph, which reflects how the site is navigated rather than how a caller asks. “Group these by product line instead of by year” is a sentence; doing it by hand is not possible at all, because patch_node cannot move an entry to a different parent.
Unplaced pages. A ready knowledge base reports unplaced: pages that transcribed but that the table-of-contents pass judged redundant and left out. They are not reachable by an agent. Asking the CoPilot to place one is the only way to add an entry to the tree.
Pruning. It can drop entries the same way it adds them, and it sees which pages exist, so “remove everything about the discontinued range” works without you listing the URLs.
What it cannot do
It only writes the table of contents. It cannot:- Fix a page’s text. Content lives on the transcribed page. Correct it with
patch_node— see editing. - Crawl, transcribe, or add a page that was never indexed. It can only place URLs that are already indexed. Ask for one that is not and it will tell you, or the entry will be refused when it applies.
- Attach the knowledge base to an agent, or touch anything else in the workspace. Unlike the other three CoPilots it has no access to the API surface at all.
- Every indexed page belongs at exactly one place in the tree. A second entry pointing at a URL already used is dropped.
- A leaf must be a page. A category with nothing under it is dropped.
What it sees
Before every model call inside a turn it is handed the live state, re-read from the database:- every indexed page, as
url — title - the knowledge base’s current overview paragraph
- the current table of contents, as JSON
Limits
Driving it from the API
The dashboard rail is the usual way in, but it is a normal pair of endpoints.POST /v1/copilot/knowledge/{kb_id}/messages sends a message and returns as soon as the turn is queued. The reply does not come back on that response — it arrives on the stream.
GET /v1/copilot/knowledge/{kb_id}/stream is a text/event-stream carrying three frames: snapshot (the whole conversation, sent first and on every reconnect), message (one new message, yours or the CoPilot’s) and turn (that turn’s lifecycle — running, done, error or canceled).
snapshot frame.
Next
Editing by hand
patch_node, regenerate_toc, and the troubleshooting table for a knowledge base that is answering badly.AgentCoPilot
The CoPilot in the agent editor, and how the four differ.