Working in Citet

AI assistant

Citet has an in-editor assistant that can read your project, answer questions about it, and propose concrete edits. It is provider-agnostic: you connect your own OpenAI key, an OpenAI-compatible endpoint, or an OpenAI subscription, and the credentials stay in your own encrypted store.

Connecting a provider

Nothing AI-related is on by default — the assistant is inert until you connect a provider. Open Project settings → AI providers and add one of:

→OpenAI API
A standard OpenAI API key. Supports chat, tool use, and structured output.
→OpenAI-compatible API
Any endpoint that speaks the OpenAI API — a self-hosted gateway, a proxy, or another vendor. Requires a base URL, and accepts either an API key or a gateway token.
→OpenAI subscription
Sign in with an existing OpenAI subscription via OAuth instead of pasting a key. Citet stores the resulting tokens, not a static secret.

You can connect several providers and mark one as the default. Each provider has a default model you can override per account. Connected providers can be disabled or disconnected at any time.

What the assistant can do

The assistant works from a snapshot of your project — the open documents, the file tree, and any resolved citations — plus the prompt you give it. It offers a set of guided intents as well as free-form prompts:

→Review writing
A prose pass for clarity, flow, and tightening.
→Citation coherence
Checks that citations are used consistently and match the bibliography.
→Structure review
Looks at sectioning, ordering, and document flow.
→TODO review
Surfaces unfinished notes and placeholders in the source.
→LaTeX health
Flags include/label/ref issues, bibliography setup, duplicate labels, likely compile risks, and unused editable files.
→Style pass
A consistency pass over wording and conventions.
→Custom
Ask anything about the project in your own words.

Responses stream in as they are generated, so long reviews surface findings incrementally.

Edits are always proposed, never automatic

The assistant never writes to your files directly. When it suggests changes, they arrive as a proposed changeset that you preview and approve before anything is applied. Decline a proposal and your files are untouched.

Alongside file edits, the assistant can place annotations in the editor rail — line-level notes anchored to specific passages — so you can read its findings in context without leaving the source.

Permissions

What the assistant is allowed to do is scoped by capability. Reading the project is the baseline; proposing file edits, publishing editor annotations, and drawing decorations are each granted separately. Guided review intents that are meant to answer in chat will not queue file changes at all.

▶Where credentials live

Provider credentials — API keys, gateway tokens, and OpenAI subscription OAuth tokens — are stored in an encrypted, per-user provider store on the server, never in plugin code or project data. The assistant runtime and the connection UI are owned by the web app; plugins can request a model run through the host but never see your secrets.

A self-hosted deployment can also configure a server-level provider so an instance ships with the assistant available without each user bringing their own key.

Self-hosting note

On a self-hosted instance the assistant calls out to whatever provider you connect, so model usage is billed to that account. If you want a fully local setup, point an OpenAI-compatible provider at a local inference server.