Local DSH
A ready-to-run desktop client for local AI agents, built on DeepSeek Harness and llama.cpp.
Website · Download for macOS · Documentation
Local DSH brings the DeepSeek Harness Agent Loop and local GGUF models into one desktop application. Every edition includes Node.js, pnpm, and DSH; full editions also include llama.cpp, so the distributed app does not depend on a system runtime.
Local DSH is an independently maintained open-source community project. It is not affiliated with, endorsed by, or sponsored by DeepSeek.
Highlights
- Run fully locally with integrated on-device inference acceleration.
- Choose local or external models during first-run setup, then control local inference, downloads, and runtime model selection independently in DSH settings.
- Fall back from Hugging Face to ModelScope when the primary download is unavailable or too slow.
- Keep models, sessions, and inference data in the standard DSH home on your machine.
- Use upstream DSH and its plugin ecosystem.
Local Model Hardware Support
The current release is tuned for Macs with Apple M-series chips:
| Unified memory | Qwen3.5 2B | Qwen3.5 4B | Qwen3.5 9B | Qwen3.8 27B |
|---|---|---|---|---|
| 8 GB | ✓ | ✓ | — | — |
| 16 GB | ✓ | ✓ | ✓ | — |
| 32 GB | ✓ | ✓ | ✓ | ✓ |
| 48 GB or more | ✓ | ✓ | ✓ | ✓ |
Design Philosophy
Use the right technology for the right problem
- No technology is inherently good or bad. It becomes valuable when applied to the right problem.
- Just because AI excels at a particular language does not mean that language should be used for everything. Quite the opposite: AI gives us the ability to build things in the most suitable way. If speed and binary size are critical, let AI implement the solution in Rust, C++, or even assembly.
People need to find the right way to work with AI
- Fei-Fei Li has suggested that “Socratic questioning” is the best way to prompt AI, which closely matches my own thinking. People should not rush to give AI instructions before they understand the facts. Strong instruction-following is a double-edged sword: if your instructions or direction are wrong, AI will amplify the error without limit.
- If you want to understand something, AI is undoubtedly a capable assistant.
- If you resist understanding and only want a result, AI will do an excellent job of keeping you in the dark.
Ultimately, humans make decisions; AI gathers information beforehand and executes afterward
- High-quality decisions require broad research and deep thought. Research can draw on search engines or AI, but for now, deep thinking still belongs to people.
- Choices and decisions are what distinguish one person from another.
- When the underlying choice or decision is wrong, hard work alone has little value. AI makes this especially clear.
Local DSH is one attempt to put these ideas into practice. Faced with many alternatives, every choice and decision reflects human thought. I make a deliberate effort to keep the codebase from becoming an AI-generated mess, striving instead to understand each problem efficiently and make every decision with care. For example:
-
Does the application need to bundle Chromium? No. Local DSH uses Tauri instead of Electron, reducing package size by about 30% while substantially improving startup speed.
-
What if the user already has Node.js and DSH installed? Local DSH ships completely isolated copies of both, so they do not interfere with the user's environment.
Download
The current public build supports macOS on Apple silicon. Download the signed and notarized DMG from GitHub Releases.
Models are downloaded on demand and are not included in the application package.
Development
The repository requires Rust 1.85 or newer, GNU Make, and the platform prerequisites for Tauri 2. Node.js and pnpm are bootstrapped at the versions pinned by the repository.
On Windows, run make from Git Bash so the build uses the Bash, curl, tar, unzip, and sha256sum tools provided by Git for Windows.
git clone https://github.com/liangchen-harold/local-dsh.git
cd local-dsh
make dev
Common targets:
make dev Start the Tauri development app
make check Run plugin, runtime, and Rust checks
make build Build the lite release for the current platform
make build-full Build the full release for the current platform
make build-all Build the Windows x64 lite and full releases sequentially
make build defaults to the lite edition without local inference. On Windows x64, build the desired release set with:
make build # lite only
make build-full # full only
make build-all # lite + full
The outputs are named Local DSH_<version>_lite_x86.exe and Local DSH_<version>_x86.exe. The lite edition omits llama.cpp, local model downloads, and the local inference service. The full edition includes the CUDA 12.4 runtime and cuBLAS and requires NVIDIA driver 551.61 or newer.
On macOS, release builds require Developer ID signing and notarization values in Makefile.local; see Makefile.local.example.
A release build must come from a clean commit tagged with v<major>.<minor>.<patch>:
git tag -a v0.1.0 -m "Local DSH v0.1.0"
make build
make build uses the Tag as the Local DSH version and fails before packaging when HEAD has no valid release Tag.
See the project documentation for architecture and migration plans; the code and tests are authoritative for implementation details.
Friendly Links
| Site | Link |
|---|---|
| DSH Plugin Site | dsh.fish |
| DSH Market | dshmarket.com |
| LINUX DO Open Source Community | linux.do |
License
Local DSH is licensed under the Apache License 2.0. Bundled components remain subject to their respective licenses; see Third-Party Notices.
