资讯动态

手把手入门DeepSeek Harness:万物皆插件架构(附实战)

发布时间:2026/8/17 23:59:45 来源:尧图企业网站定制
DeepSeek Harness 插件生态「一切皆插件」到底怎么拼关键词DeepSeek Harness、Cordis 插件架构、dsh plugin、Agent 运行时、插件开发目录一、导语为什么这条消息值得关注二、它到底是什么先做概念澄清2.1 Harness 不是模型是 Agent 运行时2.2 Cordis插件元框架三、核心设计拆解3.1 一切皆插件模型、工具、UI、沙箱全可替换3.2 服务 类型化事件 可逆副作用3.3 与现有 Agent 框架的关键差异四、实际影响与适用场景五、安装与上手实践5.1 环境准备5.2 一键启动5.3 安装社区插件六、实战项目开发一个「AI 编程番茄钟」插件6.1 项目目标6.2 开发步骤七、冷静视角边界、风险与未解问题总结一、导语为什么这条消息值得关注DeepSeek Harnessdsh开源后社区迅速涌现出一批实用插件优化侧边栏交互的DSH-better-sidebar、支持快速引用文件的dsh-at-file、第一个视觉插件modlens把图片解析为结构化 JSON。更有趣的是知名技术博主鱼皮用「创造模式」让 AI 自己开发了一个桌宠插件dsh-kun-like-pet还能通过 GitHub MCP 插件一键推送到开源仓库。这条消息的核心价值不在于有哪些好玩插件而在于它验证了一个架构判断当 Agent 框架把「一切皆插件」做到极致时社区能自己补齐产品短板甚至长出官方没想到的能力。对 AI 应用开发者来说理解 Harness 的 Cordis 插件架构意味着你可以不修改框架源码就能替换模型、工具、UI、沙箱用 AI 辅助开发插件几分钟就能发布一个在已有内部 Agent 平台的基础上只替换某一层而不重写全部二、它到底是什么先做概念澄清2.1 Harness 不是模型是 Agent 运行时很多人看到 DeepSeek Harness第一反应是又一个 DeepSeek 模型。实际上不是一个新的 LLM 模型而是一个开源的 Agent 编排运行时基于 TypeScript跑在浏览器里Web UI或终端里CLI它和 Claude Code、Codex 是同一类产品——AI 编程工具但架构思路完全不同Claude Code 和 Codex 是单体应用能力内置Harness 把所有能力都拆成插件包括模型适配器、工具注册表、会话日志、Agent 循环本身全部可替换。2.2 Cordis插件元框架Harness 的底层是一个叫Cordis的插件元框架。Cordis 不关心你怎么实现工具它只做三件事插件生命周期管理加载、初始化、卸载依赖注入插件按依赖顺序启动事件总线插件通过服务service和类型化事件typed event彼此协作插件卸载时它的所有注册会被反向撤销不留孤儿状态。这意味着你可以随时热插拔不需要重启整个运行时。三、核心设计拆解3.1 一切皆插件模型、工具、UI、沙箱全可替换Harness 的插件覆盖范围插件类型职责可替换示例Model Adapter模型调用适配DeepSeek V4 Pro ↔ Claude ↔ GPT-4 ↔ 本地模型Tool Registry工具注册与调用文件读写、终端执行、网络搜索Web UI浏览器界面默认界面 ↔ 2005 年老站风格皮肤 ↔ 自定义主题Session Log会话记录追加日志 ↔ 数据库持久化Sandbox代码执行沙箱本地沙箱 ↔ Docker ↔ 远程服务器Agent LoopAgent 循环逻辑默认循环 ↔ 自定义决策流没有特权核心你不需要 patch 框架源码来扩展功能只需要挂载一个插件到配置里。3.2 服务 类型化事件 可逆副作用Cordis 插件协作的三要素┌─────────────────────────────────────────────────┐ │ Cordis 运行时 │ ├──────────┬──────────────┬───────────────────────┤ │ Service │ Typed Event │ Reversible Effect │ │ (服务) │ (类型化事件) │ (可逆副作用) │ │ │ │ │ │ 插件注册 │ 插件发布/订阅 │ 插件卸载时自动撤销 │ │ 共享能力 │ 跨插件通信 │ 不留孤儿状态 │ └──────────┴──────────────┴───────────────────────┘Service插件向运行时注册的能力如文件读写服务、“模型调用服务”Typed Event插件之间通过类型化事件通信如任务完成事件、“用户输入事件”Reversible Effect插件产生的副作用在卸载时会被自动撤销如临时文件清理、端口释放3.3 与现有 Agent 框架的关键差异对比维度DeepSeek HarnessLangGraphAutoGen架构哲学一切皆插件运行时极简图编排节点即步骤多 Agent 对话扩展方式配置文件挂载插件不改源码自定义节点/边自定义 Agent 类UI内置 Web UI本身也是插件无内置 UI无内置 UI可追溯性追加式会话日志每步可查需自行实现需自行实现热插拔支持可逆副作用不支持不支持语言TypeScriptPythonPython四、实际影响与适用场景对个人开发者学习成本低。一键启动后安装插件只需一条命令。开发插件可以用「创造模式」让 AI 帮你写。实际用途如果你用 AI 编程工具Harness 的插件生态让你可以按需组装需要看图就装 modlens需要文件引用就装 dsh-at-file想要个性化就自己写皮肤插件。对企业/团队接入成本对于已有内部 Agent 平台的企业Harness 的插件化意味着可以只替换沙箱层或模型层而不重写业务逻辑。部署选项可以部署到服务器上让整个团队共享一个 Harness 实例。对生态填补空白在 Harness 之前AI 编程工具Claude Code、Codex都是封闭的单体应用。Harness 是第一个把「一切皆插件」做到极致的开源 Agent 运行时。可能冲击谁封闭的 AI 编程工具。如果社区能自己补齐产品短板官方迭代压力会更大。五、安装与上手实践5.1 环境准备要求Node.js 版本^22.19 || 24奇数版本不支持Node 23 会启动失败# 检查当前 Node.js 版本node-v# 如果版本不符需要安装 Node 24这里我的node版本是v18.20.4比较老了跟我一样的朋友这里我推荐一个办法来解决:用 nvm-windows 管理多版本# 1. 下载 nvm-windows# 去 https://github.com/coreybutler/nvm-windows/releases 下载 nvm-setup.exe 安装# 2. 安装 Node 24nvminstall24nvm use24# 3. 验证版本node-v# 应该显示 v24.x.x# 方式 Anpx 一键启动无需全局安装npx deepseek-ai/dsh web第一次下载的时候时间可能有点久请耐心等一会儿别失手退出了别问我怎么知道的恼之后浏览器输入地址就好http://127.0.0.1:3080首次进入要API Key我这边有API Key,没有的朋友可以去官网在这里点击创建API 可以就好。我前面的博文也有相关内容感兴趣的可以去翻一翻。5.3 安装社区插件# 安装插件的通用命令格式dsh plugin--profilewebaddgithub:owner/repo#ref# 示例安装视觉插件 modlensdsh plugin--profilewebaddgithub:liustack/modlens#main其他热门插件# 优化侧边栏交互dsh plugin--profilewebaddgithub:xxx/DSH-better-sidebar#main# 符号快速引用文件dsh plugin--profilewebaddgithub:xxx/dsh-at-file#main六、实战项目开发一个「AI 编程番茄钟」插件6.1 项目目标开发一个dsh-pomodoro-timer插件功能在 Web 界面右下角显示番茄钟悬浮窗支持 25 分钟专注 5 分钟休息的标准番茄钟专注期间锁定 AI 对话防止分心休息期间解锁番茄钟完成后AI 自动生成一段「本次专注期间完成的工作摘要」6.2 开发步骤步骤 1使用 create-dsh-plugin 脚手架创建插件# 创建插件项目npx create-dsh-plugin dsh-pomodoro-timer-twebui步骤 2编写插件核心代码进入项目目录编辑插件主文件cddsh-pomodoro-timer编辑src/index.ts或src/my-plugin.ts/** * dsh-pomodoro-timer: AI 编程番茄钟插件 * * 功能 * - 25 分钟专注 5 分钟休息 * - 专注期间锁定 AI 对话 * - 完成后 AI 生成工作摘要 */import{Plugin}fromdeepseek-ai/cordis;exportconstpomodoroPlugin:Plugin{id:pomodoro-timer,name:AI 编程番茄钟,// 注册服务services:{timer:createTimerService(),ui:createFloatingWindowUI(),},// 订阅事件onEvent(event){if(event.typetimer:completed){// 番茄钟完成请求 AI 生成工作摘要generateWorkSummary(event.sessionId);}if(event.typetimer:started){// 专注开始锁定 AI 对话lockChatSession();}if(event.typetimer:break){// 休息开始解锁 AI 对话unlockChatSession();}},};步骤 3登记插件并启动编辑cordis.patch.yml登记你的插件-insert:-id:pomodoro-timername:./src/index.ts启动开发模式测试插件# 方式 A从源码启动适合开发插件pnpminstallpnpmrun buildpnpmdsh web# 方式 B本地开发模式热重载pnpmrun dev步骤 4测试番茄钟功能点击右下角番茄钟悬浮窗点击「开始专注」25 分钟倒计时开始AI 对话被锁定专注完成后AI 自动生成工作摘要进入 5 分钟休息AI 对话解锁步骤 5发布到 GitHub# 初始化 git 仓库gitinitgitadd.gitcommit-mfeat: AI 编程番茄钟插件# 推送到 GitHubgitremoteaddorigin https://github.com/YOUR_USERNAME/dsh-pomodoro-timer.gitgitpush-uorigin main# 给仓库打上 dsh-plugin 标签!-- 操作提示在 GitHub 仓库页面Settings -Topics添加 dsh-plugin 标签 --七、冷静视角边界、风险与未解问题1. 插件质量参差不齐社区插件由开发者自行发布没有官方审核机制。像modlens这种实用插件是少数更多插件可能只是实验性质。安装第三方插件前建议先审查代码。2. 创造模式的安全性「创造模式」下 AI 可以帮你检查插件树、试验新插件、打包发布。虽然安装前有人工审批环节但 AI 生成的代码可能存在安全隐患如意外访问敏感文件、网络请求泄露数据。3. 生态早期Harness 才刚开源插件生态处于早期阶段。目前社区插件数量还不多很多实用场景如企业级权限管理、多租户隔离、审计日志还没有成熟插件。4. 与 Claude Code/Codex 的定位差异Harness 走的是「极致开放」路线但开放也意味着学习成本。对于只想快速写代码的开发者Claude Code 和 Codex 的开箱即用体验可能更好。Harness 更适合喜欢折腾、有定制需求的开发者。总结DeepSeek Harness 的「一切皆插件」架构把 Agent 运行时从单体应用拆成了可自由组装的积木。Cordis 插件元框架通过服务、类型化事件、可逆副作用实现了真正的热插拔。核心要点Harness 不是模型是开源的 Agent 编排运行时——所有能力模型、工具、UI、沙箱都是插件Cordis 是底层插件元框架——只做生命周期管理、依赖注入、事件总线三件事社区能自己补齐产品短板——modlens 补了视觉能力桌宠插件补了趣味性番茄钟补了专注管理开发插件可以用 AI 辅助——「创造模式」让 AI 帮你写插件、打包、发布到 GitHub这场「开源 一切皆插件」的实验才刚开始。也许用不了多久每个人手里的 AI 编程工具都长得不一样——因为每个人都可以根据自己的需求自由组装。t 运行时从单体应用拆成了可自由组装的积木。Cordis 插件元框架通过服务、类型化事件、可逆副作用实现了真正的热插拔。核心要点Harness 不是模型是开源的 Agent 编排运行时——所有能力模型、工具、UI、沙箱都是插件Cordis 是底层插件元框架——只做生命周期管理、依赖注入、事件总线三件事社区能自己补齐产品短板——modlens 补了视觉能力桌宠插件补了趣味性番茄钟补了专注管理开发插件可以用 AI 辅助——「创造模式」让 AI 帮你写插件、打包、发布到 GitHub这场「开源 一切皆插件」的实验才刚开始。也许用不了多久每个人手里的 AI 编程工具都长得不一样——因为每个人都可以根据自己的需求自由组装。#DeepSeek_Harness #Cordis #插件架构 #dsh_plugin #Agent运行时 #AI编程工具 #开源项目 #番茄钟

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价