Pitwall AI Manifest for llms.txt

Description

Pitwall AI Manifest does two jobs with the same content. For your visitors, it is a chat assistant that answers their questions from your own pages, through the WordPress AI Client or with no AI at all. For AI assistants and agents, it publishes your site in a form they can read accurately: a curated llms.txt, clean Markdown copies of your pages, and a search API.

llms.txt is a file format: a short, curated description of a site that sits at /llms.txt. Most plugins that write it dump every post you have ever published into one file. That is the opposite of what the format is for: it exists to fit a site into an AI’s limited context window, so twenty well-described links beat eight hundred bare ones.

This plugin is built around three ideas.

It asks you to write the part that matters. The Site context tab captures what no crawler can work out: who you are, what you sell, who you serve, where you operate, and who you are not. That last field stops a model from confidently giving you a similarly named company’s prices, locations or reviews.

It curates instead of listing everything. You define sections with rules (post type, category or tag, order, a limit), pin the handful of pages that define the business, and feature or exclude single posts from the editor sidebar. There is a size budget, and the file stops cleanly when it reaches it.

It serves clean Markdown. Every public post and page is also available at its address plus .md: the title, a few facts and the text, without menus, share buttons, comment forms or related-post widgets. An AI agent fetching your page gets a few kilobytes of substance instead of a few hundred kilobytes of HTML, whether or not it ever reads llms.txt.

An honest note on adoption

No major AI company has committed to reading llms.txt, and server logs show AI crawlers asking for it rarely. Treat it as a cheap, low-risk bet on machine-readable publishing, and treat the .md copies as the part that helps today. This plugin does not promise you rankings in AI search, because nobody can.

Features

  • A curated llms.txt at /llms.txt, following the llmstxt.org structure
  • An optional llms-full.txt with the full text of every post in llms.txt
  • Clean Markdown copies at /your-page.md, linked from each page’s head, with a canonical link back to the page
  • Hand-written organisation context: summary, description, products and services, audience, geography, languages, who you are not, how to cite you
  • “Scan my site” fills empty fields from your site title, SEO plugin settings, WooCommerce store address, translation plugin and contact page
  • Section rules with post type, category or tag, order and a limit per section
  • Pinned links chosen from a searchable list of your pages, worked out again on every rebuild, so a changed address never leaves a dead link
  • Pinned-link suggestions from your main menu
  • Feature, exclude or describe single posts from the editor sidebar
  • Reads meta descriptions and noindex settings from Yoast SEO, Rank Math and SEOPress, for each post and for each post type
  • Rebuilds wait a few minutes after a change, so saving posts stays fast, and visitors get the last copy while a rebuild runs
  • Size budgets on both files
  • Conditional requests (ETag and Last-Modified), so repeat fetches are cheap
  • A live preview in the admin, and WP-CLI commands

Structured data

The same context also produces a schema.org Organization block in your page head: name, description, logo, social profiles, address, languages, area served and founding date. One round of typing, two results.

The difference is worth being clear about: llms.txt is a bet on where things are going, while structured data is read by search engines today.

If Yoast SEO, Rank Math, SEOPress or All in One SEO is active, the plugin says so, because two Organization blocks that disagree are worse than one. Leave this off unless you have switched the other one off first.

Setting up many sites

Set one site up properly, export it as a template, and apply it to the next site in a minute. A template carries the decisions about how the plugin works: section rules, output settings, the search API, the schema type, and how the chat widget answers and looks.

It leaves out everything about one business: the site context, the address, the pinned links (they point at post IDs, which are other pages on another site), the curated answers, and the widget’s own words and contact details. “Export everything” is there as a backup of one site.

An import replaces only what the file holds and goes through the same checks as the settings form, so an edited file cannot bring in a value you could not have typed.

Search API

The plugin also splits your content into passages and indexes them, so any assistant can search the site: a custom GPT, an MCP server, the chat widget, or an automation in n8n or Make.

GET /wp-json/ltxt/v1/search?q=...     Matching passages as JSON, with their addresses
GET /wp-json/ltxt/v1/context?q=...    The same, as one Markdown block ready for a prompt
GET /wp-json/ltxt/v1/manifest         Your llms.txt with the site name and summary
GET /wp-json/ltxt/v1/post/{id}        One post in full, as Markdown

Passages follow your headings, about 250 words each, and are searched with your database’s full-text index. No account, no key and no cost per search: it all runs on your own database. Each result links to the heading it came from.

Requests are limited per visitor address and can require a key. The endpoints only return content that is already public, so the key is for keeping casual traffic away and cutting off one integration without touching the others.

Chat widget

A chat window on your site that answers visitors’ questions. Two of its four ways of answering cost nothing to run, because your site already holds the answers.

  • Curated answers only. Free. You write the questions you get asked and the exact answers. Nothing can be invented, it never changes, and it is instant.
  • Curated answers, then site search. Free, and the default. When no curated answer fits, it quotes the closest passage from your site with a link. It quotes rather than rewrites, so nothing is invented, but the wording has to match: “shipping” does not find a page that only says “delivery”.
  • Curated answers, then AI. Paid only when no curated answer fits. Your curated answers handle the questions they match for free; anything else goes to the AI, which answers from the passages your site search finds.
  • AI for every question. Paid on every question. Every question goes to the AI, with the passages and, when one fits, your curated answer as the wording to use. Replies read naturally and follow the conversation.

The AI answers are grounded in your own content and told never to state a price, time, phone number or policy that is not in it. Page text is marked as content rather than instruction, so a page cannot talk the assistant out of its rules, and the conversation history sent back by the browser only counts when this site signed it.

Cost controls, because a public chat box is something anyone can call: a daily limit on AI answers (past it, the assistant answers the free way instead of going quiet), a limit per visitor per minute, a cap on how much of the conversation is remembered, and a ceiling of 1,024 tokens per answer by default.

AI answers go through the WordPress AI Client only. On WordPress 7.0 and later, the AI provider you set up for the whole site under Settings, Connectors answers, on your account with it, and WordPress picks the model. This plugin never contacts an AI service itself and has no AI key of its own. The Chat widget tab says whether a provider is set up, and links to Settings, Connectors.

Without it, the AI features switch off and nothing else changes. On WordPress before 7.0, or with no AI provider set up, the two ways of answering that use AI answer the free way instead (a curated answer, or a passage with a link), a notice in the admin says how to switch the AI on, and everything else in the plugin works as usual.

Talking to a person

Every assistant meets a question it cannot answer, and “I don’t know” on its own is a dead end. Add a WhatsApp number (with a first message), an email address or a contact page, and the widget offers them: after a question it could not answer, by default, so it appears exactly when it helps and only once per conversation.

Smarter answers, still free

The free way of answering knows which words mean the same (“cost”, “price”, “preço” and “Preis” find the same answer) in English, Portuguese, Spanish, French and German, and takes your own groups of words too. It forgives a typo, follows a short follow-up (“and an extra driver?”), quotes the one or two sentences that answer rather than a block of text, and offers the curated question that came close (“Did you mean…?”) when none quite fits.

Starting the conversation

Up to three suggested questions under the greeting, for visitors to tap: your own, or your first three curated questions. A nudge, a small bubble by the launcher after a few seconds on chosen pages (“Questions about the car?”), once per visit. Answers are formatted: bold, lists and links.

A conversation that follows the visitor

The conversation stays with the visitor from page to page in the same browser tab. Follow a link in an answer and the chat is open on the next page, mid-conversation.

Multilingual sites

With Polylang or WPML, the widget’s words and the curated answers are translated where you translate everything else, and each visitor gets them, and answers from the pages, in the language of the page.

Look

The brand colour takes a hex code, var(--your-theme-colour), rgb(), hsl() or a colour name. A CSS variable is the one worth using: point it at your theme’s brand colour and the widget follows a rebrand by itself.

Also: three sizes, light, dark or follow the device, rounded or square corners, either bottom corner, words beside the launcher icon, an avatar image or the business’s initials, and a subtitle. Movement is subtle and switches off for visitors who ask for reduced motion.

Trying it before you go live

Who can see it has three settings: everyone, logged-in users, or administrators only. Start with administrators and the widget appears on the real site for you and nobody else, with a preview badge so you cannot forget. The rule is enforced by the endpoint too, so it is private rather than hidden.

Visitor questions

Every question is logged under AI Manifest, Questions, with a filter for the ones the site could not answer: content gaps, questions real visitors asked that your website does not answer yet. The log can be exported as CSV, and a weekly email can bring you the unanswered ones every Monday.

Entries hold the question and the answer, and no IP address, cookie or visitor identifier. Visitors can still type personal details into a chat box, so treat the log as personal data and keep entries no longer than useful. It deletes old entries every day.

WP-CLI

wp ai-manifest generate       # rebuild llms.txt now
wp ai-manifest show           # print llms.txt
wp ai-manifest show --full    # print llms-full.txt
wp ai-manifest markdown 42    # print one post as Markdown
wp ai-manifest index          # rebuild the search index
wp ai-manifest search "..."   # search the index
wp ai-manifest flush          # clear the cache and the rewrite rules

Hooks

Filters:

  • Settings and output: ltxt_settings, ltxt_document, ltxt_full_document, ltxt_credit_line, ltxt_agency
  • What gets in: ltxt_section_posts, ltxt_include_post, ltxt_can_serve, ltxt_is_noindex, ltxt_seo_description_keys, ltxt_serve_markdown
  • Markdown: ltxt_post_markdown, ltxt_markdown_drop_classes, ltxt_apply_content_filters, ltxt_content_type, ltxt_robots_reference
  • Search API: ltxt_is_indexable, ltxt_search_results, ltxt_client_ip
  • Structured data: ltxt_schema, ltxt_schema_conflicts
  • Scan my site: ltxt_suggestions, ltxt_contact_slugs
  • Chat widget: ltxt_render_widget, ltxt_faq_match, ltxt_faq_stopwords, ltxt_synonyms, ltxt_faq_import_candidates
  • AI answers: ltxt_chat_system_prompt, ltxt_ai_client_model_preference

Actions: ltxt_rebuilt, ltxt_index_complete

The settings screen describes each one.

External services

This plugin does not connect to any external service itself. It contacts no AI provider, and it never contacts pitwallwp.com or any other server. It loads nothing from outside your site in your visitors’ browsers.

Only the chat widget’s AI answers can send anything outside your site, and only if you choose them: while the widget is set to “Curated answers, then AI” (and then only for questions no curated answer fits) or “AI for every question”, on WordPress 7.0 or later, with an AI provider set up under Settings, Connectors. With the free ways of answering, nothing is ever sent.

The WordPress AI Client hands each AI answer to the AI provider you set up under Settings, Connectors, on your account with it. Which company receives it, and whose terms and privacy policy apply, is your choice in WordPress.

What is sent, for each AI answer: the visitor’s question; the earlier messages of the same conversation; the passages from your site that the plugin’s own search found for the question; the curated answer that fits it, if any; your site’s llms.txt and name; and the instructions for the assistant, including any extra guidance you wrote. Nothing that identifies the visitor (IP address, cookies, login) is sent.

You pay the provider for these answers on your own account.

Privacy

The plugin suggests wording for your privacy policy under Settings, Privacy, covering the questions log and, when you use AI answers, what is sent to the AI provider.

The chat keeps the conversation in the visitor’s browser tab (sessionStorage), so it follows them from page to page. Closing the tab deletes it; nothing about it is stored on your server beyond the questions log.

To stop the chat and search endpoints being flooded, the plugin counts requests per visitor address for a minute at a time. It stores a one-way, salted hash of the address, never the address itself, and deletes it within minutes.

Screenshots

Installation

  1. Install the plugin from Plugins, Add New, or upload the zip there, and activate it.
  2. Go to AI Manifest in the admin menu and fill in the Site context tab.
  3. Check the sections on the Content tab, pin your most important pages, and save.
  4. Open /llms.txt on your site to see the result.

Pretty permalinks (anything but “Plain” under Settings, Permalinks) are needed for /llms.txt and the .md copies.

FAQ

Nothing appears at /llms.txt

The settings screen says why at the top. The usual reasons: the site uses plain permalinks (choose any other structure under Settings, Permalinks), or a real file named llms.txt sits in the site’s root folder, which the web server sends instead (delete or rename it). Otherwise, save the permalinks once under Settings, Permalinks, or run wp ai-manifest flush.

Does this slow down saving posts?

No. A change sets a flag and starts a timer; one scheduled rebuild covers everything changed before it runs. Importing five thousand posts costs one rebuild, not five thousand. Visitors keep getting the last copy until the new one is ready.

My site has WP-Cron switched off

The plugin notices when a rebuild is overdue and rebuilds on the next request for /llms.txt, once.

Should the file list every post?

No, and the plugin will not help you do that. Keep the section limits low.

Does the chat widget work with page caching?

Yes. Logged-out visitors get no security token in the page, so a cached page cannot carry an expired one. A logged-in visitor whose token has expired is retried without it automatically.

Is the .md copy of a members-only page safe?

The copies, llms-full.txt and the search index are always built as a logged-out visitor sees the page, whoever happens to trigger the build. Posts that are private, password-protected, excluded in the editor or marked noindex get no copy at all.

Does it use the AI I set up in WordPress?

Yes, and only that. On WordPress 7.0 and later, under Settings, Connectors you set up an AI provider for the whole site, and the chat widget’s AI answers go through it, with the model WordPress picks for it. The Chat widget tab says whether a provider is set up, and links to it. The plugin has no AI key of its own and connects to no AI service by itself.

What if my site has no AI provider, or runs WordPress before 7.0?

The AI features switch off and a notice on the plugin’s screens says how to switch them on. The chat widget keeps working with your curated answers and passages from your site, llms.txt and the Markdown copies are unaffected, and so is everything else.

I used LLMs.txt Manifest 1.x. What happens to my settings?

This plugin replaces it and reads the same settings, so your configuration carries over. Deactivate LLMs.txt Manifest, then activate this plugin. Once it is deactivated you can delete it: from version 2.0.1 on, this plugin keeps your data while the old one cleans up after itself. Keep this plugin active while you delete the old one. The Anthropic API key and the model settings of 1.x are deleted on the first load: AI answers now use only the WordPress AI Client.

What does an AI answer cost?

It depends on the AI provider you set up in WordPress, the model and the length of the conversation: your provider bills you at its own prices. The two free ways of answering cost nothing.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Pitwall AI Manifest for llms.txt” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

2.2.0

  • Suggested questions under the greeting: up to three for visitors to tap, your own or your first three curated questions.
  • Formatted answers: bold, lists and links in curated answers and AI answers, safely, with no HTML ever reaching the page.
  • The conversation follows the visitor from page to page in the same tab. A link followed from an answer opens the chat again on the next page, and New conversation starts over.
  • Multilingual sites: with Polylang or WPML, the widget’s words and the curated answers are translated where you translate everything else, and each visitor gets answers from the pages in their language.
  • A weekly email of the questions the assistant could not answer, most asked first, every Monday. Off until you switch it on.
  • A nudge: a small bubble by the launcher after a few seconds on the pages you choose, once per visit.
  • Smarter free answers: words that mean the same in five languages plus your own groups, typo tolerance, short follow-ups, the one or two sentences that answer instead of a block of text, and “Did you mean…?” with the curated question that came close.
  • Site search ignores filler words (“and”, “need”) that let long pages outrank the one that answers, gives more weight to a page title or heading that names what was asked, and no longer quotes a passage that shares no word with the question.
  • “How much is it?” is understood as a question about the price.
  • Each page is linked once under an answer, not once per passage.

2.1.0

  • In Portuguese (Portugal): the whole plugin, the admin screens and the chat widget, ships translated.
  • The chat widget keeps its size on themes that set a 10px root font size (Bricks with ACSS and many others), where it used to shrink to a narrow, short panel with the greeting cut off.
  • The message box is one line again on every theme, and grows as you type. Theme styles for buttons and text boxes no longer leak into the widget, so there is no dotted outline after a click.
  • A cleaner chat window: a brand header with a little depth, a ringed logo, the preview notice on one line, and tidier contact buttons.
  • The Endpoints card on the Search API tab shows the base address once, then each endpoint with its method and what it returns. Every copy button copies the full address, and none overflows its field any more.
  • The plugin’s own icon in the page header and in the admin menu.

2.0.2

  • Activating this plugin while LLMs.txt Manifest 1.x is still active no longer fails with an error. It now activates, waits, and shows a notice asking you to deactivate the old plugin.

2.0.1

  • Deleting LLMs.txt Manifest 1.x from the Plugins screen no longer erases your settings. Both plugins keep their data under the same names, so the old plugin’s clean-up used to remove this plugin’s settings, page fields, chat log and search index too. This plugin now sets everything aside while the old one is deleted and puts it straight back.
  • The notice shown while LLMs.txt Manifest is still active now says you can delete it once it is deactivated.

2.0.0

  • New name: Pitwall AI Manifest for llms.txt. The plugin lives in a new folder, pitwall-ai-manifest, and reads the settings of LLMs.txt Manifest 1.x, so deactivate that one and activate this one.
  • AI answers now go through the WordPress AI Client only, the AI provider you set up under Settings, Connectors (WordPress 7.0 and later). The plugin no longer connects to any AI service itself.
  • The Anthropic API key, the model and the effort settings are gone, and a saved key is deleted on update. Exports and imports no longer carry them.
  • Without WordPress 7.0 or an AI provider, the AI features are off: the chat assistant answers with your curated answers and passages from your site, and a notice on the plugin’s screens says how to switch the AI on.
  • The admin menu is now called AI Manifest, and WP-CLI commands start with wp ai-manifest (wp llms-txt still works).

1.9.0

  • On WordPress 7.0 and later, the chat widget’s AI answers can come from WordPress itself: the AI provider you set up for the whole site under Settings, Connectors answers, on your account with it.
  • The Status card’s test box says which provider and model wrote the answer.
  • The suggested privacy policy wording covers answers through WordPress’s AI settings.
  • For developers: the ltxt_ai_client_model_preference filter suggests models to WordPress AI.

1.8.1

  • Ready for WordPress.org: the admin library that comes with the plugin no longer includes any licence or update code, and its words are translated together with the plugin’s own.
  • The settings screens look and work as before. Their choice cards and switches between options now come from the shared PitwallWP admin library, and on the Site context tab a click on a field’s name puts you in the field.
  • llms.txt no longer doubles the full stop after a fact you ended with one, such as who you serve or where you operate.

1.8.0

  • The chat widget no longer fails on cached pages. Since 1.7.2 every visitor’s page carried a security token that expires after 12 to 24 hours, so on a cached page visitors got “Cookie check failed”. Logged-out visitors now get no token at all, and a logged-in visitor whose token has expired is retried without it. If you use a page cache, clear it once after updating.
  • Exports no longer include secrets, not even “Export everything”. Templates also leave out the curated answers and the widget’s contact details (WhatsApp, email, contact page) and its own words.
  • Imports now bring in the chat settings and the curated answers too.
  • llms-full.txt, the .md copies and the search index are always built as a logged-out visitor sees the page, so text a membership plugin shows only to members cannot end up in them. Logged-in users’ copies are marked private, so no shared cache keeps them.
  • The .md copies follow the page: no copy for posts marked noindex (while noindex posts are skipped), noindex headers when the site asks search engines to stay away, and a canonical link back to the page. Noindex is now also read from Yoast SEO’s and Rank Math’s settings for each post type, not only from single posts.
  • AI answers no longer need Composer or PHP 8.1, and work on any host the plugin runs on.
  • AI answers cost less to leave running: the default ceiling is 1,024 tokens per answer instead of 8,000, the per-visitor limit counts each message once (it counted twice) and holds under bursts, and conversation history sent back by a browser only counts when this site signed it. Sites still on the old defaults move to the new ones.
  • “AI for every question” now really sends every question to the AI, with your curated answer as the wording to use when one fits. “Curated answers, then AI” still answers a match for free.
  • When an AI answer fails (the provider busy, a revoked key), visitors get the free answer instead of an error, and the settings screen says what went wrong.
  • A large llms-full.txt can no longer make the site rebuild it on every request. Its ceiling is 5 MB, a write the database refuses is noticed, only one rebuild runs at a time, and visitors get the last copy while it runs.
  • Deactivating the plugin removes its addresses properly; before, the rewrite rules were saved back with them still in.
  • Multisite: network activation sets up every site, sites added later set themselves up, and uninstalling cleans every site.
  • The questions log CSV is safe to open in a spreadsheet (a question starting with = or + is no longer read as a formula), includes every question instead of the newest 200, and opens with accents intact in Excel.
  • The settings screen says when /llms.txt cannot be reached: plain permalinks, or a real llms.txt file in the site’s root folder.
  • “Scan my site” no longer puts the admin email address into the public schema block.
  • Fixed a way for page text to break out of the schema block’s script.
  • New look: the settings screens use the PitwallWP design, with cards, switches, toasts and choice cards, and the guidance next to each field.
  • Searches for common short words no longer read every passage in the index.
  • Saving a post of a type the search index does not cover, or with the index off, no longer queues work. Changing which post types are indexed, or the passage size, re-indexes by itself.
  • .md copies are cached for up to 12 hours, so a page builder’s slow rendering is paid once.
  • The settings are loaded with WordPress’s other settings, saving a database query on every page.
  • Works without the mbstring PHP extension.
  • LLMs.txt Manifest is now made by PitwallWP: https://pitwallwp.com/plugins/llms-txt-manifest/

1.7.2

  • Fixed the widget being unusable whenever the audience was restricted. It sent no REST nonce, so WordPress ignored the login cookie and treated every request as anonymous, including one from the administrator the restriction was meant to admit.
  • The Status panel shows who the widget is visible to.

1.7.1

  • Curated answers now close to a single line showing the question, so an import of thirty entries no longer buries every setting beneath it. New rows open ready to type; imported ones arrive closed.
  • Added Expand all and Collapse all, a live count, and a bounded list height.
  • Removed a CSS class that had been applied to three row types since 1.0 and never had a rule attached to it.

1.7.0

  • Rebuilt the widget’s design around a proper set of tokens, so one brand colour recolours the whole widget.
  • The panel opens from the launcher’s corner, and messages fade in as they arrive.
  • Replaced the “Thinking…” line with an animated typing indicator.
  • Added an avatar: an uploaded image, or the business’s initials in the brand colour.
  • Added a panel subtitle.
  • Sources are now small links with an icon.
  • The message box is one rounded field with the send button inside it.
  • Added a colour scheme setting: light, dark, or follow the visitor’s device.
  • Custom scrollbar, layered shadows, a refined type scale, and full support for reduced motion.

1.6.1

  • Fixed the widget showing “Sorry, something went wrong” for every failure. The real reason (a missing API key, a restricted audience, a rate limit) is now shown.
  • Added a Status panel and a test box to the Chat widget tab: ask a question and see which route answered it, or the exact error code if it failed.

1.6.0

  • Curated answers can be imported from content the site already has: an FAQ post type, Yoast or Rank Math FAQ blocks, accordions, or a page whose headings are questions. Nothing is added until you tick it.
  • The widget is bigger, with compact, standard and large sizes, roomier messages, and a launcher that can carry a label.
  • The brand colour accepts a hex code, a CSS variable, rgb(), hsl() or a colour name. Text on it is worked out from a hex code, or set by hand.
  • Added corner rounding.
  • Added a hand-off to a person: WhatsApp (with a first message), email, or a contact page.
  • The questions log records which route answered.

1.5.0

  • Added free ways of answering. The assistant no longer needs an API key or an account: curated answers and site search run anywhere the rest of the plugin does, and the new default costs nothing per question.
  • Added curated questions and answers with a keyword field, checked first in every mode.
  • Added audience control: everyone, logged-in users, or administrators only, enforced on the endpoint as well as the widget.
  • Reaching the daily limit now falls back to site search instead of refusing to answer.
  • The questions log records which route answered each question.

1.4.1

  • Fixed a chunking bug: a long page written as a few large paragraphs produced one oversized passage. Oversized lines are now split at word boundaries.
  • Added behavioural tests for the Markdown converter and the chunker.

1.4.0

  • Added the chat widget: answers from your own content, with source links, on any page.
  • The assistant answers only from your content and is told never to invent prices, times or policies.
  • Added spending controls: a daily answer limit, a per-visitor limit and a cap on conversation length. The instructions are cached between requests.
  • Added the visitor questions log with a content-gap filter and CSV export.
  • The API key can be set as LTXT_ANTHROPIC_API_KEY in wp-config.php.

1.3.0

  • Added structured data: a schema.org Organization block built from the site context, with a type, logo, address, contact details and social profiles. Warns about SEO plugins that publish their own.
  • Added social profile addresses.
  • Added settings export and import, with templates that leave out one site’s identity.
  • “Scan my site” fills the address from WooCommerce and social profiles from Yoast SEO, Rank Math or SEOPress.

1.2.0

  • Added the search API: content split into passages at headings, indexed with full-text search, and served for other assistants. No API keys or per-query costs.
  • New Assistant API tab with index figures, passage size and post type settings, an optional key, a per-visitor limit, the endpoints, and a test box.
  • Indexing runs in the background, 20 posts at a time.
  • Added wp llms-txt index and wp llms-txt search.

1.1.0

  • Pinned links are chosen from a searchable list and stored as posts, so a renamed page or a changed address updates the manifest by itself.
  • Added “Scan my site” on the Site context tab.
  • Added “Suggest from my menu”.
  • Every context field has a worked example.
  • A pinned page is no longer repeated further down the file, and a page in two sections is listed once.
  • Added an optional credit line at the end of llms.txt, off by default.

1.0.0

  • First release.