(一)DeepSeek Harness炸场:88K星的开源Agent框架,把「一切皆插件」玩到了极致
一DeepSeek Harness炸场88K星的开源Agent框架把「一切皆插件」玩到了极致本文是《DeepSeek Harness 源码分析》100 篇系列的第 1 篇开篇。DeepSeek Harnessdsh是 DeepSeek AI 开源的新一代 AI Agent 框架短短时间内已斩获88K ⭐成为 2024-2025 年最受关注的开源 AI 项目。本篇是这个系列的开篇——先全景鸟瞰整个项目建立全局认知后续篇章逐一深挖各模块。一、DeepSeek Harness 是什么DeepSeek Harness 是一个开源 Agent Harness智能体框架定位是让开发者能够以「搭积木」的方式组合出任意能力的 AI Agent。核心 SloganEverything is a Plugin.这不仅仅是一句宣传语而是体现在架构的每一个层面模型适配器是插件工具注册表是插件会话日志是插件Agent 循环本身也是插件甚至连沙箱、文件系统、LSP 都通过插件形式提供这意味着你可以在不修改任何一行 Harness 核心代码的情况下替换掉整个模型层、替换整个工具集、替换整个执行环境。二、快速上手# 方式一npm 一键体验无需克隆仓库npx deepseek-ai/dsh web# 方式二从源码运行gitclone https://github.com/deepseek-ai/deepseek-harness.gitcddeepseek-harnesspnpminstallpnpmrun buildpnpmdsh web启动后访问http://127.0.0.1:3080即可看到 Web UI。目前处于开发者预览版developer preview阶段快速迭代中生产使用需注意兼容性声明。三、技术栈一览层级技术选型语言TypeScript100%运行时Node.js包管理pnpm核心框架Cordis可逆编程插件框架UIReactWeb App协议MCPModel Context Protocol、ACP内部 Agent 通信沙箱E2B Cloud Sandbox 本地进程隔离许可MIT四、核心架构一切皆插件4.1 为什么选择插件化传统 Agent 框架的问题核心功能与实现紧耦合。换个模型要改代码换个执行环境也要改代码。DeepSeek Harness 的解法把每一个能力都抽象成「插件」通过配置组合。┌─────────────────────────────────────────────┐ │ Cordis 运行时无特权核心 │ ├─────────────────────────────────────────────┤ │ Profile: web │ │ ├── Bundle: dsh-base模型、工具、存储 │ │ ├── Bundle: dsh-web-appReact UI │ │ └── User Patch: ~/.dsh/cordis.patch.yml │ └─────────────────────────────────────────────┘Profile定义了要加载哪些BundleBundle是 Cordis 插件的打包格式。每一层都可以覆盖Patch下层配置底层插件完全不知道上层的存在——这就是Layered Plugin Tree。4.2 Cordis 运行时Cordis 是整个架构的基础设施层由 cordiverse 提供设计理念来自论文《A Programming Paradigm for Spatiotemporal Composability》。Cordis 的三大核心特性Plugin Service插件即服务无特权核心可逆注册插件卸载时自动撤销所有注册取消工具、关闭连接等Typed Events强类型事件系统支持emit/parallel/serial/bail四种分发模式这使得 DeepSeek Harness 可以实现真正的热拔插——测试时卸载插件不留任何副作用。五、核心模块地图DeepSeek Harness 的代码分布在约50 个 packages中Agent 核心包职责core/agentAgent 接口定义、注册表core/agent-loop默认 Agent 循环驱动core/sessionSessionEvent 持久化日志core/tools工具注册与执行管道core/system-prompt提示词段落组装core/scope作用域隔离机制LLM 层包职责llm/llm模型适配器抽象层llm/llm-streaming流式输出处理执行环境包职责sandbox沙箱隔离安全执行不受信代码shell本地 Shell 执行后端subprocess子进程管理terminal持久化 PTY 终端fs文件系统抽象可替换为远程 FScode-runtime代码执行引擎协议与扩展包职责mcpMCPModel Context Protocol协议支持acpACP 内部 Agent 间通信协议skill技能系统subagent子代理抽象同一接口多种实现会话与存储包职责session会话管理session-query会话查询compaction对话压缩防止上下文爆炸storage持久化存储层goal多目标管理jobs后台任务调度UI 与入口包职责apps/cli命令行入口apps/webWeb UIReact六、Agent 的工作流程一个完整的 Agent 对话周期Turnturn/start → claim next-step input → assemble system prompt tool schemas → agent/pre-step ← 拦截点可改写消息或拒绝 → agent/request ← 发出 LLM 请求 → llm/stream ← 流式接收响应 → assistant/chunk ← 实时 token 输出 → assistant/message ← 完整消息落盘 → tool/call ← 工具被调用 → tools/pre-execute ← 执行前拦截 → tools/execute ← 实际执行 → tools/post-execute ← 执行后处理 → tool/result ← 结果返回 step/end → 若还有待处理工具 → 进入下一步 → 若有新的输入消息 → claim 并进入下一步 → 否则 → agent/turn-stopping ← 关闭前的最后一个拦截点 turn/end关键点turn/start到turn/end是一次完整的用户输入处理流程每一步step包含一次 LLM 请求 零到多次工具调用所有状态变化都写入 Session Event 日志可重建、可回放、可 forkagent/pre-step/tools/pre-execute是级联事件serial / baillistener 必须调用next()继续传递七、Seam 能力边界换一处全部跟着变DeepSeek Harness 提出了一个精妙的Seam概念Service Definition接口 ↓ Service Provider实现可插拔 ↓ Consumer使用者通常是工具最典型的例子是fs文件系统本地实现直接读写磁盘远程实现通过 API 操作远程服务器切换成本只需换一个 Provider整个 Agent 的文件系统能力立即迁移更令人惊讶的是Shell 和 LSP语言服务器也受益于这个设计——当你把shell指向云端 E2B 沙箱时Bash 工具和代码补全一起迁移到云端无需逐个修改配置。八、与主流框架对比维度DeepSeek HarnessLangChainAutoGPT架构哲学一切皆可插拔Chain 可组合单体 Agent插件卸载✅ 可逆回滚❌ 手动清理❌ 无事件系统✅ Typedemit/parallel/serial/bail⚠️ Callback❌ 无配置驱动✅ YAML Patch⚠️ 代码配置❌ 无沙箱支持✅ 内置 E2B⚠️ 第三方❌ 无协议支持MCP ACPMCP部分❌ 无stars88K100K140K九、下篇预告下一篇二我们将深入Cordis 运行时的核心设计可逆 Plugin/Service 机制、inject 依赖声明、Typed Event 的四种分发模式以及它如何支撑起整个 Harness 的插件生态。附录GitHubhttps://github.com/deepseek-ai/deepseek-harnessCordis 论文https://github.com/cordiverse/paper官方文档https://github.com/deepseek-ai/deepseek-harness/blob/main/docs/architecture.mdDiscord 社区https://discord.gg/Ycq5dCaS4

相关新闻

WebRTC语音Agent防抢话优化:从VAD、EPD到对话状态机的全链路实践

WebRTC语音Agent防抢话优化:从VAD、EPD到对话状态机的全链路实践

1. 从“双向”到“抢话”:一个看似矛盾的通信困境 如果你正在开发或集成一个基于WebRTC的语音Agent(智能语音助手、客服机器人等),很可能遇到过这样一个令人困惑的场景:明明WebRTC连接已经成功建立,音频流双…

2026/8/16 23:06:32 阅读更多 →
深入解析LLM温度参数:从Softmax原理到工程实践

深入解析LLM温度参数:从Softmax原理到工程实践

1. 项目概述:为什么Temperature是LLM的“创作灵魂”? 如果你用过ChatGPT或者任何大语言模型的API,一定见过一个叫 temperature 的参数。它通常被描述为“控制生成文本的随机性”,默认值可能是0.7或1.0。但你是否真的理解&#x…

2026/8/16 23:06:32 阅读更多 →
基于人脸关键点与行为时序分析的睡岗识别系统实战指南

基于人脸关键点与行为时序分析的睡岗识别系统实战指南

1. 项目概述:从“睡岗”到智能值守的跨越“睡岗识别”这四个字,对于任何一个涉及生产安全、质量控制或服务监督的现场管理者来说,都像一根敏感的神经。它背后指向的是一个长期存在且难以根治的现场管理痛点:在需要人员持续保持警觉…

2026/8/16 23:05:32 阅读更多 →

最新新闻

同一件专利在美国授权了,在欧洲却被驳回,问题出在权利要求书的写法上

同一件专利在美国授权了,在欧洲却被驳回,问题出在权利要求书的写法上

一、同一份专利,两种命运某科技企业开发了一套基于AI的工业质检算法,同时在美国和欧洲申请了专利。权利要求书是同一份——直接从中文翻译成英文和德文。结果:美国USPTO授权了,欧洲EPO驳回了。驳回理由:欧洲EPO认为该权…

2026/8/16 23:52:05 阅读更多 →
Linux crontab定时任务从入门到精通:原理、调试与生产环境实战

Linux crontab定时任务从入门到精通:原理、调试与生产环境实战

1. 项目概述:为什么定时任务是Linux运维的“定海神针”? 干了这么多年运维和开发,我越来越觉得,一个稳定、可靠的定时任务系统,就像是整个系统后台的“心跳”。无论是凌晨三点自动备份数据库,还是每天上午十…

2026/8/16 23:52:05 阅读更多 →
Bash终端深度定制:从PS1提示符到高效工作流配置全解析

Bash终端深度定制:从PS1提示符到高效工作流配置全解析

1. 从“黑窗口”到效率工场:为什么你的终端需要个性化 每次打开终端,面对那个千篇一律的、冷冰冰的命令行提示符,你是不是偶尔会觉得有点乏味?无论是 macOS 的 Terminal、Linux 的 GNOME Terminal,还是 Windows 上的 G…

2026/8/16 23:52:05 阅读更多 →
PCT国际检索报告上说“没有创造性”,这份申请还有必要继续吗

PCT国际检索报告上说“没有创造性”,这份申请还有必要继续吗

一、对话:当国际检索报告说“没有创造性”IP负责人: “代理师,我们的PCT国际检索报告回来了,书面意见说我们的权利要求1-3不具备创造性,引用了两篇对比文件。这是不是意味着我们的海外专利没戏了?”代理师&…

2026/8/16 23:52:05 阅读更多 →
Linux定时任务crontab从入门到精通:配置、排错与生产实践

Linux定时任务crontab从入门到精通:配置、排错与生产实践

1. 从“定时”到“任务”:为什么你需要crontab 如果你在Linux服务器上做过运维,或者自己搭过个人网站、数据备份脚本,那你一定遇到过这样的场景:凌晨三点,服务器需要自动拉取最新的代码仓库;每周一早上九点…

2026/8/16 23:51:05 阅读更多 →
深入解析JKS密钥库:从Android签名到HTTPS配置的核心安全实践

深入解析JKS密钥库:从Android签名到HTTPS配置的核心安全实践

1. 从一次深夜告警说起:.jks文件到底是什么?那天凌晨两点,手机突然狂震,监控系统发来一条刺眼的告警:“生产环境SSL证书即将过期,应用连接失败”。我睡眼惺忪地爬起来,第一反应就是去检查服务器…

2026/8/16 23:51:05 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →