ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

拆解Deepseek Harness(一):一切皆可插件

拆解Deepseek Harness(一):一切皆可插件 DeepSeek Harness开源之后热度极速上升主要源于其一切皆可插件的概念市面上的主流Agent如Claude Code Cursor等都是将Agent Loop上下文管理工具Memory 等跟框架深度绑定只支持配置Skill和MCP等针对一些场景如上下文压缩逻辑不匹配当前业务的情况就需要从代码中进行修改并重新编译构建。所以如果Agent 也能跟搭积木一样支持随意安装卸载就可以充分发挥想像力构建出每个人专属的Agent。感觉还是很有意思所以打算出一个系列,对DeepSeek Harness做一下拆解研究。安装体验1. 环境准备在开始之前请确保您的系统Windows / macOS / Linux已安装 Node.js v18 及以上版本。国内用户建议提前配置 npm 国内镜像以加速依赖包的下载npm config set registry https://registry.npmmirror.com2. 一键启动推荐无需克隆源码只需在终端执行以下命令即可快速启动 Web UInpx -y deepseek-ai/dsh web注首次运行会自动下载相关依赖包按提示输入y确认即可。3. 访问界面启动成功后终端会输出本地服务地址。请在浏览器中打开http://127.0.0.1:3080成功运行后的界面4. 核心配置与体验进入 Web UI 后只需简单三步即可开启你的第一个 Agent 任务配置模型密钥点击左下角Settings设置进入Models页面填入你的 DeepSeek API Key以sk-开头点击保存即可生效。选择工作区添加或选择一个本地项目目录作为工作区Agent 仅能在该目录内进行读写操作保障安全隔离。发送任务在对话框中输入你的需求例如“总结当前仓库的主要包结构”即可体验 Harness 强大的代码执行与工具调用能力。5. 配置免费模型 glm-4.7-flashweb界面运行之后在~/.dsh/settings.yaml 路径下新增如下配置llm-pi-ai: providers: zhipu: displayName: 智谱 GLM(免费) apiKeyEnv: ZHIPU_API_KEY api: openai-completions baseURL: https://open.bigmodel.cn/api/paas/v4 models: - id: glm-4.7-flash # 智谱当前永久免费的模型,200K 上下文 name: GLM-4.7 Flash contextWindow: 200000去 bigmodel.cn 注册并创建一个 API key拿到 key 后进入web页 → 设置 → 模型 → 找到「智谱 GLM免费」→ 粘贴 key 保存3. 之后返回首页选择模型glm-4.7-flash这样就可以开始探索啦。DeepSeek Harness 四大运行模式运行之后可以很明显的看到模式跟其他Agent不一样最有意思的是其创造模式下面以及后续会专门详细拆解。DeepSeek Harness 提供了四种开箱即用的“Agent 预设Presets”模式。这些模式本质上是一套预先配置好的插件组合用户可根据不同任务场景灵活切换标准模式Standard面向日常开发的默认选择。该模式拥有功能最完整的工具集支持文件读取与编辑、Shell 命令执行、文件与网页搜索、技能Skills、计划与目标管理、子 Agent 调度及工作流编排。对于初次使用或处理常规编码、修 Bug 任务的开发者无脑选择此模式即可满足绝大多数需求。PTC 模式Programmatic Tool Calling专为复杂自动化任务设计。该模式在标准模式的基础上引入了 Code Mode SDK允许模型生成一段 TypeScript 程序来组合多步操作。它可以将原本需要多次模型往返的读取、搜索、筛选等动作压缩进一次代码执行中大幅减少对话轮次并节省 Token尤其适合结构化、多步骤、可并行的大规模开发任务。PTC模式简单说就是在模型执行工具调用时一次性执行多个工具调用之后只把工具结果回传给LLM不回传工具调用的中间结果。对比经典的Agent Loop流程能达到一次调用多个工具节省token的效果。极简模式Minimal专为模型基准测试打造。该模式剥离了上下文压缩、搜索、计划等大量额外能力仅保留最核心的持久 Bash 与文件编辑器str_replace_editor两个工具并将系统提示词固定为最基础的“你是一个有帮助的软件工程助手”。它主要用于最小化环境下测试大模型本身的裸 Agent 能力不建议日常使用。创造模式CordisHarness 最具特色的高阶玩法。该模式不仅具备标准模式的全部能力还允许 Agent 检查自身运行的 Cordis 环境在内存中试验插件甚至动态挂载或卸载插件。这意味着 Agent 可以在运行过程中“边开车边换发动机”根据指令现场创造新的专属模式如安全审计模式、内部研究 Agent 等实现用 Agent 创造 Agent。为什么“一切皆可插件”A Programming Paradigm for Spatiotemporal Composability 设计理念来源于这篇论文主要解决的是如何实现插件的热插拔即在Agent运行时如何安装卸载一个插件而不用重启。研究这个问题是很有价值的在实际开发Agent时会发现不重启Agent时原有上下文会重新发送给模型导致引入幻觉比如你给Agent的人格设定一开始是A后面换成B模型有可能会回复A。 但是重启又会打断Agent的连续性工作后续的ACPSSE重连上下文恢复等会耗费大量时间。“一切皆可插件”基于Cordis框架实现其设计理论主要有两点时间可组合性Temporal Composability实现“换脑不停机”与副作用回滚 在自进化 Agent 语境下如果每次修改代码或替换插件都要重启整个进程不仅会丢失宝贵的上下文缓存还可能导致任务中断。时间可组合性通过“可逆效应Revertible Effects”机制要求系统在组件加载时自动记录其对运行环境产生的所有副作用如创建的文件、启动的进程、注册的事件等。当插件被卸载或替换时系统能精准、安全地撤销这些副作用确保长周期任务下的状态稳定与长期演进。空间可组合性Spatial Composability声明式依赖与响应式协调 传统的插件系统往往依赖开发者手动编写复杂的清理逻辑和依赖检查极易引入循环依赖或在重载时“爆雷”。空间可组合性通过“响应式余效应Reactive Coeffects”实现了声明式的依赖管理。组件只需声明自身的需求运行时便能自动协调依赖变化。当某个服务或组件出现、消失或被替换时系统能自动调整相关组件的激活与停用状态实现真正的按需组合与自由裁剪。
返回列表