DeepSeek Harness 深度调研报告
DeepSeek 的 Harness 终于来了。我们以技术视角看下这个到底有什么特点,能做什么,尤其是在企业场景中有那些价值。
"Everything is a Plugin" — DeepSeek Harness 项目口号 官方公式:
Model + Harness = Agent
一、项目概况
deepseek-harness-sdk) | |
| developer preview | |
npx @deepseek-ai/dsh webhttp://127.0.0.1:3080 | |
核心定位:模型之外的一切——工具、记忆、agent 循环、桌面集成、MCP、反馈系统——都属于 Harness。不是模型的薄壳,而是与模型协同设计(co-design)的工程层,这也是与普通第三方 agent 框架的本质区别。

二、核心特点
1. 一切皆插件,无特权内核
模型适配器、工具注册表、会话日志、agent 循环本身都是插件,全部可从配置替换。 扩展 = 在旁边挂一个插件;注册行为是可逆 effect,插件卸载时自动回滚。 配置通过 profile(配置档)+ bundle(组合包)+ patch 层 叠加: profile.bundles 顺序 → profile 的 cordis.patch.yml → $DSH_HOME 用户级 patch → --patch 覆盖。任意一行配置都能被用户的 patch 覆盖: dsh --profile web --dump-config可预览整棵配置树。坑:patch 是整行替换、无 deep-merge,覆盖时必须重述该行所有保留字段。
2. 事件驱动的一等公民架构
会话事件(append-only 持久化,可重放)——事实必须存活 agent 事件( agent/*,携带活的 Agent,可观察/拦截在途工作)能力事件( fs/*、tools/*、telemetry/*,挂接策略与适配器)核心不变量:模型可见即必须入日志。会话日志是模型上下文的唯一来源,fork/恢复/转录/遥测/持久化全部从这条流派生。新增模型可见输入必须先扩展 SessionEventMap并支持从日志渲染。
3. Turn/Step 两级执行模型
step = 一次模型请求 + 它调用的工具;turn = 零或多个 step。 数据流: turn/start → 认领输入 → 组装 prompt 与工具 schema → agent/pre-step → step/start → llm/stream → assistant/* → tool/call → tools/* 执行管线 → step/end。agent/pre-step决定模型看到什么(可重写/可拒绝);三个tools/*事件是瀑布(需调next()委派)。输入统一走一个 inbox;注入的上下文等在 inbox 里直到有消息唤醒。
4. 能力缝(Seam)设计——换一个 Provider 换整个产品
每个能力 = Service Definition / Service Provider / Consumer 三角,三者缺一不构成缝。 FS 与子进程共享同一执行世界:把 FS provider 指向远端沙箱,Bash/PTY/LSP 一起跟着走,无需 provider 分叉。 子代理同样是缝:从"全新子代理"到"委派给另一产品的 turn"都是同一个 interface 的实现。
5. 企业级安全是设计支柱(非后补)
权限策略 + 审批门:Web UI 在执行需审批的操作前询问;内置 Plan 审查、访问确认(access-confirmation)、审批器(approval-composer)。 双平台沙箱:Linux 走 Landlock(native/landlock-run 自降权 launcher,npm 三件套 + 平台 optional dependency),Windows 走 ACL restricted-token;bash/pwsh 按平台互斥挂载(同一 patch 文件、一个平台恰好一套 shell 栈)。 高危操作(文件修改、磁盘格式化等)有强制确认工作流,灵感来自量化交易的风控设计。
6. 与模型深度协同(生态闭环)
面向 DeepSeek KV 缓存做上下文工程:缓存命中 token 成本低两个数量级, dsh刻意保持 prompt 前缀稳定以最大化 cache hit。内置消息反馈协议(feedback command / message-feedback),把推理轨迹、规划失败、工具使用效率回喂模型微调——这是 DeepSeek 独有的护城河。 上下文管理:KV 缓存复用 + 压缩/截断 + 按任务复杂度动态调整上下文窗口。
三、能做什么
headless 一次性任务(打印结果退出,可直接进 CI);自定义 profile;Python SDK 编程式控制 | |
input: [text, image],Web UI 可传图(DeepSeek 官方 chat 路由仅文本) | |
DeepSeekHarness |
四、企业使用场景
1. 研发效能自动化(第一个成熟场景)
Bug 定位修复、多文件功能开发、代码评审、重构迁移、测试编写。对比 Claude Code 的差异化是成本:KV 缓存 + Pro/Flash 模型混用 + 峰谷定价调度,单位任务成本显著低于纯 Claude 方案。第三方实测显示不同框架同一任务工具调用次数差异巨大(Claude Code ~70 次 vs 某开源 ~22 次),框架效率直接决定运营成本。
2. 安全合规的 Agent 落地
审批门 + Plan 审查 + Landlock/ACL 沙箱 + 可重放日志 → 适合金融、政企等"高危操作人工确认、失败可复盘、中间状态一致"的硬性要求场景。重启前后中间状态一致是明确的产品约束。
3. 成本治理
DeepSeek V4 峰谷定价(北京时间 9-12 / 14-18 峰时翻倍),配 harness 定时调度把非紧急批处理挪到闲时 + 最大化缓存命中。
4. 嵌入式 / 平台化
Python SDK 把 Agent 嵌进企业自有系统(指定 workspace、session_root、收 JSONL 审计日志);headless 模式直接进 CI/CD 流水线做自动化验收。
5. 多模型网关 / 去供应商锁定 / 私有化
企业自建网关、私有化 OpenAI 兼容端点均可接入;私有化场景模型与 harness 分离,数据不出域。Provider ID 永久不可改(请求、会话、默认模型、凭证引用都用它),换 ID = 新增再删旧。
五、风险与注意
开发者预览期:破坏性变更频繁,慎用于生产核心链路,先小范围试点。 生态尚浅:skill/插件市场远不如 Claude Code 成熟;web 端大量能力(skill 调用、规划、调度、workflow)仍以 e2e 测试覆盖形式存在。 默认偏编码 Agent: danger-full-access组合仅限一次性容器/可丢弃目录;Windows 默认走 pwsh + ACL 受限 token。运行环境:Python SDK 需 Linux x64 / arm64 或 macOS 14+ arm64;无系统 Node 也可运行(捆绑运行时)。 第三方博客关于"内测招募/排期"的叙述多为推测,事实以仓库与官方 README 为准。
六、与 UniEmployee 的对照(参考)
两者理念同向但粒度不同:
| 岗位化 | ||
可对标借鉴点:
capability-seam 三角设计(Definition/Provider/Consumer)→ UniEmployee 的工具/连接器抽象可参考; session-log 可重放审计 → UniEmployee 的 traces 全链路可观测可借鉴; 审批门 + Plan 审查分层 → UniEmployee 的 HITL 双路径审批可扩展; 成本侧:KV 缓存 / 模型分级 → UniEmployee 选模型策略的优化方向。
附:关键资源
仓库:https://github.com/deepseek-ai/deepseek-harness 官方站点:https://deepseek.com/harness 架构文档: docs/architecture.md(阅读顺序:cordis-primer → architecture → event-producer-consumer → capability-seams → extension-cookbook)Cordis 论文:《A Programming Paradigm for Spatiotemporal Composability》 社区:GitHub Discussions、Discord、企微群(README 扫码)
? 万智创界 - AI Native 智能生产力工作室
专注 AI Agent、数字员工与智能自动化, 帮助企业将知识、流程与经验转化为真正可以执行的 AI 能力。


