README.md

August 24, 2026 · View on GitHub

简体中文

Local DSH

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. Node.js, pnpm, DSH, and llama.cpp are included, 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.

Local DSH

Highlights

  • Run fully locally with integrated on-device inference acceleration.
  • Download and switch models directly from the DSH settings interface.
  • 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.

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.
  • The same principle appears in economic exchange: one person may excel at farming, another at textiles, and another at scientific research. When people specialize and exchange what they produce, they achieve greater returns for the same total investment of time—a win-win outcome.

AI should adapt to people and problems—not the other way around

  • A language should not be chosen for every task simply because AI is especially capable with it. The problem should determine the right technology, and AI should adapt to that technology—which it already does remarkably well.

Humans make decisions; AI supports research and execution

  • High-quality decisions require broad research and deep thought. Research can draw on search engines or AI, but 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 practical expression of these ideas. Every choice in the project reflects human judgment. I make a deliberate effort to keep the codebase from becoming an AI-generated mess, and instead understand each problem efficiently and make each 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 isolated copies of both, preventing conflicts 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 platform release artifacts

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.

Pull requests and pushes to main run make check on macOS (Apple silicon) and Windows. Pushing a v<major>.<minor>.<patch> tag runs make build on macos-14, notarizes the DMG, and attaches it to the GitHub Release. Signing secrets are listed in Makefile.local.example.

Implementation details are documented in Runtime Packaging and Local DSH Plugin.

License

Local DSH is licensed under the Apache License 2.0. Bundled components remain subject to their respective licenses; see Third-Party Notices.