Skip to content
CAI
Software that uses CAICheck a score

ai-shifu/ChatALL

33.5

Weak · 1 October 2026

12.8k

lines of production code

JavaScript

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

ChatALL is a desktop application built with Electron and Vue 3 that aggregates interactions with a wide variety of AI models and services into a single interface. It supports numerous providers, including OpenAI, Anthropic, Google, Microsoft, and various Chinese AI platforms, allowing users to manage multiple chat sessions with features like threaded conversations, prompt libraries, and multi-column layouts. The system handles local data persistence via IndexedDB, enforces consistent code standards, and includes built-in analytics and internationalization support.

How it got here

2023 — ChatALL desktop application launch

24 changes.

This period marks the initial release of the ChatALL desktop application, built on Electron and Vue 3, featuring a multi-column chat interface with support for numerous AI providers. The work involved establishing a unified bot architecture, migrating storage to IndexedDB for better performance, and implementing comprehensive UI components for chat management, settings, and internationalization.

2024 — expansion of AI model integrations

7 changes.

This period focused on significantly expanding the project's support for external AI providers by adding bot implementations for Google Gemini, Zhipu GLM, Kimi, Anthropic Claude, Groq, Cohere, and xAI Grok. The work involved creating new base classes and specific model variants to enable users to interact with a wide variety of large language models through the application.

Features

Add Azure OpenAI API bot and restructure Bing Chat into Copilot with multiple tones

This change introduces a new Azure OpenAI API bot (AzureOpenAIAPIBot) that allows users to connect to their own Azure OpenAI deployments using LangChain. It also rebrands the existing Bing Chat integration to Microsoft Copilot, updating the login URL and internal endpoints to copilot.microsoft.com. The single Bing Chat bot is now split into three distinct tone-specific variants—Balanced, Creative, and Precise—each with its own model configuration and logo, providing users with more control over the chat style.

src/bots/microsoft · high confidence

Add ChatGLM GLM-3 and GLM-4 bot support

Users can now interact with Zhipu AI's ChatGLM models (GLM-3 and GLM-4) through the application. The new ChatGLMBot class implements the base integration for GLM-3, handling authentication, context creation, and streaming responses via SSE. The new ChatGLM4Bot class extends this to support the GLM-4 model, including specific parsing for tool calls (such as browser search) and citation metadata in the response stream.

src/bots/zhipu · high confidence

Add Google Gemini API and Bard bots

This change introduces new bot implementations for Google's Gemini models. It adds a base GeminiAPIBot class that integrates with the LangChain Google Generative AI provider, enabling support for specific models including Gemini 1.5 Flash, Gemini 1.5 Pro, Gemini 2.0 Flash, and Gemini 2.0 Flash-Lite via the official API. Additionally, it adds BardBot and GeminiAdvBot classes to support the Gemini chat interface (Bard), with GeminiAdvBot specifically targeting the 'gemini-ultra' model.

src/bots/google · high confidence

Add Kimi chat bot integration

Users can now interact with the Kimi AI assistant via a new bot implementation. This change introduces the KimiBot class, which handles authentication token refresh, creates chat contexts, and streams responses using Server-Sent Events (SSE) from the Kimi API, including support for search results.

src/bots/moonshot · high confidence

Add Poe bot integration

Users can now interact with models hosted on Poe (such as Assistant, ChatGPT, GPT-4, and Llama-2-70b) through a new bot implementation. This feature introduces a dedicated PoeBot class that handles authentication, GraphQL API interactions, and real-time WebSocket communication to stream responses from the Poe platform.

src/bots/poe · high confidence

Add Vue.js application entry point with development tooling

The public/index.html file has been added to serve as the entry point for the Vue.js application. This includes the standard HTML structure with a root div for the app, a fallback message for users with JavaScript disabled, and a conditional script injection that enables Vue DevTools when running in the development environment.

public · high confidence

Add built-in prompt templates for English, Spanish, and Chinese

The application now includes a set of built-in prompt templates (acting as personas like 'Linux Terminal', 'Translator', etc.) localized into English, Simplified Chinese, Traditional Chinese, and Spanish. These are loaded from dedicated JSON files in the \src/prompts\ directory and exposed via a central index, allowing users to select these pre-configured roles in their preferred language.

src/prompts · high confidence

Add column layout icons

Added SVG assets for single, double, and triple column layouts to support the new column switch feature.

src/assets · high confidence

Add support for Cohere AI models

Users can now select and interact with Cohere AI language models, including Command, Command R, Command R Plus, Command Light, and Aya 23. This change introduces the necessary bot implementations and configuration to enable these models within the application.

src/bots/cohere · high confidence

Add support for HuggingChat and Gradio-based bots

Users can now interact with models hosted on Hugging Face through two new bot integrations: HuggingChat, which supports anonymous chat and streaming responses from models like OpenAssistant, and Gradio App, which allows connecting to custom Gradio-hosted interfaces via Server-Sent Events. These additions expand the available model options beyond the existing LMSYS and other providers.

src/bots/huggingface · high confidence

Add support for xAI Grok models via official API

Users can now connect to xAI's Grok family of models (Grok 2, Grok 3, and Grok 3 Mini) using the official xAI API. This change introduces a new bot integration that requires an xAI API key, allowing users to configure model-specific settings such as temperature and conversation history depth directly within the bot settings.

src/bots/xai · high confidence

Added composable to safely access Matomo analytics instance

A new \useMatomo\ composable has been added to \src/composables/matomo.js\ to provide a reliable way for Vue Single File Components to access the Matomo tracking instance. The composable handles cases where the Matomo library may not be immediately available by polling for the instance with a 10-second timeout, ensuring that tracking events are not lost due to timing issues, and automatically cleans up the polling interval when the component is unmounted.

src/composables · high confidence

Expanded OpenAI model support and ChatGPT availability checks

This update adds support for a wide range of new OpenAI models via the official API, including the GPT-4.1 family (gpt-4.1, gpt-4.1-mini, gpt-4.1-nano), GPT-4.5 Preview, GPT-4o, GPT-4o-mini, and the o1, o1-mini, o3, and o4-mini reasoning models. It also introduces a new ChatGPT4Bot that verifies active paid subscriptions before allowing usage, and updates the base ChatGPT bot to use the chatgpt.com domain and handle Arkose security tokens. Additionally, the OpenAI API bot implementation now allows customizing the number of past conversation rounds and excludes temperature settings for reasoning models.

src/bots/openai · high confidence

Initial release of ChatALL desktop application

This entry introduces the ChatALL desktop application, built on Electron and Vue 3 with Vuetify. The app provides a multi-column chat interface supporting various AI bots, featuring dark mode, internationalization (i18n), and keyboard shortcuts. Key capabilities include an auto-updater for checking new versions via GitHub, proxy support (including PAC files), and Matomo analytics integration. The interface includes a chat drawer, message history, and settings for managing bots and preferences.

src · high confidence

Integration of vue-i18n for multi-language support

The application now uses vue-i18n to manage translations, allowing users to select from a wider range of languages including English, Chinese (Simplified and Traditional), German, Russian, Vietnamese, French, Italian, Korean, Spanish, and Japanese. The system automatically detects the user's browser language on startup, falling back to English if the detected language is not supported or if the setting is set to 'auto'.

src/i18n · high confidence

Introduce Chat Drawer with IndexedDB-backed chat management

This change introduces the ChatDrawer component, which provides a persistent side panel for managing multiple chat sessions. The drawer lists chats sorted by modification time and supports creating new chats, selecting existing ones, hiding chats (with a confirmation modal), and editing chat titles inline. Data persistence is handled via IndexedDB using Dexie, ensuring chat history survives page reloads, while the UI leverages Vuetify components for a consistent look and feel.

src/components/ChatDrawer · high confidence

Introduce unified Bot base class and new bot implementations

The bot architecture now centers on a new \Bot\ base class in \src/bots/Bot.js\, which standardizes properties like brand ID, logo handling, availability checks, and prompt sending via a common interface. This change introduces concrete implementations for several new and existing services, including \CharacterAIBot\, \ClaudeAIBot\, \DevBot\, \LangChainBot\, \MOSSBot\, \MistralBot\, \PerplexityBot\, \PhindBot\, \PiBot\, \QianWenBot\, \Qihoo360AIBrainBot\, and \SkyWorkBot\. Users will see these bots available in the interface, with standardized behavior for login verification, chat context management, and response streaming.

src/bots · high confidence

New Anthropic API bot implementations for Claude 3.7 Sonnet and updated model versions

This change introduces new bot classes for the Anthropic API integration, specifically adding support for Claude 3.7 Sonnet (via \ClaudeAPI37SonnetBot\) and updating the Haiku model to \claude-3-5-haiku-latest\ (via \ClaudeAPIHaikuBot\). It also establishes a base \ClaudeAPIBot\ class that handles API key configuration and model setup using LangChain, while retaining specific implementations for Claude 2.0, 2.1, Sonnet, and Opus. Users can now select these updated and new model variants in the bot configuration.

src/bots/anthropic · high confidence

New Groq Cloud bot variants for Llama 3, Llama 4, and Gemma 2

This change adds new bot implementations for Groq Cloud, specifically introducing support for Llama 3 (8b and 70b), Llama 4 (Maverick and Scout), and Gemma 2 (9b and 7b). These new classes extend the existing GroqAPIBot base, which handles the integration with the @langchain/groq library and manages API key and model configuration via the store. Users can now select these specific model variants from the bot list, leveraging Groq's inference capabilities for these Meta and Google models.

src/bots/groq · high confidence

New Shortcut Guide overlay for keyboard navigation

A new Shortcut Guide component has been added to help users discover keyboard shortcuts. When opened, it displays an overlay with labels for various actions, including prompt management, chat controls, settings, and favorite bots. The guide dynamically positions these labels relative to the corresponding UI elements and adapts modifier keys for Mac (Cmd) versus other platforms (Ctrl).

src/components/ShortcutGuide · high confidence

New chat management and interaction components

This change introduces several new UI components in src/components to enhance chat functionality and settings management. ChatAction.vue adds a dialog for summarizing and rating multiple responses, allowing users to select specific bots and send prompts to new or current chats. ChatSetting.vue provides controls for deleting all chat history, exporting/importing data, and managing custom user actions (templates). PromptModal.vue enables users to browse, search, pin, and manage a library of prompts. Additionally, FindModal.vue implements a 'find on page' feature with case-sensitivity and wrap-around options, while ConfirmModal.vue and MakeAvailableModal.vue provide reusable dialog interfaces for user confirmations and dynamic bot settings.

src/components · high confidence

New scroll and template helper utilities

Added src/helpers/scroll-helper.js to manage automatic scrolling behavior in the thread view, including smooth scrolling to the bottom and toggling auto-scroll based on user position. Added src/helpers/template-helper.js to provide prompt engineering utilities for summarizing and rating multiple bot responses, utilizing LangChain's PromptTemplate and FewShotPromptTemplate to dynamically format data into markdown tables.

src/helpers · high confidence

The footer area has been restructured into a new FooterBar component that consolidates the prompt input, a favorite bots bar, and a bots menu. The favorite bots bar now displays logos for selected bots, supporting drag-and-drop reordering and right-click context menus to enable/disable all or remove all favorites. The bots menu allows users to filter available bots by tags and toggle favorites via checkboxes. Additionally, a prompt management feature has been added, accessible via a dedicated button in the input field or a keyboard shortcut, allowing users to save and reuse prompts.

src/components/Footer · high confidence

Behavioural changes

Baidu ERNIE bots now use LangChain.js integration

The Baidu ERNIE bot implementations (Wenxin Qianfan, ERNIE-Bot-4, and ERNIE-Bot-turbo) have been migrated to use LangChain.js via the @langchain/community package. This change updates how these bots connect to Baidu's API, requiring API keys and secret keys to be configured in the store, and introduces support for customizable past conversation rounds. A new ERNIEBot class was also added for direct interaction with the Yiyan platform.

src/bots/baidu · high confidence

Enforce code formatting via lint-staged on commit

A pre-commit hook has been added to the project to automatically run lint-staged before each commit. This ensures that code formatting and linting rules are applied to staged files, preventing poorly formatted code from being committed to the repository.

.husky · high confidence

Introduce unified bot settings architecture with reusable components

The BotSettings area has been refactored to use a new, centralized component structure. A new \CommonBotSettings.vue\ component now handles the rendering of standard input types (text, slider, select, combobox, checkbox) and manages state synchronization with the Vuex store, allowing individual bot settings files (such as \OpenAIAPIBotSettings.vue\, \GeminiAPIBotSettings.vue\, and \ChatGPTBotSettings.vue\) to simply define their specific configuration fields. Additionally, a new \LoginSetting.vue\ component standardizes the login flow for bots requiring authentication, and a \settings.const.js\ file defines the available setting types. This change simplifies the addition of new bots by providing a consistent, declarative way to define their settings UI.

src/components/BotSettings · high confidence

LMSYS bot now supports HTML output and session refresh

The LMSYS bot implementation has been updated to handle HTML-formatted responses instead of plain text or markdown, improving the rendering of complex content. Additionally, the bot now automatically refreshes its session context when the connection is closed by the server or when specific error messages indicate a need for re-authentication, preventing service interruptions during long idle periods.

src/bots/lmsys · high confidence

Migrate chat storage from localStorage to IndexedDB

The application now uses IndexedDB (via Dexie) to store chats, messages, and threads, replacing the previous localStorage-based persistence. This change improves storage capacity and performance, and includes a migration script to automatically transfer existing user data from the old storage format to the new database structure.

src/store · high confidence

Rewritten message display components with live IndexedDB queries and thread support

The message display area has been rebuilt using new Vue components (ChatMessages, ChatPrompt, ChatResponse, ChatThread) that render chat history from IndexedDB via Dexie live queries. This change introduces a grid-based layout for main chat messages, supports threaded conversations with nested prompt/response rendering, and provides inline actions such as highlighting, copying, deleting, and replying to specific responses. The system also handles auto-scrolling to the bottom on mount and when switching chats, and groups multiple bot responses into carousels when applicable.

src/components/Messages · high confidence

Standardized development environment and code formatting

The project now enforces a consistent Node.js runtime and code style for all contributors. A \.nvmrc\ file specifies Node.js 20, ensuring the development environment matches the production build. Additionally, a new \.prettierrc.js\ configuration standardizes formatting rules (semicolons, double quotes, 80-character width) and integrates the \prettier-plugin-vue\ for Vue files, while \AGENTS.md\ provides updated guidelines for running linting and formatting checks before committing.

(repo-wide) · high confidence

Dependencies

Update project dependencies and lock file

The project dependencies and lock file have been updated to align with version 1.85.110. Key updates include the Vue framework to 3.5.16, Vuetify to 3.8.8, and the LangChain ecosystem (including community, OpenAI, Anthropic, Google GenAI, Groq, and xAI providers) to their latest 0.3.x/0.5.x versions. Additionally, Electron has been upgraded to 33.4.11, and the build tooling (Vue CLI, ESLint, Prettier) has been refreshed to ensure compatibility and security.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 31 → 34 (+2.6)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 54 → 54 (+0.0)
  • Architecture 73 → 71 (-2.4)
  • Maturity 58 → 58 (-0.1)
  • Readiness 20 → 21 (+0.9)
  • Security 38 → 52 (+13.9)
  • Accessibility 31 → 31 (+0.0)
  • Performance 60 (new)

Resolved (10)

  • Critical CVE: [GHSA redacted] (package-lock.json)
  • Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no pnpm-resolved versions to grade)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)
  • Medium CVE: [GHSA redacted] (package-lock.json)
  • Medium CVE: [GHSA redacted] (package-lock.json)
  • Medium CVE: [GHSA redacted] (package-lock.json)

New (33)

  • Critical CVE: [GHSA redacted] (package-lock.json)
  • Critical CVE: [GHSA redacted] (package-lock.json)
  • End-of-life runtime: Node.js 20
  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)
  • Medium vulnerability: [GHSA redacted] (package-lock.json)
  • Medium vulnerability: [GHSA redacted] (package-lock.json)
  • Outdated (npm): @langchain/anthropic
  • Outdated (npm): @langchain/cohere
  • Outdated (npm): @langchain/community
  • Outdated (npm): @langchain/google-genai
  • Outdated (npm): @langchain/groq
  • Outdated (npm): @langchain/openai
  • Outdated (npm): @langchain/xai
  • Outdated (npm): @vueuse/rxjs
  • Outdated (npm): axios
  • Outdated (npm): core-js
  • Outdated (npm): dexie
  • …and 13 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

ai-shifu/ChatALL was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 6d089c2ab72dde2ba1010cc1e910ceb766458546 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.