ChatProjects

plugin banner

AI-powered project management with multi-provider chat. Vector store file search. Chat with GPT, Claude, Gemini and more.

Author:chatprojects (profile at wordpress.org)
WordPress version required:5.8
WordPress version tested:6.9.1
Plugin version:1.1.5
Added to WordPress repository:04-02-2026
Last updated:12-02-2026
Rating, %:0
Rated by:0
Plugin URI:https://chatprojects.com/chatprojects
Total downloads:300
plugin download
Click to start download

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.

Key Features

  • Multi-Provider Chat – Chat with GPT-5.2, Claude 4.5, Gemini 3, DeepSeek, and 100+ models via OpenRouter
  • Project Management – Create projects with OpenAI’s file search capability
  • File Upload – Upload documents (PDF, TXT, DOC) to your project’s vector store
  • Custom Instructions – Set custom assistant instructions for each project
  • Shared Chatbots – Create project-based chatbots that can be shared with your team
  • Modern Interface – Clean, responsive chat interface with dark mode support
  • Embeddable – Use shortcodes to embed the full application on any page
  • Privacy First – Your API keys stay on your server, not ours

Supported AI Providers

  1. OpenAI – GPT-5.2, GPT-5 Mini, GPT-4.1, GPT-4o, o4-mini, o3-mini
  2. Anthropic – Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5
  3. Google Gemini – Gemini 3 Pro, Gemini 3 Flash, Gemini 2.5 Pro, Gemini 2.5 Flash
  4. Chutes – DeepSeek V3, DeepSeek R1, Qwen, Mistral, Llama
  5. OpenRouter – Access 100+ models from various providers

Shortcodes

Full Application:
[chatprojects_main]

With Options:
[chatprojects_main default_tab=”chat” height=”80vh”]

Requirements

  • WordPress 5.8 or higher
  • PHP 7.4 or higher
  • At least one API key (OpenAI, Anthropic, Gemini, Chutes, or OpenRouter)

Privacy Policy

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.

Third-Party Services

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.

Data Transmitted

  • Chat Messages: User-entered text is sent to the selected AI provider when the user submits a message
  • Uploaded Files: File contents are sent to OpenAI when users upload to a project with Vector Store enabled
  • System Instructions: Project-configured system prompts are included with chat requests

When Data Is Sent

  • On chat message submission (user clicks send or presses Enter)
  • On file upload to a project (OpenAI only)
  • On file search/retrieval operations (OpenAI only)

API Keys

  • Site owners supply their own API keys – this plugin does not provide access to any AI service
  • Keys are encrypted using AES-256-CBC and stored locally in the WordPress database
  • Keys are never transmitted to chatprojects.com or any third party

Service Providers

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.

Your Control

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.

Third-Party Libraries

This plugin includes the following third-party JavaScript libraries:

Alpine.js

  • Version: 3.x
  • License: MIT
  • Source: https://github.com/alpinejs/alpine
  • License file: licenses/ALPINE.txt

highlight.js

  • Version: 11.x
  • License: BSD-3-Clause
  • Source: https://github.com/highlightjs/highlight.js
  • License file: licenses/HIGHLIGHT.txt

markdown-it

  • Version: 14.x
  • License: MIT
  • Source: https://github.com/markdown-it/markdown-it
  • License file: licenses/MARKDOWN-IT.txt

Development

Source Code

The uncompressed source code for all JavaScript and CSS files is available at:
https://github.com/chatprojects-com/chatprojects

Build Instructions

  1. Clone the repository: git clone https://github.com/chatprojects-com/chatprojects.git
  2. Install dependencies: npm install
  3. Build for production: npm run build

The source files are located in assets/src/ and compile to assets/dist/.

Technical Notes

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.


Screenshots
FAQ
ChangeLog