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 框架的长期可维护性和可组合性,它的插件化设计值得花时间理解。至于它能不能成为生产环境的选择,预览期的破坏性变更还在路上,建议先在隔离环境里试。

相关推荐
晴天161 小时前
DeepSeek Harness 插件开发:从零到跑起来-Day18
ai·架构·deepseek
代码方舟2 小时前
零信任架构实战:基于天远人企关联构建自动化企业尽职调查网关
java·人工智能·架构·自动化
Shadow(⊙o⊙)2 小时前
Linux网络部分——TCP服务端、客户端架构分析多进程、多线程、线程池
c++·tcp/ip·架构
龙腾亚太11 小时前
智能体全景架构:从入门到落地
架构
ltl12 小时前
部署架构:蓝绿、金丝雀与渐进式发布
架构
ltl12 小时前
架构决策与 ADR:做出可追溯的技术决策
架构
云端漫步198713 小时前
HarmonyOS 互动卡片(Live Form)入门指南:双态架构与场景动效全景解析
华为·架构·harmonyos
heimeiyingwang14 小时前
【架构实战】Kubernetes存储实战:从EmptyDir到Ceph CSI的持久化存储选型指南
ceph·架构·kubernetes
Chasing__Dreams15 小时前
大模型应用开发--6--Transformer架构介绍
深度学习·架构·transformer