PressCare Error Doctor with AI
PressCare AI Error Doctor is a focused plugin that reads WordPress/PHP error logs and explains what is actually wrong.
by Kevin Kemp - PressCare · github.com/kevinkempeng/wp-ai-doctor · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/kevinkempeng/wp-ai-doctor/releases/download/v1.2.9/presscare-error-doctor-1.2.9.zipFind and fix WordPress errors before they become fatal.
PressCare Error Doctor with AI is an original, read-only WordPress diagnostics plugin by Kevin Kemp - PressCare. It groups noisy PHP and WordPress errors, removes sensitive data, and uses the provider-independent AI Client in WordPress 7.0 to generate cautious, structured explanations.
Version 1.2.9 is the current public release. The plugin is not a fork. Its bundled provider adapters are unmodified, GPL-licensed source from the official WordPress AI Team projects, with exact upstream versions and commits documented in providers/UPSTREAM.md.
Compatibility
- WordPress: 7.0 or newer
- Tested through: WordPress 7.0.x
- PHP: 8.0 or newer
- Recommended production PHP: 8.3
- CI matrix: PHP 8.0, 8.1, 8.2, 8.3, and 8.4
WordPress 7.0 is intentional: it supplies the stable, provider-independent AI Client and Connectors credential interface. Requiring PHP 8.0 provides modern language features without limiting the plugin to only the newest hosting platforms.
Version 1.2.9 scope
- Locate a configured WordPress or PHP error log.
- Read only the final 2 MB.
- Parse and group recognized PHP and WordPress error events.
- Let the administrator review today, the last 24 hours, the last 7 or 30 days, or custom From and To dates.
- Attribute paths to a plugin, theme, WordPress core, or an unknown component.
- Rank current findings, group them by component, and collapse non-critical component rows for faster scanning.
- Keep entries outside the selected dates out of the action plan while reporting one quiet excluded-entry count.
- Put active fatal errors first, while labeling fatal findings from deliberately selected past dates as past evidence rather than active failures.
- Provide severity-aware impact and resolution guidance without modifying the site.
- Show an optional collapsed site snapshot after the workflow with environment, transient, and autoloaded-option context.
- Explain the configured log source and create a sanitized print view that can be saved as PDF.
- Let each administrator mark findings handled until a newer occurrence reopens them.
- Redact database identifiers, common secrets, and personal data before storage.
- Store the sanitized report only for the administrator who ran it.
- Export the sanitized report as JSON.
- Let an administrator connect OpenAI, Anthropic, or Google directly in Error Doctor using the bundled official provider adapters and WordPress-managed credentials.
- Explain that consumer chat subscriptions do not include OpenAI or Anthropic API usage and that Google offers a limited API free tier.
- With explicit approval, request a focused or complete structured explanation from the provider selected for Error Doctor.
- Let an administrator explicitly open a PressCare repair request using only the sanitized finding ID, severity, and component slug.
- Use cost-controlled primary and fallback models, cap AI output at 4,000 tokens, and show a clearly qualified typical-cost estimate before optional paid requests.
The plugin does not edit files, alter configuration, clear logs or transients, flush caches, change autoload settings, deactivate plugins, install updates, or apply AI-generated fixes.
Development
Install development dependencies:
composer install
Run validation:
composer lint
composer test
Build an installable ZIP:
./build.sh
Project links
- Product: https://presscare.com/presscare-error-doctor/
- Support: https://presscare.com/contact/
- Private security reports: https://presscare.com/contact/
- Author: https://presscare.com
- Source: https://github.com/kevinkempeng/WP-AI-Doctor
License
GPLv2 or later. See LICENSE.
Releases
1 release. Each count is every asset in that release; expand a row for the breakdown.