DeepSeek Harness 功能与特性解析:一个“一切皆插件“的 Agent 运行时

如果你最近在关注 Agent 框架,大概率听过 DeepSeek Harness(dsh)。它 2026 年 8 月开源、MIT 许可,目前还在开发者预览期。和很多"装好就能用"的 Agent 工具不同,它的设计重心不在开箱即用的体验,而在一套可替换的运行时底座。这篇文章只做一件事:把它的功能和特性讲清楚。

它是什么

一句话:模型负责"想",Harness 负责"干"。读文件、执行命令、调用工具、组织多步任务,这些让 AI 真正干活的能力,都归 Harness。两者合起来才是能自己干活的 Agent。

它的核心主张是"一切皆插件"。模型适配、工具注册表、会话、甚至 Agent 循环本身,全都是 Cordis 插件。这意味着整个产品的每一部分都能通过配置换掉,没有需要 patch 的特权核心------你扩展它,就是在别的插件旁边挂一个插件。

整体架构

在功能细节之前,先看整体架构。它的核心是 Cordis 插件内核------一句话,一切皆插件。同一个内核从上到下分四层:

  • 运行形态(最上层):同一套内核能启动成 Web、Headless、ACP、JSON-RPC 四种界面;
  • Agent 内核:把模型请求、工具调用和会话日志串成一次 Agent 循环;
  • 可换能力:每个能力都是一条 seam(接口 + 实现 + 使用方);
  • 安全与治理(最底层):沙箱、审批、凭证都以插件形式挂在这一层。

所有这些层都架在同一个底座上------Cordis 插件内核。下面从运行形态一层层往下看。

图1 · 整体架构:四层叠在 Cordis 插件内核之上,自下而上分别是安全与治理、可换能力、Agent 内核、运行形态。

四种运行形态

同一个内核可以写成不同形态,适应不同场景:

  • Web:浏览器里聊天、配设置、切预设;
  • Headless:一次性跑完就退,适合脚本和 CI;
  • ACP:自动化专用的 Agent Client Protocol 服务,可被外部程序驱动;
  • JSON-RPC:给其他前端直连的接口。

图2 · 四种运行形态:核心是一个内核,对外暴露四张不同的"界面",换界面不换底座。

Agent 内核

这是它怎么思考和行动的部分。

  • Session 日志 :会话是一条文只追加的事件流(turn / step / message / tool),它是模型所见上下文的单一来源。deriveMessages() 从历史投影出模型输入,回放、持久化、遥测全从这条流派生。一个硬性不变量是"模型能看到的,必然已写入日志"------这保证了长任务可回放、可审计。
  • Agent Loop:一个 step 是一次模型请求加上它调用的工具;一个 turn 是零个或多个 step。
  • Tools 注册表:带作用域、带守卫的执行管线,工具 schema 自动进入提示词组装。
  • LLM 适配:把消息和流抽象成统一词汇,内置 DeepSeek provider,换模型只需注册一个新 adapter。

图3 · 轮次流程:一个 turn 由若干 step 组成,每个 step 是一次"模型请求 + 工具调用";agent/pre-step 决定模型看到什么、turn/end 才关闭轮次。

可换能力:Capability Seams

每个能力是一个"缝"(seam):声明接口的 Service Definition、实现它的 Service Provider、使用它的 Consumer(常是面向模型的工具)三者齐备才算一个 seam。正因为如此,换一个 provider 就能把整条产品线搬到新后端。举个例子:文件系统和子进程共用一个执行世界,把 provider 指向远程沙箱,Bash、PTY、LSP 会一起搬走,无需 fork 代码。

可换的能力覆盖面很广:文件系统、Shell 与子进程、持久终端、LSP、Web 搜索与抓取、技能 Skill、子代理 Subagent、工作流 Workflow、Todo、Plan、上下文压缩 Compaction、钩子 Hooks。

图4 · 能力 seam:接口、实现、使用方三者成环才算一个可替换能力;替换 Provider 即替换整条产品线。

安全与治理

  • Landlock 沙箱:spawn 出的进程先对自己做最小权限限制再 exec,从启动那一刻就钉死权限。
  • 审批与交互:危险操作需人确认。
  • 设置与凭证~/.dsh 下的 settings.yamlcredentials.yaml,支持热加载;遥测可关。

开发者生态

提供 Python SDK 与捆绑运行时;native 目录维护 Landlock 启动器源码;文档含架构说明、能力图谱与分步 cookbook(加包、加工具、加 LLM adapter、加 Chat 节点);组合上用 dsh-base 打底,profile 用 cordis.patch.yml 在自己层覆盖任意一行配置。

小结

DeepSeek Harness 的卖点不是"开箱即用",而是"可替换的底座"。如果你关心 Agent 框架的长期可维护性和可组合性,它的插件化设计值得花时间理解。至于它能不能成为生产环境的选择,预览期的破坏性变更还在路上,建议先在隔离环境里试。

相关推荐
万象观察录35 分钟前
微服务架构下的API全生命周期安全防护办法
安全·微服务·架构
万物智能36 分钟前
HDMI 输出—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
后端·架构
yunwei371 小时前
ACRFence:防止 AI Agent 检查点恢复中的语义回滚攻击
人工智能·安全·架构
岁月如歌77861 小时前
顺序消息与幂等消费完全指南:从队列有序到接口幂等
java·后端·架构
NGC22371 小时前
从一份文档到一个回答——RAG到底经历了什么
架构
努力努力再努力wz2 小时前
【Docker入门系列】:从架构演进到容器化:一文建立 Docker、虚拟化与 Namespace 的底层心智模型
运维·开发语言·数据结构·c++·docker·容器·架构
Capricorn19882 小时前
跨端同步与记忆锁定排障:OpenClaw 2.0 Active Memory 云端劫持危机,知芽 Notebook Skill 单元记忆架构解析
大数据·论文阅读·人工智能·笔记·架构·论文笔记
吴佳浩 Alben2 小时前
多智能体系统的通信风暴与死锁治理:生产级降级与容灾方案
人工智能·docker·ai·容器·架构
Brilliantwxx3 小时前
【STM32】RCC与时钟树 深度详解
stm32·单片机·嵌入式硬件·架构
风123456789~3 小时前
【架构专栏】5.7 软件工程 -软件项目管理 3/3-2
架构·软件工程