v1.8.0 — Sources you can trust, and answers that finish

1.8.0ImprovementDenis Povarov

Three things about the AI chat assistant were wrong in ways that were easy to miss until you looked closely at a single answer. All three are fixed.

Sources are the articles the answer was built on

The Sources row under an answer used to list every article the assistant's searches turned up. A search returns up to ten candidates; the assistant reads them and uses one. Showing all ten claimed that ten articles informed the answer.

It now shows what the assistant actually read:

  • It opened an article in full — that article is a source, whether or not the answer links it.

  • A search returned it and the answer cited it — a source.

  • It only saw the title in a listing — not a source.

Ask "list all help articles" and you now get a clean list of working links with no Sources row, instead of thirty chips restating the links directly above them. Ask a real question and you get chips for the one or two articles behind the answer.

Every article the answer links to is still clickable, including ones with no chip. Long source lists collapse to the first three behind a "+N more" button.

Answers no longer stop mid-sentence

A long answer could hit the model's output limit and get delivered as though it were complete — sometimes ending in a half-written citation rendered as raw text, like [Some article](entry:6492ca74-5cf2.

The output budget is now four times larger, truncation is detected, and a cut-off answer says so instead of pretending. The half-written link is removed rather than left on screen.

"What do you cover?" costs one tool call, not seven

Asking the assistant to list your articles used to make it fetch your categories and then walk them one at a time — seven round trips on a help center with six categories, and seven near-identical lines in the conversation trace.

The system prompt now carries a short map of your categories with article counts, and a single tool returns every published article grouped by category. One call, one line in the trace.

Two related fixes came out of that work:

  • Browsing a category returns up to 30 articles rather than 10, and says so when there are more.

  • In a multi-language project, browsing a category by slug could match the wrong language's category and report it as empty when it had articles. Fixed.

Also

  • The conversation trace now names the category a browse call is filtering on, so repeated calls are distinguishable.

  • Articles marked chatbot-only stay out of the browsable listing. They are still reachable by search when they answer a question, which is what that setting is for.

For developers

@kookee/sdk and @kookee/react 1.6.2 are on npm. Each entry in sources carries a new optional consulted boolean: true when the answer was built on that article, false when it was linked out of a listing. A missing value means an older server — treat it as true.

If you render your own chat UI, filter on consulted !== false for display but keep the full array for resolving inline citation clicks. Details in How the assistant picks its sources.

Nothing breaks if you do not upgrade. The field is additive, and an older widget against the new server behaves exactly as it did before.

Learn more