DeepSeek Harness Desktop的dsh命令行完全使用指南:不改动shell配置也能全局即用
【免费下载链接】deepseek-harness-desktopDeepSeek Harness Tauri 桌面版 | Only 5mb installer, zero environment setup, preset plugins, Windows / macOS / Linux.项目地址: https://gitcode.com/gh_mirrors/dee/deepseek-harness-desktop
DeepSeek Harness Desktop是一款基于 Tauri 2 的轻量桌面应用,安装即可在本地运行 DeepSeek Harness,而它最省心的一点是:安装后自动把dsh命令行注册到你的用户 PATH,新开终端即可全局使用,全程不需要你手动修改.zshrc、.bashrc或 Windows 环境变量。本文完整讲解 dsh 命令行集成的工作原理、常用命令、设置页开关以及冲突处理方式。
为什么装完就能用:dsh 命令的自动注册机制
dsh本身是一个 Node 脚本(lib/bin.js),而不是原生可执行文件,所以直接放进 PATH 无法运行。桌面端的做法是:安装时为它生成一个包装脚本(shim),再把 shim 所在目录注册进你的用户 PATH。
- Windows:生成
%LOCALAPPDATA%\deepseek-harness\bin\dsh.cmd/dsh.ps1,通过用户注册表HKCU\Environment\Path注册,并广播WM_SETTINGCHANGE通知系统刷新环境。 - macOS / Linux:生成
~/.local/bin/dsh(遵循 XDG 约定,多数发行版已将该目录加入 PATH),必要时向~/.zshrc/.bashrc写入一段带标记的 PATH 导出块。
所谓"不改动 shell 配置"并不是完全不碰 rc 文件,而是只动应用自己写入的标记块:幂等更新、不碰你的其余配置,写入前会先备份临时文件并用 rename 原子替换,失败时自动回滚。相关实现在 src-tauri/src/service/cli/mod.rs 与 src-tauri/src/service/cli/path/mod.rs 中。
💡 你甚至可以打开
~/.zshrc验证一下:只会看到一小段被标记包裹的内容,其余配置原封不动。
常用 dsh 命令行用法
安装完成后,新开一个终端,输入以下命令即可验证集成是否生效:
dsh --help用指定档案(Profile)启动 dsh
桌面端内部就是用这条命令启动 Harness 内核的,你也可以在终端手动执行:
dsh --profile <档案名> --host 127.0.0.1 --port 3080启动后访问http://127.0.0.1:3080即可看到与桌面端一致的 Harness 界面,数据目录默认在~/.dsh(DSH_HOME)。
管理插件
dsh命令行同样承担插件管理职责,指定档案后执行:
dsh plugin --profile <档案名>插件安装前会做版本兼容检查,不兼容的插件会被拒绝安装并提示,避免运行异常。
会话与工作区
在命令行里指定档案启动后,左侧的工作区、会话、工作树能力与桌面端完全一致,例如按会话创建隔离的 Git Worktree:
在设置页启用或关闭 dsh 命令行集成
集成状态完全受应用设置管控,对应开关是"启用 dsh 命令"(内部键cliLinkEnabled):
- 开启:重新生成 shim 并注册 PATH,流程是幂等的,可反复执行自愈;
- 关闭:删除 shim 文件,并从注册表或 rc 文件中标记块里移除 PATH 条目,干净卸载。
设置页会实时展示当前状态:shim 文件是否存在、bin 目录是否已注册、是否检测到你自装的dsh。开关逻辑见 src/ui/config/debug.tsx,状态文案见 src/i18n/locales/zh-CN.json(ui.cli_link系列键),状态查询接口为get_cli_link_status。
如果你已经自己装过 dsh,会冲突吗?
不会。集成流程在写 shim 前会检测同路径下是否已有你自己安装的dsh:如果检测到,会保留你的版本、不做覆盖,设置页会显示提示"检测到你已自行安装 dsh,已保留未覆盖;终端中的 dsh 仍指向你自己的安装与配置"。
另外,shim 运行时会优先选择本地版本兼容的 Node(与你自装环境一致),找不到时才回退到桌面端捆绑的 Node 运行时;捆绑的pnpmshim 也只会优先转发你系统中已装的 pnpm,不会劫持你的包管理器。
常见问题(FAQ)
Q:为什么安装后当前终端里dsh还是找不到?PATH 注册只对新开的终端进程生效。Windows 下新开的窗口通常立即生效;macOS/Linux 若 shell 会话较旧,重开一个终端即可。
Q:关闭开关会删掉我的会话数据吗?不会。关闭的只是命令行入口(shim + PATH 条目),~/.dsh下的档案、会话数据保持不变。
Q:shim 会吞掉我的命令参数或破坏交互式命令吗?不会。shim 不重定向 stdin/stdout、不修改工作目录,完整透传所有参数与退出码,交互式命令可正常使用。
Q:想在 Linux 内网离线环境用 dsh?下载离线安装包(Bundle 版本),Node 运行时与 Harness 内核随包分发,首次启动无需联网;命令行集成同样开箱即用。
小结
DeepSeek Harness Desktop 的 dsh 命令行集成做到了"安装即全局可用、关闭即干净还原":shim 包装脚本 + 用户级 PATH 注册(Windows 注册表 / Unix 幂等 rc 标记块)+ 自装 dsh 保留策略,让新手不必理解任何 shell 配置细节,也能在任何终端里直接输入dsh使用完整的 Harness 能力。想深入了解内部实现,可参考 src-tauri/src/service/cli/core.rs 与 src-tauri/src/service/cli/shim/build.rs,以及项目文档 docs/DEVELOPMENT.zh.md。
【免费下载链接】deepseek-harness-desktopDeepSeek Harness Tauri 桌面版 | Only 5mb installer, zero environment setup, preset plugins, Windows / macOS / Linux.项目地址: https://gitcode.com/gh_mirrors/dee/deepseek-harness-desktop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考