ai-shifu/ChatALL
33.5
Weak · 1 October 2026
12.8k
lines of production code
JavaScript
primary language
2
measurements over time
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
Redesigned footer with bot selection, favorites, and prompt management
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.