当前位置: 首页 > news >正文

Agent的“乐高工厂”:DeepSeek Harness的微内核架构与插件化工程全景剖析

Agent的“乐高工厂”:DeepSeek Harness的微内核架构与插件化工程全景剖析

——深度剖析DeepSeek Harness的Cordis微内核架构、“一切皆插件”的设计哲学与从Agent执行底座到生态枢纽的范式跃迁

一句话概括:DeepSeek Harness不是又一个编码助手,而是一套以Cordis微内核为骨架、以“一切皆插件”为最高设计原则、以“Model + Harness = Agent”为核心公式的开源Agent运行时——让模型适配器、工具注册表、会话日志乃至Agent主循环本身全部成为可替换、可热插拔的插件,从而将Agent从“开箱即用的精装房”变成“可以自由拆改的毛坯房”,并在开源一周内获得超过16万颗GitHub Star。

2026年8月13日深夜,DeepSeek在推出V4 Pro正式版几个小时后,悄无声息地把一个名为DeepSeek Harness的项目扔上了GitHub。

不到12小时,GitHub Star突破5万。72小时后突破10万。到8月19日,这个数字飙升至16.1万——创下了开发者工具类项目增速纪录之一。

看起来难以置信,对吧?一个开发者预览版,API随时可能破坏性变更,文档还在快速迭代,凭什么让全球开发者如此狂热?

答案藏在它的架构宣言里:Everything is a plugin——一切皆插件。

这句话不是营销口号,而是字面意义上的工程承诺:模型适配器、工具注册表、会话日志,乃至Agent主循环本身,全部以插件形式存在,每一个都可以被替换。

DeepSeek Harness(命令行工具名dsh)不是DeepSeek V4的“编程助手版”——叫“Code”的产品(Claude Code、Codex)定位是AI编程助手;而Harness的定位是更底层的**“Agent执行底座”** 。编码只是它官方预置的一套组合,开发者完全可以用它拼出跟编程毫无关系的Agent。

本文将从项目起源、微内核架构、核心子系统、插件开发、安全与权限、生态演进和工程实践七个维度,深度剖析DeepSeek Harness的技术全貌——它不是在做一个“更聪明的编码助手”,而是在重新定义“Agent运行时该长什么样”

一、项目起源:从Cordis到Harness的“跨界移植”

1.1 一个被忽略的细节:Cordis的“前世今生”

DeepSeek Harness底层跑的是一个名叫Cordis的元框架。这个框架并非为AI而生——它原本服务于QQ机器人圈,是Koishi聊天机器人框架的核心引擎。

Cordis的设计写在一篇由北京大学和DeepSeek-AI Harness负责人崔添翼共同完成的论文中:《A Programming Paradigm for Spatiotemporal Composability》(时空可组合性的编程范式)。

这篇论文提出的核心思想是:将Agent组件拆解为两个维度——空间(哪些组件组合在一起)和时间(组件在什么顺序下执行)——从而实现“时空可组合性”。

DeepSeek把Cordis的源码整个拷进自己的仓库,以此为地基搭建了Harness。Cordis提供的不是具体的AI能力,而是一套**“零件怎么装、怎么接、怎么换,以及换完以后怎么安全地把依赖都拆掉”** 的组装规则。

1.2 开源时间线与社区反应

时间事件数据
2026年8月13日DeepSeek Harness v0.1开发者预览版开源MIT协议
8月13日深夜上线GitHub
<12小时GitHub Star突破5万
约72小时GitHub Star突破10万
8月19日Star达16.1万创开发者工具类增速纪录
8月17日迭代至v0.1.0-rc.7
8月19日发布v0.1.0-rc.814项更新,多模态能力增强

项目的开发节奏同样惊人:从6月10日第一条提交到8月13日公开,64天里完成超过12,000次提交,附带683篇设计笔记,连被否决的11条方案都摊在仓库里。

1.3 “精装房”与“毛坯房”:一个关键的类比

理解DeepSeek Harness最准确的方式,是把它和Claude Code、Codex放在一起对比:

对比维度Claude Code / CodexDeepSeek Harness
定位AI编程助手(成品)Agent执行底座(施工图)
架构底层核心固定,功能通过插件扩展一切皆插件,连核心都可替换
模型绑定绑定自家模型模型适配器是插件,可换任意模型
许可证闭源MIT开源
用户像“精装房”——墙不能拆、格局不能动“毛坯房+预制件”——墙随便拆、零件随便换

二、微内核架构:没有特权内核的Agent运行时

2.1 架构总览:七层核心包 + 无限插件层

DeepSeek Harness的架构可以概括为**“一个不动点 + 七个核心包 + 无限插件层”** 。

唯一“不可动”的是Cordis Runtime——它只提供六种最基础的操作:装一个组件(use)、记录一次可撤销修改(effect)、提供一种能力(set)、读取一种能力(get)、把同一种能力隔离开(isolate),以及在能力外面加一层使用规则(intercept)。

在这之上,官方架构文档明确列出的最核心一层有7个包

核心包职责
Session(会话日志)事件溯源的仅追加日志,LLM消息历史由它派生
System Prompt(系统提示组装)动态拼接系统提示词
Tools(工具系统)工具的注册、发现与执行
Agent(Agent注册与接口)Agent类型的定义与注册
Agent Loop(智能体循环)驱动Agent推理与行动的主循环
Scope(作用域注册)作用域的声明与管理
LLM(模型适配接口)多模型供应商的适配层

再往外展开,默认模型选择、持久化、沙箱(Sandbox)、审批策略、设置、凭据也全部做成插件。再上一层,则是上下文压缩、Skill、子Agent、Workflow、文件系统、Shell、存储、UI、API等。

设计模式解读:这里体现的是微内核架构模式(Microkernel Architecture Pattern)——内核(Cordis Runtime)只提供最基础的插件管理和通信机制,所有具体功能(模型、工具、会话、循环)都以插件形式运行在内核之上。这与操作系统内核的设计哲学一脉相承。

2.2 热插拔与可逆副作用

Cordis的插件管理机制有三个关键特性:

① 依赖驱动的加载顺序:一个插件缺少依赖,就先不启动,依赖齐了再加载。

② 热替换:依赖的组件被替换,依赖它的插件会重新加载

③ 可逆副作用:插件退出时,它产生的作用会按记录撤销;如果别的插件还依赖它,则先让下游插件退出,再真正把它拿掉。

这种设计确保了插件可以被干净地拆卸和替换,不会留下“僵尸副作用”污染运行时

2.3 为什么“没有特权内核”如此重要?

在DeepSeek Harness之前,市面上的Harness(Claude Code、Codex、Hermes、Pi)都是底层核心固定、功能通过插件扩展的模式。

DeepSeek Harness的突破在于:把过去被默认属于Harness“底层框架”的东西也拆成了插件——Session、System Prompt、Tools、Agent、Agent Loop、Scope、LLM,这些在之前的Harness中都是不更新版本就不会动的核心组件

这意味着:如果你不喜欢DeepSeek Harness的Agent Loop实现,你可以把它整个换掉,而不用等官方发新版。

三、核心子系统:从会话日志到Agent Loop

3.1 Session:事件溯源的“唯一真源”

Session是DeepSeek Harness最核心的设计之一。它是一份由类型化SessionEvent组成的仅追加日志(append-only log)——Agent完整交互历史的唯一真源(single source of truth)

关键设计

  • LLM消息历史从日志派生,从不单独存储
  • 所有抵达模型请求的内容,都必须可从该日志中还原
  • 恢复、分叉、回放、转录、遥测以及Web界面等核心功能,均建立在这一单一事件流之上
  • 任何新增的模型可见输入,都对应着一个新的会话事件类型

“Every run is traceable”——每一次运行都是可追溯的。

设计模式解读:Session体现的是事件溯源模式(Event Sourcing Pattern)——不存储当前状态,而是存储所有状态变更的事件序列;当前状态通过对事件序列的回放来重建。这让“时间旅行”(回到任意历史状态)成为天然能力。

3.2 Agent Loop:可替换的执行引擎

DeepSeek Harness将Agent Loop拆分为轮次(Round)和步骤(Step)两个层次:

  • 一个步骤:对应一次模型请求以及这次请求触发的工具调用
  • 一个轮次:可以包含零个或多个步骤,由默认的agent-loop负责驱动

对于需要多轮持续推进的任务,DeepSeek提供了两套不同的执行机制

机制上下文继承状态传递适用场景
Goal Round继承当前会话上下文直接传递需要保持对话连续性的长任务
Ralph Run不继承父级会话通过共享工作区+结构化交接报告需要隔离上下文的独立子任务

注意:定时执行或循环执行属于另一类机制,由调度器负责管理,不属于Goal/Ralph的生命周期。

3.3 Tools:可插拔的行动空间

模型无法直接感知宿主机,它所理解的“外部世界”由Harness暴露给它的工具Schema定义

工具接口主要处理四件事:

  1. 控制暴露范围:避免全量前置加载——不要每轮都把所有工具描述塞进上下文
  2. 设计错误反馈:错误信息也是接口的一部分
  3. 减少能力歧义:工具命名和描述要清晰
  4. 规范命名与分组:让模型能准确选择工具

3.4 四种预设模式:从标准到创造

DeepSeek Harness预置了四种运行模式

模式核心能力适用场景
标准模式(Standard)完整编码智能体:文件系统、Shell、网页搜索、子Agent、计划模式通用开发任务
极简模式(Minimal)仅保留bash和str_replace_editor两个工具轻量快速响应
代码模式(Code)生成TypeScript SDK,让模型直接编写程序多工具调用场景
创造模式(Creator)标准模式+运行时检查+插件实验+预设编写指导自定义Agent预设

代码模式的特别之处在于:它不再将工具作为独立的函数调用暴露给模型,而是生成一个TypeScript SDK,让模型直接针对该SDK编写程序,从而将原本需要五次往返的操作压缩为单次调用

四、安全与权限:沙箱、审批与权限模式

4.1 沙箱机制:给Agent划活动边界

Agent会读写文件、执行命令——这两件事都指向真实机器上的资源。DeepSeek Harness的安全核心是一套沙箱+权限模式机制:给Agent划定活动边界,越界操作要么被拦截、要么先询问用户。

本地沙箱后端通过DeepSeek自行开发的Node插件,将子进程分别封装在:

  • Linux:Landlock
  • macOS:Seatbelt
  • Windows:ACL受限令牌运行器

沙箱本身也是插件——ctx.sandbox服务契约定义了SandboxProvider接口和统一的隔离词汇表(SandboxMode)。

4.2 三种权限模式

DeepSeek Harness提供了三种权限模式,对应不同的安全级别:

权限模式行为适用场景
只读模式禁止写入操作代码审查、文档阅读
确认模式危险操作前请求用户批准生产环境默认
完全模式所有操作自动执行可信环境、开发测试

设计原则:“能用read-only就不给写权限”。

4.3 安全警示:预览版需谨慎

作为开发者预览版,DeepSeek Harness在安全方面仍有待完善。社区已报告了包括沙箱绕过、本地RPC无认证等安全问题。

官方对此持开放态度——GitHub Discussions中已有详细的安全审计报告和PoC(概念验证)代码。对于生产环境部署,建议等待后续稳定版本并谨慎评估安全边界

五、插件开发:约20行代码跑通一个工具插件

5.1 插件的“最小可运行形态”

在DeepSeek Harness中,插件是一个导出apply函数的TypeScript模块

// 一个最小插件importtype{Context}from'@deepseek-ai/cordis'exportfunctionapply(ctx:Context){// 通过ctx注册能力ctx.tools.register(defineTool({name:'my-tool',description:'我的自定义工具',// 工具实现...}))}

框架在加载时调用apply,传入一个ctx(上下文对象),开发者通过ctx注册能力。

约20行代码即可跑通一个工具插件

5.2 插件开发的完整流程

  1. 安装DSHnpx @deepseek-ai/dsh web
  2. 配置API Key:在Web界面左下角进入设置,粘贴API Key
  3. 选择工作区:决定Agent的文件访问范围
  4. 编写插件:创建TypeScript文件,导出apply函数
  5. 挂载插件dsh web --patch ./cordis.yml

5.3 插件生态的快速崛起

DeepSeek Harness开源仅数日,社区插件生态已颇具规模。开发者可以通过为插件仓库添加dsh-plugin话题来便于被发现。

六、生态演进:从“Agent底座”到“调度枢纽”

6.1 子Agent收编:Claude Code和Codex成为“零件”

DeepSeek Harness最引人注目的生态动作是将Claude Code和Codex收编为子Agent

这意味着:你可以在DeepSeek Harness的编排下,将任务委托给Claude Code或Codex执行,由dsh负责上层调度和结果整合。

在rc.8版本中,Claude Code和Codex不再跟主体一起分发,变成了按需安装的Profile Bundle

6.2 多模型支持:不绑定DeepSeek

DeepSeek Harness在设计上并不与DeepSeek自家模型绑定。其提供商目录涵盖:

  • Anthropic(Claude)
  • OpenAI
  • AWS Bedrock
  • 微软Azure
  • 谷歌Gemini Enterprise Agent Platform
  • DeepSeek自身接口端点
  • 兼容OpenAI接口标准的自定义推理网关

用户可以通过LLM适配器接入其他模型。社区已成功配合Qwen3.8-27b等模型使用。

6.3 rc.8:多模态与协作能力升级

2026年8月19日发布的v0.1.0-rc.8带来了14项更新:

更新方向具体内容
多模态输入DeepSeek模型适配器支持原生图片请求,/goal/plan等命令支持图文混合输入
子代理协作Claude Code和Codex按需安装,作为Profile Bundle
终端体验Windows PowerShell会话支持
Web体验自动打开浏览器
工具调用支持并发查询等提速优化

七、工程实践:从安装到生产

7.1 快速开始

# 安装Node.js后,一行命令启动Web UInpx @deepseek-ai/dsh web

该命令默认在http://127.0.0.1:3080启动Web UI。

7.2 从源码运行

gitclone https://github.com/deepseek-ai/deepseek-harness.gitcddeepseek-harnesspnpminstallpnpmrun buildpnpmdsh web

7.3 配置模型

在Web界面左下角进入设置,找到模型配置,把API Key粘贴进去保存。除了DeepSeek外还可以添加其他模型。

7.4 开发者预览的注意事项

DeepSeek Harness目前处于开发者预览阶段,官方明确预告后续会有破坏性变更

建议关注:

  • 版本锁定:生产环境使用请锁定具体版本
  • 安全评估:预览版存在已知安全边界问题,需谨慎评估
  • 文档跟进:文档、源码和插件体系正在快速迭代

八、总结与展望

8.1 核心设计哲学提炼

DeepSeek Harness的演进可以用三句话概括:

  1. “Model + Harness = Agent”——模型负责思考,Harness负责让模型真正“干活”。这两样合起来,才是能自主行动、把任务真正干完的Agent。

  2. “一切皆插件,连Loop都能换”——DeepSeek Harness把模型适配器、工具注册表、会话日志、Agent主循环全部设计为可替换插件。这不是“可扩展”,而是“可重构”。

  3. “从Agent底座到生态枢纽”——开源一周内,DSH从“DeepSeek的执行框架”变成了“整个社区的Agent运行时底座”。将Claude Code和Codex收编为子Agent,标志着它正在成为跨Harness的调度枢纽。

8.2 核心架构亮点速览

亮点说明
Cordis微内核只提供6种基础操作,所有功能都是插件
事件溯源Session仅追加日志作为唯一真源,支撑恢复/分叉/回放
可替换Agent LoopGoal Round和Ralph Run两套执行机制
四种预设模式标准/极简/代码/创造
多模型支持不绑定DeepSeek,支持OpenAI/Claude等
沙箱隔离Linux Landlock/macOS Seatbelt/Windows ACL
子Agent收编Claude Code和Codex可作为子Agent调度
MIT开源可商用、可修改、无版权限制

8.3 对开发者的启示

DeepSeek Harness的故事告诉我们:Agent框架的下半场竞争,不在“谁的编码助手更强”,而在“谁的Agent运行时更开放”。

Claude Code和Codex证明的是“一个精良的成品能做得多好”。DeepSeek Harness证明的是“一套开放的施工图能让整个社区建出什么”。

对于开发者,这意味着:

  • 如果你需要开箱即用的编码助手→ Claude Code或Codex是更好的选择
  • 如果你想构建自己的Agent产品→ DeepSeek Harness提供了最开放的底座
  • 如果你需要多模型支持→ DeepSeek Harness的模型适配器是插件,可自由替换
  • 如果你需要自定义Agent Loop→ 在DeepSeek Harness中,连主循环都可以替换
  • 如果你关注安全→ 目前是预览版,建议等待稳定版本并谨慎评估
  • 如果你在构建插件生态→ 约20行代码即可跑通一个工具插件

最后,DeepSeek Harness的故事才刚刚开始。从8月13日的首次开源,到8月19日的rc.8多模态升级,再到将Claude Code和Codex收编为子Agent——每一次迭代都在回答同一个问题:如何让Agent从“一个封闭的产品”变成“一套开放的积木”?

而答案,正写在每一行DeepSeek Harness的源码和每一次插件的热插拔里。

本文数据来源:DeepSeek Harness GitHub仓库、官方架构文档、DeepSeek官方博客、极客公园、36氪、InfoQ、CSDN、阿里云开发者社区等公开技术资料。所有版本号、发布日期及功能特性均基于公开可验证的官方资料。


如您所在的企业正面临AI Agent平台建设、多模型统一接入或智能体工程化的相关需求,欢迎进一步沟通。我们可提供针对贵企业具体场景的定制化方案和现场调研服务。

http://www.cnnetsun.cn/news/4261259.html

相关文章:

  • 9000AI的项目联营和代运营、外包团队的本质区别是什么?李家旺:核心在利益绑定
  • 012-方法学比较
  • 基于Parser解析的车辆重识别:从语义分割到精准检索的实战指南
  • 200+ 插件!这个仓库收集了几乎所有的 DeepSeek Harness 插件!
  • 从黑盒到白盒:构建模块化RAG系统的核心组件与工程实践
  • Seedance 2.5专业工具:AI视频生成如何从玩具走向生产工具
  • STM32 DAC实战指南:从基础配置到DMA任意波形输出
  • LLM生产环境部署成本拆解:从显存计算到推理框架落地实践
  • 面向开发者的AI Agent支付系统设计与安全实践
  • 朴素贝叶斯中文情感分析实战:豆瓣电影评论三分类系统
  • 学习周记实践指南:构建个人知识管理系统,对抗遗忘驱动成长
  • 三层 vs 五层定制纸箱:大件家电运输破损率与成本增量实测对比
  • 把Claude Code会话变成实时流程图:AI编程代理的可观察性探索
  • AI未来50年:Power的三重含义与工程化落地
  • 面向具身智能的TVA-VLA跨模态协同新范式
  • 新能源制造环境下的跨层调度:基于GPIO隔离的机器人梯控防抖实现
  • 导购、陈列、缺货预警——门店那些“小事儿”,胜券AI智能体来帮忙
  • 轮胎图像人工标记:工业级缺陷标注实战指南
  • YOLOX目标检测核心解析:从Anchor-Free到SimOTA的工程实践
  • Grok @bot效率指南:用Python把模型接入命令行与自动化工作流
  • Docker 连接数据库(postgre+postgis)
  • 【OpenStack部署-1】
  • 【RAG】Qwen 本地 RAG 推理智能体案例讲解
  • Matplotlib图形绘制方法精讲:从面向对象架构到多子图布局实战
  • AI Agent 工程实践(33):Agent 如何监控
  • 动态规划实战:从最长公共子序列到蓝肽子序列问题解析
  • 【LLM】Qwen3-0.6B服务化部署、请求与性能测试
  • Pydantic 数据验证讲解
  • YOLO目标检测实战:从331张行人车辆数据集入门到部署
  • 充电桩产线 ATE 自动测试系统架构设计:上下料/测试/分拣怎么拼