Wopisanje
Add an AI chatbot that answers from your own pages and WooCommerce store, and cites them. It runs on Claude, Amazon Nova, Meta Llama, Mistral, DeepSeek, OpenAI gpt-oss, Qwen or Kimi through Amazon Bedrock in your own AWS account. Requests go from your server straight to the Bedrock endpoint you configure. There is no relay service and no third party in between.
Built for site owners, developers and teams who want predictable requests, safe defaults for public chat, and a way to check that answers are still right after a change.
Why site owners choose it
- Answers from your content, with sources. The chat searches your published pages, in the visitor’s language first, and cites what it used. Questions your site does not cover are listed as content gaps, with a shortcut to draft the missing page.
- Ready for WooCommerce. Live product answers with prices, stock and Add to cart. Signed-in customers can ask where their order is. Product descriptions can be drafted from real attributes.
- Safe for public traffic by default. Guest access is off until you turn it on. Requests are rate limited and tools run on the server. The chat stays hidden until it can actually answer.
- No AWS keys to store. An instance role, a task role or environment variables are enough. Off AWS, one Bedrock API key is enough. Diagnostics generates the least-privilege IAM policy your configuration needs.
- Know what it costs. A dashboard of requests and tokens by the model that answered, the input tokens Claude read from Bedrock’s cache, and failed requests by cause.
- Know whether answers are still right. Run questions whose right answer you know and read the result by category. Every check is a program, so no model grades another, and the command-line run can gate a deployment.
Features
Chat on any page
[ai_chat_bedrock]shortcode, a chat block, or a floating launcher on every page; full screen above the keyboard on phones- Streaming answers that a visitor can stop, which also stops the Bedrock request
- Answers and posts read aloud with Amazon Polly
- Several chats with their own profiles, a fallback model, and managed prompts from Bedrock Prompt Management
- Optional conversation memory, kept in the visitor’s browser tab only, or also saved in a signed-in visitor’s user data for the days you set
Grounded in your content
- Matching by shared words; choose an embedding model to match by meaning instead, so „when will my parcel arrive“ finds a page titled „Getting parcels to you“
- Amazon S3 Vectors searches every passage of every page; a reranking model keeps the passages that best answer the question, from your pages and a knowledge base alike
- Only what a signed-out visitor can read is ever indexed or quoted, so members-only sections stay out of answers, and pages your SEO plugin keeps out of search engines stay out too
For WooCommerce stores (each feature is off until you turn it on)
- Product answers from the live catalog, with the price, sale price, stock and options the shop shows right now, as cards with View product and, where nothing has to be chosen, Add to cart. Drafts, private and hidden products are never described.
- Order questions for signed-in customers about their own recent orders only. Only the order number, dates, status, items, total, shipping method and tracking number are sent to the model; addresses, email, phone and payment details never are, and naming another customer’s order number reveals nothing.
- Product assistant that drafts the short and full description from the product’s name, attributes and categories, or summarizes approved reviews without reviewer names. Nothing is saved until you update the product.
- Compatible with High-Performance Order Storage and the Cart and Checkout blocks.
The Amazon Bedrock provider for WordPress AI
On WordPress 7.0 and later, every plugin that calls the WordPress AI Client, including the official AI plugin, can use Amazon Bedrock. The plugin offers core what each model can actually do:
- Text, with system instructions, several candidates, top P and stop sequences where the model accepts them
- Images in the prompt for models that read them, such as Claude, Nova Lite and Pro, Llama 4 and Qwen3 VL, so alt text and image descriptions work
- JSON answers, checked before they are returned and constrained by the schema on models that take one
- Image generation with Stability AI Stable Image Core, Stable Diffusion 3.5 Large and Stable Image Ultra, including image editing with Stable Diffusion 3.5
- Embeddings with Amazon Titan and Cohere on WordPress 7.2, where core adds them
A capability a model lacks is not offered, so core picks a model that has it. Every request takes the chat’s path, so the guardrail, daily limit, token ceiling and usage dashboard apply to all of them.
Images in the Media Library
Choose an image model and turn on the media helpers, and every JPEG, PNG or WebP image gets Remove background and, up to about one megapixel, Upscale 4×. The result is saved as a new image; the original is never changed.
AI agents and MCP
- A WordPress MCP endpoint, on protocol revision 2026-07-28, that clients such as Claude Code, Cursor or VS Code can read. Anonymous access and OAuth are both off by default.
- Calls to external MCP servers and an Amazon Bedrock AgentCore Gateway, with no authentication, an encrypted bearer token, or SigV4, over public HTTPS only
- An agent that answers from your own content and from approved tools; a tool that changes data needs an explicit capability
- The WordPress abilities integration, WP-CLI, and moving a configuration between sites
- An llms.txt file at your site root, written from the site description: your public posts, pages and products by type and language, for AI tools to read. Off until enabled, and served only where nothing else answers the address.
Channels
- Answers for a WeChat Official Account from the same pages, and customer service for a mini game
- A record your agents keep of where each post is published on Bilibili, YouTube or Xiaohongshu, Bilibili embeds, and uploads to YouTube
Security by default
Every default below is the safe one, and each is a setting you can change rather than a promise you have to trust:
- Guest access is off until you enable it, and the chat is hidden from visitors until it can actually answer, so a half-finished setup is never public
- Requests are rate limited per visitor and per profile, with optional per-role limits and an optional daily site cap
- Tools run on the server, so a browser cannot forge a tool result
- External MCP tools are off for visitors, and the built-in MCP routes require authentication unless you deliberately open read-only access
- Input, history, token and tool-call limits are enforced on the server
- Credentials saved through the settings screen are encrypted with authenticated encryption derived from the site’s WordPress authentication salts, and are never rendered back into the form
Stored data and privacy
No custom table is created. The conversation log is optional and off by default; when enabled it holds the 200 most recent exchanges in a WordPress option, with a retention window you set, and supports the WordPress personal-data export and erase tools. Conversation memory is off by default too: it can keep a conversation in the visitor’s browser tab only, or also save a signed-in visitor’s recent conversation in their user data for the days you set. Debug mode records redacted metadata, not prompts, responses or credentials. AWS states that model providers have no access to Bedrock prompts and completions, and that they are not used to train the base models. The Privacy Policy section sets out what is sent, to whom, and what is kept.
What it costs
Amazon Bedrock bills your AWS account for what the models use. It is part of AWS paid plans, not the AWS Free plan; new AWS accounts get $100 in Free Tier credits and can earn up to $100 more, up to $200 over six months, and remaining credits apply to AWS bills after upgrading to the Paid plan. The dashboard shows requests and tokens for the last seven days by the model that actually answered, kept for 30 days without prompts, responses or identities. It also counts chat requests that still failed after any fallback model, grouped as throttled, access denied, rejected, unavailable, network or other, and shows how long streamed answers take to start.
Token counts are what Bedrock reported and are not a price estimate. Rate limiting reduces accidental usage but guarantees nothing about your bill, so review Amazon Bedrock pricing and set AWS Budgets before opening a chat to public traffic.
Get started
- Install and activate the plugin.
- Paste an Amazon Bedrock API key, or use the server’s IAM role, and pick a model.
- Run Diagnostics: it sends one short question to the model and reports the answer.
- Add the chat block or
[ai_chat_bedrock]to a page.
The Installation tab has the details, and the FAQ covers every feature with its limits stated. A step-by-step guide for sites on AWS is in English and in Japanese.
Privacy Policy
Chat messages and the configured system prompt are sent to Amazon Bedrock. When MCP tools are enabled for authenticated users, relevant tool parameters are sent to the selected external MCP server and tool output is sent to Amazon Bedrock to complete the answer. Review AWS and each MCP provider’s privacy terms before use.
When semantic search is on, the text a signed-out visitor can read on each published post is sent to Amazon Bedrock to create embeddings, and each question is embedded the same way. With a reranking model chosen, the question and the passages found for it are also sent to that model on Amazon Bedrock. With Amazon S3 Vectors chosen, those passages and their vectors are stored in the vector bucket of your own AWS account, labelled with the site and post they came from. Uninstalling the plugin does not delete them; delete the index in AWS.
Conversation logging is disabled by default, and with it off no chat content is written to the database. When an administrator enables it, questions and answers are stored for the configured retention window, capped at the 200 most recent exchanges, and can be deleted per user or in full from the Conversations screen. Administrators are responsible for disclosing this recording to visitors.
Conversation memory is off by default. In browser-tab mode the conversation is kept in the visitor’s own session storage and nothing is stored on the site. When saving for signed-in visitors is on, their questions, answers and the links listed under each answer are stored in their user data on this site, up to 30 messages per chat, for the configured number of days. They are deleted when the visitor clears the chat or the option is switched off, and are reachable through Tools > Export Personal Data and Erase Personal Data.
Reading aloud is off by default. With Listen under answers on, the text of an answer is sent to Amazon Polly when the visitor presses Listen, and the audio is not kept. With Listen to this post on, the text a signed-out visitor can read on the post is sent to Amazon Polly the first time someone listens, and the audio is kept in the uploads folder until the post changes or the option is switched off. Nothing about the visitor is sent.
Contact requests are off by default. When a visitor sends one, the name, email address, phone number and message they enter, the page and, if they choose, the conversation are stored on this site for the days set (180 by default), with their consent. With Akismet set up, the request, IP address and browser are sent to Akismet to check for spam. Requests are reachable through Tools > Export Personal Data and Erase Personal Data, and uninstalling deletes them.
Business insights are off by default. They are worked out on the site from content, the conversation log, usage counters and WooCommerce Analytics, and only totals are shown; those from fewer than five orders or questions are withheld. Asking in words sends the question and the list of figures to Amazon Bedrock, never a figure.
The plugin creates no custom database tables; the optional log is kept in a WordPress option and is reachable through Tools > Export Personal Data and Erase Personal Data. Request limiting stores a salted hash-derived transient counter for each visitor for up to one minute, and reading aloud a count of the characters read for that visitor for a day. Debug logging is optional and records only redacted operational metadata. Administrators are responsible for disclosing these data flows and obtaining any consent required in their jurisdiction.
On a WooCommerce store with Product answers on, the public details of matching products are sent to Amazon Bedrock with each question. With Order questions on, a signed-in customer’s question about orders sends their recent orders‘ number, dates, status, items, total, shipping method and tracking number to Amazon Bedrock; addresses, email, phone and payment details are not sent. The product assistant sends the product’s own details, or its approved review texts without reviewer names, when an editor asks for a draft.
With WeChat answers on, followers‘ text messages, passed on by WeChat (Tencent), go to Amazon Bedrock with up to three earlier exchanges, kept 30 minutes under a hash of the OpenID. Embedded Bilibili players load from Bilibili, which receives the visitor’s IP address and can set cookies. YouTube uploads, off until a channel is connected with its owner’s consent, send the chosen video file, title, description and tags to the YouTube Data API, under the Google Privacy Policy and the YouTube Terms of Service. Mini game messages arrive through WeChat, set answers return through its API, and daily totals and a 12-hour welcome code are kept; drafts send posts‘ public title, text, excerpt, images and address to WeChat.
When an image model is chosen, image prompts, and any image supplied for editing, are sent to Stability AI models on Amazon Bedrock in US West (Oregon) unless the site moves them to another region. The prompt is first checked with the site’s guardrail in its own region. With the media helpers on, Remove background and Upscale send the selected image when an editor asks. Requests from other plugins through the WordPress AI Client send what those plugins put in the prompt, including any images.
Screenshots















Blocks
This plugin provides 1 block.
- Amazon Bedrock Chat Add a secured Amazon Bedrock chat powered by your own AWS account.
Instalacija
Before starting, enable access to the model in the selected AWS Region and create an IAM identity that can invoke only the models the site needs. Do not grant broad AWS administrator permissions to a WordPress site.
- Install and activate the plugin.
- Open AI Chat Bedrock > Settings.
- Choose the AWS Region, then paste an Amazon Bedrock API key, enter AWS credentials, or leave both empty to use the server’s IAM role. Pick a Bedrock model.
- Save the settings and run Diagnostics while signed in.
- Add
[ai_chat_bedrock]to a page or post, or insert the chat block. - Review model pricing and request limits before enabling guest chat.
Quickest start: an Amazon Bedrock API key
- In the Amazon Bedrock console, in the same Region you chose in the plugin, open API keys and generate a long-term key. Give it an expiry.
- Paste it into AI Chat Bedrock > Settings > AWS authentication > Amazon Bedrock API key and save. It is stored encrypted and never shown again. On WordPress 7.1 and later it can be pasted under Settings > Connectors > Amazon Bedrock instead, where it is checked with Bedrock before it is kept.
- Run Diagnostics. It sends one short question to the model and reports the answer.
To keep the key out of the database, define it in wp-config.php instead:
define( 'AI_CHAT_BEDROCK_API_KEY', 'replace-with-bedrock-api-key' );
The plugin also reads AWS_BEARER_TOKEN_BEDROCK, the variable the AWS SDKs use. An API key covers chat, streaming, the model list and embeddings. Knowledge Bases, reranking, Prompt Management and AgentCore Gateway do not accept API keys, so they still need an IAM role or access keys, and Diagnostics says so when one of them is configured. Short-term keys expire after at most 12 hours, which suits a test but not a live site.
Minimal IAM policy
Replace REGION and MODEL_ID with your own values. Inference profiles and some model types use different resource ARNs; follow the AWS documentation for the model you select.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "bedrock:InvokeModel",
"Resource": "arn:aws:bedrock:REGION::foundation-model/MODEL_ID"
}
]
}
Keeping credentials out of the database
For stronger isolation, define credentials in wp-config.php instead of saving them in the WordPress database:
define( 'AI_CHAT_BEDROCK_AWS_ACCESS_KEY', 'replace-with-access-key' );
define( 'AI_CHAT_BEDROCK_AWS_SECRET_KEY', 'replace-with-secret-key' );
define( 'AI_CHAT_BEDROCK_AWS_SESSION_TOKEN', 'replace-with-session-token' ); // Optional.
Credentials saved through the settings screen are encrypted with authenticated encryption derived from the site’s WordPress authentication salts, and saved secrets are never rendered back into the form.
FAQ
-
Where do I get help?
-
Run AI Chat Bedrock > Diagnostics first: most problems are a missing IAM permission or model access, and it names which. Then ask in the support forum, without posting keys. Longer answers are in the detailed FAQ.
-
Do I need an OpenAI API key?
-
No. Model requests use Amazon Bedrock and your AWS credentials. Availability, model access, pricing, and data handling are governed by your AWS account and Region.
-
Can I try it without an AWS account?
-
Yes, in the Live Preview on the plugin’s WordPress.org page, which runs WordPress in your browser with demo mode on. The chat then quotes the passage of the site’s pages that best matches each question, and says that no AI model was called. Demo mode is off unless
AI_CHAT_BEDROCK_DEMOis defined, and ends once AWS credentials are found. -
Which Bedrock models are supported?
-
Claude, Amazon Nova and Titan, Meta Llama, Mistral, DeepSeek and the other chat models your Region offers, including Claude Sonnet 5, Claude Opus 5.5 and Claude Haiku 4.5; Stability AI models for images; Cohere Rerank 3.5 and Amazon Rerank 1.0 for reranking. The settings screen lists what your account offers, and a new installation starts on Amazon Nova Lite. Regions, inference profiles and image models.
-
What is an Amazon Bedrock API key, and should I use one?
-
It is a single credential created in the Amazon Bedrock console and sent as a bearer token, so there is no IAM user or access key pair to manage. It is the quickest way to get a first answer, especially on hosting outside AWS. On an EC2 instance, ECS or EKS an IAM role is still the better choice, because nothing long-lived is stored at all. If a key stops working, check that it has not expired or been revoked and that its identity is allowed
bedrock:CallWithBearerToken; the IAM policy that Diagnostics generates includes it when a key is configured. -
Does the plugin use prompt caching?
-
Yes, on Claude 3.5 Haiku, Claude 3.7 Sonnet and newer Claude models, which Bedrock supports it for. The site’s system prompt and tool definitions are the same for every visitor, so they are marked for Bedrock’s prompt cache; a later request that starts the same way reads them at a fraction of the input price. Writing to the cache costs slightly more than a normal input token, and a prompt shorter than the model’s minimum is simply not cached, so a site with a short prompt pays what it paid before. The dashboard and
wp ai-chat-bedrock usageshow cache reads and writes. Theai_chat_bedrock_prompt_cachingfilter turns it off. -
What does „Time to first text“ on the dashboard mean?
-
The „Time to first text (streamed, 7 days)“ line under the usage panel shows how long visitors waited for a streamed answer to start: the number of answers measured, the average in milliseconds and the median band (under 1 s, 1 to 2 s, 2 to 5 s, 5 to 10 s, or 10 s and over). It covers streamed answers only. It is measured on the server, from the moment the plugin starts the Bedrock request to the moment the first text arrives, so it does not include page load or network time in the visitor’s browser. When the primary model sends no text and the fallback model answers, the wait is counted from the first attempt. Requests that fail before any text, setup errors and empty answers are not measured.
„Unknown, no streamed answers recorded yet“ means no streamed answer has been measured in the last seven days, for example on a new installation, right after an upgrade or reset, or when streaming is off. It never reports 0 ms for an empty period. Only a count, a sum of milliseconds and five band counters are kept for each day, with no prompt, answer, visitor or request ID. They follow the same 30-day retention as the other usage counters and are cleared when usage is reset.
From a terminal or a scheduled report,
wp ai-chat-bedrock usageprints the same figure as its last line, for exampleTime to first text (streamed, 7 days): 12 answers, average 1840 ms, median 1 to 2 s.It covers the days asked for, up to the 30 that are kept, readsaverage unknownormedian unknownwhen a stored figure is missing or invalid, and exits zero when nothing was measured.--by-modelleaves the line out, because latency is not recorded per model. -
Why do I receive AccessDeniedException or a model access error?
-
Amazon Bedrock no longer has a Model access page: a model is turned on for the AWS account the first time it is called. That first call fails when the identity may not subscribe through AWS Marketplace, when the account has no payment method, or, for Anthropic models, before the one-time use case form is submitted. Opening the model once in the Bedrock console playground as an administrator settles all three, and the chat’s error names which one it was. Otherwise, check the model ID, whether it needs an inference profile ID, and that the identity can call
bedrock:InvokeModelon it. -
Does the chat work on a multilingual site?
-
Yes, with Polylang or WPML. The chat title, welcome message and suggested questions are listed for translation under „AI Chat for Amazon Bedrock“ in Languages > Translations (Polylang) or String Translation (WPML), including those of each profile, and each edition of the site shows its own. Answers are asked for in the language of the page, and with Polylang are drawn from pages in that language first. Keep the system prompt in one language; it is not translated. The chat’s own buttons and notices, and the plugin’s admin screens, come in Simplified Chinese and Japanese with the plugin, and in other languages once translate.wordpress.org has them.
-
Why can guests not use the chat?
-
The chat defaults to signed-in users to reduce the risk of anonymous scripts generating unbounded AWS charges. Guests see a sign-in link that brings them back to the same page; the
ai_chat_bedrock_sign_in_urlfilter can point it at a custom sign-in page, or hide the chat from guests by returning an empty string. An administrator can explicitly enable guest access and configure a request limit. -
Are AWS credentials stored in plaintext?
-
Newly saved credentials are encrypted with authenticated encryption derived from WordPress salts. Existing plaintext credentials are migrated when an administrator opens the dashboard.
wp-config.phpconstants remain the preferred production option. -
Can I use temporary AWS credentials?
-
Yes. Configure the access key, secret key, and session token together, or define all three constants in
wp-config.php. A short-term Amazon Bedrock API key also works, and Diagnostics warns that it expires within 12 hours. -
Does the chat stream responses?
-
Yes. Streaming is the default and uses an authenticated POST request with Server-Sent Events. The removed 1.0.x implementation was unsafe because it used a GET EventSource that placed conversation data in URLs and issued duplicate Bedrock requests. If the PHP cURL extension is missing or a proxy buffers the stream, the chat falls back to one buffered request automatically.
-
Can I run without storing AWS keys?
-
Yes. Leave the key fields empty and keep IAM role credentials enabled. The plugin then uses server environment variables, an ECS or EKS task role, or the EC2 instance role through IMDSv2.
-
Why must external MCP servers use HTTPS?
-
HTTPS and WordPress safe HTTP validation reduce server-side request forgery risk and protect tool inputs in transit. Private, loopback, link-local, credential-bearing, and unsafe redirect targets are rejected.
-
How is the built-in WordPress MCP server protected?
-
It is read-only and returns published content only. WordPress authentication is required by default. Administrators may explicitly expose it publicly; public requests are then rate limited.
-
Does MCP support multi-round tool chains?
-
Yes. The model can call tools, read the results, and continue reasoning for up to the configured number of rounds, defaulting to 3. The last round is answered without tools so the conversation always terminates. Tool output is always framed as untrusted data.
-
Can the AI change my site or a remote system?
-
Not by default. The built-in WordPress MCP endpoint is read-only. For external MCP servers, any tool that looks like it changes data is blocked until an administrator allows it, and those tools stay restricted to administrators.
-
Does the plugin collect telemetry?
-
No. This plugin does not send plugin-usage telemetry to the plugin author. Requests are sent only to services the administrator configures, as described in the Data flow and privacy section.
-
Is this plugin affiliated with Amazon Web Services?
-
No. Amazon Bedrock and AWS are trademarks of Amazon.com, Inc. or its affiliates. This is an independent open-source WordPress plugin.
-
How does streaming work, and where do credentials come from?
-
Each message is one authenticated POST to a plugin REST route, relayed to the browser with Server-Sent Events, with a buffered fallback when PHP cURL is unavailable. Credentials come from an API key,
wp-config.phpconstants, encrypted settings, environment variables, an ECS or EKS task role, or an EC2 instance role, in that order; Diagnostics shows which one is used. The full order and caching. -
What can the agent do with tools, and what stops it?
-
An authenticated conversation can call tools from an MCP server an administrator configured. A capability is required (
edit_postsby default), tools that change data stay blocked until allowed, rounds are capped, and every call is audited without its values. How the policy works. -
Can I keep the system prompt in AWS instead of in WordPress?
-
Yes. Point the chat at a prompt in Bedrock Prompt Management, pinned to a version or following the draft; the local prompt is used if it cannot be read. Placeholders and caching.
-
How does semantic search differ from keyword search?
-
Choose an embedding model and questions are matched by meaning, not shared words, over published content as a signed-out visitor sees it. Vectors live in the WordPress database or, for a larger site, in Amazon S3 Vectors in your AWS account. Indexing, S3 Vectors, filters and languages.
-
What does reranking do?
-
A reranking model scores up to eight passages from site content and the knowledge base against the question and keeps only the best. It is one extra request per question, shown apart on the dashboard, and the passages are used as before if it fails. Thresholds and IAM.
-
Can the chat show where an answer came from?
-
Turn on Show sources under Answer grounding and up to three links are listed under each answer, to the published pages and knowledge base documents it was given. Pages that only share a single word with the question are not listed.
-
What are the fixes for other plugins?
-
The Fixes for other plugins tab has small, optional adjustments for FluentAuth, Polylang and Yoast SEO. Each is off until you turn it on, and does nothing while the plugin it adjusts is inactive: read-only GitHub sign-in, social-only registration, an hreflang x-default for search engines, and crediting articles to the organization in Yoast’s structured data.
-
Behind a load balancer or CDN every guest arrives from the proxy’s address. If you control the proxy, return the address it reports from the
ai_chat_bedrock_client_ipfilter, for example CloudFront’sCloudFront-Viewer-Addressheader. Never use a header a visitor can set directly, such as an unverifiedX-Forwarded-For, or anyone can escape the limit by sending a new value each time. -
Model access is the most common reason a Bedrock chat stops answering: a model is not enabled, throttled, or briefly unreachable. Choose a fallback model and those requests are retried once on it, and the reply states which model answered. An unrecognized identifier is treated the same way; requests rejected for any other reason are never retried. A stream is retried only before anything reaches the browser.
-
What does the chat look like to a visitor?
-
The chat is a self-contained, responsive interface with message bubbles, a typing indicator, a live streaming caret, tool activity status and per-answer token counts. Answers can be copied, failed requests can be retried, and every message carries a timestamp. It follows dark-mode and reduced-motion preferences and keeps focus styles and screen-reader labels intact.
Add up to four suggested questions and they appear as buttons above the input, disappear once the conversation starts and return when the chat is cleared. When the conversation log is enabled, each answer also gets a discreet Was this helpful? control; only the rating is stored, never anything about the visitor.
-
Can the chat remember a conversation?
-
Yes, under Chat > Conversation memory, which is off by default so every page starts a new conversation. Keep it while the visitor browses stores the conversation in the browser tab’s session storage: it follows the visitor from page to page and is gone when the tab closes, and nothing is stored on the site. Also save it for signed-in visitors keeps a signed-in visitor’s last 30 messages per chat on the site, so the conversation is there on their next visit and on another device. Saved messages are deleted after the days you set (30 by default), when the visitor clears the chat, through Tools > Erase Personal Data, and all at once when you switch the option off. Guests only ever get the browser-tab memory. Add the suggested text from Settings > Privacy to your privacy policy before turning saving on.
-
Can answers and posts be read aloud?
-
Yes, with Amazon Polly, off by default: a Listen button under chat answers and one above posts, in a voice for the page’s language. Post audio is saved once and reused. New audio has a daily limit for the site and for each visitor, crawlers cannot have posts read, and posts can be kept for signed-in visitors. Voices, costs and filters.
-
Can a visitor ask for a person?
-
Yes, under Chat > Contact requests, off by default. A Contact a person button below the chat opens a short form, and the assistant points to it when it cannot help. Requests need consent and are listed under Contact requests; Akismet, Flamingo and Joinchat are used when present. Spam checks, email and hooks.
-
Can I see what the chat does in Google Analytics?
-
Yes, under Chat > Analytics events, off by default. Opens, questions, answers, followed sources and products, ratings and contact requests go to Site Kit, MonsterInsights, Google Tag Manager, Matomo or Plausible, without message text, and wait for statistics consent where the WP Consent API is used. Events and parameters.
-
Can it answer my WeChat Official Account?
-
Yes, under Settings > Channels > WeChat Official Account, off by default. Followers‘ text messages are answered from your pages in plain text with sources, in plaintext or safe mode, within the time WeChat waits, and a new follower gets the welcome message. It works with unverified personal subscription accounts and needs no AppSecret. Setup and limits.
-
Can it post to my WeChat Official Account?
-
It makes drafts, under Settings > Channels, off by default: featured posts become articles in the account’s draft box, from the editor, by an agent or on a schedule, and you publish them in the Official Accounts Platform, since WeChat lets only verified company accounts publish through its API. Followers who write 菜单 get your menu text instead of a menu. How it works.
-
Can it handle my WeChat mini game’s customer service?
-
Yes, under Settings > Channels > WeChat mini game, off by default. Players who open the game’s customer service chat are welcomed and get your set answers by keyword, without AI, and the site counts players, chats, scenes and subscription choices a day without keeping their IDs. Setup and limits.
-
Can it publish to Bilibili, YouTube or Xiaohongshu?
-
It keeps the record and writes the copy, under Settings > Channels, off by default: a publishing kit drafts each platform’s title, text and tags with your own model, you publish with the platforms‘ creator tools and record the address, since Bilibili and Xiaohongshu offer individual creators no publishing API. YouTube uploads go through its API once a channel is connected. The record, embeds and uploads.
-
Can the chat float instead of sitting in the page?
-
Any chat can render as a floating button instead of an inline panel:
[ai_chat_bedrock mode="popup" launcher="Ask us" profile="support"]A site-wide floating chat can be enabled with its own profile. Pages that already contain the chat block or shortcode are left unchanged, so the chat is never duplicated. The launcher is keyboard accessible, closes with Escape, stays open while a visitor browses other pages in the same tab, and adapts to small screens.
-
Can one site run several different chats?
-
One installation serves several chats. Each profile has its own key and can override the model, system prompt, title, welcome message, suggested questions, token limit, temperature, request limit, guest access, grounding and passage count. Anything left empty inherits the main settings.
[ai_chat_bedrock profile="support"]Profile keys arriving from a page, block or chat request are validated against the stored profiles, so an unknown or crafted key falls back to the main settings and can never unlock guest access. Requests are rate limited per profile, and up to ten profiles can be stored.
-
What content tools are included?
-
All content tools are optional, require the capability to edit the item, and are rate limited.
- Content generator: turn a topic into a draft post with a chosen tone, length and language, plus source notes to rely on. The draft streams in as it is written and the post is created only when the model finishes, so an interruption leaves nothing behind. Output is always a draft, existing posts are never modified, and the model is told not to invent statistics, quotes, prices or dates.
- Editor assistant: a sidebar with six writing actions: improve, shorten, expand, summarize, suggest titles, translate. Suggestions are never saved automatically.
- Image alt text: describe an image with a Bedrock vision model and store it in the standard alt text field, singly or in bulk. Existing text is never replaced unless you ask; JPEG, PNG, GIF and WebP only.
- Excerpts: summarize the post into the excerpt field for review before saving.
- Site pages: describe the business and get a first set of pages as drafts, with editable titles. Nothing is published, an existing title is left alone, and the theme is never touched.
- Content gaps: questions no content answered, or that visitors marked unhelpful, grouped and counted. Each links to the generator with the subject filled in.
-
Does it work with the AI features in WordPress core?
-
On WordPress 7.0 and later, Bedrock is registered with core’s AI Client, so
wp_ai_client_prompt()reaches it from any plugin that knows nothing about AWS. Those calls use this plugin’s request path, so the guardrail, model, region, token ceiling, daily limit and usage accounting configured here apply to them.On 7.1 and later, Amazon Bedrock also appears under Settings > Connectors. On AWS it shows as connected with nothing entered, because the IAM role is used. Elsewhere, paste an Amazon Bedrock API key there: it is checked with Bedrock before it is kept, and stored encrypted. A key in the plugin settings or
wp-config.phptakes precedence. The official AI plugin counts Bedrock as connected however it signs, with an IAM role, access keys or a key in these settings, and offers its image generation once you choose an image model.Core asks for a model by what it must do, and the plugin describes each Bedrock model truthfully: image input only on models that read images, image generation only on the Stability models, and embeddings only on WordPress 7.2 and later. More on model capabilities.
-
Can it generate or edit images?
-
Yes, once you choose an image model on the Model tab. Plugins that use the WordPress AI Client can
then generate images, and with the media helpers on, the Media Library offers Remove background and
Upscale 4× on each image. Edits are saved as new images. A prompt is checked with your guardrail
first, because Bedrock Guardrails headers do not apply to image models, and an image the model
filtered is reported rather than saved. Each image is a billed request to Stability AI on Amazon
Bedrock, counted against the daily limit. The IAM policy in Diagnostics includes the image models
you turned on. -
How do I connect Claude Code, Cursor or another AI client to this site?
-
Point the client at
https://example.com/wp-json/ai-chat-bedrock/v1/mcpand sign in with a WordPress Application Password over HTTPS, or turn on OAuth 2.1 so the client connects by signing in and approving, with no password copied. Every tool call is capability-checked and audited; anonymous access and OAuth are off by default. Protocol revisions, tools and OAuth details. -
How do I connect an external MCP server or an AgentCore Gateway?
-
External servers are called with JSON-RPC over Streamable HTTP with a declared protocol version. Three authentication modes are available:
- None, for a public endpoint.
- Bearer token, stored encrypted and never displayed again.
- AWS SigV4, which signs each request with the same AWS credentials already used for Bedrock. An AgentCore Gateway endpoint therefore needs no extra secret; the signing service defaults to
bedrock-agentcoreand the region falls back to the Bedrock region.
Endpoints must be public HTTPS URLs. Private, loopback, link-local and credential-bearing URLs are rejected, redirects are disabled and response size is capped. Discovered tools remain subject to the tool policy above.
-
What does the WooCommerce integration send to Amazon Bedrock?
-
With Product answers on, the facts of up to four matching products (eight at most, set under WooCommerce) are sent with the question: name, link, SKU, price, stock, rating, categories, visible attributes, options and a short description, exactly as the shop shows them to any visitor. With Order questions on, a signed-in customer’s question about orders or delivery adds their five most recent orders, plus any they name by number that are theirs: order number, dates, status, items, total, shipping method, tracking number and the link to the order page. Billing and shipping addresses, email, phone, payment details and customer notes are never read into the prompt. A question that is not about orders sends no order data, and a visitor who is not signed in is asked to sign in. Add the suggested text from Settings > Privacy to your privacy policy before turning Order questions on. The
ai_chat_bedrock_woocommerce_products,ai_chat_bedrock_woocommerce_product_facts,ai_chat_bedrock_woocommerce_ordersandai_chat_bedrock_woocommerce_order_linesfilters adjust what is sent. -
Why does the chat not show a product I know is in the shop?
-
Only products any visitor can see are described: published, without a password, visible in the catalog or in search, and in stock when WooCommerce is set to hide out-of-stock items. A SKU in the question, such as „is ARM-6 in stock?“, finds that product directly. Otherwise products are found by name and description, then by category, and a follow-up such as „how much is it?“ searches with the previous question. The
ai_chat_bedrock_woocommerce_listablefilter can leave out more products. -
What can an agent read from and write to my site?
-
With site abilities on (off by default), agents can search and read published posts and pages, get SEO suggestions without saving, look up published products and create a draft. Nothing is published, updated or deleted, and orders and customers are never exposed. The abilities are in WordPress’s own registry, so the official MCP adapter and
/wp-abilities/v1/see them too. How the declared behaviour is enforced. -
What does the site description tell an agent?
-
Turn on Site description and agents get a describe-site ability listing what the site holds as schema.org types, with counts per language, how the types relate and a sensitivity class for each property. IDs match the ones Yoast SEO and WooCommerce print in the page. The same rules decide what the index, the chat, agents and channels may use, whether or not the description is turned on, and Diagnostics lists what agents can reach. Sensitivity rules and single-item descriptions.
-
Does the plugin publish an llms.txt file?
-
Only if you turn on llms.txt under Settings > Agents and tools. It lists what agents may see, grouped by schema.org type, with each item’s language on a multilingual site: no drafts, members-only content, hidden products or pages kept out of search engines. It is served only where nothing else answers: a real llms.txt file at the site root, a page at that address and any plugin answering before the page template loads go first, and any other plugin can claim the address with the ai_chat_bedrock_llms_txt_serve filter.
-
What do business insights show, and to whom?
-
Turn on Business insights under Answer grounding. Editors see content figures, administrators also see AI usage and question figures, and store figures need the WooCommerce reports capability. Store figures come from WooCommerce Analytics with its status and date settings. Any figure counted from fewer than five orders or questions is withheld, together with one more where it could be worked out from the total. Agents get the same figures through the query-metrics ability and MCP tool, except those about visitors‘ questions.
-
Is there a command line?
-
wp ai-chat-bedrock index builds the semantic index without keeping a browser tab open, with
--batch,--maxand--force.index-statusreports coverage,diagnoseruns the same checks as the admin screen with an optional--liveBedrock request, andusageprints requests and tokens per day or per model. Useful in a deploy step or a cron job. -
How do I check that answers are still right after a change?
-
Write questions with expectations, then run
wp ai-chat-bedrock eval. Each goes through the
pipeline the chat uses; results are reported by category: grounding, match strength, citation,
required and forbidden text, tool call, token budget. It exits nonzero to gate a deployment, and
–compare shows the per-category difference after a change.Every check is a program, not an opinion: no judge model, no scoring of style, and anything
not checkable this way is reported as unchecked rather than as a pass.The Answer checks screen edits and runs the set, and proposes cases from questions the site was
asked and answered badly. A proposal carries the question, never the expectation: no record holds
what a good answer says.
Reviews
Sobustatkujuce a wuwijarje
„AI Chatbot, Agents & MCP for Amazon Bedrock“ jo software wótwórjonego žrědła. Slědujuce luźe su pśinosowali k toś tomu tykacoju.
SobustatkujuceTranslate “AI Chatbot, Agents & MCP for Amazon Bedrock” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.72.2
- Renamed AI Chatbot, Agents & MCP for Amazon Bedrock, naming the built-in WordPress MCP server.
- A step-by-step guide for WordPress sites on AWS, in English and Japanese, and the readme says Bedrock needs an AWS paid plan and how new-account credits apply.
1.72.1
- The official WordPress AI plugin now sees Amazon Bedrock as connected on sites that sign with an IAM role, access keys or a key in this plugin’s settings. It looked only for a key stored on Settings > Connectors, so on those sites every AI plugin feature asked to connect a provider. Its image generation is offered once an image model is chosen, the choice that agrees to send prompts to the Stability models.
1.72.0
- Diagnostics and Site Health have an AI agents line: what is turned on for agents and tools (the site description, llms.txt with its address, the site content abilities, and the WordPress MCP server with how it is reached), which of them follow the public-content rule, and where to turn the rest on. A real llms.txt file at the site root, which AI tools get instead, is named as such.
- Developers: AI_Chat_Bedrock_Ontology::agent_surface() returns these settings in one place, and Diagnostics reads them from it.
- The Live Preview on WordPress.org shows llms.txt and the site description, and leaves out WordPress’s sample post and page.
1.71.1
- A WeChat editorial review now binds what readers get, the exact article the writer would send with its title, excerpt, cover and image bytes, and no longer the plugin’s code files. An update that changes nothing a reader sees keeps the review; one that changes the output still asks for a fresh review. Reviews recorded before this version need one fresh review.
1.71.0
- llms.txt, under Settings > Agents and tools and off by default: a Markdown file at /llms.txt that tells AI tools what the site holds, listing its public posts, pages and products by type and, on a multilingual site, language. It never names a draft, members-only content, a hidden product or a page kept out of search engines, and is served only where nothing else answers the address: a real llms.txt file, a page there or a plugin answering before the page template loads goes first.
- The site description’s sensitivity policy is now the rule every part of the plugin applies to a post. Indexing, the chat, site abilities, the MCP server, WeChat drafts and replies and publishing kits ask one policy, which refuses when it cannot be checked. A site can withhold a post from one use with the ai_chat_bedrock_ontology_allows filter.
- A product the shop does not list, such as one hidden from the catalog, is left out of the index, the chat, agents and channels, not only the site description. describe_site no longer describes pages hidden from search engines, as the MCP read tools already did.
- WooCommerce’s cart, checkout and account pages count as hidden from search engines, as WooCommerce tells search engines, so they stay out of answers, agents and llms.txt.
1.70.0
- Authorized editors and agents can prepare a separate static WeChat edition with its own title, excerpt and local cover. The published WordPress article stays unchanged.
- Automatic draft selection requires an explicit public edition and a current independent review bound to its exact source and image bytes. Missing, changed or unknown drafts remain held for reconciliation.
- The real WordPress abilities and MCP integration is covered by release checks. Final draft preview, publication and follower sending remain with the Official Account owner.
1.69.0
- Automatic WeChat drafts require a current editorial review of the exact public article, locally bound image files and conversion source. Reviews cover reader fit, original value, evidence, rights, mobile readability, safety and public-only content; changed or expired inputs require another review.
- Authorized editors and agents can read the review input and record its attestation through protected WordPress abilities and MCP tools. The publishing pipeline remains responsible for independent review and the final native draft preview.
- Automatic updates hold missing, unknown or externally changed WeChat drafts for reconciliation instead of recreating them. Final publication and follower sending remain with the Official Account owner.
- Updated Chinese and Japanese translations and release checks for the review workflow.
