想本地跑一个对标 Claude Code / Cursor 的 Agent 框架,但不想被厂商锁定?DeepSeek 官方在 2026 年 8 月开源的 Harness(dsh) 用 npx 一行命令就能起 Web UI,3 步跑通——本文把官方仓库的「Everything is a Plugin」架构、4 种运行模式、11 张实测截图 + 报错速查一次给齐。
摘要:DeepSeek Harness(dsh)是 DeepSeek AI 开源的 Agent 运行时框架,基于 Cordis 插件系统,主打「Model + Harness = Agent」理念——一切皆插件,模型 / 工具 / 会话 / 沙箱 / UI 都能在配置层自由替换。本文实测 npx @deepseek-ai/dsh web 一键启动 Web UI(端口 3080),覆盖 GitHub 170.8k stars 项目的核心架构 + 3 种使用方式 + 7 条报错速查,适合需要定制 Agent 基础设施(对标 Claude Code / Cursor / Manus)的工程师。

检查环境命令(复制粘贴到终端):
|
1 2 3 |
node -v # 应输出 v18.x 或更高 npm -v # 应输出 9.x 或更高 which npx # 应输出 npx 路径(确认已安装) |
| 路径 | 代表项目 | 优势 | 劣势 |
|---|---|---|---|
| 云端托管 Agent | Claude Code / Cursor / Manus | 零部署、即开即用 | 厂商锁定、按 token 付费、数据出境 |
| 自建轻量 Agent 框架 | LangChain / AutoGen | 灵活、可控 | 需自配工具 / 沙箱 / 记忆系统,工作量大 |
| DeepSeek Harness | dsh(dsh = DeepSeek Harness) | 插件化 + 4 种模式 + 官方维护 | 开发者预览阶段,会破坏性更新 |
Model + Harness = Agent
模型负责预测下一个 token;Harness 决定模型能看到哪些上下文、调用哪些工具、记录什么会话事件、管理哪些文件与子进程——把这些「决策权」做成可插拔的插件,就是 dsh 的核心价值。
DeepSeek V4 系列是当前主推(V3 / R1 已于 2026-07-24 退役):
| 模型 | 总参数 | 激活参数 | 上下文 | 定位 |
|---|---|---|---|---|
| deepseek-v4-flash | 284B | 13B | 1M token | 轻量快速、Agent 优化 |
| deepseek-v4-pro | 1.6T | 49B | 1M token | 顶配推理、长上下文 |
| deepseek-v4-pro-max | — | — | 1M token | Pro 的极限推理模式 |
dsh 不必绑定 DeepSeek 模型——支持目录供应商 / 自定义 OpenAI 兼容路由,可灵活切换 Claude / GPT / 本地模型。
dsh 基于 Cordis 插件框架(论文 A Programming Paradigm for Spatiotemporal Composability),所有 Agent 能力都是插件:
启动时,dsh 通过有序插件树组合这些能力,并叠加 profile / bundle / patch——无需改源码,即可在配置层定制自己的 Agent。
|
1 |
npx @deepseek-ai/dsh web |
首次运行会自动下载 @deepseek-ai/dsh 包到 npx 缓存目录,约 30-60 秒。看到类似下面的输出即启动成功:
|
1 2 |
? DSH Web UI ready at http://127.0.0.1:3080 ? Opening browser... |
默认端口 3080(注意:不是 3000),自动打开默认浏览器。SSH 远程启动时只打印 URL,不自动开浏览器——传 --no-open 可关闭自动打开。
打开 Chrome / Edge,访问:
|
1 |
http://127.0.0.1:3080 |
进入 Web Agent 界面,按提示选择模型 + 任务 + 工具即可开始对话。
如果想跑最新 master 分支或贡献代码:
|
1 2 3 4 5 |
git clone https://github.com/deepseek-ai/deepseek-harness.git cd deepseek-harness pnpm install pnpm run build pnpm dsh web |
dsh 预置 4 种运行模式,对应不同 Agent 场景:
| 模式 | 适用 | 说明 |
|---|---|---|
| Standard | 通用对话 / 问答 | 默认模式,平衡速度与能力 |
| PTC(Programmatic Tool Calling) | 让模型用 TypeScript 组合多步工具调用 | 复杂工作流、跨工具编排 |
| Minimal | 极简、纯模型对话 | 关闭大部分插件,最轻量 |
| Creator | 自定义 Agent | 给开发者最大自由度配置插件 |
切换方式:在 Web UI 设置面板选择,或 CLI 参数 --mode=ptc。
下面是官方仓库 README + 实操过程中的关键截图:

GitHub 仓库首页——README 包含快速启动指南

执行 npx @deepseek-ai/dsh web 后的终端输出——包下载与初始化
Web 服务就绪——提示访问 127.0.0.1:3080


页面通用设置,设置Agent 模式、会话访问权限、显示语言、页面背景

Web UI 首页——模型选择面板(V4-Flash / V4-Pro 等)

自定义模型供应商——接入 OpenAI / Claude / 本地 vLLM 服务

插件管理界面——启用 / 禁用 / 配置 dsh-plugin

任务配置界面——选择 Agent 模式

创建项目文件后,创建对话,会话页面展示

会话结果页面——含 Trajectory 轨迹回放

| 报错信息 | 原因 | 解决方法 |
|---|---|---|
| npx: command not found | Node.js 未安装 | 安装 Node.js 18+:brew install node(macOS)/ 官网下载 LTS |
| EACCES: permission denied | npx 全局缓存目录无写权限 | sudo chown -R $USER:$(id -gn $USER) ~/.npm |
| EADDRINUSE: address already in use :::3080 | 3080 端口被占用 | lsof -ti:3080 | xargs kill -9,或指定端口 npx @deepseek-ai/dsh web --port 9080 |
| Cannot find module '@deepseek-ai/dsh' | npx 缓存损坏 | npm cache clean --force 后重试 |
| connect ETIMEDOUT | 网络无法访问 npm 仓库 | npm config set registry https://registry.npmmirror.com |
| 浏览器打开 127.0.0.1:3080 显示「无法访问」 | Web 服务未真正启动 / 防火墙拦截 | 检查终端 ready 日志;macOS 允许 Node 接受网络连接 |
| Model provider not configured | 未配置 API Key | 在 Web UI「设置」填入 DeepSeek API Key 或自定义 OpenAI 兼容 endpoint |
| Sandbox violation: network access denied | 沙箱策略禁止网络 | 在插件配置中启用 network: true(生产环境慎用) |