Pegasus Botify
AI-powered chat widget for Pegasus sites — answers customer questions 24/7 from a settings-managed knowledge base, states office hours, and captures leads after hours. Bring-your-own Anthropic key: the plugin calls the model server-side; the key never reaches the browser.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/visionquest-development/pegasus-botify/archive/refs/heads/main.zipAI chat widget for Pegasus WordPress sites. It answers visitor questions from a
settings-managed knowledge base, states business hours accurately, and offers deterministic
quick replies (hours, contact) with no model call. Part of the pegasus-* plugin suite by
Visionquest Development.
Two ways to run it
The plugin supports two operating models. Bring-your-own-key is the default and the only one wired end-to-end today; the hosted/subscription model is built as a separate service and scaffolded in the plugin (see docs/backend.md).
| Model | Who holds the API key | Who is billed | Needs a server? | Status |
|---|---|---|---|---|
| Bring-your-own-key (BYOK) | The client (their key, on their WordPress) | The client, by Anthropic | No | ✅ Live |
| Hosted / subscription (middleman) | You (one key on your backend) | The client pays you a subscription | Yes (the Node backend) | 🚧 Backend MVP built; widget wiring pending |
In BYOK, the widget calls a same-origin endpoint on the client's own site and the plugin calls Claude server-side with the client's key — the key never reaches the browser. In the hosted model, the widget talks to your backend, which holds the key and enforces the subscription. See docs/architecture.md for the request flows.
Quick start (BYOK)
- Install and activate the plugin (Plugins → Add New → Upload, or
git pullon SiteGround). It joins the Pegasus Options menu when a Pegasus theme is active. - Go to Pegasus Options → Botify and set:
- Anthropic API key (or define
PEGASUS_BOTIFY_ANTHROPIC_KEYinwp-config.php). - Business identity, hours, quick replies, and a few knowledge-base Q&As.
- Anthropic API key (or define
- Show the widget: add the
[pegasus_botify]shortcode to a page, or enable it site-wide from the theme's Pegasus Options footer toggle.
Deterministic answers (hours, contact) work with no key. AI answers turn on the moment a key is present and Enable AI answers is on.
Build (only if you change the widget under src/)
The widget is committed pre-built in dist/ (SiteGround deploys via git pull, no build
step). After editing src/:
npm install
npm run build # emits dist/launcher.js + dist/assets/widget-*.js|css
npm run typecheck # optional
Tests
The hours logic is WordPress-independent and unit-tested:
composer install
composer test # PHPUnit; no WordPress bootstrap needed
Documentation
- docs/architecture.md — how the whole system works, both operating models, request flows, and the security model.
- docs/files.md — every file in the plugin, widget, and backend, and what it does.
- docs/settings.md — every settings field and exactly what it does.
- docs/backend.md — the hosted / subscription "middleman" backend: what it is, when to turn it on, endpoints, the token flow, and tenancy.
- docs/pegasus-botify-spec.md — the original build spec (historical; some decisions have since changed, e.g. the BYOK pivot).
- CLAUDE.md — orientation for AI coding assistants working in this repo.
License
GPLv2 or later — https://www.gnu.org/licenses/gpl-2.0.html