返回 DeepSeek Harness 介绍与源码审查 →

全面介绍 · 上手指南

DeepSeek Harness(DSH)全面介绍与上手指南

讲清 DeepSeek Harness 是什么、怎么用 npx 启动 Web UI、接入 DeepSeek 或其他模型、默认权限和沙箱边界,以及社区非官方的 DSH Go 安卓客户端,均链接官方文档。

文档核验

核验日期:2026-11-09。本文依据 DeepSeek Harness 仓库的 README、安全说明和用户文档,以及 DSH Go 仓库的 README 整理。本站尚未实际安装运行这两个项目,文中的命令和界面路径都来自官方文档,没有经过我们自己验证。DSH 目前是开发者预览版(核验时 npm 上最新为 0.2.2-rc.1),官方明确说会有破坏兼容性的变更,命令以文中链接的原文为准。

DeepSeek Harness(命令名 dsh)是 DeepSeek AI 开源的 agent harness(智能体运行框架):它不是一个新模型,而是一套让模型读写文件、执行命令、调用工具、维护计划的运行环境。官方的设计口号是“一切皆插件”,底层用的是 Cordis 插件框架。日常使用最直接的入口是一个本机 Web UI,另外还有无界面的 headless、SDK、ACP 等运行模式。

DSH Go 则是社区开发者做的非官方 Android 客户端,它的 README 写明与 DeepSeek 无关联。它可以在手机里装一套 Linux 环境直接跑 DSH,也可以连到你电脑或服务器上的 DSH。本文先讲官方 DSH,再讲 DSH Go,最后说明两者的关系。

如果你想先看源码审查结果,见 DeepSeek Harness 资料页 和 DSH Go 资料页。

先看安全说明

官方仓库要求运行前先读 SAFETY.zh.md。要点如下(以下为官方原意的转述):

  • DSH 是实验性的开发者预览软件,没有做过安全审计,不能当作安全或可用于生产的软件。
  • 它会执行模型生成的代码和命令,加载第三方插件,并能访问提供给它的网络、进程、凭据和文件。模型出错、程序缺陷、配置错误、恶意输入或不可信插件,都可能损坏主机、删改文件或泄露数据。
  • 沙箱、审批和权限控制能降低风险,但不保证隔离。
  • 官方建议用最小权限运行,优先放在一次性的虚拟机、容器或专用环境里,并备份它能访问到的文件。

我们的建议是:第一次试用时,开一个只放测试项目的目录,或者直接在虚拟机里跑。

第一步:安装并启动 Web UI

官方给了两种方式,都需要 Node.js。仓库 package.json 和 npm 包里声明的 Node 版本要求是 >= 24.9.0,版本太旧可能无法启动,先用 node -v 确认。

用 npm 直接运行(推荐先试这个):

npx @deepseek-ai/dsh web

默认会在 http://127.0.0.1:3080 启动 Web UI,本机启动时会自动打开浏览器;加 --no-open 只启动服务、不开浏览器。通过 SSH 在远程机器上启动时,它只打印地址,因为本地转发的端口由你的 SSH 客户端或编辑器决定。

从源码运行:

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

pnpm run build 负责准备构建产物,pnpm dsh web 直接使用这些产物,不会重新构建。仓库锁定的包管理器是 pnpm 11。见 官方 README。

注意你在哪个目录启动。 dsh 会把启动时所在的目录当作默认的文件位置,所以请在你打算让它工作的项目目录里运行命令,而不是在主目录里。

第二步:配置模型

Web UI 启动后,打开 设置 → 模型:

  • DeepSeek:在 DeepSeek 卡片里填入 DeepSeek 开放平台 的 API 密钥并保存,立即生效,不用重启。
  • 其他提供商:选择“添加模型提供商”,列表里有 anthropic、openai、Kimi 对应的 moonshotai、GLM 对应的 zai 等内置项,填 key 即可。
  • 中转站、公司网关或自建服务:切到“自定义模型 API”,填 Provider ID、基础 URL、协议和模型。协议只有三种可选:OpenAI Chat Completions、OpenAI Responses、Anthropic Messages,必须选网关实际使用的那种。Provider ID 创建后不能改,想改名只能新建一个再删掉旧的。

密钥在页面上是只写的,保存后不会再显示明文,存放在 $DSH_HOME/.credentials.yaml。用 dsh web 启动时,模型等设置写在 $DSH_HOME/profiles/web/cordis.patch.yml,也可以直接编辑这个文件。

费用方面:DSH 软件本身按 MIT 许可证免费,模型调用按你所用提供商的价格计费,本文不列具体价格。见 官方模型配置指南。

第三步:选择工作区,跑第一个任务

全新的 Web UI 没有选中任何工作区,选中工作区之前输入框是不可用的。点“选择工作区”,添加你启动 dsh 时所在的项目目录并选中,然后新建会话。官方示例让它先做一件只读的事:

Summarize this repository and identify its main packages.

官方文档说,Agent 可以读写工作区文件、运行命令、委派子任务和维护计划;遇到当前权限策略要求审批的操作时,Web UI 会先询问你。见 Web UI 指南。

权限和沙箱:默认是什么,边界在哪

DSH 把“沙箱模式”和“审批策略”打包成几个预设,在界面上作为一个权限选择器出现。根据 权限预设文档,默认配置有两项:

预设 沙箱模式 审批 含义
workspace-write 只允许写工作区(及显式加入的目录、临时目录) 需要审批时询问 日常使用的起点
danger-full-access 不做文件限制 从不询问 完全放开,只适合一次性环境

另有一个实验性的 Auto 选项(由 Auto review 插件提供),组合是完全放开的文件访问加上需要时询问。

要清楚沙箱管的范围。根据 沙箱文档:

  • 沙箱只约束文件写入,网络访问和进程可见性不在它的管控范围内。
  • 后端是 Linux 的 bwrap/Landlock、macOS 的 Seatbelt 和 Windows 的 ACL 受限令牌;较旧的 Landlock 版本和 Windows 后端属于“部分强制执行”,不能当作绝对边界。

所以,即使用的是 workspace-write,也不要在它能访问的环境里放生产凭据。

其他运行方式

dsh web 只是其中一种入口。根据 CLI 文档,同一个 dsh 命令还能这样用:

命令 用途
dsh --profile headless "任务描述" 无界面运行一次任务,打印最终答复后退出,适合脚本和 CI
dsh --profile sdk 通过 stdio 的 JSON-RPC 对接 SDK 客户端(另有 Python SDK)
dsh --profile acp 通过 ACP 协议对接自动化客户端
dsh plugin --profile <名称> <pnpm 参数> 管理某个 profile 的插件

插件就是普通的 npm 包,官方鼓励插件作者给仓库打上 dsh-plugin 话题。安装第三方插件前要看清来源:安全说明把不可信插件列为主要风险之一。仓库里还有 Electron 桌面端源码(apps/desktop),但核验时最新的 GitHub Release 没有附带安装包。

想在别的设备上访问 Web UI?

Web UI 默认只监听本机回环地址,其他设备访问不到。官方的做法是在前面放反向代理,并用 --public-url 和 --trusted-host 告诉 DSH 外部地址,或者用 --tls-cert、--tls-key 让它自己提供 HTTPS。启动时打印的链接里带有访问令牌,只发给你信任的人,也不要用明文 HTTP 暴露到公网。见 反向代理部署文档。

DSH Go:在 Android 手机上用 DSH

DSH Go 是社区开发者 ccch1mneyyy 做的 Android 客户端,用 Flutter 编写,主体代码为 AGPL-3.0,sdk/ 和 examples/ 为 MIT。它的 README 写明:这是社区开发的非官方项目,与 DeepSeek 无关联。核验时最新版本为 v1.0.13。

它有两种用法:

  • 手机本机运行:在 App 内安装 Ubuntu、Node.js 和 DSH 运行环境,不需要 Root 或 Termux,需预留约 1 GB 空间。注意:引擎在手机上,模型请求仍然发给你配置的模型提供商,需要联网,也照常计费,本机运行不等于离线。
  • 遥控电脑上的 DSH:通过 SSH 或社区项目 DSHarness Remote 连接电脑或服务器上的 DSH。只连远程时,手机上不必安装本机环境。README 说明,走 DSHarness Remote 时功能较少:只支持图片附件,不能在 App 内打开网页版,插件管理只能开关。

安装:要求 Android 8.0 及以上。从 GitHub Releases 下载 APK,常见手机选 arm64 包,没有 32 位 ARM 版本。它不在 Google Play 上,需要允许“安装未知来源应用”;目前也没有 iOS 和鸿蒙版本。手机上装过签名不同的早期测试包时不能直接覆盖安装,卸载旧版会清空对话、Linux 环境和设置。

使用前要知道的几件事(均来自 DSH Go README):

  • “发送匿名使用统计”默认开启,可在首次引导或“设置 → 隐私与分享”里关闭。
  • “手机操控”功能开启后,本机引擎可以读屏幕、点按和输入;任务需要的屏幕文字可能发给模型,支持看图的模型还可能收到截图。作者建议不要在存有支付或银行信息的设备上解除限制。
  • 分享链接是端到端加密的,但拿到完整链接的人可以读取并保存内容。

两者是什么关系,该用哪个

DeepSeek Harness(DSH) DSH Go
开发者 DeepSeek AI 官方 社区开发者,与 DeepSeek 无关联
是什么 Agent 运行框架本身 运行或连接 DSH 的 Android 客户端
运行在哪 电脑或服务器(Node.js) Android 手机(本机运行或遥控电脑)
许可证 MIT AGPL-3.0(sdk/、examples/ 为 MIT)
分发方式 npm 包,或从源码构建 GitHub Releases 上的 APK 侧载
版本状态 开发者预览,核验时 GitHub 上只有预发布版本 核验时为 v1.0.13,发版频繁

简单说:DSH Go 不替代 DSH,它跑的就是 DSH。先在电脑上用 npx @deepseek-ai/dsh web 把官方 Web UI 跑通,确认模型和权限设置都没问题,再考虑要不要用 DSH Go 在手机上接着用。只想在手机浏览器里临时看一眼的话,官方 0.2.2-rc.1 的发布说明提到 Web UI 已经改进了手机和平板适配,配合上面的反向代理方式也可以用,但同样要注意访问令牌的安全。

常见问题

DSH 是一个新模型吗?

不是。它是运行框架,需要你自己接入模型。默认推荐 DeepSeek API,也可以接 Anthropic、OpenAI、Kimi、GLM 或任何兼容上述三种协议的网关。

为什么 DSH 没出现在本站“本周正式版本”里?

核验时 DSH 在 GitHub 上发布的都是预发布版本(alpha、rc),而 趋势页 的“本周发布新版本”只统计正式版本。

能用于生产吗?

官方安全说明的原话是不能把它当作安全或可用于生产的软件,而且开发者预览期间会有破坏兼容性的变更。

DSH Go 是 DeepSeek 出的吗?

不是。DSH Go 的 README 明确说它是社区开发的非官方项目,与 DeepSeek 无关联,也不代表 DeepSeek。

来源