DeepSeek Harness(dsh)安装使用保姆级教程

  发布时间:2026-08-25 10:21:21   作者:Htr_   我要评论
本文给大家介绍DeepSeek Harness(dsh)安装使用指南,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

DeepSeek Harness(dsh)安装使用指南:一切皆插件的开源 Agent 框架

2026 年 8 月 13 日,DeepSeek 正式开源其 Agent 框架 DeepSeek Harness(命令行名 dsh),MIT 协议。它不是一个新模型,而是让模型能操作文件、运行命令、调用工具的"执行层"——Agent = Model + Harness。

一、DeepSeek Harness 是什么?

1.1 核心理念

Agent = Model + Harness

  • Model(模型) 是 Agent 的"灵魂",负责思考和推理
  • Harness(线束) 是 Agent 的"身体",让它理解环境、使用工具、在真实世界中持续工作

网页版对话 AI 交付的是一段话,Harness 交付的是一件做完的事

1.2 “一切皆插件”

DeepSeek Harness 构建在 Cordis 微内核之上(源自 Koishi 生态,设计思想来自论文 A Programming Paradigm for Spatiotemporal Composability)。整个系统的每一个环节——模型接入、工具调用、会话存储、审批策略、UI 组件——都是可替换、可组合的插件

这意味着:

  • 想换模型服务?改配置,不动源码
  • 想加个工具?装个插件
  • 想改审批策略?换个审批插件

与 Claude Code、Codex 等把核心逻辑写死的工具不同,DSH 从模型到工具注册表,从会话日志到审批策略,全部插件化

1.3 核心能力

能力说明
自主读写本地文件在划定的工作区内操作文件
执行终端命令Shell / PowerShell,带审批机制
多步骤任务规划拆解任务逐步执行,非一问一答
多模型兼容BYO Model,支持 DeepSeek、OpenAI、Anthropic 及自定义端点
插件自由扩展NPM / Git / 本地路径三种安装方式
全链路可追溯每次运行的系统提示、推理、工具调用、结果全部记录
多端使用Web UI / 桌面端 / 终端 TUI / 无头模式 / Python SDK

1.4 当前状态

二、环境要求

项目要求
操作系统Windows / macOS / Linux
Node.js≥ 22.19(推荐 Node 24 LTS,兼容性最优)
包管理器npm(Node 自带);源码构建需 pnpm ≥ 10
内存≥ 4 GB
磁盘预留 2 GB 以上
网络可访问 npm 与 DeepSeek 开放平台
浏览器Chrome / Edge 最新版

检查环境:

node --version   # 应输出 v22.19 或更高
npm -v

如果 node -v 低于 v22.19 或提示 command not found,到 nodejs.org 下载最新 LTS 版安装,务必保留安装器默认勾选的"添加到 PATH",装完重启终端。

macOS 用户可用 Homebrew:

brew install node@24
brew link --overwrite --force node@24

三、安装与启动(四种方式)

方式 A:一行命令快速启动(推荐首次体验)

npx @deepseek-ai/dsh web

npx 会自动拉取并运行,无需预先安装。首次启动会下载全部依赖,根据网速耗时 1-3 分钟属正常。

启动成功后终端打印:

dsh web: http://127.0.0.1:3080

浏览器打开 http://127.0.0.1:3080 即进入 Web 界面。

方式 B:全局安装(日常使用推荐)

npm install -g @deepseek-ai/dsh
# 验证安装
dsh --version
# 启动 Web UI
dsh web

方式 C:源码构建(开发者 / 二次定制)

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
corepack enable        # 启用 pnpm
pnpm install
pnpm run build
pnpm dsh web

适合需要修改内核、自定义原生插件、跟进最新迭代或参与开源贡献的用户。

方式 D:Python SDK(程序化接入)

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
python -m venv .venv
# Windows: .venv\Scripts\activate
# macOS/Linux: source .venv/bin/activate
pip install deepseek-harness-sdk
export DEEPSEEK_API_KEY='你的密钥'

内置运行时,无需单独安装 Node.js。

启动后的三个关键认知

  1. 终端窗口不能关dsh web 进程是真正干活的 Host,浏览器只是操作界面。终端一关,网页立刻失联——这是设计,不是故障。
  2. 默认只监听本机127.0.0.1),局域网其他设备访问不到,这是安全设计。
  3. 端口可换:3080 被占用时用 dsh web --port 8080

四、首次配置三步走

第 1 步:申请 DeepSeek API Key

  1. 打开 DeepSeek 开放平台,注册登录并充值少量余额(如 10 元,日常试用消耗极低)
  2. 左侧进入 API Keys,点击创建 API key,输入名称
  3. 密钥只在创建那一刻显示一次,立即复制保存,关掉页面就再也看不到了

安全规范:禁止截图泄露密钥、禁止明文写入代码文件、禁止上传到 Git 仓库。

第 2 步:配置 API Key

在 Web 界面的设置弹窗中粘贴密钥并保存,无需重启服务即时生效

密钥字段是只写的——保存后页面只能看到脱敏描述符,不会回显明文。密钥存储在 $DSH_HOME/.credentials.yaml

第 3 步:选择工作区

官方自带严格安全隔离:未选中工作区时,所有对话输入框是锁定禁用的,这是新手最常见的卡点。

  1. 界面左侧点击选择工作区+ 新增本地文件夹
  2. 安全禁忌:禁止选择系统盘根目录、系统文件夹、桌面全目录、隐私文件目录
  3. 推荐:新建一个空白专属文件夹,仅用于 Harness 任务处理
  4. 选中后输入框自动解锁

验证部署

跑一个只读任务验证一切就绪:

请读取当前工作区的全部文件与目录结构,仅做汇总展示,不修改、不新增、不删除任何文件。

AI 正常输出目录清单、无报错、无超时,即部署完成。

五、Web 界面速览

区域功能
左侧工作区文件树、会话列表(自动永久保存,支持搜索/重命名/删除/回溯)
中间对话区。输入框支持 @ 引用本地文件、粘贴图片附件
右侧产物预览(HTML、文档、图表等)
底部状态栏当前模型、上下文 Token 占用、推理速度 TPS、缓存命中率、工作区权限等级

轨迹面板(Trajectory)

DSH 的核心特色。完整记录:

  • 系统提示词
  • 模型推理过程
  • 工具调用记录(参数 + 返回结果)
  • 文件修改日志
  • 终端命令执行详情

逐条可回溯、可排查报错。支持按来源筛选、搜索、导出。

“Every run is traceable”——模型看到的一切都记录在只追加的会话日志中。

六、权限与安全

6.1 三档权限模型

权限档内部名允许操作典型场景
只读Read Only只读,不能修改任何文件调查、总结、出方案
工作区写Workspace Write只能在工作区内写文件日常默认
全访问danger-full-access全盘读写,无边界高风险操作,切换前二次确认

danger-full-access 的内部名已经说明了风险等级——它是"危险模式",不是"高级模式"。

6.2 一个必须建立的认知

权限限制的是"写",不是"看"。 Workspace Write 只限制写入范围;读取文件、联网、查看系统进程不受同等限制。它的"手"被绑住了,但"眼睛"是自由的。

涉及敏感操作(联网上传、系统级改动)会触发审批弹窗,由你确认后才会执行,不会静默放行。

6.3 底层沙箱

三档权限有真实的操作系统级沙箱支撑:

平台沙箱机制
Linuxbwrap(bubblewrap)/ Landlock
macOSSeatbelt
WindowsACL 受限令牌

另有两个常驻纠偏插件:

  • 重复无效动作检测:防止 Agent 对着同一个失败方案反复重试
  • 超时强制中断:防止任务无限期运行

七、四种预设模式

Preset(预设)是能力组合包——同一种模型,挂上不同的工具集和规则,就能承担不同的"岗位"。

模式工具集适合场景
标准模式(Standard)全功能:文件编辑、Shell、检索、Skills、计划、子代理、工作流功能最完整,拿不准就选它
代码模式(Code Mode)模型编写 TypeScript,把多步工具操作组合成一段程序一次执行批量任务,效率提升 3-8 倍
极简模式(Minimal)仅保留核心文件编辑、Shell 工具,禁用冗余插件性能评测、轻量化精准调试
创造模式(Creator)插件热加载、自定义 Agent 模板、内核调试插件开发、私有化工作流定制

注意:模式决定工具集,中途切换会破坏会话可复现性,所以新建会话后无法切换模式,需提前选择。

八、模型接入:不止 DeepSeek

DSH 是 BYO Model(自带模型) 模式——框架本身不带模型,需要自己配置可用的模型端点。

8.1 DeepSeek 官方 API

设置 → 模型 → 在 DeepSeek 卡片中粘贴 API Key → 保存。

可选模型:

  • DeepSeek V4 Pro:Agent 能力增强版
  • DeepSeek V4 Flash:轻量快速版

8.2 其他官方目录提供方

设置 → 模型 → 添加提供方 → 选择 Anthropic / OpenAI 等 → 输入 API 密钥 → 保存。

使用原生认证的提供方(Bedrock、Vertex、Azure、Codex)需要各自的专属凭据(AWS 凭据与区域、ADC 项目、api-version、OAuth 等),只填 API Key 无法完成配置。

8.3 自定义提供方(公司网关 / 自建服务器)

设置 → 模型 → 添加自定义提供方,填写:

字段说明
Provider ID小写标识,永久性——重命名 = 新建再删旧的
显示名称可随时修改
基础 URL你的 API 地址
API 协议openai-completions
凭据API Key 或环境变量引用(如 apiKeyEnv: GATEWAY_API_KEY
模型至少一个模型 ID;支持 GET /models 的端点可自动发现

8.4 视觉模型

自定义模型在声明能力之前一律按纯文本对待。要让它接收图片,需在 $DSH_HOME/settings.yaml 中添加:

llm-pi-ai:
  providers:
    my-gateway:
      apiKeyEnv: GATEWAY_API_KEY
      api: openai-completions
      baseURL: https://gateway.example/v1
      models:
        - id: legacy-chat
        - id: vision-preview
          input: [text, image]

8.5 常见报错

报错含义与解决
MISSING_CREDENTIAL密钥未配置:通过模型页存储密钥,或提供环境变量
UNKNOWN_MODEL模型未配置:选择已配置模型,或添加缺失的模型 ID
获取模型返回 401密钥无效;该服务不支持 GET /models 时请手动输入模型 ID
图片发送前被拒模型未声明图片能力:给自定义模型加 input: [text, image]

九、会话与上下文管理

9.1 会话操作

操作说明
新建点"新会话",选择模式、权限、模型
重命名 / 搜索会话多了之后靠它们找历史
恢复随时接着历史会话继续聊
归档从列表隐藏,数据不删,可从"已归档"恢复
Fork从某一轮分出一条新会话,原会话不受影响——适合"同一起点试不同做法"

9.2 上下文管理

  • DSH 通常会自动整理较早的对话(自动压缩)
  • 需要立即压缩时手动执行 /compact,把早期对话整理成摘要
  • 压缩不会删除原始历史——完整日志仍保留在轨迹面板

9.3 快捷键

按键作用
Shift + Enter换行,不发送
终端 Ctrl + C停止整个 DSH Host

十、插件系统

10.1 安装方式

官方原生支持 NPM 包 / Git 地址 / 本地路径三种插件安装方式:

# Web 全局插件安装
dsh plugin --profile web add 插件包名
# 示例:安装官方图像识别插件
dsh plugin --profile web add @liustack/modlens

安装完成后刷新 Web 界面自动加载,可在 设置 → 插件 面板统一管理启用/禁用。

10.2 插件分类

发布时即内置 159 个插件,涵盖:

  • 模型插件:各 LLM 提供方接入
  • 工具插件:文件操作、终端、网页搜索、代码执行等
  • 技能插件(Skills):可复用的任务模板
  • 会话插件:存储、压缩、标题生成
  • 沙箱插件:各平台隔离机制
  • UI 插件:界面组件扩展

10.3 配置即组合

开发者可以在配置文件中选择、替换或扩展任何能力,无需修改 DSH 源码。这是"一切皆插件"的实际体现。

十一、进阶玩法

11.1 终端 TUI

dsh-tui 是官方收录的社区终端插件,界面对标 Claude Code,适配 VS Code 终端、Linux 远程 SSH 运维、全键盘操作:

npm install -g @deepseek-ai/dsh @deepseek-harness-tui/dsh-tui
# macOS/Linux 配置密钥并启动
export DEEPSEEK_API_KEY='你的完整API Key'
dsh-tui

启动后输入 /doctor 自检:检测 Node 版本、系统架构、模型连接、密钥有效性、工作目录权限、插件加载状态。

常用斜杠命令:

分类命令
会话/new 新建、/resume 恢复、/rename 重命名、/compact 压缩、/export 导出
模型/model 切换、/cost 查看计费、/status 查看状态
工具/permissions 查看权限、/mcp 查看插件、/provider 添加模型
开发/audit 代码审计、/review 代码评审、/update 一键更新
个性化/theme 切换主题、/lang 中英切换、/help 全部指令

11.2 无头(Headless)模式

无需交互界面,后台静默执行任务,适配脚本自动化、CI 流水线、定时任务、服务器批量运维场景。

11.3 Python SDK

import deepseek_harness_sdk as dsh
# 以编程方式启动任务、接收结果

11.4 VS Code 扩展

市场搜索 DeepSeek Harness for Visual Studio Code,安装后可在编辑器侧边栏直接使用 Workbench,支持设置 API Key、查看日志、重载运行时。

十二、常见问题排查

现象原因解决
command not found: nodeNode 未安装或未加入 PATH重装 Node,保留"添加到 PATH"勾选;已安装则关掉终端重开
node -v 低于 v22.19版本过旧官网下载最新 LTS 覆盖安装
command not found: dsh全局安装未成功重跑安装命令看报错;改用 npx @deepseek-ai/dsh web 兜底
端口被占用3080 被其他程序占用dsh web --port 8080
网页打不开启动失败或端口冲突看运行终端的报错输出;Ctrl + C 停掉重启
输入框灰色无法输入未选择工作区左侧选择/新增一个工作区文件夹
模型调用 401API Key 含空格、过期、账号无余额重新复制密钥并刷新配置
文件读写失败工作区文件夹权限不足更换新建空白文件夹作为工作区
页面空白加载失败代理/VPN 干扰或缓存问题关闭代理、清空浏览器缓存,更换 Chrome/Edge 重试

排错第一原则:先看跑 dsh web 的那个终端窗口——绝大多数问题的答案都在它的报错输出里。

十三、安全注意事项

  1. API Key 即密码:只在创建时可见一次,不截图、不发公开渠道、不写进代码/仓库
  2. 工作区即边界:只给 Agent 授权它该碰的文件夹;敏感目录(桌面、文档、系统盘)不要设成工作区
  3. danger-full-access 慎用:切换前会二次确认,理解风险再开
  4. 开发者预览版:可能快速迭代、出现破坏性变更,重要环境记得锁版本、看更新日志
  5. 写操作需审批:Agent 执行删除、批量修改、高危 Shell 命令时会弹窗确认,留意弹窗内容,不盲目点允许

参考资源

DeepSeek Harness 目前处于开发者预览阶段,迭代极快。文中命令与配置如与官方最新版有出入,以官方仓库 README 与文档为准。

到此这篇关于DeepSeek Harness(dsh)安装使用保姆级教程的文章就介绍到这了,更多相关DeepSeek Harness使用指南内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

相关文章

最新评论