ChatProjects is the easiest way to chat with your files and documents in WordPress. AI-powered project chat with OpenAI Responses API vector store backend for intelligent file search.
Use your own API keys to chat with multiple AI providers including OpenAI (GPT-5.2), Anthropic (Claude), Google (Gemini 3 Pro), Chutes (DeepSeek), and OpenRouter.
Full Application:
[chatprojects_main]
With Options:
[chatprojects_main default_tab=”chat” height=”80vh”]
ChatProjects stores your API keys encrypted in your WordPress database. The plugin connects directly to AI provider APIs (OpenAI, Anthropic, Google, Chutes) using your own API keys. No data is sent to our servers.
For more information, see our Privacy Policy.
This plugin connects to external AI services when users interact with chat features. No data is sent automatically – transmission only occurs when users explicitly take action.
OpenAI API
Used for AI chat, file analysis via Responses API, and vector store functionality.
* Service URL: https://api.openai.com/
* Privacy Policy: https://openai.com/privacy/
* Terms of Service: https://openai.com/terms/
Anthropic Claude API
Optional AI provider for chat features.
* Service URL: https://api.anthropic.com/
* Privacy Policy: https://www.anthropic.com/privacy
* Terms of Service: https://www.anthropic.com/terms
Google Gemini API
Optional AI provider for chat features.
* Service URL: https://generativelanguage.googleapis.com/
* Privacy Policy: https://policies.google.com/privacy
* Terms of Service: https://policies.google.com/terms
Chutes API (DeepSeek)
Optional AI provider for chat features using DeepSeek models.
* Service URL: https://llm.chutes.ai/
* Privacy Policy: https://chutes.ai/privacy
* Terms of Service: https://chutes.ai/terms
OpenRouter API
Optional AI provider giving access to 100+ models from various providers.
* Service URL: https://openrouter.ai/api/
* Privacy Policy: https://openrouter.ai/privacy
* Terms of Service: https://openrouter.ai/terms
* Note: When using OpenRouter, your site URL and site name are sent in HTTP headers as required by OpenRouter’s API for attribution and rate limiting purposes.
You choose which API providers to configure. Only providers with valid API keys configured will receive any data. Each provider handles transmitted data according to their own privacy policies linked above.
This plugin includes the following third-party JavaScript libraries:
The uncompressed source code for all JavaScript and CSS files is available at:
https://github.com/chatprojects-com/chatprojects
git clone https://github.com/chatprojects-com/chatprojects.gitnpm installnpm run buildThe source files are located in assets/src/ and compile to assets/dist/.
Streaming via WordPress HTTP API:
This plugin uses the WordPress HTTP API (wp_remote_post) for AI provider streaming. For real-time SSE chunk handling, it leverages the http_api_curl action hook to attach a CURLOPT_WRITEFUNCTION callback only when the WordPress HTTP API selects the cURL transport. This preserves WordPress compatibility (proxy settings, transport fallback, and security hooks) while still enabling low-latency streaming.
If cURL is not available, the HTTP API will fall back to other transports and the request will still complete (though streaming callbacks are only available when cURL is the active transport).
PHP Configuration:
SSE streaming requires specific PHP settings (disabled output buffering, compression off) which are set only within the streaming endpoint functions, not globally.