About this project
About this project (project knowledge in the API) is one free-form text document per website that the Cactal agent sees in full on every request. Use plain text, Markdown, headings, lists, or any structure that works for you. Write the brand voice, audience details, business facts, terminology, and design rules that should consistently shape the agent’s work. Only you edit this text; the document holds up to 20,000 characters, and your current request still takes precedence when it conflicts with older project knowledge.Agent notes
Agent notes appear on the Context tab once the agent has written some, and go with every request too. Cactal writes them for you: whenever a long conversation is summarized, it distills the durable facts, decisions, rejected directions, and constraints from the turns being summarized into a short list, drops anything the agent can rediscover from the website itself such as progress logs and version numbers, and keeps the whole list under 4,000 characters, asking itself to compress when a rewrite runs long. Each rewrite shows up as a step in the agent conversation. Tell the agent to remember or forget something and the next rewrite carries it into the notes. Open either entry to edit it whenever it is wrong or out of date; saving an empty text clears it. If a text changed while you were editing it, saving asks you to load the latest version first so nothing is overwritten. Agents connected over MCP or the API read the same texts and keep their own notes through the agent notes operations; see Bring your own agent.Context entries
Everything under Read when relevant is an entry: pasted text, an uploaded document, or an image. Use Add on the Context tab to write or paste text, or to upload files; you can also drop files anywhere on the tab, or attach them to a message in the agent conversation, where a document becomes a context entry the same way and appears here at once. Each document is converted into bounded Markdown. PDFs and DOCX files use Firecrawl Parse, while text files and pasted text are normalized locally. Cactal creates a one-sentence description that helps the agent decide when to read the entry, and a short title for pasted text; uploads keep their filename as the title. The agent receives only a compact index by default, then searches or reads selected ranges on demand. Open an entry to edit it. You can rename it and change the text the agent reads, which is useful when a PDF extracted badly or contains sections that do not matter. Editing never changes an uploaded original, which stays downloadable from the editor. API and MCP clients do the same withwebsiteKnowledge.create (POST /websiteKnowledge/text), websiteKnowledge.update (PATCH /websiteKnowledge/{resourceId}), and websiteKnowledge.get (GET /websiteKnowledge/{resourceId}), which returns the full text.
Images remain images and are returned directly when the agent needs to inspect them. Each image also carries its extracted color palette as colors, transparentShare, and translucentShare in the index the agent receives, so the exact brand colors in a moodboard or reference screenshot reach the agent without a request.
For short relevant documents, the agent can read directly. For larger documents, it can search several literal terms across selected files together and receive compact passages with overlapping text merged. This lets it gather evidence for independent questions in one request and read further only when needed.
API and MCP clients can use websiteKnowledge.search (POST /websiteKnowledge/search) with websiteId, selected resourceIds, and 1–8 queries. Matching ignores case and treats each query as literal text within a line. All queries share maxCharacters, from 4,000 to 16,000 characters, defaulting to 8,000. The response includes up to 20 passages with source line ranges and zero-based queryIndexes into the returned queries array. Each query reports matched and truncated; truncation means more evidence may remain. A passage’s clipped flag indicates that its first or last line is partial. Missing, unavailable, non-text, and out-of-website ids appear in unavailableResourceIds, while available documents still return results. This is the single search operation, using the websiteKnowledge.search permission. To search one document for one term, pass one entry in each array. Ranged reads remain available.
Project context is separate from website assets. Context files stay private and are never published with your website or served from its public CDN.
Supported files and limits
A website can keep up to 25 context entries, pasted text included. You can download an uploaded original directly from private storage at any time from its editor. PDFs can contain up to 50 pages. Documents can be up to 10 MiB, while images can be up to 2 MB. On the Context tab, a larger photo is compressed to fit, and HEIC, AVIF, and BMP images are converted to JPEG or WebP before they upload. Uploads reserve a slot while the request is running. If preparation fails, Cactal discards the upload and releases the slot. Adding a file or text whose contents already exist in Context, from the tab, the API, or a chat message, reuses the existing entry instead of adding a copy.
Password-protected, corrupt, unsupported mismatches, legacy DOC/PPT, executable, archive, audio, video, and unlisted file types are rejected. Firecrawl processes no more than 50 PDF pages, and Cactal rejects the upload rather than retaining truncated content.