Skip to content

Commit 439ab4c

Browse files
committed
Add GPT4All as a built-in local OpenAI-compatible provider.
Defaults to localhost:4891/v1 alongside other local runtimes so users can point WebBrain at GPT4All's API server without a custom provider card.
1 parent 101449b commit 439ab4c

19 files changed

Lines changed: 92 additions & 26 deletions

File tree

README.fr.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ compacte la conversation à mesure qu'elle se remplit. Il existe aussi un relais
102102
**API cloud** — OpenAI, Anthropic Claude, Google Gemini, Azure OpenAI, AWS
103103
Bedrock, Mistral, DeepSeek, xAI Grok, MiniMax, Kimi, Qwen, z.ai GLM, Groq,
104104
Together, Cloudflare, Nvidia NIM, Hugging Face, Fireworks, OpenRouter et
105-
d'autres. Les Paramètres embarquent **103 cartes de fournisseurs** avec URL de
105+
d'autres. Les Paramètres embarquent **104 cartes de fournisseurs** avec URL de
106106
base et modèle par défaut préremplis — voir le
107107
[catalogue complet](docs/fr/providers-and-models.md#catalogue-étendu-de-fournisseurs).
108108

@@ -195,7 +195,7 @@ WebBrain a le focus.
195195
| [Architecture](docs/fr/architecture.md) | Vue d'ensemble, flux d'un tour, sous-systèmes |
196196
| [Outils de l'agent](docs/fr/agent-tools.md) | Niveaux, modes et matrice complète |
197197
| [Commandes slash](docs/fr/slash-commands.md) | Toutes les commandes et options |
198-
| [Fournisseurs et modèles](docs/fr/providers-and-models.md) | Les 103 cartes, configuration locale, niveaux |
198+
| [Fournisseurs et modèles](docs/fr/providers-and-models.md) | Les 104 cartes, configuration locale, niveaux |
199199
| [Compétences](docs/fr/skills.md) | Compétences intégrées, import, outils de compétence |
200200
| [Modèle de sécurité](docs/fr/security-model.md) | Permissions, identifiants, frontières de confiance |
201201
| [Défense contre l'injection de prompt](docs/fr/prompt-injection-defense.md) | Couches de défense et limites connues |

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ preview `ollama launch webbrain --model <model>` handoff. Details:
9696
**Cloud APIs** — OpenAI, Anthropic Claude, Google Gemini, Azure OpenAI, AWS
9797
Bedrock, Mistral, DeepSeek, xAI Grok, MiniMax, Kimi, Qwen, z.ai GLM, Groq,
9898
Together, Cloudflare, Nvidia NIM, Hugging Face, Fireworks, OpenRouter, and more.
99-
Settings ships **103 built-in provider cards** with base URLs and default models
99+
Settings ships **104 built-in provider cards** with base URLs and default models
100100
pre-filled — see the [full catalog](docs/providers-and-models.md#extended-provider-catalog).
101101

102102
## Features
@@ -179,7 +179,7 @@ Chrome side panel shortcuts work when the WebBrain side panel has focus.
179179
| [Architecture](docs/architecture.md) | System overview, turn flow, subsystems |
180180
| [Agent tools](docs/agent-tools.md) | Tiers, modes, and the full tool matrix |
181181
| [Slash commands](docs/slash-commands.md) | Every command and flag |
182-
| [Providers and models](docs/providers-and-models.md) | All 103 provider cards, local setup, tiers |
182+
| [Providers and models](docs/providers-and-models.md) | All 104 provider cards, local setup, tiers |
183183
| [Skills](docs/skills.md) | Bundled skills, importing, skill tools |
184184
| [Security model](docs/security-model.md) | Permissions, credentials, trust boundaries |
185185
| [Prompt-injection defense](docs/prompt-injection-defense.md) | Defense layers and known gaps |

README.zh-CN.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ LM Studio(`:1234/v1`)、Jan(`:1337/v1`)和 LocalAI(`:8080/v1`)用法
9292
**云端 API** —— OpenAI、Anthropic Claude、Google Gemini、Azure OpenAI、AWS Bedrock、
9393
Mistral、DeepSeek、xAI Grok、MiniMax、Kimi、通义千问、z.ai GLM、Groq、Together、
9494
Cloudflare、Nvidia NIM、Hugging Face、Fireworks、OpenRouter 等。设置中内置
95-
**103 张提供商卡片**,已预填 base URL 和默认模型 —— 参见
95+
**104 张提供商卡片**,已预填 base URL 和默认模型 —— 参见
9696
[完整目录](docs/zh-CN/providers-and-models.md#扩展提供商目录)
9797

9898
## 功能特性
@@ -168,7 +168,7 @@ Chrome 侧边面板快捷键在 WebBrain 侧边面板获得焦点时生效。
168168
| [架构](docs/zh-CN/architecture.md) | 系统概览、轮次流程、子系统 |
169169
| [智能体工具](docs/zh-CN/agent-tools.md) | 层级、模式与完整工具矩阵 |
170170
| [斜杠命令](docs/zh-CN/slash-commands.md) | 所有命令与参数 |
171-
| [提供商与模型](docs/zh-CN/providers-and-models.md) | 全部 103 张提供商卡片、本地配置、层级 |
171+
| [提供商与模型](docs/zh-CN/providers-and-models.md) | 全部 104 张提供商卡片、本地配置、层级 |
172172
| [技能](docs/zh-CN/skills.md) | 内置技能、导入、技能工具 |
173173
| [安全模型](docs/zh-CN/security-model.md) | 权限、凭证、信任边界 |
174174
| [提示注入防御](docs/zh-CN/prompt-injection-defense.md) | 防御层级与已知缺口 |

docs/fr/providers-and-models.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class BaseLLMProvider {
4444
| `vllm` | `openai` | local | (modèle chargé) | Oui (activé par défaut) |
4545
| `sglang` | `openai` | local | (modèle chargé) | Oui (activé par défaut) |
4646
| `localai` | `openai` | local | (modèle chargé) | Oui (activé par défaut) |
47+
| `gpt4all` | `openai` | local | (modèle chargé) | Oui (activé par défaut) |
4748
| `azure_openai` | `azure_openai` | cloud | (déploiement) | Bascule manuelle |
4849
| `aws_bedrock` | `aws_bedrock` | cloud | (ID de modèle) | Non |
4950
| `openai` | `openai` | cloud | `gpt-5.6-terra` | Regex nom de modèle |
@@ -68,8 +69,8 @@ class BaseLLMProvider {
6869

6970
WebBrain ajoute 76 cartes désactivées par défaut depuis l’instantané du
7071
catalogue OpenCode au commit
71-
`62e4641235d7847dadc60da37cca8a023dd54fc1`. Avec les 27 cartes existantes,
72-
les Paramètres proposent **103 fournisseurs intégrés**. La liste exacte des
72+
`62e4641235d7847dadc60da37cca8a023dd54fc1`. Avec les 28 cartes existantes,
73+
les Paramètres proposent **104 fournisseurs intégrés**. La liste exacte des
7374
identifiants est :
7475

7576
`302ai`, `abacus`, `aihubmix`, `alibaba-coding-plan`,

docs/providers-and-models.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class BaseLLMProvider {
4444
| `vllm` | `openai` | local | (loaded model) | Yes (default on) |
4545
| `sglang` | `openai` | local | (loaded model) | Yes (default on) |
4646
| `localai` | `openai` | local | (loaded model) | Yes (default on) |
47+
| `gpt4all` | `openai` | local | (loaded model) | Yes (default on) |
4748
| `azure_openai` | `azure_openai` | cloud | (deployment) | Manual toggle |
4849
| `aws_bedrock` | `aws_bedrock` | cloud | (model id) | No |
4950
| `openai` | `openai` | cloud | `gpt-5.6-terra` | Model-name regex |
@@ -68,8 +69,8 @@ class BaseLLMProvider {
6869

6970
WebBrain also ships 76 disabled-by-default provider cards sourced from the
7071
OpenCode provider catalog snapshot at commit
71-
`62e4641235d7847dadc60da37cca8a023dd54fc1`. Together with the 27 original
72-
cards, Settings contains **103 built-in providers**.
72+
`62e4641235d7847dadc60da37cca8a023dd54fc1`. Together with the 28 original
73+
cards, Settings contains **104 built-in providers**.
7374

7475
| IDs |
7576
|---|

docs/zh-CN/providers-and-models.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class BaseLLMProvider {
4444
| `vllm` | `openai` | 本地 | (已加载模型) | 是(默认开启) |
4545
| `sglang` | `openai` | 本地 | (已加载模型) | 是(默认开启) |
4646
| `localai` | `openai` | 本地 | (已加载模型) | 是(默认开启) |
47+
| `gpt4all` | `openai` | 本地 | (已加载模型) | 是(默认开启) |
4748
| `azure_openai` | `azure_openai` | 云端 | (部署) | 手动开关 |
4849
| `aws_bedrock` | `aws_bedrock` | 云端 | (模型 ID) ||
4950
| `openai` | `openai` | 云端 | `gpt-5.6-terra` | 模型名正则 |
@@ -68,7 +69,7 @@ class BaseLLMProvider {
6869

6970
WebBrain 从 OpenCode 提供商目录提交
7071
`62e4641235d7847dadc60da37cca8a023dd54fc1` 的快照中新增了 76 张默认禁用的
71-
提供商卡片。加上原有 27 张,设置中共有 **103 个内置提供商**。完整 ID
72+
提供商卡片。加上原有 28 张,设置中共有 **104 个内置提供商**。完整 ID
7273
列表如下:
7374

7475
`302ai``abacus``aihubmix``alibaba-coding-plan`

src/chrome/icons/providers/SOURCES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Most brand marks come from [Lobe Icons](https://github.com/lobehub/lobe-icons)
99
| llamacpp | Jan app asset (brand mark used for llama.cpp) |
1010
| jan | Jan official app icon |
1111
| localai | LocalAI official logo (`mudler/LocalAI`) |
12+
| gpt4all | Simple mark (not an official GPT4All brand asset) |
1213
| sglang | SGLang official `logo_square` (`sgl-project/sglang`) |
1314
| webbrain_cloud | WebBrain extension icon |
1415
| 302ai, abacus, aihubmix, alibaba-coding-plan, alibaba-coding-plan-cn, azure-cognitive-services, bailing, baseten, berget, cerebras, chutes, clarifai, cloudferro-sherlock, cohere, cortecs, deepinfra, digitalocean, dinference, drun, evroc, fastrouter, friendli, google-vertex, google-vertex-anthropic, helicone, iflowcn, inception, inference, io-net, jiekou, kilo, kimi-for-coding, kuae-cloud-coding-plan, llama, lucidquery, meganova, minimax-cn-coding-plan, minimax-coding-plan, moark, modelscope, morph, nano-gpt, nebius, nova, novita-ai, ollama-cloud, opencode, opencode-go, ovhcloud, perplexity, perplexity-agent, poe, privatemode-ai, qihang-ai, qiniu-ai, requesty, scaleway, siliconflow, siliconflow-cn, stackit, stepfun, submodel, synthetic, tencent-coding-plan, upstage, v0, venice, vercel, vivgrid, vultr, wandb, xiaomi, zai-coding-plan, zenmux, zhipuai, zhipuai-coding-plan | OpenCode provider icon set at commit `62e4641235d7847dadc60da37cca8a023dd54fc1` (MIT); DInference SVG normalized with a `viewBox` |
Lines changed: 4 additions & 0 deletions
Loading

src/chrome/src/providers/manager.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import {
2525
} from './context-windows.js';
2626

2727
const WEBBRAIN_CLOUD_PROVIDER_ID = 'webbrain_cloud';
28-
const LOCAL_MODEL_LIST_PROVIDER_IDS = ['llamacpp', 'ollama', 'lmstudio', 'jan', 'vllm', 'sglang', 'localai'];
28+
const LOCAL_MODEL_LIST_PROVIDER_IDS = ['llamacpp', 'ollama', 'lmstudio', 'jan', 'vllm', 'sglang', 'localai', 'gpt4all'];
2929
const WEBBRAIN_CLOUD_CONTEXT_WINDOW = 1000000;
3030
const WEBBRAIN_CLOUD_LEGACY_CONTEXT_WINDOW = 256000;
3131
const WEBBRAIN_DEVICE_GUID_KEY = 'webbrainDeviceGuid';
@@ -263,6 +263,19 @@ export class ProviderManager {
263263
supportsVision: true,
264264
enabled: true,
265265
},
266+
gpt4all: {
267+
type: 'openai',
268+
category: 'local',
269+
label: 'GPT4All (Local)',
270+
providerName: 'gpt4all',
271+
baseUrl: 'http://localhost:4891/v1',
272+
model: '',
273+
contextWindow: 16384,
274+
apiKey: '',
275+
supportsAskStreaming: true,
276+
supportsVision: true,
277+
enabled: true,
278+
},
266279
azure_openai: {
267280
type: 'azure_openai',
268281
category: 'cloud',
@@ -632,7 +645,7 @@ export class ProviderManager {
632645

633646
/**
634647
* Provider category for filter UI. Returns one of:
635-
* 'local' — runs on the user's machine (llama.cpp, ollama, lmstudio, jan, vllm, sglang, localai)
648+
* 'local' — runs on the user's machine (llama.cpp, ollama, lmstudio, jan, vllm, sglang, localai, gpt4all)
636649
* 'cloud' — first-party API endpoint (openai, anthropic, gemini, etc.)
637650
* 'router' — multi-model gateways that fan out to many backends (openrouter, cloudflare, nvidia, groq)
638651
* Reads `config.category` first; falls back to a per-id table so configs
@@ -641,7 +654,7 @@ export class ProviderManager {
641654
static categoryFor(id, config) {
642655
if (config && config.category) return config.category;
643656
if (config?.type === 'llamacpp') return 'local';
644-
if (['llamacpp', 'ollama', 'lmstudio', 'jan', 'vllm', 'sglang', 'localai'].includes(id)) return 'local';
657+
if (['llamacpp', 'ollama', 'lmstudio', 'jan', 'vllm', 'sglang', 'localai', 'gpt4all'].includes(id)) return 'local';
645658
if (ROUTER_PROVIDER_IDS.includes(id)) return 'router';
646659
return 'cloud';
647660
}

src/chrome/src/ui/provider-icons.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export const PROVIDER_ICON_FILES = {
1919
vllm: 'vllm.svg',
2020
sglang: 'sglang.png',
2121
localai: 'localai.png',
22+
gpt4all: 'gpt4all.svg',
2223
azure_openai: 'azure_openai.svg',
2324
aws_bedrock: 'aws_bedrock.svg',
2425
openai: 'openai.svg',
@@ -83,6 +84,7 @@ export const PROVIDER_SHORT_LABELS = {
8384
vllm: 'vLLM',
8485
sglang: 'SGLang',
8586
localai: 'LocalAI',
87+
gpt4all: 'GPT4All',
8688
azure_openai: 'Azure OpenAI',
8789
aws_bedrock: 'AWS Bedrock',
8890
openai: 'OpenAI',

0 commit comments

Comments
 (0)