🔒 Talk to language models in private
1
stars
20
commits
JavaScript
primary language
Oct 1, 2025
updated
https://letmaik.github.io/privatgespraech/
A privacy-focused AI chat interface that runs language models entirely in your browser using WebGPU acceleration. Designed for desktop and laptop computers.
Recommended: Desktop and laptop computers with dedicated or integrated GPU
Not Recommended: Mobile phones or tablets (limited WebGPU support and performance)
For Mobile: Consider EnclaveAI for privacy-focused mobile AI chat
Note: This application is optimized for desktop and laptop computers. Mobile devices have limited WebGPU support and may not provide adequate performance.
npm install
npm run dev
npm run build
npm run preview
http://localhost:5173)Privacy Note: All conversations and AI processing remain on your device. No data leaves your computer.
src/
├── App.jsx # Main application component
├── main.jsx # React app entry point
├── worker.js # Web Worker for AI processing
├── components/
│ ├── Chat.jsx # Chat interface with message rendering
│ ├── ModelSelector.jsx # Model selection dropdown
│ ├── LoadingModal.jsx # Model loading progress modal
│ ├── Progress.jsx # Progress bar component
│ └── icons/ # Icon components
└── index.css # Global styles
worker.js): Handles model loading and inferenceChat.jsx): Message rendering with markdown supportModelSelector.jsx): Model selection interface| Model | Size | ID | Features |
|---|---|---|---|
| Llama 3.2 1B | 1.2 GB | onnx-community/Llama-3.2-1B-Instruct-q4f16 | General chat |
| Phi-3.5 Mini | 2.1 GB | onnx-community/Phi-3.5-mini-instruct-onnx-web | Code generation |
| SmolLM2 1.7B | 1.1 GB | HuggingFaceTB/SmolLM2-1.7B-Instruct | Efficient chat |
| Qwen3 0.6B | 0.5 GB | onnx-community/Qwen3-0.6B-ONNX | Reasoning support |
To add new models, update both worker.js and ModelSelector.jsx:
// worker.js - Add model configuration
static getModelConfig(model_id) {
const configs = {
"new-model-id": {
dtype: "q4f16",
device: "webgpu"
}
};
}
// ModelSelector.jsx - Add to AVAILABLE_MODELS
{
id: 'model-key',
name: 'Model Name',
description: 'Description and size',
url: 'new-model-id',
hasReasoningBlocks: false
}
Open source project. See license file for details.
20 commits
JavaScript
95.1%
CSS
3.7%
HTML
1.2%
🔒 Talk to language models in private
1
stars
20
commits
JavaScript
primary language
Oct 1, 2025
updated
https://letmaik.github.io/privatgespraech/
A privacy-focused AI chat interface that runs language models entirely in your browser using WebGPU acceleration. Designed for desktop and laptop computers.
Recommended: Desktop and laptop computers with dedicated or integrated GPU
Not Recommended: Mobile phones or tablets (limited WebGPU support and performance)
For Mobile: Consider EnclaveAI for privacy-focused mobile AI chat
Note: This application is optimized for desktop and laptop computers. Mobile devices have limited WebGPU support and may not provide adequate performance.
npm install
npm run dev
npm run build
npm run preview
http://localhost:5173)Privacy Note: All conversations and AI processing remain on your device. No data leaves your computer.
src/
├── App.jsx # Main application component
├── main.jsx # React app entry point
├── worker.js # Web Worker for AI processing
├── components/
│ ├── Chat.jsx # Chat interface with message rendering
│ ├── ModelSelector.jsx # Model selection dropdown
│ ├── LoadingModal.jsx # Model loading progress modal
│ ├── Progress.jsx # Progress bar component
│ └── icons/ # Icon components
└── index.css # Global styles
worker.js): Handles model loading and inferenceChat.jsx): Message rendering with markdown supportModelSelector.jsx): Model selection interface| Model | Size | ID | Features |
|---|---|---|---|
| Llama 3.2 1B | 1.2 GB | onnx-community/Llama-3.2-1B-Instruct-q4f16 | General chat |
| Phi-3.5 Mini | 2.1 GB | onnx-community/Phi-3.5-mini-instruct-onnx-web | Code generation |
| SmolLM2 1.7B | 1.1 GB | HuggingFaceTB/SmolLM2-1.7B-Instruct | Efficient chat |
| Qwen3 0.6B | 0.5 GB | onnx-community/Qwen3-0.6B-ONNX | Reasoning support |
To add new models, update both worker.js and ModelSelector.jsx:
// worker.js - Add model configuration
static getModelConfig(model_id) {
const configs = {
"new-model-id": {
dtype: "q4f16",
device: "webgpu"
}
};
}
// ModelSelector.jsx - Add to AVAILABLE_MODELS
{
id: 'model-key',
name: 'Model Name',
description: 'Description and size',
url: 'new-model-id',
hasReasoningBlocks: false
}
Open source project. See license file for details.
20 commits
JavaScript
95.1%
CSS
3.7%
HTML
1.2%