CodeBot Docs
CodeBot is a floating AI chat widget for WordPress — built for developer-facing sites that need smart, code-aware support without the clutter of a bloated helpdesk plugin.
CodeBot supports OpenAI (GPT-4o, GPT-4o-mini) and Anthropic (Claude Sonnet, Haiku, Opus). You bring your own API key — no tokens go through our servers. Your users, your data.
The widget renders markdown, highlights code blocks, adds one-click copy buttons, and speaks developer. Drop it on any WordPress site in under 5 minutes.
Requirements #
| Requirement | Minimum | Notes |
|---|---|---|
| WordPress | 6.0+ | Tested through WP 6.5 |
| PHP | 8.0+ | PHP 8.2 recommended |
| HTTPS | Required | API calls require SSL |
| API Key | Required | OpenAI or Anthropic — your choice |
| WooCommerce | — | Not required on the install site |
CodeBot makes direct requests to OpenAI or Anthropic APIs from your server. Your API key is stored encrypted in wp_options and never exposed to the browser.
Installation #
After purchase on virtualsky.io, go to My Account → Downloads. Download codebot-assistant.zip.
In your WP admin, go to Plugins → Add New → Upload Plugin. Select the zip file and click Install Now.
Alternatively, extract the zip and upload the codebot-assistant/ folder via FTP/SFTP to /wp-content/plugins/.
Go to Plugins → Installed Plugins, find CodeBot Assistant, and click Activate.
A new menu item CodeBot will appear in the WP sidebar. Click it and enter your license key. See License Activation below.
Quick Start #
After activation and license entry, the fastest path to a working widget:
1. Paste your API key
Go to CodeBot → Settings → API Configuration. Select your provider, then paste your key.
# OpenAI key format
API Key: sk-proj-xxxxxxxxxxxxxxxxxxxxxxxx
# Anthropic key format
API Key: sk-ant-api03-xxxxxxxxxxxxxxxxxxxxxxxx
2. Choose a model
Select the AI model from the dropdown. gpt-4o-mini or claude-haiku-3-5 are the fastest and cheapest for most support use cases.
3. Save & preview
Click Save Settings, then visit any page on your site. The CodeBot widget will appear in the bottom-right corner. Click the >_ icon to open it.
The widget is live immediately after saving. No cache flush required. Visibility rules can restrict it to specific pages — see Visibility Rules.
License Activation #
CodeBot uses license keys to verify your plan and enforce site limits. Keys are issued by virtualsky.io via WooCommerce Software Add-on.
Activating a license
After purchase, your license key is in your order confirmation email and in My Account → License Keys on virtualsky.io.
In your WordPress admin: CodeBot → License. Paste your key and click Activate License.
A green status badge will show your plan name and expiry date. If activation fails, see Troubleshooting.
Deactivating / moving to another site
Go to CodeBot → License and click Deactivate. This frees up a slot so you can activate on a different domain. Deactivation requires a working internet connection.
Deleting the plugin without deactivating first will not free your activation slot. Always deactivate before uninstalling.
License API endpoint
The plugin communicates with our licensing server at:
https://virtualsky.io/?wc-api=software-api
Make sure your server can reach this URL outbound over HTTPS (port 443).
Admin Settings #
All settings are under WordPress Admin → CodeBot → Settings.
API Configuration
| Setting | Options | Description |
|---|---|---|
provider | openai / anthropic | Which API to route requests to |
api_key | — | Your API key — stored encrypted |
model | See AI Models | The model used for all widget responses |
max_tokens | 256–4096 | Max tokens per response (default: 1024) |
temperature | 0.0–2.0 | Response creativity (default: 0.7) |
Widget Behavior
| Setting | Options | Description |
|---|---|---|
position | bottom-right / bottom-left | Widget position on screen |
initial_state | collapsed / expanded | Open on load or closed |
show_on | All pages / specific pages | Where widget appears — see Visibility |
logged_in_only | Boolean | Restrict to logged-in users only |
Appearance
| Setting | Default | Description |
|---|---|---|
accent_color | #00e5a0 | Primary color for highlights, buttons, cursor |
widget_title | CodeBot | Header text in the widget Pro+ |
widget_icon | >_ | Toggle button icon or custom SVG Agency |
custom_css | — | Inject custom CSS into the widget Pro+ |
AI Models #
CodeBot supports models from both OpenAI and Anthropic. You can switch models at any time without re-entering your API key.
For developer support bots, claude-haiku-4-5 or gpt-4o-mini are ideal — fast, cheap, and very capable at code questions. Save the power models for complex tasks.
System Prompt #
The system prompt shapes how CodeBot behaves — its persona, expertise, tone, and scope. This is the most powerful customization available. Available on Pro and Agency.
Accessing the prompt editor
CodeBot → Settings → System Prompt. Enter any instructions in the text area and save.
Example: Developer support bot
You are CodeBot, a senior developer support assistant for [Your Product].
## Your expertise
- [Your Product] API, SDK, and configuration
- WordPress plugin development
- REST APIs, webhooks, and authentication
- PHP, JavaScript, and common dev tooling
## Rules
- Always respond with working code examples where relevant
- Use markdown. Format code blocks with the correct language tag
- If you don't know, say so — do not guess
- Escalate billing questions: "Please email support@yourdomain.com"
- Keep responses concise and actionable
Tips for a great system prompt
Be specific — generic instructions produce generic responses. Name your product, describe your stack, and list what topics the bot should and shouldn’t answer.
Set a persona — give the bot a name and a voice. This reduces “I’m an AI” boilerplate and makes responses feel more intentional.
Define escalation — tell the bot when to hand off to a human, and how (email, support link, etc.).
Appearance #
CodeBot uses a dark terminal aesthetic by default. Accent color, title, and icon are configurable. Full CSS override is available on Pro+.
Changing the accent color
Set accent_color in the Appearance tab. This updates the widget border glow, send button, cursor blink, and link colors simultaneously via CSS custom property injection.
/* The plugin injects this into the widget iframe */
:root {
--cb-accent: #00e5a0; /* your accent_color value */
}
Custom CSS (Pro+)
Any CSS added to the Custom CSS field is injected into the widget scope. Useful for overriding fonts, padding, or component-level styles.
/* Example: change widget font to match your site */
.cb-widget {
font-family: 'Your Font', monospace;
}
.cb-header {
border-radius: 0; /* flat header */
}
Visibility Rules #
Control exactly where CodeBot appears — by page type, post ID, or user role.
Show on all pages
Default behavior. Widget renders on every front-end page.
Show on specific pages
In Settings → Visibility, switch to Specific Pages mode. Enter post IDs or page slugs, one per line:
# Show only on docs and support pages
/docs/
/support/
42 # page ID
product # page slug
Logged-in users only
Enable logged_in_only to hide the widget from guests. Useful if CodeBot is a paid feature for your customers.
Exclude pages
Switch to Exclude Pages mode to show everywhere except listed pages. Common use: exclude checkout, login, and WooCommerce account pages.
White Label #
Available on Agency. Remove all CodeBot branding and present the widget as your own product.
| Option | Description |
|---|---|
widget_title | Replace “CodeBot” with your product name |
widget_icon | Upload a custom SVG or PNG toggle icon |
hide_powered_by | Remove “Powered by CodeBot” footer text |
custom_css | Full CSS control over all visual elements |
admin_label | Change “CodeBot” in the WP admin menu |
Agency licenses cover unlimited sites. You can deploy a white-labeled CodeBot to all of your clients’ WordPress installs under a single key.
Plan Comparison #
All plans are one-time purchases. Buy on virtualsky.io →
Troubleshooting #
Widget not showing
Check that the plugin is Activated (not just installed) and that your license is active. If using visibility rules, verify the current page matches an allowed page/slug.
API errors / no response
Go to CodeBot → Settings and use the Test Connection button. Common causes:
- Invalid or expired API key — regenerate at your provider’s dashboard
- Insufficient API credits — top up your OpenAI or Anthropic account
- Server can’t reach the API — check firewall / outbound HTTPS rules
License activation fails
Verify your server can reach virtualsky.io outbound on port 443. Some managed hosts block outbound HTTP. Also confirm you haven’t exceeded your plan’s activation limit.
# Test outbound connectivity from your server
curl -I https://virtualsky.io/?wc-api=software-api
Widget appears but doesn’t respond
Open browser devtools → Network tab. Send a message and look for a POST to /wp-admin/admin-ajax.php. If it returns a 403, a security plugin (like Wordfence) may be blocking the AJAX action. Add codebot_chat to your security plugin’s allowlist.
Styles broken / widget looks off
A theme or page builder may be injecting global CSS that bleeds into the widget. Enable the Widget Isolation Mode option in Settings → Appearance to scope all styles to the widget container.
FAQ #
Do I need my own API key?
Yes. CodeBot routes your users’ messages to OpenAI or Anthropic using your API key. This means you control costs, rate limits, and data. We never proxy or store your API traffic.
Is there a monthly fee?
No. CodeBot is a one-time purchase. The only ongoing cost is your API usage with OpenAI or Anthropic, which you pay directly at their standard rates.
Can I use CodeBot on a client’s site?
Pro allows up to 5 activations — enough for most freelancers. Agency covers unlimited sites and includes white-label options, making it ideal for agencies deploying to client WordPress installs.
Does CodeBot work with page builders (Elementor, Divi, etc.)?
Yes. The widget is injected via WordPress’s wp_footer hook and is independent of the page builder. It works on any WordPress theme or builder without configuration.
Will users see a typing indicator / streaming responses?
Yes — CodeBot uses streaming responses (Server-Sent Events) for a real-time typing effect. If your server doesn’t support SSE, it falls back to a standard single-response mode automatically.
Can I limit which pages the bot appears on?
Yes — see Visibility Rules. You can show CodeBot on all pages, specific pages by ID or slug, or use exclude mode to block it from certain pages like checkout or login.
What happens when my update period expires?
The plugin continues to work normally — you just won’t receive new updates via the WordPress dashboard. Agency licenses include lifetime updates, so this only applies to Starter and Pro.
Is conversation history stored?
Conversation history is kept in sessionStorage — it persists as long as the browser tab is open, then clears. Nothing is stored in your WordPress database or sent to our servers.
Can I get a refund?
We offer a 7-day refund if CodeBot doesn’t work on your site and our support team can’t resolve the issue. Reach us at support@virtualsky.io.