A modern browser extension that brings multiple AI providers together under a single, unified chat interface.
Grab the prebuilt ZIP from the Releases page, extract it, and load it as an unpacked extension. See Installation below for the full steps.
This release marks the first stable version of AI Chat Pro Client and introduces a complete internationalization layer, persistent model verification, and full data backup support.
- Multilingual interface (EN / DE / RU) — The entire UI of both the popup and the options page is now translatable. The active language follows the browser locale by default and can be switched manually under Appearance → Language. A reusable i18n module (
shared/i18n.js) powers the translation pipeline throughdata-i18nattributes. - Localized backend errors — Errors raised by the background service worker (missing API key, connection failures, provider responses, LM Studio errors) are returned as structured error codes and translated in the popup, so users always see error messages in their selected language.
- Persistent model verification — Results from Check models are now cached per provider and per model in extension storage. Each provider view displays a Last check: … timestamp so you can see at a glance which models are reachable without re-running the test.
- Full backup export & import — Export backup now produces a single JSON file (
type: "ai-chat-pro-client-backup", version2.0) containing all conversations, the active conversation, and all settings (providers, models, custom models, base URLs, appearance, behavior). The corresponding Import backup action restores everything in one step and remains backwards-compatible with the legacy conversation-only export format. - Custom model management — Models added manually through the options page are stored per provider, can be removed individually, and their cached check results are cleaned up automatically.
- Rebrand to AI Chat Pro Client — Application name, manifest, popup title, and all user-facing strings have been unified.
- Multiple providers — Perplexity, OpenAI, Anthropic, Google Gemini, and LM Studio (local).
- Unified chat UI — Conversation list, search, rename, delete, and Markdown rendering with code-block copy buttons.
- Local-first storage — Conversations, settings, API keys, and custom models are stored locally via
chrome.storage.localand never leave the browser. - Per-provider configuration — API key, base URL, model selection, temperature, max tokens, and system prompt are configured independently for each provider.
- Connection & model testing — One-click Test API and Check models actions per provider, with cached results.
- Custom models — Add provider-specific model IDs by hand when the official model list lags behind.
- LM Studio support — Talk to local OpenAI-compatible servers; auto-discovery of loaded models, optional bearer token.
- Backup & restore — Export and import the full extension state as a single JSON file.
- Appearance & behavior — Dark / light theme, font size, send-with-Enter toggle, source link toggle, and language selector.
- Chat export — Export an individual conversation as Markdown or JSON.
manifest.json— Extension manifest (MV3)popup/popup.html— Chat UI markuppopup/popup.js— Chat logic, rendering, state managementoptions/options.html— Settings page markupoptions/options.js— Provider configuration, model checks, backup I/Obackground/background.js— Provider API routing in the service workershared/i18n.js— Translation dictionary and helpers (EN / DE / RU)shared/announcement.js— Remote announcement banner: fetch, cache, version filter, render
- Open the Releases page and download the
ai-chat-pro-client-<version>.zipasset. - Extract the archive to a folder of your choice.
- Open the extensions page in your browser:
- Chrome:
chrome://extensions - Edge:
edge://extensions
- Chrome:
- Enable Developer mode (top right).
- Click Load unpacked and select the extracted folder.
- Clone the repository:
git clone https://github.com/dan17612/AI_Chat_Pro_Browser_Extension.git - Open
chrome://extensions(oredge://extensions) and enable Developer mode. - Click Load unpacked and select the cloned project root directory.
- Open the extension from the toolbar.
- Click the settings icon and choose your preferred provider.
- Enter the API key (optional for LM Studio).
- Optionally adjust the model, base URL, temperature, and system prompt.
- Return to the popup and start chatting.
- LM Studio
- Default server URL:
http://localhost:1234 - An API key can be set if your local server enforces authentication.
- Make sure LM Studio is running and a model is loaded before sending a message.
- Default server URL:
- OpenAI / Anthropic / Gemini / Perplexity
- Each provider has its own API key field. Keys are stored locally and never shared.
- The Base URL (advanced) field lets you point to OpenAI-compatible proxies or self-hosted gateways.
The extension fetches an optional announcement banner from https://schiller.pw/AIChatProClientMessage/main.json once per hour and displays it above the chat area. This is used for release notifications, security advisories, or general news. The fetch is cached locally and never sends any data about the user.
The endpoint serves a JSON file with the following shape:
{
"id": "2026-04-10-v1.1.0",
"type": "update",
"title": { "en": "Update available", "de": "Update verfügbar", "ru": "Доступно обновление" },
"body": { "en": "Version 1.1.0 …", "de": "Version 1.1.0 …", "ru": "Доступна версия 1.1.0 …" },
"linkLabel": { "en": "Download", "de": "Herunterladen", "ru": "Скачать" },
"link": "https://github.com/dan17612/AI_Chat_Pro_Browser_Extension/releases/latest",
"targetVersion": "1.1.0",
"minVersion": null,
"dismissable": true,
"expiresAt": null
}| Field | Description |
|---|---|
id |
Unique identifier. Bump this value to re-show the banner to users who previously dismissed it. |
type |
One of info, update, warning. Controls the banner color. |
title / body / linkLabel |
Either a plain string or an object keyed by language code (en, de, ru). Falls back to en if the active language has no entry. |
link |
Optional URL. When present, a button is rendered. |
targetVersion |
The banner is shown only if the installed extension version isolder than this value. Users on the latest version will not see it; once a new release with a higher targetVersion is published, the banner reappears. |
minVersion |
Optional lower bound. The banner is hidden for installs below this version. |
dismissable |
If false, the banner cannot be closed until the id changes or it expires. |
expiresAt |
Optional ISO-8601 timestamp. The banner disappears automatically afterwards. |
A ready-to-host example lives in examples/announcement-main.json.
- No build pipeline — this is a plain browser extension project.
- After editing files, reload the extension on the browser's extensions page.
- The i18n dictionary lives in
shared/i18n.js. To add a new language, add a new key underTRANSLATIONSand extend the language selector inoptions/options.html.
MIT
