OpenStation
wp-admin forgets. OpenStation doesn’t. You know the moment. You’re deep in a post and you need one image from the Media Library. You click over, find it, click back, and everything you had going is gone. Your scroll position, your half-typed thought, the three other things you had queued up in your head. That’s not a bug you hit. That’s the design. wp-admin shows you one screen at a time, and every navigation throws the last one away. It has worked this way since 2003, like a fridge that empties itself every time you close the door. WordPress has rebuilt almost everything else. The editor, the site editor, the patterns, the styles. The admin’s one-screen-at-a-time model is the layer nobody touched. OpenStation touches it. Install it and admin screens become draggable, resizable windows. Edit a post while the Media Library sits open next to it. Drag an image from one window straight into the other. Keep comments open in the corner. Reload the browser and your window layout — open pages, positions, sizes, and window states — comes back where you left it. OpenStation itself is free, GPL, and opt-in per user. One click in the admin bar turns it on for you. One click turns it off. Nobody else on your site sees anything change, and deactivating the plugin restores the classic admin exactly. No Core patches and no lock-in. Optional AI providers may charge for their service. Built and maintained by Automattic, the company behind WordPress.com, Jetpack, WooCommerce, and Tumblr. Work on more than one thing at once Admin pages open as windows, including pages added by most other plugins. Drag them, resize them, snap them, tile them, minimize them to a taskbar. The admin menu becomes a dock of icons. Two editors open at once is one click away. Never lose your place Moving between open windows leaves each page in place. Across reloads, OpenStation remembers your open pages, window positions, sizes and states, virtual desktops, and focus. Closing a window with unsaved changes warns you first. A desk you can actually put things on Drop posts, media, and links right onto the wallpaper. Sort them into folders. Trash them to a Trash that actually holds things. The stuff you’re working on this week can just sit out where you can see it. One desktop per job Virtual desktops, the way your operating system does them. One for writing. One for the store. One for comment triage. One for that redesign you keep poking at. Switch between them without closing anything. Find anything with Cmd+K The full WordPress command palette, plus slash commands from your plugins, all under one keystroke. Turn on the optional AI assistant and you can ask it things like “which post had the comment asking for the recipe?” and it searches your own content to answer. (Requires an AI provider configured in Settings → Connectors on WordPress 7.0+. Details under “External services” below.) See how your site fits together The Corkboard is an interactive, zoomable map of how your posts, pages, and products link to each other. Pan around it. Find the orphans. Find the hubs. Running a store? Orders, Products, Coupons, and Customers become browsable folders with stock and sale ribbons. Open a customer to see their lifetime spend and what they buy most. Follow a product to its buyers, or a coupon to who redeemed it. Make it yours Wallpapers, from color presets to animated scenes to your own photo. Live widgets pinned to the desktop: drafts, stats, recent comments, a focus timer. Uploadable desktop themes, including a built-in Legacy theme that brings the old WordPress blue back in one click. And Mio, a soft-body desk companion that drifts across your wallpaper and gets bumped around by your windows. Off by default. You’ll turn it on. For developers Extend OpenStation through documented PHP and JavaScript APIs. Register windows, icons, wallpapers, widgets, commands, and settings tabs through stable openstation_register_* PHP APIs and a typed JavaScript API; customize dock items through documented hooks; add AI tools with the WordPress Abilities API. Copy-paste examples live in the developer docs on GitHub. External services No external service is required for OpenStation’s desktop interface. The optional AI Assistant and two user-initiated enrichment features make the external requests described below. AI Assistant The optional AI Assistant sends data to the AI provider you configure in WordPress’s Settings → Connectors (for example OpenAI, Anthropic, or Google). Generation is routed through WordPress 7.0’s built-in AI Client, which supplies the credentials stored in Connectors. The plugin never handles an API key itself. With no provider configured in Connectors, no external AI requests are made. When the AI Assistant is enabled and a user invokes it (via Cmd+K or the slash-command palette): What is sent: the user’s prompt, the conversation history for the active session, and tool-call metadata. The plugin’s built-in tools (search_posts, search_pages, search_comments) run WordPress’s native keyword search and may include excerpts of the matching posts/pages/comments in tool results, which are then sent back to the provider as part of the agentic loop. When it is sent: on user-initiated AI requests, and (if an administrator enables “Score new comments with AI”) on comment-save hooks for spam analysis. Posts, pages, and taxonomy terms are not sent automatically. Why it is sent: to obtain model completions and tool-call decisions that drive the AI Assistant. Who provides the service: whichever provider you configured in Settings → Connectors. Which provider (and endpoint) receives the data depends entirely on that configuration. Review the chosen provider’s own terms and privacy policy (e.g. OpenAI, Anthropic, or Google). URL shortcut favicons When an authorized user creates a desktop shortcut to an external URL, OpenStation asks that URL for its page HTML and favicon so the shortcut can display the site’s icon. The request is made from your WordPress server and sends the requested URL, the server’s IP address, an OpenStation user-agent string, and normal HTTP request metadata to the operator of that site. This happens only when a user creates the shortcut. The destination site’s terms and privacy policy apply. WordPress.org plugin information When an authorized user opens or refreshes parts of OpenStation’s Plugins window, OpenStation may request public plugin details, update metadata, and review excerpts from WordPress.org. These requests send plugin slugs, the site’s locale, and normal HTTP request metadata to WordPress.org. This information is used only to display and manage plugins. Review the WordPress.org Privacy Policy. OpenStation’s OAuth relay does not contact a service by itself. Third-party plugins that configure the relay may contact their own providers and are responsible for disclosing those services. Credits OpenStation is brought to you by Automattic. The plugin is open source under GPLv2-or-later; contributions are welcome on GitHub. Third-party libraries The plugin bundles the following third-party JavaScript library, loaded on demand only when a feature that needs it is in use: PixiJS (MIT License) — used by the Corkboard window, built-in canvas wallpapers (e.g. the animated WordPress logo), the Mio desk companion, and the Inkfall typing game. PixiJS is loaded from the plugin’s own assets/vendor/ directory; no CDN requests are made. Data files The Inkfall game’s word list (assets/games/inkfall/words.txt) is generated from the following sources (attribution also ships in the file’s header): FrequencyWords by Hermit Dave (CC-BY-SA 4.0) — English word-frequency ranking derived from the OpenSubtitles corpus. english-words by dwyl (Unlicense) — used as a validity filter. LDNOOBW English list (CC-BY 4.0) — used as an exclusion filter.
Top keywords
- wordpress15×1.17%
- ai14×1.10%
- openstation13×1.02%
- open9×0.70%
- pages8×0.63%
- provider7×0.55%
- site7×0.55%
- window7×0.55%
- admin6×0.47%
- ai assistant6×0.47%
- assistant6×0.47%
- click6×0.47%
LLM Moderator For wpForo
This plugin integrates AI-powered context-aware content moderation with the wpForo forum plugin. It uses OpenRouter API to analyze forum posts and topics in real-time, automatically flagging inappropriate content and muting users who violate your custom forum moderation guidelines. Base Features AI-Powered Moderation: Uses OpenRouter API with configurable AI models (default: deepseek/deepseek-chat-v3.2) Real-time Processing: Analyzes posts and topics as they’re submitted, set your OpenRouter query timeout limit Context Aware Moderation: Analyzes posts with surrounding context (previous and next posts) for better accuracy Private by default: Considerable forum and user privacy by default when sending user data for analysis, and your data lives on your server Flexible Flagging System: Customizable flag types (flag, nsfw, spam, etc.) with individual mute durations User Management: Automatically moves flagged users to a “Muted” database table, prevents them from posting, and unapproves their penalizing post Scheduled Maintenance: Daily cleanup of expired mutes Content Cleanup: Automatically handles unapproved content removal Flags Only Supported: Enable only for flag metrics, stealthy tag users without applying mute penalty Append AI Message: Append custom messages with {TYPE} and {REASON} formatting tags Standalone Admin Interface: Accessible to both Administrators, Moderators, and assigned usergroups Metrics: Track basic moderation statistics up to 1 year (5 years in premium) Notifications: Shortcode for user notifications about moderation and mute status Requirements WordPress 6.0+ (Tested 6.9) wpForo plugin active (Tested current: 2.4.16 / final v2, Previous versions tested 2.4.8 – 2.4.16) PHP 8.0+ (Tested 8.2) MySQL 8.0+ (Tested 8.0) OpenRouter API key Shortcode This plugin provides shortcodes for displaying moderation-related content on your site. Base Plugin Shortcode [colaias_wpforo_ai_notices] – Displays user notifications about moderation and mute status Usage: [colaias_wpforo_ai_notices top='30px' right='30%' width='40%'] Parameters: * top – (Optional) Top position of the notification container. Default: ’20px’ * right – (Optional) Right position of the notification container. Default: ’20px’ * width – (Optional) Width of the notification container. Default: ‘350px’ Placement: Add this shortcode to the [wpforo] page. The notifications will display information to users: * When a user is muted hence cannot post * When a user’s post has been flagged * Moderation status updates Check out Premium 🚀 ✨ Premium Version ✨ Upgrade to the premium version for advanced features including: 🌟 Enhanced Features: * 🛠️ Enhanced Moderator Control Panel – Bulk select management for efficient moderation * 🎨 Easy Prompt Engineering Interface – Visual prompt builder * 🌊 Forum Flood Control System – User and forum posting limits to prevent spam attacks * 📊 Comprehensive Premium Metrics – 5-year data retention with detailed analytics * 📈 Charts & Graphs For Metrics – Comprehensive visualizations with user table for metrics * 🔎 User Look-Up – Look up individual users flag metrics * 💎 Lifetime Single Purchase – No subscriptions, one-time payment for lifetime updates 💖 Support Independent Development: Your purchase helps keep this plugin free and actively maintained! Support innovation in open-source AI moderation tools. 📧 Interested in Premium? Contact us for early access and pricing: * Telegram: https://t.me/wpforo_ai External Services This plugin integrates with the OpenRouter API (https://openrouter.ai/) to provide AI-powered content moderation for wpForo forums. When configured with a valid OpenRouter API key, the plugin sends moderation requests to analyze forum posts in real-time. The query is made to this url: ‘https://openrouter.ai/api/v1/chat/completions’ Data Transmission and Privacy What Data Is Sent: – Only the user’s post content is transmitted to OpenRouter – A moderation prompt configured by the administrator precedes the post content – No personally identifiable information (name, username, or user ID) is included in the post content – Each post from non-muted users triggers exactly one API request Current Implementation: The plugin now includes Context Aware Moderation, which analyzes posts with surrounding context (previous and next posts) for better accuracy while maintaining user privacy with aliases. Usernames are replaced with aliases to protect user privacy while providing the AI with necessary conversational context. About OpenRouter OpenRouter is an AI routing service that provides access to multiple LLM models from various providers. When using this plugin, your data passes through OpenRouter to the selected AI model provider. Important Links: – OpenRouter Privacy Policy: https://openrouter.ai/privacy – OpenRouter Terms of Service: https://openrouter.ai/terms – OpenRouter Data Collection Policy: https://openrouter.ai/docs/guides/privacy/data-collection AI Provider Policies: Each LLM provider (such as OpenAI, Anthropic, DeepSeek, etc.) has its own data handling policies. For information on how different providers process data, see OpenRouter’s provider logging documentation: https://openrouter.ai/docs/guides/privacy/logging Optional Data Sharing You may optionally send: – Your site’s URL (via HTTP-Referer header) – Application title (via X-Title header) These optional fields help OpenRouter rank applications and improve service quality. Technical Implementation API Request Structure: The plugin sends POST requests to OpenRouter (‘https://openrouter.ai/api/v1/chat/completions’) with the following JSON payload structure: $body = json_encode( [ 'model' => $model, 'messages' => [ ['role' => 'user', 'content' => $json_prompt], ], 'max_tokens' => 1000, // Maximum tokens in response (50-80 is typically sufficient) 'temperature' => 0.1, 'response_format' => ['type' => 'json_object'], ] ); Response Expectation: The plugin expects OpenRouter to return a JSON object containing moderation results with ‘type’ and ‘reason’ keys as specified in your moderation prompt. Configuration Options: – The plugin uses default provider selection parameters. For advanced routing configuration, see: https://openrouter.ai/docs/guides/routing/provider-selection, though these cannot be changed from default besides what is already configured above – You can customize request processing through the OpenRouter dashboard, including model selection and privacy policies on a per-key basis: https://openrouter.ai/settings/privacy – You can configure your key, and set limits and alerts as needed – With this plugin, you can also set a timeout for the OpenRouter query from 10-300 seconds Requirements A valid OpenRouter API key must be configured in the plugin settings Your OpenRouter account must have sufficient credits for API usage Your prompt must specifically ask for a JSON format response with ‘type’ key and optionally ‘reason’ key, no other formats are accepted