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.
by Jim O'Brien · github.com/visionquest-development/pegasus-botify · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/visionquest-development/pegasus-botify/archive/refs/heads/main.zipReadme
pegasus-botify
AI 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