- Implement local backend AI provider with Ollama integration - Add Brave Search API integration for real-time search suggestions - Add image generation manager with multiple AI providers - Create hybrid provider system with local/cloud fallback - Add comprehensive settings UI with provider management - Implement Gutenberg sidebar with writing assistance controls - Add SEO schema generation for AI-generated content - Multiple provider support: OpenRouter, local backend, Codex
6.8 KiB
6.8 KiB
WP Agentic Writer: Document Update Summary
Recommended Updates & Improvements
1. Flow 3: Image Generation - Add Format Conversion
Current State: Stores only JPEG Recommendation: Add WebP/AVIF conversion after generation
// After generating JPEG, auto-convert to next-gen formats
private static function generate_image_variants($temp_filepath, $image_model, $prompt) {
// 1. Generate initial JPEG (existing flow)
// 2. Convert to WebP + AVIF (NEW)
self::convert_to_webp($temp_filepath);
self::convert_to_avif($temp_filepath);
// 3. Return all variants with format preference
return [
'jpg' => $temp_filepath,
'webp' => str_replace('.jpg', '.webp', $temp_filepath),
'avif' => str_replace('.jpg', '.avif', $temp_filepath)
];
}
Benefits:
- Users see faster image variants
- Better performance on modern browsers
- Up to 40-60% smaller files
2. Flow 4: Media Upload - Optimize Before Commit
Current State: Direct sideload without optimization Recommendation: Add image optimization before WordPress upload
public static function sideload_image_to_media($temp_filepath, $post_id, $alt_text) {
// 1. Optimize image (compress, resize if needed)
$optimized_path = self::optimize_image_before_upload($temp_filepath);
// 2. Proceed with sideload
$attachment_id = media_handle_sideload(/* ... */);
// 3. Return optimized attachment
return $attachment_id;
}
// Uses: ShortPixel API or local imagick/gd
private static function optimize_image_before_upload($filepath) {
// Option A: Local ImageMagick/GD for fast compression
// Option B: External API (ShortPixel, Imagify) for advanced algorithms
}
Benefits:
- Smaller images in WP Media Library
- Faster downloads for site visitors
- Better Core Web Vitals
3. Flow 5: Temp Management - Add Offloading Option
Current State: Local filesystem only Recommendation: Add cloud offloading for large operations
// Config: Use local or cloud temp storage
define('AGENTIC_TEMP_STORAGE', 'local'); // or 's3', 'r2', 'bunny'
private static function get_temp_storage_handler() {
$storage_type = get_option('agentic_temp_storage_type', 'local');
switch($storage_type) {
case 's3':
return new S3TempStorage(/* AWS credentials */);
case 'r2':
return new CloudflareR2TempStorage(/* R2 credentials */);
case 'bunny':
return new BunnyCDNTempStorage(/* Bunny API key */);
default:
return new LocalTempStorage();
}
}
Benefits:
- Scales for high-volume image generation
- No disk space constraints
- Automatic cleanup via cloud service
4. Error Handling & Retry Logic
Current State: Minimal error handling Recommendation: Add robust retry + fallback strategies
/**
* Resilient image generation with retry logic
*/
private static function generate_with_retry($prompt, $model, $max_retries = 3) {
for ($attempt = 1; $attempt <= $max_retries; $attempt++) {
try {
return self::call_image_api($model, $prompt);
} catch (TimeoutException $e) {
if ($attempt === $max_retries) {
// Last attempt: return cached/previous variant
return self::get_fallback_image($model, $prompt);
}
sleep($attempt * 2); // Exponential backoff
} catch (RateLimitException $e) {
// Switch to slower, cheaper model
$model = self::get_fallback_model($model);
sleep(5);
}
}
}
/**
* Cost estimation with usage tracking
*/
private static function track_generation_cost($model, $usage) {
// Store: tokens, cost per image, cumulative cost
// Alert if monthly budget exceeded
update_option('agentic_monthly_generation_cost',
get_option('agentic_monthly_generation_cost', 0) + $usage['cost']
);
}
5. Admin Interface Enhancements
Current State: Basic image library table Recommendations:
a) Add real-time generation progress
- WebSocket updates instead of polling
- Show: variant 2/3 generated, cost so far, ETA
b) Add cost analytics dashboard
- Cost per post, per model, trend graph
- Budget alerts + consumption warnings
- Compare model costs
c) Batch operations
- Regenerate all images for post
- Export all temps as ZIP
- Auto-optimize + commit all in one click
6. Security & Permission Checks
Current State: Basic edit_post check
Recommendations:
/**
* Add granular permission checks
*/
private static function check_user_image_permissions($user_id, $action) {
// Check: Can user generate images? (rate limit check)
// Check: Can user commit to this post?
// Check: Monthly generation quota not exceeded?
if (!user_can_generate_images($user_id)) {
return new WP_Error('quota_exceeded', 'Generation limit reached');
}
}
/**
* Sanitize all image prompts before API call
*/
private static function sanitize_image_prompt($prompt) {
// Remove: potentially harmful instructions
// Limit: length to 1000 chars
// Log: all prompts for audit trail
return apply_filters('agentic_sanitize_image_prompt', $prompt);
}
7. Database Indexes & Performance
Current State: Basic indexes Recommendations:
-- Add composite index for faster queries
CREATE INDEX idx_post_image_status
ON wp_agentic_images(post_id, agent_image_id, status);
-- Add index for cost tracking
CREATE INDEX idx_generation_date_cost
ON wp_agentic_images_variants(created_at, cost);
-- For analytics queries
CREATE INDEX idx_model_generation_time
ON wp_agentic_images_variants(image_model_used, generation_time);
8. Configuration & Feature Flags
New Settings Panel Section:
'generation_settings' => [
'max_variants_per_generate' => 3,
'variant_formats' => ['jpg', 'webp', 'avif'],
'enable_auto_optimize' => true,
'temp_storage_type' => 'local|s3|r2|bunny',
'cleanup_old_temps_days' => 7,
'max_generation_cost_per_post' => 5.00,
'image_models' => ['sourceful/riverflow-v2-max', 'sdxl-turbo'],
'enable_cost_tracking' => true,
'enable_user_notifications' => true,
]
Implementation Priority
Phase 1 (Critical):
- Add error handling + retry logic
- Optimize images before commit
- Add cost tracking
Phase 2 (Important):
- WebP/AVIF conversion
- Enhanced admin analytics
- Database performance indexes
Phase 3 (Nice-to-have):
- Cloud temp storage offloading
- Real-time progress WebSockets
- Batch operations UI
Next Steps
- Review these recommendations
- Clarify which sections to update first
- I can generate updated flows with code examples
- Test integration with your current WP Agentic Writer setup