DeepSeek Harness 完整功能盘点:它能做什么、适合谁、与竞品相比优势在哪
DeepSeek Harness 完整功能盘点:它能做什么、适合谁、与竞品相比优势在哪
🔭 一句话总结:DeepSeek Harness 是一套完整的 Agent 运行基础设施——覆盖文件/终端/浏览器/代码工具,支持 4 种运行模式和 9 类插件,细拆 40+ 功能点,深度对标 OpenAI Codex 与 Anthropic Claude Code。
产品定位再梳理
在深入功能清单之前,先明确 Harness 的定位边界:
DeepSeek Harness 不是:
- 一个新的 AI 对话产品(那是 ChatDeepSeek)
- 一个需要下载的大型模型文件
- 一个面向普通用户的开箱即用工具
DeepSeek Harness 是:
- 一个开发者框架,用于构建和运行 AI Agent
- 一个插件容器,接入任意模型和工具组合
- 一个任务执行引擎,让模型真正”做事”而非”回答”
功能全景图
DeepSeek Harness
│
├── 🧠 模型接入层(Model 插件)
│ ├── DeepSeek-V4 / V4-Pro / V4-Flash
│ ├── Claude 系列(Anthropic)
│ ├── GPT 系列(OpenAI)
│ ├── 开源模型(Qwen、Llama 等 via Ollama)
│ └── 支持自定义 Model 插件
│
├── 🔧 工具层(Tool 插件)
│ ├── 文件系统(读/写/搜索)
│ ├── 终端执行(Shell 命令)
│ ├── 浏览器(网页抓取/内容提取)
│ ├── 代码编辑器(增量修改/格式化)
│ ├── Git 操作(commit/push/diff)
│ ├── HTTP 客户端(API 调用)
│ └── 支持自定义 Tool 插件
│
├── 🎯 技能层(Skill 插件)
│ ├── 代码审查(安全/性能/可维护性)
│ ├── 文档生成(JSDoc/README/CHANGELOG)
│ ├── 单元测试生成
│ ├── 代码重构建议
│ ├── 依赖分析
│ └── 支持自定义 Skill 插件
│
├── 🔄 循环控制(Loop 插件)
│ ├── maxIterations(最大轮次)
│ ├── converged(输出收敛检测)
│ ├── toolNotFound(工具缺失处理)
│ ├── costLimit(成本上限)
│ └── humanApproval(人工审批)
│
├── 🏗️ 调度层(Scheduler 插件)
│ ├── roundRobin(轮询调度)
│ ├── capabilityBased(能力匹配)
│ ├── priorityBased(优先级调度)
│ └── dependencyBased(DAG 依赖)
│
├── 📦 执行环境(Sandbox 插件)
│ ├── 进程级隔离
│ ├── 文件系统白名单
│ ├── 网络访问控制
│ └── 资源配额(CPU/内存/时间)
│
├── 💾 存储层(Storage 插件)
│ ├── 会话历史持久化
│ ├── Agent 状态快照
│ ├── 任务结果缓存
│ └── 支持 Redis / SQLite / 文件系统
│
├── 💬 界面层(UI 插件)
│ ├── Web UI(浏览器交互)
│ ├── TUI(终端交互)
│ └── Headless(API 模式)
│
└── 🤝 多 Agent 协作
├── createAgent()(创建 Agent)
├── composeAgents()(组合 Agent)
├── Agent 间消息传递
└── 共享上下文空间
9 类插件能力详解
1. Model 插件:接入任意大模型
核心能力:
- 模型热切换(不改代码,换配置即可)
- 支持流式输出(streaming)
- 支持 Tool Use / Function Calling 协议
- 支持多模态(图像输入,按模型能力)
- 支持自定义 prompt 模板
已官方支持:
| 模型 | 插件名 | 说明 |
|---|---|---|
| DeepSeek-V4-Pro | @deepseek-ai/model-deepseek-v4 |
默认模型 |
| Claude 3.5 Sonnet | model-claude |
Anthropic |
| GPT-4o | model-openai |
OpenAI |
| 本地 Ollama 模型 | model-ollama |
开源模型 |
2. Tool 插件:让 Agent 操作真实世界
文件系统工具:
readFile(path)— 读取文件内容writeFile(path, content)— 写入文件editFile(path, patch)— 增量修改文件listDir(path)— 列出目录glob(pattern)— 通配符搜索文件grep(pattern, path)— 全文搜索getFileStats(path)— 获取文件元信息
终端工具:
exec(cmd, env?)— 执行 shell 命令execWithTimeout(cmd, ms)— 超时控制getWorkingDirectory()— 获取当前目录setWorkingDirectory(path)— 切换目录
浏览器工具:
fetchUrl(url)— 获取网页 HTMLextractText(selector)— CSS 选择器提取takeScreenshot()— 截图(Headless 模式)
代码工具:
searchCode(query)— 代码库语义搜索getDefinition(symbol)— 跳转定义getReferences(symbol)— 查找引用formatCode(language)— 代码格式化
Git 工具:
gitStatus()— 查看当前状态gitDiff(files?)— 查看变更gitCommit(message)— 提交gitLog(count)— 查看提交历史gitBranch()— 操作分支
3. Skill 插件:垂直场景自动化
代码审查 Skill:
- 扫描常见安全漏洞(SQL 注入、XSS、命令注入等)
- 性能问题检测(N+1 查询、内存泄漏等)
- 可维护性评分
- 自动生成 review 意见
文档生成 Skill:
- JSDoc 注释生成
- README 自动生成(分析代码库结构)
- CHANGELOG 提取(基于 git log)
- API 文档生成
测试生成 Skill:
- 基于函数签名生成单元测试
- 覆盖率优化建议
- Mock 对象自动生成
4. Loop 插件:控制 Agent 何时停止
内置策略:
| 策略 | 触发条件 | 适用场景 |
|---|---|---|
maxIterations |
达到 N 轮后停止 | 防止无限循环 |
converged |
连续两轮输出相同 | 结果已收敛 |
toolNotFound |
请求的工具不存在 | 安全降级 |
costLimit |
token 或成本达到上限 | 成本控制 |
humanApproval |
每轮等待人工确认 | 高风险操作 |
errorThreshold |
连续错误 N 次 | 错误处理 |
5. Sandbox 插件:安全隔离执行
隔离维度:
- 进程隔离:每个命令在独立进程执行,超时强制 kill
- 文件系统白名单:Agent 只能读写
allowedPaths内的文件 - 网络控制:
networkAccess: false完全禁用网络;allowedDomains白名单 - 环境变量过滤:禁止注入敏感环境变量到 Agent 进程
- CPU 时间限制:防止恶意无限循环占用资源
- 内存限制:防止内存泄漏耗尽系统内存
典型配置:
{
"sandbox": {
"enabled": true,
"allowedPaths": ["/workspace/project"],
"networkAccess": false,
"maxMemoryMB": 1024,
"maxCpuTimeSec": 30,
"envWhitelist": ["NODE_ENV", "PATH"]
}
}
6. Storage 插件:持久化与缓存
会话存储:
- 自动保存对话历史
- 支持会话恢复(resume)
- 支持会话导入 / 导出(JSONL 格式)
Agent 状态快照:
- 定期保存 Agent 运行时状态
- 支持断点续跑(从某个状态恢复)
任务结果缓存:
- 相同 task 输入的缓存结果(内容寻址)
- 避免重复执行浪费 token
存储后端:
| 后端 | 插件名 | 适用场景 |
|---|---|---|
| 文件系统 | storage-fs(默认) |
本地开发 |
| SQLite | storage-sqlite |
小规模部署 |
| Redis | storage-redis |
生产环境 / 多实例 |
| S3 | storage-s3 |
大规模分布式 |
7. Scheduler 插件:多 Agent 调度
调度算法:
| 算法 | 说明 |
|---|---|
roundRobin |
轮询分配任务 |
capabilityBased |
按 Agent 能力标签匹配 |
priorityBased |
任务优先级排序 |
dependencyBased |
按依赖 DAG 拓扑排序 |
loadBalancing |
按当前负载分配 |
协作模式:
- 规划者 + 执行者:规划 Agent 拆解任务,执行 Agent 分别完成
- 审查者 + 执行者:执行 Agent 写代码,审查 Agent 做安全扫描
- 专家路由:根据任务类型(前端 / 后端 / DevOps)路由到对应专家 Agent
8. UI 插件:三种交互界面
Web UI
┌──────────────────────────────────────────────────┐
│ 🔭 DeepSeek Harness [标准模式 ▼] [⚙️] │
├──────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ 🤖 Agent ready — deepseek-v4-pro │ │
│ │ 模型支持: 128K context / Tool Use / 多模态 │ │
│ └──────────────────────────────────────────┘ │
│ │
│ 💬 用户 │
│ 帮我分析这个代码库的测试覆盖率 │
│ │
│ 🔧 Agent │
│ 🔍 正在执行: 遍历测试文件... │
│ 📊 检测到: 42 个测试文件,覆盖率 67.3% │
│ ⚠️ src/api/users.ts 覆盖率仅 23% │
│ ✅ 建议: 为 getUser / updateUser 添加单元测试 │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ 🟢 Sandbox: 隔离运行 · 网络: 关闭 │ │
│ │ 📁 访问范围: /workspace │ │
│ └──────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────┘
TUI(终端 UI)
纯终端界面,适合服务器无 GUI 场景,键盘操作:
Tab— 切换面板Enter— 发送任务Ctrl+C— 停止当前任务Ctrl+L— 清屏Ctrl+S— 保存会话
Headless API
REST API 模式,适合 CI/CD 集成:
# 创建 Agent
POST /api/agents
{ "model": "deepseek-v4-pro", "mode": "standard" }
# 运行任务
POST /api/agents/{id}/run
{ "task": "分析代码覆盖率", "files": ["./src"] }
# 查询状态
GET /api/agents/{id}/status
# 获取结果
GET /api/agents/{id}/result
9. Cordis 插件开发:扩展 Harness
自定义插件模板:
import { CordisPlugin, CordisContext } from '@deepseek-ai/cordis';
export const myCustomPlugin: CordisPlugin = {
name: 'my-custom-plugin',
version: '0.1.0',
metadata: {
description: '我的自定义插件',
author: 'Your Name',
tags: ['custom', 'example']
},
dependencies: [], // 声明依赖
async register(ctx: CordisContext) {
// 注册服务
ctx.provide('myService', async () => {
return { /* 服务实现 */ };
});
},
async init(ctx: CordisContext) {
// 订阅事件
ctx.on('agent:beforeThink', (data) => {
console.log('[my-plugin] Agent 开始思考:', data.task);
});
},
async destroy(ctx: CordisContext) {
// 清理资源
}
};
发布为 npm 包:
mkdir my-plugin && cd my-plugin
npm init -y
npm install @deepseek-ai/cordis
# 编写插件代码...
npm publish
使用自定义插件:
{
"mode": "standard",
"plugins": {
"extra": ["my-custom-plugin"]
}
}
竞品功能矩阵
| 功能 | DeepSeek Harness | OpenAI Codex | Claude Code |
|---|---|---|---|
| 开源协议 | MIT ✅ | ❌ 闭源 | ❌ 闭源 |
| 插件架构 | ✅ Cordis | ❌ | ❌ |
| 多模型切换 | ✅ | ❌ | ❌ |
| 多 Agent 协作 | ✅ | ❌ | ❌ |
| 4 种运行模式 | ✅ | ❌ | ❌ |
| Sandbox 隔离 | ✅ | ❌ | ❌ |
| Storage 持久化 | ✅ | ❌ | ❌ |
| Web UI | ✅ | ❌ | 部分 |
| TUI 终端 | ✅ | ❌ | ❌ |
| Headless API | ✅ | ✅ | ❌ |
| 工具自定义 | ✅ | ❌ | ❌ |
| npm 部署 | ✅ npx |
❌ | ❌ |
适合的场景 vs 不适合的场景
✅ 强烈推荐使用 Harness
- 构建企业内部的 AI Agent 系统
- 需要在私有化环境部署 Agent
- 想用自有模型(而非 OpenAI API)驱动 Agent
- 需要多 Agent 协作完成复杂任务
- 开发者需要高度定制 Agent 行为
⚠️ 不适合纯新手用户
- 只是想”找个 AI 帮忙写代码”的终端用户 → 选 Claude Code
- 需要在生产环境稳定运行 → 等 v1.0
- 需要 24/7 商业支持 → 考虑商业闭源方案
相关链接
- GitHub:
https://github.com/deepseek-ai/deepseek-harness - npm:
@deepseek-ai/dsh - DeepSeek 官网:
https://www.deepseek.com - DeepSeek API:
https://platform.deepseek.com
- 🔭 功能清单基于 v0.1 开发者预览版及官方媒体报道,部分功能在正式版中可能有所调整。*
评论区
0 条评论
登录后可评论。