Title: NeccoSpeak – AI Chatbot &amp; Voice Chat for WordPress
Author: neccos
Published: <strong>July 15, 2026</strong>
Last modified: July 15, 2026

---

Search plugins

![](https://ps.w.org/neccospeak/assets/banner-772x250.png?rev=3608592)

![](https://ps.w.org/neccospeak/assets/icon-256x256.png?rev=3608592)

# NeccoSpeak – AI Chatbot & Voice Chat for WordPress

 By [neccos](https://profiles.wordpress.org/neccos/)

[Download](https://downloads.wordpress.org/plugin/neccospeak.0.1.0.zip)

 * [Details](https://wordpress.org/plugins/neccospeak/#description)
 * [Reviews](https://wordpress.org/plugins/neccospeak/#reviews)
 *  [Installation](https://wordpress.org/plugins/neccospeak/#installation)
 * [Development](https://wordpress.org/plugins/neccospeak/#developers)

 [Support](https://wordpress.org/support/plugin/neccospeak/)

## Description

NeccoSpeak adds an AI chatbot with optional voice conversation to your WordPress
site, powered by your own OpenAI API key. Answer visitor questions 24/7 by text,
or let them speak to your site and hear it answer.

No SaaS, no extra account, no monthly fee, and no server run by us. NeccoSpeak is
fully self-contained: it needs nothing but WordPress and your own OpenAI API key.
You pay OpenAI directly and stay in control of your costs and your data.

#### Let visitors talk to your website

Voice conversation sets NeccoSpeak apart (optional, off by default). Visitors ask
questions hands-free and hear the answer spoken back — a natural fit for accessibility,
mobile users, and anyone who would rather speak than type. Under the hood, the visitor’s
browser connects directly to the OpenAI Realtime API over WebRTC using a short-lived
token issued by your server; your real API key never reaches the browser. Voice 
requires HTTPS and browser microphone permission.

#### What can you use it for?

 * **24/7 FAQ and support** – answer common questions (opening hours, pricing, services)
   around the clock.
 * **Pre-sales questions** – catch the visitor who would rather bounce than write
   an email.
 * **Online stores** – let shoppers ask about shipping, returns, and store policies
   on the spot, instead of hunting through pages.
 * **Multilingual visitors** – OpenAI models typically reply in the language the
   visitor writes in, with no extra configuration.
 * **Blogs and content sites** – give readers a way to ask questions instead of 
   leaving.
 * **Client sites** – agencies and freelancers can deploy it without managing yet
   another SaaS account; each client brings their own key and owns their own billing
   and data.

You decide who the chatbot is: describe your business, opening hours, policies, 
and tone in the system prompt, and it answers accordingly.

#### Why NeccoSpeak?

 * **Self-contained** – no third-party SaaS involved; data flows only between your
   server, the visitor’s browser, and OpenAI.
 * **Secure by design** – your API key is stored encrypted with AES-256-CBC, never
   sent to the browser, and masked in the admin screen.
 * **Zero footprint until configured** – while disabled or without a key, the widget
   is not loaded and visitors trigger no external communication at all.
 * **Budget protection** – per-IP rate limits plus site-wide caps (hourly and daily
   for chat, daily for voice) keep bots and abusive visitors from running up your
   OpenAI bill.
 * **No update needed for new models** – type any model name, or fetch the list 
   of models available to your key with one click. New OpenAI models that support
   the Chat Completions API work as soon as they are released.

#### Features

 * Text chat widget, plus optional voice conversation (off by default)
 * Display rules: all pages, only specific URLs, or exclude specific URLs
 * Customizable title, welcome message, and brand color
 * Free-form model selection with one-click “fetch available models”
 * Custom system prompt
 * Per-IP and site-wide rate limits with adjustable caps

#### Cost control

Visitors’ chat usage is billed to your own OpenAI account, so NeccoSpeak ships with
brakes built in: a per-IP, per-minute limit plus site-wide caps (hourly and daily
for text chat, daily for voice sessions). When a cap is hit, further requests are
declined with a temporary error until the limit window resets — so your bill stops
growing. Tune the limits to match your budget on the settings screen.

#### Terms and disclaimer

 * This plugin is provided free of charge as open source software (GPLv2 or later)
   on an “as-is” basis, without warranty of any kind, express or implied. Because
   it is distributed free of charge, the developer (neccos) assumes no obligation
   for support, SLA, or continued availability.
 * This plugin operates without any server of ours, and no service operated by the
   developer is involved. It runs with your own OpenAI API key, use of the AI is
   subject to OpenAI’s terms and policies, and usage fees are billed directly to
   your OpenAI account. The developer is not involved in any contract, billing, 
   or service matters with OpenAI.
 * Data flow: chat text and audio are sent to OpenAI with your key and processed
   under OpenAI’s terms. **This plugin does not store conversation content anywhere,
   and the developer (neccos) never receives this data** (no developer-operated 
   server exists). The only thing the plugin stores within WordPress is the settings
   entered by the administrator (the API key is encrypted), plus short-lived technical
   data: rate-limit counters and a cached model list, all removed on uninstall. 
   See “External Services” for details.
 * Your responsibilities: as the site owner, you are responsible for (1) complying
   with OpenAI’s terms, (2) disclosing to your site visitors (end users) that their
   input is sent to OpenAI and obtaining any consent required by applicable law (
   e.g., data protection / privacy laws such as GDPR), and (3) maintaining your 
   own privacy policy and related documents. Please advise users not to enter sensitive
   information in chat or voice.
 * The accuracy, legality, and usefulness of AI-generated responses are not guaranteed.
   Use of this plugin and of AI responses is at the sole risk of the site owner 
   and end users.

### External Services

This plugin communicates with the external service **OpenAI API** (api.openai.com)
to generate AI responses. This is a core feature of the plugin, and communication
occurs when the AI chat / voice features are used. Voice conversation is a direct
connection (WebRTC) to the OpenAI Realtime API, and this plugin does not use a STUN/
TURN server by default (no additional communication to third-party servers occurs).

#### OpenAI API

 * Destination endpoints:
    - https://api.openai.com/v1/chat/completions (generating text chat responses;
      via the PHP proxy)
    - https://api.openai.com/v1/realtime/client_secrets (issuing a short-lived token
      for voice conversation; PHP  OpenAI)
    - https://api.openai.com/v1/realtime/calls (establishing the WebRTC session 
      for voice conversation; sent directly from the browser to OpenAI)
    - https://api.openai.com/v1/models (retrieving the list of available models;
      only when an administrator uses “Fetch available models” on the settings screen;
      PHP  OpenAI)
 * Data sent (text chat): the message text entered by the visitor in the chat box,
   the conversation history, the configured system prompt, and the model name in
   use. These are sent to OpenAI via the PHP proxy at the moment the visitor sends
   a message.
 * Data sent (model list retrieval): only when an administrator (manage_options 
   capability) uses model list retrieval on the settings screen, a request is made
   from the server side (PHP) to OpenAI using the API key for authentication. Only
   the authentication credential is sent; no chat text or visitor data is sent. 
   The response (a list of model IDs) is cached temporarily on the server side. 
   This retrieves model metadata and incurs no OpenAI token billing. The API key
   is never handed to the browser.
 * Data sent (when voice conversation is enabled): in addition to the short-lived
   token issuance request (PHP  OpenAI), the visitor’s microphone audio is sent 
   directly from the browser to OpenAI over WebRTC. Sending occurs at the moment
   the visitor starts a voice conversation.
 * Timing of sending: communication only occurs when a visitor sends a message or
   starts a voice conversation. When the plugin is not configured (disabled or no
   key set), no communication occurs at all.
 * Purpose: to generate and return an AI response (text or voice) to the input.

Data sent to OpenAI is subject to OpenAI’s terms and policies. Please be sure to
review them before use.

 * Terms of use: https://openai.com/policies/terms-of-use/
 * Privacy policy: https://openai.com/policies/privacy-policy/
 * API data usage policies: https://openai.com/policies/api-data-usage-policies/

### 日本語 (Japanese)

NeccoSpeak は、ご自身の OpenAI API キーだけで動く AI チャットボット（音声会話対応）
を WordPress サイトに追加します。テキストチャットで訪問者の質問に24時間365日自動
応答します。オプションの音声会話（既定では無効）を有効にすると、訪問者はサイトと
直接「話す」ことができます。

 * SaaS や追加のアカウント登録、月額費用は不要で、開発者が運営するサーバーも一切
   介しません。WordPress とご自身の OpenAI API キーだけで完結し、利用料金は OpenAI
   からご自身に直接請求されます。
 * API キーは AES-256-CBC で暗号化保存され、ブラウザには一切送信されません（管理
   画面でもマスク表示）。
 * プラグインが無効、または API キーが未設定の間は、ウィジェットを一切読み込まず、
   訪問者による外部通信も一切発生しません。
 * IP 単位のレート制限に加え、サイト全体の上限（テキストチャットは毎時・毎日、音声
   は毎日）で、OpenAI 利用料金の想定外の増加を抑えます。
 * 表示ルール（全ページ／指定 URL のみ／指定 URL 除外）、タイトル・ウェルカムメッセージ・
   ブランドカラーをカスタマイズできます。
 * モデル名は自由入力。ワンクリックで利用可能なモデル一覧を取得でき、新しいモデル（
   Chat Completions API 対応のもの）にもプラグイン更新なしで対応できます。システム
   プロンプトでチャットボットの役割や答え方を自由に設定できます。
 * 音声会話の利用には HTTPS（SSL）とブラウザのマイク権限が必要です。

**ご利用にあたって：** 本プラグインは、現状のまま（as-is）・無保証で提供される、
無料のオープンソースソフトウェア（GPLv2 or later）です。チャット本文および音声は
ご自身の API キーで OpenAI へ送信されて OpenAI の規約・ポリシーの適用を受け、利用
料金は OpenAI からご自身に直接請求されます。本プラグインは会話内容をどこにも保存
せず、開発者（neccos）がこれらのデータを受け取ることはありません。AI 応答の正確性
は保証されないため、機微な情報を入力しないよう訪問者にご案内ください。訪問者への
開示・同意取得やプライバシーポリシーの整備は、サイト運営者の責任で行ってください。
正式な記載は英語版の「Terms and disclaimer」および「External Services」であり、詳細
はそちらをご参照ください。

## Screenshots

[⌊The chat widget open on a page — text chat with the optional voice button.⌉⌊The
chat widget open on a page — text chat with the optional voice button.⌉[

The chat widget open on a page — text chat with the optional voice button.

[⌊Settings screen — the API key is stored encrypted and masked, with one-click "
fetch available models".⌉⌊Settings screen — the API key is stored encrypted and 
masked, with one-click "fetch available models".⌉[

Settings screen — the API key is stored encrypted and masked, with one-click “fetch
available models”.

[⌊Display rules and appearance settings: choose where the widget appears and match
your brand color.⌉⌊Display rules and appearance settings: choose where the widget
appears and match your brand color.⌉[

Display rules and appearance settings: choose where the widget appears and match
your brand color.

## Installation

 1. Install the plugin from “Add New” in the admin Plugins screen (or upload it), then
    activate it.
 2. Open “Settings”  “NeccoSpeak” and paste your own **OpenAI API key**. It is stored
    encrypted and masked thereafter.
 3. Optionally set the model, system prompt, welcome message, brand color, display 
    rules, and rate limits.
 4. That’s it — once enabled with a key set, the chat widget is live on the pages your
    display rules match. Voice conversation is an optional toggle (requires HTTPS; 
    HTTPS is strongly recommended for text chat as well).

While the configuration is incomplete, neither the widget nor any external communication
is loaded or triggered.

## FAQ

### Do I need an account with you, or your server?

No. NeccoSpeak is self-contained: it needs only WordPress and your own OpenAI API
key.

### Is it really free?

The plugin: yes — free and open source (GPL). The AI usage: billed by OpenAI to 
your own account (your own key), at OpenAI’s rates. Check OpenAI’s official pricing
for details.

### Does the chatbot know my site content?

It does not crawl or index your site. It answers from the AI model plus the system
prompt you write — put your key business facts (hours, prices, policies) in the 
system prompt and it will use them.

### Is the API key handled securely?

The key is stored encrypted in the database with AES-256-CBC. It is never output
to the front end (browser) and is masked in the admin screen.

### Can visitors run up my OpenAI bill?

The chat endpoint has per-IP, per-minute rate limiting plus site-wide hourly and
daily caps; voice token issuance has per-IP and site-wide daily caps. When a cap
is exceeded, responses are temporarily limited (503). Cap values are adjustable 
on the settings screen, and display rules can narrow where the widget appears. A
same-origin check adds defense in depth, but is not authentication.

### What do I need for voice conversation?

Turn on voice conversation in the settings and serve your site over **HTTPS (SSL)**.
Browser microphone permission is requested when it is used. Audio goes from the 
browser directly to OpenAI over WebRTC using a short-lived token — your API key 
is never handed to the browser.

### Will it slow down my site?

While the plugin is unconfigured (disabled or no key), nothing is loaded on the 
front end at all. Once active, it loads a small widget only on the pages your display
rules match.

### Do I need to update the plugin when a new model is released?

No. The model name is free-form, and “Fetch available models” retrieves the list
of models currently available to your API key so you can pick one (metadata only—
no token billing).

### Are responses displayed as a stream?

v1 (0.1.0) does not support streaming; responses are returned in full at once.

### Why does voice not connect on my network?

Voice connects the browser directly to OpenAI (WebRTC). Because OpenAI’s Realtime
API does not require STUN/TURN, this plugin does not use a STUN/TURN server by default.
On a few highly restrictive networks (UDP blocked, symmetric NAT, etc.), voice may
fail to connect; please use text chat there. Advanced users can set their own STUN/
TURN servers via window.NECCOSPEAK_RTC_ICE_SERVERS (in that case, that destination
becomes something you must disclose).

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“NeccoSpeak – AI Chatbot & Voice Chat for WordPress” is open source software. The
following people have contributed to this plugin.

Contributors

 *   [ neccos ](https://profiles.wordpress.org/neccos/)

[Translate “NeccoSpeak – AI Chatbot & Voice Chat for WordPress” into your language.](https://translate.wordpress.org/projects/wp-plugins/neccospeak)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/neccospeak/), check
out the [SVN repository](https://plugins.svn.wordpress.org/neccospeak/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/neccospeak/) by 
[RSS](https://plugins.trac.wordpress.org/log/neccospeak/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.1.0

 * Initial release.
 * Self-contained, BYO-key lightweight AI chat widget.
 * Text chat (relayed to OpenAI via a thin PHP proxy, full response returned).
 * Optional voice conversation (off by default; short-lived token + WebRTC connecting
   the browser directly to OpenAI; HTTPS required).
 * API key stored encrypted with AES-256-CBC, never sent to the front end, masked
   in the admin screen.
 * Per-IP rate limiting, display rules (all pages / specific URLs only / exclude),
   appearance customization.
 * Zero loading and zero external communication when not configured.

## Meta

 *  Version **0.1.0**
 *  Last updated **18 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.0.1**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[chat](https://wordpress.org/plugins/tags/chat/)
   [chatbot](https://wordpress.org/plugins/tags/chatbot/)[openai](https://wordpress.org/plugins/tags/openai/)
   [voice](https://wordpress.org/plugins/tags/voice/)
 *  [Advanced View](https://wordpress.org/plugins/neccospeak/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/neccospeak/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/neccospeak/reviews/)

## Contributors

 *   [ neccos ](https://profiles.wordpress.org/neccos/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/neccospeak/)