DeepSeek Harness 能干嘛?一文看懂这款"一切皆插件"的开源 Agent 框架
DeepSeek Harness(简称 dsh)是 DeepSeek AI 开发的开源 agent 框架,其核心设计是"一切皆插件":模型、工具、Agent 循环都可以自由组合。本文用一篇的篇幅,讲清楚它到底能帮你干什么、怎么上手,以及哪些场景适合用它。
一、它到底是什么
简单说,dsh 是一个让你能"指挥 AI 干活"的本地工具。你在浏览器里打开它,向它描述任务,它就能读写文件、执行命令、搜索网页,一步步把事情做完。
它由 Cordis 驱动,处于开发者预览阶段,正在快速迭代。目前通过 npm 生态分发,核心命令只有一条:
npx @deepseek-ai/dsh web执行后浏览器会打开 Web UI,默认地址为 http://127.0.0.1:3080。
二、它能替你做什么
1. 读写文件、改代码
把工作区指给 dsh(默认是启动命令所在的目录),它就能读取项目文件、修改代码、新增文件。比如让它"总结这个仓库并找出主要模块",它会扫描目录、阅读关键文件,然后给你一份结构化结论。
2. 执行命令
它可以在工作区里运行命令(如 ls、cat、构建脚本等),把执行结果纳入自己的判断。适合"帮我把测试跑一遍并修复失败项"这类任务。
3. 搜索网页
内置网页搜索能力,遇到不确定的信息会自己去查,并把来源链接带回来,适合需要最新资料的场景。
4. 多智能体协作
复杂任务可以拆给子代理并行处理(subagent);可以用工作流脚本编排一批子代理分阶段干活(workflow);还可以给长任务设置目标(goal),让它跨轮次持续推进直到完成。
5. 接入外部工具
通过 MCP(Model Context Protocol)协议连接外部服务,把它们的工具变成自己的。比如接上 GitHub、数据库等,配置方式很简单:
- id: mcp-github
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: github
transport: stdio
command: npx
args: ['-y', '@modelcontextprotocol/server-github']三、怎么用:两种入口
入口一:Web UI(推荐新手)
启动后打开 http://127.0.0.1:3080,按三步配置即可使用:
- 打开设置 -> 模型,填入 DeepSeek API 密钥并保存(密钥只写不读,安全存放于 $DSH_HOME/.credentials.yaml)
- 点击"选择工作区",选中项目目录
- 输入任务,开始干活
入口二:命令行一次性任务(headless)
适合脚本化、批处理场景:
dsh --profile headless "把测试跑一遍并修复失败"运行完会直接输出最终结果并退出。
四、安全和权限怎么控制
dsh 内置进程沙箱,有三种权限模式:
- 只读(read-only):只能看不能改
- 工作区可写(workspace-write):只能改工作区内的文件
- 完全访问(danger-full-access):不限制
当操作需要更高权限时,Web UI 会弹出审批请求,由你确认后才放行。对不熟悉的项目,建议先用只读模式试水。
五、想二次开发怎么办
1. 按需组装能力(Profile)
dsh 的实例由多个插件组合包叠成,想精简或增加能力,改 profile 配置即可,核心配置文件位于 $DSH_HOME/profiles/ 目录下。
2. 自定义技能(Skill)
用 SKILL.md 格式写一个技能文件,放在项目目录或 $DSH_HOME/skills/ 下,就能给 agent 增加一项专长,相当于给它一份"操作手册"。
3. 开发插件
每个能力都是一行插件声明,可以自己写插件注册工具或服务,然后通过 dsh plugin 命令安装到 profile。
4. 程序化调用(Python SDK)
不想用界面?可以装官方 Python SDK,在代码里调用同一套能力:
pip install deepseek-harness-sdk适合 CI 流水线、批量任务等自动化场景。
总结
DeepSeek Harness 的核心价值在于:把"让 AI 干活"这件事变得可组合、可控制、可编程。它能读文件、跑命令、搜网页,支持多智能体协作和外部工具接入,同时用沙箱和审批机制把风险管住。如果你正在找一个本地化、插件化、方便二次开发的 Agent 框架,dsh 值得一试。



