Minke: a desktop shell for DeepSeek Harness, and what it does not do
🐳 DeepSeek Harness Desktop
At a glance
- What is it?
- Minke wraps DeepSeek Harness in an Electron workspace with an agent browser, a terminal, a file panel, and remote access through Tailscale or Cloudflare. It is an independent community project under active development, and the README says the local data schema may change.
- Who is it for?
- Adopt Minke if you already run DeepSeek Harness on a machine you control and want the conversation, the terminal, the file tree, and a controllable browser tab in one Electron window, with phone access over a tailnet you administer. Skip it if you need a stable data schema, an official DeepSeek product, or a browser-based tool that works without a desktop install.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 4 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The gap Minke fills between a harness and a desktop
DeepSeek Harness is the agent runtime. Minke is the window you look at it through. The README describes it as a native desktop workspace, and the problem it names is fragmentation: conversations in one app, project files in another, a terminal in a third, and a browser somewhere else while the agent works. Minke puts Files, Terminal, Browser, Browser History, and Plugins into right and bottom panels beside the conversation, with native menus and customizable shortcuts. The target reader is someone who already runs Harness locally and wants the surrounding tools in the same frame rather than tabbing between them. It is not a hosted service and it is not an official DeepSeek product; the README states plainly that Minke is an independent community project. That distinction matters when you are deciding where to put your project files and your API credentials.
How the pieces fit: panels, a host, and a controllable browser tab
The architecture visible in the material has three layers. At the bottom is Harness, which the README says Minke keeps on the local loopback address. In the middle is Minke Host, described as the backend for remote access, which serves a responsive Web client rather than streaming or projecting the Electron window. On top is the Electron app itself, which owns the panels, the native menus, and the foreground proxy. The agent browser is the most specific mechanism described: agents can search, open, and interact with the Web in visible browser tabs, and a human can take control of a live tab without closing it, hand it back, or send annotated page context into the conversation. That handoff is the design decision worth noting. Many agent tools either hide the browser entirely or require you to open your own. Minke keeps one tab that both parties drive. Local-first is the other structural claim: sessions, settings, Browser History, and browser session data stay on the machine. The README also states that Minke activates only one remote route at a time, owns its foreground proxy while running, and stops that proxy on exit.
Installing Minke and pointing it at a local model
Installation is a download, not a build step. The README directs you to the GitHub Releases page and lists packages by platform and architecture: Minke-macos-arm64.dmg and Minke-macos-x64.dmg for macOS, Minke-windows-x64.exe for Windows, and Minke-linux-x64.deb, Minke-linux-x64.rpm, and Minke-linux-x64.AppImage for Linux. Release checksums are published alongside them, and the README is explicit that you should download only from the official Releases page. For local models, the README says Minke discovers and connects to LM Studio, Ollama, and other loopback OpenAI-compatible services, which means you keep running the service you already run and Minke points at it rather than replacing it. Remote access is configured in the app rather than on the command line: open Connections, then Device access, then Remote access, choose HTTPS Serve, and enable it. The README notes Minke connects in the background with no restart required, and then displays an https://...ts.net address to open on the phone. The documented prerequisites for that route are Tailscale installed and signed into the same tailnet on both the computer and the phone, with the computer confirmed as connected.
Remote access is a real web client, and that is the risk
The README is careful to say the remote workspace is not a video stream or a touch-controlled projection of the Electron window. It is a responsive Web client backed by Minke Host. From a phone you can continue conversations, start agent tasks, manage project files, and use a terminal that runs on the Minke computer. Three routes are listed as having completed end-to-end regression testing: Tailscale Serve over HTTPS, which the README recommends and which supports PWA installation; Tailscale Direct IP, which binds only to the device's Tailscale IPv4 and is described as HTTP and therefore not a browser secure context; and Cloudflare Access, which exposes a named tunnel behind an identity policy and requires a configured Cloudflare Tunnel, an Access application, and an explicit allow policy. The security consequence is stated in the README itself: the remote page can start agent tasks and use local tools already authorized in Minke, so access should be granted only to trusted tailnet members or Cloudflare Access identities. Anyone who enables this and then shares the URL loosely has handed over an agent with a terminal on their machine. The PWA path has a smaller caveat worth knowing: when connectivity is poor, the README says the installed app shows connection or offline feedback instead of silently presenting cached workspace content.
Where Minke is the wrong tool
The README carries an important warning near the top: Minke is under active development, and features, packaging, and the local data schema may change as the project evolves. If your workflow depends on a stable storage format, or on a plugin surface that will not shift under you, that sentence should slow you down. The topics list includes dsh-plugin, so plugins are part of the intended surface, but the material gives no compatibility guarantee for them. The release cadence visible in the supplied data is fast: v0.3.0, v0.4.0, and v0.5.0 land within roughly two weeks of each other in August and September 2026. That is a project still finding its shape. A second boundary is the desktop dependency itself. Minke is an Electron application distributed as dmg, exe, deb, rpm, and AppImage files. If your team works in ephemeral containers, on a headless build server, or on a platform outside those packages, there is no documented path here. Third, the remote access feature is not a convenience toggle you can ignore; it is a proxy that runs while the app runs, and the README says Minke owns that foreground proxy and stops it on exit. If you do not want an agent reachable from a phone, leave the remote section alone rather than configuring it partially.
What Minke is not: a comparison with the terminal-first approach
The obvious alternative is running DeepSeek Harness directly in a terminal and using your existing editor, shell, and browser alongside it. The difference is not capability but ownership of state. A terminal-first setup keeps every tool in its own process with its own history and its own configuration, and the agent sees the filesystem rather than a panel abstraction. Minke instead centralizes sessions, settings, Browser History, and browser session data inside one application, and gives the agent a browser tab that a human can seize and return. That shared tab is genuinely hard to reproduce with a terminal and a separate browser, because the handoff and the annotated page context are features of the host application, not of the shell. The cost is the inverse: with Minke you are trusting one Electron app with the conversation history, the file panel, the terminal, and the proxy, and you are accepting that its data schema may change between minor versions. A terminal-first setup has no such single point of change. Choose based on whether the shared browser tab and the side-by-side panels save you enough time to justify that concentration.
Licence, upgrades, and what to check before you commit
Minke is published under Apache-2.0, a permissive licence that allows commercial use and modification, with the usual conditions around notices and, in the case of modified files, stating changes. This is not legal advice; read the licence text and the NOTICE file in the repository if you plan to redistribute a modified build. Upgrades are handled in two ways according to the README: built-in updates are listed among the cross-platform features, and release artifacts are also downloadable directly. Because the README warns that packaging and the local data schema may change, a sensible first step is to install a release, confirm where sessions and settings are stored on your machine, and back that directory up before moving between versions. The checksums on the Releases page are the other concrete thing to verify, since the README's own instruction is to download only from there. The project also lists a Discord server, an X account, and a Buy Me A Coffee link, which tells you the maintenance model is a single maintainer with community support rather than a funded team. That is worth weighing if you plan to depend on Minke for daily work.
Editorial conclusion
Adopt Minke if you already run DeepSeek Harness on a machine you control and want the conversation, the terminal, the file tree, and a controllable browser tab in one Electron window, with phone access over a tailnet you administer. Skip it if you need a stable data schema, an official DeepSeek product, or a browser-based tool that works without a desktop install. Before committing, read the release checksums on the GitHub Releases page, confirm your platform package exists for your architecture, and decide deliberately whether remote access should be enabled at all, since the remote page can start agent tasks and use local tools already authorized in Minke.
Community notes