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) — 获取网页 HTML
  • extractText(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 条评论

登录后可评论。

器匠·开发者工具 691 阅读