
Alpaca Bot is a chat screen inside WordPress admin, talking to a model you host. Conversations stay on your site, in your own database, and only their author can open them. It runs against Ollama out of the box, or any OpenAI-compatible endpoint.
Features
- A chat screen in wp-admin: replies stream in as they are written, with a copy button on every message and code block, “Edit and resend” on your own, and an image attached from the media library for a model that can see.
- The same chat as a drawer on most other admin screens and as a sidebar in the block editor. The drawer carries the screen it is on, and both carry the post being edited, as chips above the composer; a chip you take off is not sent.
- Your conversations, stored privately on your site (or not at all: the Privacy tab decides) and listed in the screen’s history.
- Switch models per conversation; where the site allows it, your pick is remembered as your default.
- A system prompt, per-model overrides (temperature, context window, keep-alive) and a receipt under every reply: model, tokens, time.
- Monthly usage caps, per site and per user, with the meter behind them.
- Tools the model can call, each switchable: fetch a web page, summarize, write a draft, and the abilities tool, which offers the WordPress abilities an administrator ticks and runs each as the chatting user.
- Remote MCP servers under Settings › Tools: Discover tools lists a server’s tools, and the model is offered the ones you approve; Tools, and what they let the model reach says what that means.
- Settings › Access: who may use the chat, each tool, each MCP server, the settings over REST and the shortcodes, one capability per row, with a note under a row that code sets instead.
- A REST API under
alpaca-bot/v1(docs/api.md) and a WP-CLI command.
Requirements
- PHP 8.4+, WordPress 6.9+, an Ollama instance (or any provider php-agents supports)
Setup
- Install Ollama on your localhost or server.
- In your WordPress admin, open
Alpaca Bot > Settingsand, on the Provider tab, enter the endpoint’s base URL. For Ollama it ends in/v1:http://localhost:11434/v1. - Click
Save Changes. The Models tab then lists what the provider serves; pick a default.
⭐️ Become a Patreon and support Alpaca Bot development. ⭐️
Usage
Read Usage in the README on GitHub.
Shortcodes
Read Shortcodes in the README on GitHub.
Support
Questions and bug reports go to the WordPress.org support forum. Say which plugin, WordPress and PHP versions you run.
For premium support, book a call: video calls, help setting up your Ollama instance or provider, troubleshooting, and onsite setup assistance.
If the plugin has been useful, star Alpaca Bot on GitHub; a star helps other site owners find it.
Made Possible By
- Emma Delaney’s How to Create Your Own ChatGPT in HTML CSS and JavaScript
- Lucide Beautiful & consistent icons – ISC license
- htmx High power tools for HTML – 0BSD license
- league/commonmark Markdown parser for PHP – BSD-3-Clause license
- php-agents Provider-agnostic AI agents for PHP – MIT license
- Ollama Get up and running with large language models locally – MIT license
Screenshots

The chat screen: two turns, each reply streamed as the model writes it, and under each the receipt -- the model, the tokens it spent and how long it took.

The chat drawer, open over Posts. It opens on most admin screens, and the chip above the composer tells the model which screen you are on; a chip you take off is not sent.

A turn that used the draft_post tool. The reply confirms the draft, and the receipt ends with the number of tools the turn ran.

Settings > Access: who may use the chat, each tool, and the settings over REST, one capability per row. The launcher at the bottom right opens the drawer.