在AI智能体工程化落地领域,传统Agent开发方案普遍存在工具调用硬编码、模块耦合严重、模型切换成本高、任务执行链路不可追溯等痛点。开发者每更换一个业务场景,就需要大量修改底层循环逻辑、工具定义、会话存储代码,开发与维护成本居高不下。DeepSeek Harness,命令行简称为dsh,是一款开源Agent运行框架,底层基于Cordis插件内核,遵循“一切皆插件”的核心设计思想。它本身并非大语言模型,而是一套智能体执行运行时,官方定义为Model + Harness = Agent。模型负责思考推理,Harness负责环境感知、工具调度、任务状态维护、会话管理、沙箱权限控制,把模型的思考转化为真实可执行的操作。框架所有核心组件,包括模型适配器、工具集、会话存储、任务调度循环、沙箱安全策略、前端Web界面,全部封装为可插拔插件,开发者无需修改框架源码,仅通过配置文件即可自由组合、替换能力模块。
DeepSeek Harness内置四种预设运行模式,适配从日常开发、批量任务处理、基准测试到高级插件实验的不同场景,同时原生支持OpenAI兼容API接口,能够对接各类大模型服务。本文面向后端、AI应用开发者,完整讲解DeepSeek Harness环境准备、三种安装方式、四种运行模式深度解析、WebUI可视化使用、Python SDK代码实操、自定义插件开发、云服务器后台部署、安全策略配置、故障排查全流程,附带完整可运行命令与代码示例,帮助开发者快速搭建可落地、可追溯、可扩展的插件化AI智能体。详情👉访问阿里云百炼大模型服务平台页面 了解。


阿里云部署AI Agent:OpenClaw/Hermes Agent全网最简单,只需两步,详情👉访问阿里云OpenClaw/Hermes一键部署专题页面了解。








Token Plan Token 最便宜/支持多模型切换:👉访问订阅阿里云百炼Token Plan AI大模型服务 。支持多模型切换,用于多模态模型灵活调用,实现多模型、多工具、多场景下的额度共享与统一管理,兼顾灵活性、稳定性与安全性,大幅降低企业使用大模型的门槛与成本。



一、前置环境准备
DeepSeek Harness支持Linux、macOS、Windows全平台,推荐在ECS云服务器上部署,操作系统优先选用Ubuntu 22.04 LTS。硬件最低配置2核4G,系统盘40G以上,安全组开放22端口用于SSH远程登录;如需外部访问WebUI,按需开放3080端口。远程连接服务器命令:
ssh root@ECS公网IP地址
框架对Node版本有硬性要求,Node.js版本需要22.19及以上22.x版本,或者Node.js24及更高版本,低版本Node会出现模块加载失败、API缺失等运行报错。源码编译安装还需要Git与pnpm包管理器;Python SDK开发则需要Python3.10及以上版本。
在服务器终端执行命令,校验基础环境是否满足要求:
node -v
git --version
如果服务器没有安装Node.js,推荐使用nvm进行版本管理,方便后续切换Node版本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 22
nvm use 22
安装完成之后再次执行node -v,确认版本号达标。
模型接入准备:准备模型API密钥,框架原生支持DeepSeek系列模型,同时兼容OpenAI兼容接口,可接入百炼平台模型服务。密钥属于敏感凭证,不要硬编码写入代码,优先通过环境变量或者框架内置凭证配置文件管理。
二、DeepSeek Harness三种安装方式
框架提供三种部署方案,分别适合快速体验、长期高频使用、二次开发定制场景。
方式一:npx一键启动(推荐新手快速体验)
无需全局安装,一条命令直接拉起WebUI,自动下载缓存依赖包,是入门首选方案。
npx @deepseek-ai/dsh web
启动成功后,默认监听127.0.0.1:3080,浏览器访问http://127.0.0.1:3080即可打开Web可视化界面。
方式二:npm全局安装,长期稳定使用
频繁使用框架,推荐全局安装,每次启动无需重新下载包,执行下面命令:
npm install -g @deepseek-ai/dsh
# 查看版本,验证安装
dsh --version
# 查看全部子命令
dsh --help
# 启动web界面
dsh web
方式三:源码编译安装,适合二次开发、自定义插件开发
如果需要阅读底层源码、修改框架内核、开发自定义插件,采用源码克隆编译方式:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
# 安装pnpm包管理器
npm install -g pnpm
# 安装项目依赖
pnpm install
# 编译项目
pnpm build
# 启动web服务
pnpm run web
源码编译完成后,同样访问3080端口进入WebUI。
三、四大运行模式深度解析
DeepSeek Harness内置四种预设运行模式,不同模式会自动加载不同插件集合,控制Agent可用工具、执行逻辑,适配不同业务场景,新建会话的时候可以直接在WebUI中选择。
标准模式(standard,默认模式)
加载完整工具插件集合,包含文件读写、Shell命令执行、子任务委派、任务计划维护、文本检索等全套能力。适合绝大多数场景,代码项目分析、bug修复、文档整理、工程重构,开箱即用,也是新手入门首选。Agent会自动拆解复杂任务,分步执行,遇到高危操作会触发权限审批弹窗,不会直接执行高危命令。PTC程序化工具调用模式(Programmatic Tool Calling)
该模式的核心逻辑是让模型先生成一段调度代码,通过代码一次性编排多轮工具调用,减少模型与工具之间来回交互轮次,降低上下文内冗余中间信息,节省Token消耗。适合批量数据处理、多分支条件任务、连续查询类任务。PTC模式下,Agent的执行能力更强,因此需要重点做好沙箱隔离、超时控制、资源配额限制,防止意外执行高危指令。极简模式(minimal)
仅保留Shell执行工具与基础文件编辑工具,移除检索、子任务委派等额外插件。该模式主要用于模型能力基准测试,剥离额外工具插件带来的干扰,直接观测模型本身的规划、代码修改与终端操作能力。日常业务开发很少使用,多用于模型评测、科研实验场景。创造模式(creative)
属于高阶实验模式,在标准模式全部能力基础上,允许Agent在运行时测试、创建、修改Cordis插件,甚至自主生成新的运行模式。适合插件开发、智能体自我迭代的探索性实验,不建议生产业务直接使用,权限管控要求最高。
除预设模式之外,开发者可以编写配置文件,自定义插件组合,自由删减工具,打造专属Agent运行模式。
四、WebUI界面配置与基础任务实操
启动dsh web之后,浏览器访问页面,进入设置面板完成模型配置。找到模型配置卡片,填入API密钥,填写模型兼容接口地址,选择需要调用的模型名称。密钥保存后,系统只会展示脱敏后的描述,原始密钥存储在$DSH_HOME/.credentials.yaml,不会明文展示在界面上,提升安全性。
配置完成后,选择工作区Workspace目录,只有选定工作区之后,会话输入框才可以启用。工作区是Agent能够访问的目录,权限分为三档:ReadOnly只读权限,Agent仅能读取文件,不能修改;Workspace Write,允许在工作目录内读写文件;Full access完全权限,可执行更多操作,生产环境尽量避免直接使用Full access。
新建会话,选择运行模式,输入任务指令,例如:
分析当前仓库目录结构,梳理项目依赖,找出代码中的潜在漏洞,生成修复方案。
Agent会自动拆解任务,读取目录、遍历源码文件、执行shell命令,每一步操作都会记录在任务轨迹Trajectory面板,完整保存思考、工具调用、返回结果,支持任务回放、调试溯源。
五、Python SDK代码实操
框架提供Python SDK,适合在业务代码中直接嵌入Agent能力,编写程序驱动DeepSeek Harness执行任务。Python环境要求3.10及以上,先安装SDK包:
pip install deepseek-harness
下面给出完整可运行示例代码,创建Agent实例,加载标准模式,提交任务,读取任务执行轨迹。
from dsh import HarnessAgent, Workspace
import os
# 配置环境变量,填入模型API密钥
os.environ["DSH_API_KEY"] = "your-model-api-key"
# 工作目录,Agent仅允许操作该目录
workspace_path = "./agent_workspace"
ws = Workspace(workspace_path)
# 初始化Agent,选择标准模式
agent = HarnessAgent(
workspace=ws,
mode="standard",
model_id="deepseek-v4.1-flash"
)
# 提交任务
task_prompt = "遍历当前目录所有python文件,检查代码语法错误,输出所有问题清单。"
result = agent.run(task_prompt)
# 打印任务最终输出
print("任务执行结果:")
print(result.content)
# 遍历完整执行轨迹,用于调试
print("\n=====完整执行轨迹=====")
for step in result.trajectory:
print(f"步骤类型:{step.type}, 内容:{step.content}")
运行脚本:
python harness_demo.py
代码执行之后,Agent会自动在工作目录读取文件,调用工具,分步完成代码检查任务,全部执行步骤保存在trajectory轨迹对象,方便开发者做日志记录、故障排查。
除基础任务运行之外,SDK支持异步调用,适合后端服务集成场景,异步示例:
import asyncio
from dsh import HarnessAgent, Workspace
import os
os.environ["DSH_API_KEY"] = "your-model-api-key"
workspace_path = "./agent_workspace"
ws = Workspace(workspace_path)
async def run_agent_task():
agent = HarnessAgent(workspace=ws, mode="ptc", model_id="deepseek-v4.1-flash")
task = "读取data.csv文件,统计每列最大值最小值,输出markdown报告"
result = await agent.arun(task)
print(result.content)
if __name__ == "__main__":
asyncio.run(run_agent_task())
PTC模式异步执行,适合批量自动化处理任务,减少模型调用轮次,降低Token开销。
六、自定义插件开发入门
DeepSeek Harness核心优势就是插件化扩展,开发者可以编写自定义工具插件,扩展Agent能力。下面演示极简自定义工具插件,新增一个计算两个数字相乘的工具。插件基于Cordis内核开发,新建multi-tool.js插件文件:
// multi-tool.js 自定义乘法工具插件
module.exports = ({
plugin }) => {
plugin.registerTool({
name: "multiply_calc",
description: "计算两个数字相乘结果",
parameters: {
type: "object",
properties: {
a: {
type: "number", description: "第一个数字" },
b: {
type: "number", description: "第二个数字" }
},
required: ["a", "b"]
},
handler: async (args) => {
return {
result: args.a * args.b }
}
})
}
在框架配置文件中注册插件,重启Harness服务,Agent就可以自动识别并调用multiply_calc工具。自定义插件可以封装数据库查询、接口请求、邮件发送等各类业务能力,不需要修改框架底层代码。
七、云服务器后台常驻部署与systemd服务配置
在ECS服务器部署后,需要让Harness服务后台持续运行,关闭SSH连接服务不中断,两种方案:screen临时会话,或者systemd生产级服务。
方案1:screen后台会话
apt install screen -y
# 创建后台会话
screen -S dsh-agent
# 在会话内启动web服务
dsh web
# 按下Ctrl+A+D脱离会话,后台保持运行
# 重新接入会话命令
screen -r dsh-agent
方案2:systemd托管服务,生产环境推荐
新建服务配置文件:
vim /etc/systemd/system/dsh-harness.service
写入配置内容:
[Unit]
Description=DeepSeek Harness Agent Framework
After=network.target
[Service]
User=root
WorkingDirectory=/root/harness-workspace
ExecStart=/root/.nvm/versions/node/v22/bin/dsh web
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
重载配置、启用并启动服务:
systemctl daemon-reload
systemctl enable dsh-harness
systemctl start dsh-harness
# 查看实时日志
journalctl -u dsh-harness -f
八、安全策略、成本管控与权限最佳实践
DeepSeek Harness具备执行Shell、修改本地文件的能力,安全配置是重中之重。
权限策略优先遵循最小权限原则:日常开发优先使用ReadOnly或者Workspace Write权限,尽量避免Full access权限;配置沙箱规则,拦截高危命令,禁止删除系统文件、修改系统配置;工作目录独立隔离,不要将系统根目录作为工作区。
模型调用成本管控:PTC模式可以减少工具交互轮次,降低Token消耗,批量任务优先选用PTC模式;标准模式适合复杂推理任务;可以在模型服务控制台设置用量告警阈值,防止Agent自动循环调用产生超额消耗。所有任务执行轨迹完整保存,方便审计用量,定位异常调用。
九、高频故障排查指南
问题1:dsh命令找不到
Node版本不达标,或者nvm环境没有加载成功。执行source ~/.bashrc加载环境变量,重新确认node版本;全局安装确认npm全局路径加入环境变量。
问题2:WebUI访问3080端口打不开
服务器防火墙、安全组没有放行3080端口;或者服务监听在127.0.0.1,外部无法访问。可以修改启动参数,监听0.0.0.0,允许外部访问:
dsh web --host 0.0.0.0
问题3:模型调用返回鉴权失败
核对API密钥是否完整,无多余空格换行;确认接口地址、模型ID填写正确;检查模型服务额度状态。
问题4:Agent无法读写工作区文件
检查服务器文件目录权限,修改目录读写权限:
chmod 755 /root/harness-workspace
确认WebUI选定正确工作区,权限选项没有设置为只读。
问题5:PTC模式执行报错
PTC模式依赖模型代码生成能力,需要选用支持代码生成的模型;调高模型上下文窗口,增加异常捕获逻辑,防止生成的调度代码语法错误。
问题6:任务执行轨迹看不到步骤
检查日志插件是否正常加载;确认当前模式开启轨迹记录插件,极简模式部分版本会精简日志输出。
十、适用场景与扩展方向
DeepSeek Harness的插件化架构,适合多种AI智能体落地场景:代码工程自动化开发、项目漏洞扫描、私有文档检索分析、批量数据处理、科研实验Agent评测、子Agent多智能体编排。
在基础框架之上,开发者可以继续扩展更多能力:接入向量检索插件,搭建私有知识库RAG智能体;新增浏览器自动化插件,实现网页信息采集;开发子Agent插件,实现多智能体分工协作;自定义UI插件,搭建面向业务的专属前端界面。
总结
DeepSeek Harness作为开源Agent运行框架,以Cordis插件内核为基础,一切皆插件的架构,彻底解决传统智能体开发模块耦合、扩展困难的痛点。框架提供标准、PTC、极简、创造四种预设运行模式,覆盖从日常开发、批量任务、基准测试到高阶插件实验的全部场景,同时支持Web可视化交互、Python SDK业务集成、自定义插件开发。本文完整演示了环境准备、三种安装方式、模式原理、WebUI实操、Python代码示例、自定义插件、云服务器后台部署、安全管控与故障排查整套流程。详情👉访问阿里云百炼大模型服务平台页面 了解。


框架本身不绑定任何大模型,兼容各类OpenAI兼容接口,开发者可以灵活切换模型,按需组装工具集,不需要修改框架底层源码。在实际工程落地中,遵循最小权限原则,做好沙箱隔离,优先使用工作区读写权限,避免开放完全权限。PTC模式可以有效减少模型交互轮次,降低Token开销,适合大规模自动化任务;复杂工程推理场景选用标准模式。任务执行全链路轨迹记录,方便开发者调试、审计、复盘Agent执行过程,大幅降低AI智能体工程化落地的门槛。随着插件生态持续丰富,开发者可以基于这套框架快速搭建、迭代各类面向真实业务场景的AI智能体。