需先装 Rust 1.74+、Node.js 20+ 和 Python 3,否则构建失败;Base URL 必须带 /v1,本地模型 API Key 填 dummy-key;语音输入要另跑 scripts/setup_voice_server.sh 并等 Connected;Windows 构建尚未就绪,需交叉编译
NeuralDeskApp
vakovalskii更新放缓跨平台桌面 AI 助手,可接入本地大模型(Ollama、llama、Qwen)或 OpenAI 接口,支持函数调用和记忆系统,让个人电脑上跑起能干活的智能助理。
Versatile Almost Local, Eventually Reasonable Assistant 🔫
git clone https://github.com/vakovalskii/ValeDesk.git
cd ValeDesk
npm install
make devREADME 未说明显存要求;本地推理需自行运行 Ollama、vLLM 或 LM Studio,语音转写服务可用 Docker 并设置内存与 CPU 限额
基于 Tauri 的桌面 AI 助手,可接本地模型,自带工具调用与任务规划
跨平台桌面 AI 助手,可接入本地大模型(Ollama、llama、Qwen)或 OpenAI 接口,支持函数调用和记忆系统,让个人电脑上跑起能干活的智能助理。
核心能力
- 用 OpenAI SDK 对接任意兼容端点,含 vLLM、Ollama、LM Studio
- 内置文件读写、grep 搜索与目录沙箱限制
- JS 用 Node vm 沙箱、Python 用系统子进程执行代码
- 可视化 todo 面板跟踪任务,支持定时与循环任务自动执行
- SQLite 持久化会话,记录每轮请求响应 JSON 日志
容易踩的坑
- v0.0.8LocalDesk v0.0.8最新正式版2026-01-26 · 2026-01-26 10:41 UTC
Changes in v0.0.8
Bug Fixes
- Fixed LLM provider settings not saving correctly
- Show provider name instead of type in model selectors
- Fixed sessions remaining in 'running' status after app restart
- Fixed agent stop button not interrupting ongoing requests
- Reduced noisy debug logs from sidecar
Improvements
- Better Python sandbox support with pip packages
- Improved skill download paths
- Updated system prompts for better code execution guidance
- v0.0.7LocalDesk v0.0.72026-01-22 · 2026-01-22 13:44 UTC
查看更新说明
What's New in LocalDesk 0.0.7
Skills System Integration
- Skills Marketplace - Browse and enable skills from LocalDesk-Skills repository
- load_skill Tool - Agent can now load detailed instructions and scripts for specialized tasks
- Skills Tab in Settings - Search, filter, and manage enabled skills
Image Support
- attach_image Tool - Attach local images (auto-converted to WebP) for model input
Bug Fixes
- Fixed JSON parsing errors when models return malformed tool arguments
- Improved error handling in tool execution
Downloads
- LocalDesk 0.0.7.exe - Windows portable version (no installation required)
- LocalDesk 0.0.7.msi - Windows installer
- LocalDesk 0.0.7.AppImage - Linux portable version (no installation required)
- v0.0.5LocalDesk v0.0.52026-01-16 · 2026-01-16 12:10 UTC
查看更新说明
What's Changed
🐛 Bug Fixes
- Fix session title generation - use OpenAI API instead of Claude SDK
- Fix 'require is not defined' in ExecuteJS sandbox (ES modules compatibility)
✨ New Features
- Dynamic sandbox packages loading - installed npm packages now shown in system prompt
- Improved system prompt - detailed ExecuteJS examples and instructions
📦 Project Updates
- Rename project: Agent Cowork → LocalDesk
- Updated all paths:
.agent-cowork→.localdesk - Updated README with macOS/Linux and Windows instructions
📥 Download
- macOS ARM64 (Apple Silicon):
LocalDesk-0.0.5-arm64.dmg
- v0.0.4v0.0.4 - JS Sandbox & PDF Support2026-01-15 · 2026-01-15 13:06 UTC
查看更新说明
🚀 New Features
- ✅ JavaScript Sandbox - Execute JS code in isolated Node.js VM
- ✅ InstallPackage Tool - Install npm packages into
.cowork-sandbox/ - ✅ PDF Support - Extract text from PDFs using
pdf-parse - ✅ Optional Workspace - Start empty chats, add workspace later
- ✅ Stop Button - Interrupt LLM streaming at any time
📦 Downloads
- Windows MSI - Full installer (156 MB)
- Windows Portable - Single EXE, no installation (210 MB)
- macOS DMG - Coming soon!
🔧 Improvements
- Fixed Cyrillic filenames support on Windows
- Improved glob tool with Node.js fs API
- Enhanced security with proper path sandboxing
- v0.0.3v0.0.3 - Memory System & UI Improvements2026-01-15 · 2026-01-15 01:13 UTC
查看更新说明
🎉 What's New
Major Features
- 🧠 Memory System - Persistent storage for user preferences in
~/.agent-cowork/memory.md - 🔄 Dynamic Memory Reload - Memory updates are immediately available within the same session
- ✏️ Message Editing - Edit and resend messages with automatic history truncation
- 📌 Session Pinning - Pin important sessions and search through chat history
- 📜 Improved Auto-scroll - Better handling of long streaming messages
UI/UX Improvements
- ⌨️ Keyboard Shortcuts - Cmd+Enter (Mac) / Ctrl+Enter (Windows) to send messages
- 🔍 Spell Check - Built-in spell checking with context menu suggestions
- 📁 Open in Finder - Button to open current directory in file manager
- 💎 Visual Highlights - Pinned sessions are visually highlighted in sidebar
- 📊 Token Tracking - Display input/output tokens and API duration
System Improvements
- ✅ Fixed Permission System - Ask/default modes now work correctly
- 📦 Compressed Tool History - Efficient tool execution history format
- 🌍 Language Consistency - Agent responds in the same language as user
- 🛡️ Write Tool Protection - Prevents accidental file overwriting
- 📝 Raw JSON Logging - Full request/response logs for debugging
- 🗑️ Removed AskUserQuestion - Simplified tool set (redundant tool removed)
Memory System Usage
User: "Remember that I prefer Python over JavaScript" Agent: [Stores in memory.md] User: "What language do I prefer?" Agent: "You prefer Python over JavaScript" ✅Installation
Download
Agent Cowork-0.0.3-arm64.dmgfor macOS (Apple Silicon)Files
Agent Cowork-0.0.3-arm64.dmg- Main installer (160 MB)Agent Cowork-0.0.3-arm64.dmg.blockmap- For auto-updateslatest-mac.yml- Update metadata
Full Changelog: https://github.com/vakovalskii/Cowork-Local-LLM/compare/v0.0.2...v0.0.3
- 🧠 Memory System - Persistent storage for user preferences in
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
KVDesk
Versatile Almost Local, Eventually Reasonable Assistant
Desktop AI Assistant with Local Model Support
https://github.com/user-attachments/assets/a8c54ce0-2fe0-40c3-8018-026cab9d7483
✨ Features
Core Capabilities
- ✅ Task Planning — visual todo panel with progress tracking, persisted per session
- ✅ Scheduled Tasks — create reminders and recurring tasks with auto-execution
- ✅ OpenAI SDK — full API control, compatible with any OpenAI-compatible endpoint
- ✅ Local Models — vLLM, Ollama, LM Studio support
- ✅ Code Sandboxes — JavaScript (Node.js vm) and Python (system subprocess) execution
- ✅ Document Support — PDF and DOCX text extraction (bundled, works out of the box)
- ✅ Web Search — Tavily and Z.AI integration for internet search
- ✅ Telegram Parsing — render t.me channels with reactions, views, auto-scroll for older posts
- ✅ Security — directory sandboxing for safe file operations
- ✅ Cross-platform — Windows, macOS, Linux with proper shell commands
UI/UX Features
- ✅ Modern Interface — React + Tauri with smooth auto-scroll and streaming
- ✅ Message Editing — edit and resend messages with history truncation
- ✅ Session Persistence — sessions survive app restart (SQLite backed)
- ✅ Session Management — pin important sessions, search through chat history
- ✅ Keyboard Shortcuts — Cmd+Enter/Ctrl+Enter to send messages
- ✅ Spell Check — built-in spell checking with context menu suggestions
- ✅ Permission System — ask/default modes for tool execution control
Advanced Features
- ✅ Memory System — persistent storage of user preferences in
~/.valera/memory.md - ✅ Token Tracking — display input/output tokens and API duration
- ✅ Optimized Streaming — requestAnimationFrame-based UI updates (60fps)
- ✅ Stop Streaming — interrupt LLM responses at any time
- ✅ Loop Detection — automatic detection of stuck tool call loops (5+ sequential same-tool calls)
- ✅ Request Timeouts — 5-minute timeout with auto-retry for LLM requests
- ✅ Session Logging — full request/response JSON logs per iteration in
~/.valera/logs/sessions/
🤔 Why ValeDesk?
Open Architecture & Full Control
ValeDesk isn't just another AI assistant — it's a framework you own. Built with TypeScript and Tauri, every component is transparent and modifiable:
- Readable codebase — well-structured, documented code you can understand
- Easy customization — add new tools, modify prompts, change UI without black boxes
- Your rules — adjust behavior, safety limits, and workflows to match your needs
- No vendor lock-in — works with any OpenAI-compatible API (vLLM, Ollama, LM Studio)
100% Local & Private
Everything runs on your machine:
- Local inference — use Ollama, vLLM, or LM Studio for complete privacy
- No data collection — your conversations never leave your computer
- Offline capable — works without internet (except web search tools)
- Sandboxed execution — secure JavaScript sandbox and file operation restrictions
Experiment & Iterate
Perfect for developers, researchers, and AI enthusiasts:
- Test local models — compare Qwen, Llama, DeepSeek, and others
- Debug API calls — full request/response logs for every interaction
- Prototype tools — add custom functions in minutes
- Monitor performance — track tokens, timing, and resource usage
Real Use Cases
# Run Ollama locally (free, 100% private)
ollama serve
# Configure ValeDesk: http://localhost:11434/v1
# Or use vLLM for faster inference
vllm serve Qwen/Qwen2.5-14B-Instruct --port 8000
# Configure ValeDesk: http://localhost:8000/v1
TL;DR: ValeDesk gives you the power of ChatGPT/Claude with the freedom of open source and privacy of local execution.
🚀 Quick Start
Prerequisites
- Rust 1.74+ (install)
- Node.js 20+
- Python 3 (for
execute_pythontool)
Development (macOS/Linux)
# Clone and enter
git clone https://github.com/vakovalskii/ValeDesk.git
cd ValeDesk
# Install dependencies
npm install
# Run in development mode
make dev
Tests
npm run test
Build Standalone App
# Build DMG (macOS)
make bundle
# Output: ValeDesk-0.0.8.dmg
Manual Build Steps
# 1. Build sidecar binary
npm run build:sidecar
# 2. Build Tauri app
cd src-tauri && cargo build --release
# 3. Create DMG
hdiutil create -volname "ValeDesk" \
-srcfolder src-tauri/target/release/bundle/macos/ValeDesk.app \
-ov -format UDZO ValeDesk-0.0.8.dmg
Windows (coming soon)
Windows build requires cross-compilation setup. Check .github/workflows/ for CI builds.
Configuration
- Click Settings (⚙️) in the app
- Configure your API:
- API Key — your key (or
dummy-keyfor local models) - Base URL — API endpoint (must include
/v1) - Model Name — model identifier
- Temperature — 0.0-2.0 (default: 0.3)
- API Key — your key (or
- Click Save Settings
Voice Input (Speech-to-Text)
- Start a local transcription server:
chmod +x scripts/setup_voice_server.sh./scripts/setup_voice_server.sh(Docker by default; falls back to uvx or venv)- Optional vars:
PORT,MODEL,DEVICE,COMPUTE_TYPE,DOCKER_TAG - Docker resources:
DOCKER_MEMORY(e.g.6g),DOCKER_CPUS(e.g.6),DOCKER_SHM_SIZE(e.g.2g) - Example:
DOCKER_MEMORY=6g DOCKER_CPUS=6 DOCKER_SHM_SIZE=2g ./scripts/setup_voice_server.sh
- In Settings → Voice set
Voice Base URL(e.g.http://localhost:8000/v1),Model, optionalAPI Key/Language - Wait for Connected, then use the mic button in the prompt input
Example Configurations
Local vLLM:
{
"apiKey": "dummy-key",
"baseUrl": "http://localhost:8000/v1",
"model": "qwen3-30b-a3b-instruct-2507"
}
OpenAI:
{
"apiKey": "sk-...",
"baseUrl": "https://api.openai.com/v1",
"model": "gpt-4"
}
🎯 Skills Marketplace
Browse and install verified skills for ValeDesk: Skills Marketplace
🛠️ Available Tools
All tools follow snake_case naming convention (verb_noun pattern):
File Operations
| Tool | Description |
|---|---|
run_command | Execute shell commands (PowerShell/bash) |
read_file | Read text file contents |
write_file | Create new files |
edit_file | Modify files (search & replace) |
search_files | Find files by glob pattern (*.pdf, src/**/*.ts) |
search_text | Search text content in files (grep) |
read_document | Extract text from PDF/DOCX (max 10MB) |
Code Execution
| Tool | Description |
|---|---|
execute_js | Run JavaScript in secure Node.js vm sandbox |
execute_python | Run Python code (system Python with pip packages) |
Web Tools
| Tool | Description |
|---|---|
search_web | Search the internet (Tavily/Z.AI) |
extract_page | Extract full page content (Tavily only) |
read_page | Read web page content (Z.AI Reader) |
render_page | Render JS-heavy pages via Chromium (Telegram, SPAs) |
Task Management
| Tool | Description |
|---|---|
manage_todos | Create/update task plans with visual progress tracking |
Scheduler
| Tool | Description |
|---|---|
schedule_task | Create, list, update, delete scheduled tasks |
Features:
- One-time reminders — "remind me in 30 minutes"
- Recurring tasks — every minute, hour, day, week, month
- Auto-execution — tasks with prompts automatically start new chat sessions
- Native notifications — macOS system notifications
- Default model — set preferred model for scheduled tasks
Memory
| Tool | Description |
|---|---|
manage_memory | Store/read persistent user preferences |
Security: All file operations are sandboxed to the workspace folder only.
📦 Building
Windows
# Build executable and installer
npm run dist:win
# Output: dist/ValeDesk Setup 0.0.8.exe
macOS
# Build DMG (ARM64)
npm run dist:mac-arm64
# Build DMG (Intel x64)
npm run dist:mac-x64
Linux
# Build AppImage
npm run dist:linux
🔐 Data Storage
Application Data
- Windows:
C:\Users\YourName\AppData\Roaming\ValeDesk\ - macOS:
~/Library/Application Support/ValeDesk/ - Linux:
~/.config/ValeDesk/
Files:
sessions.db— SQLite database with chat history, todos, scheduled tasks, and settingsapi-settings.json— API configurationskills-settings.json— Skills marketplace configuration
Global Data
~/.valera/memory.md— persistent memory storage~/.valera/logs/sessions/{session-id}/— per-session API logs:turn-001-request.json— full request (model, messages, tools, temperature)turn-001-response.json— full response (usage, content, tool_calls)
🛠️ Contributing
See CURSOR.md for development guidelines and project architecture.
⭐ Star History
📄 License
ValeDesk Community License — free for individuals and companies with revenue under $1M/year. Commercial license required for larger organizations.
See LICENSE for full terms.
Made with ❤️ by Valerii Kovalskii