新闻详情

新闻详情

首页 / 资讯中心 / 详情

DeepSeek Harness 运行形态:一套代码,三种身份

发布时间:2026/9/7 22:18:46来源:尧图网络
DeepSeek Harness 运行形态:一套代码,三种身份
DeepSeek Harness 运行形态一套代码三种身份这是 DeepSeek Harnessdsh系列的第九篇。前八篇把「是什么」「怎么开发插件」「底层怎么转」「日志怎么追溯」「安全怎么兜底」一路聊到了「子 Agent 编排」——这八篇讲的都是它内部长什么样。从这篇开始我们换个视角聊它对外长成什么样一个dsh命令怎么同时扮演「交互式 Web 应用」「一次性命令行」「JSON-RPC 服务器」三种角色。这也是它和很多 Agent 框架不一样的地方SDK 和 ACP 不是单独的二进制而是 profile。你不需要「装一个 CLI 版、再装一个 SDK 版」只有一个入口切个参数就换身份。一、一个 dsh五种入口模式官方文档说得很直白dsh命令是唯一受支持的 Node 应用启动器。所有形态都从它进来切换的关键就是--profile参数命令用途dsh --profile name启动$DSH_HOME/profiles/name下的命名 profiledsh --profile acp通过 ACP stdio 服务自动化客户端直到断开dsh --profile headless job跑一个一次性持久会话打印最终答案后退出dsh --profile sdk通过 JSON-RPC stdio 服务 SDK 客户端直到关闭dsh --profile sdk-minimal用独立的极简 agent 树服务 SDK 客户端dsh web--profile web的别名dsh plugin --profile name pnpm args把 profile 的插件管理转发给 pnpm其中web、headless、sdk、sdk-minimal、acp这五个 profile 会在首次使用时从内置模板自动初始化其它自定义 profile 必须先通过dsh plugin创建。二、三种形态各干什么把上表收敛一下日常打交道最多的是三种形态web交互式 Web UI带浏览器界面适合「坐在机器前」的日常开发。它启动 HTTP 服务器 WebSocket前端和 Agent 跑在同一个进程里。headless一次性任务。dsh --profile headless run the tests会新建一个持久会话把任务跑完、打印最终答案、然后退出。适合 CI、脚本化、无人值守。sdk/sdk-minimal把 Harness 当作一个 JSON-RPC 服务器供你自己的程序调用。区别是sdk是完整树sdk-minimal是只有极简 agent 树的独立版本下一篇 SDK 集成会重点讲。一个容易被忽略的细节启动器只解析它自己的 flag其余参数原样转交给被启动的 profile。所以dsh--profileweb--port8080# --port 属于 web 应用不是启动器的dsh--profileheadlessrun the testsdsh--profileweb--help# 这是 web 应用的 help不是启动器的dsh--help# 这才是启动器自己的 help第一个它不认识、且不是--profile开头的 token之后的所有东西就都算「应用参数」了。这个设计让每个形态可以有自己的参数空间互不打架。三、profile 的本质一堆 patch 层的堆叠「profile 就是有序的插件 bundle patch 层叠在用户自己的覆盖层之下」——这是理解整个运行形态的核心。一个 profile 目录里就两样关键东西package.json既装 out-of-tree 的插件依赖又带一个dsh.profilemanifest里面是有序的bundles列表和patchReload生命周期cordis.patch.yml用户自己的 patch 层。真正跑起来时整棵树是这样在空 root 上逐层叠出来的dsh.profile.bundles里每个 bundle 的 patch按声明顺序然后是 profile 自己的cordis.patch.yml再是 home 级的$DSH_HOME/cordis.patch.yml最后是--patch命令行传入的覆盖层。bundles 里名字的解析也有优先级先从 dsh 安装目录找内置 bundledeepseek-ai/dsh-base、dsh-web-app、dsh-headless、dsh-sdk-app、dsh-sdk-minimal、dsh-acp-app再落到 profile 自己的node_modulespnpm 装进去的 out-of-tree 插件。四、patchReload改完配置要不要重启patchReload控制 patch 文件怎么生效两个取值live监听 profile 和 home 级的 patch 文件改了立刻重载startup只在启动时应用一次。开发插件时live能省掉反复重启的功夫改完 patch 直接看效果生产环境用startup更稳避免运行中途被外部改动的文件影响。五、不启动也能看配置想确认某个 profile 到底组装成了什么样、某一行配置被谁覆盖成了什么值不用真的把它跑起来。两个命令能「只看不跑」dsh--profilesdk-minimal --dump-default-config# 看内置默认配置dsh--profilesdk-minimal --dump-config# 看叠加你所有覆盖后的最终配置后者尤其有用当你搞不清「我的 patch 到底覆盖成功没有」--dump-config会直接给出最终生效的树一目了然。六、避坑清单别把形态当独立软件装。SDK、ACP 都是 profiledsh是唯一入口。再看到「装个 sdk 二进制」的说法多半是把它和别的框架搞混了。--port这类参数放对位置。启动器只认自己的 flag应用参数要跟在第一个非启动器 token 之后否则会被启动器当成非法选项报错。自定义 profile 要先创建。只有web/headless/sdk/sdk-minimal/acp会从模板自动初始化别的名字必须先dsh plugin建否则启动失败。层叠顺序别记反。越靠后的层覆盖力越强bundle → profile → home →--patch。想临时改一个值--patch最方便想持久改写 home 级 patch。生产用startup开发用live。live会让运行中的进程响应外部文件改动生产环境里这是个风险点。小结这一篇把dsh的「对外身份」讲清楚了一个入口、五种模式、三种常见形态背后全是同一个「profile patch 层堆叠」的模型。你只要记住——换形态不是换软件是换 profile就抓住了它的运行形态。三种形态里最值得开发者深挖的是sdk它把 Harness 变成一个 JSON-RPC 服务器让你能把自己的程序变成「能调用 Agent」的应用。下一篇第十篇我们就专门讲这个——怎么用 Python 和 TypeScript 把 Harness 嵌进你自己的应用里。参考deepseek-ai/deepseek-harness 官方仓库apps/cli/README.md。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

骚扰电话识别与处置:特征计算、规则引擎到模型评分的落地链路 2026/9/8 5:19:57

骚扰电话识别与处置:特征计算、规则引擎到模型评分的落地链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Windows下chrome-headless-shell实战:无头浏览器自动化截图与爬虫 2026/9/8 5:19:57

Windows下chrome-headless-shell实战:无头浏览器自动化截图与爬虫

简介:这是面向Windows 64位平台的Chrome无头浏览器可执行包,版本为129.0.6668.59,适用于需要在不渲染图形界面的环境中运行浏览器自动化任务的开发者、测试工程师及CI/CD集成场景。通过搭配ChromeDriver,可完成页面访问、元素操作…

阅读更多 →
YOLO26模型导出全攻略:ONNX、TensorRT、OpenVINO实战与避坑指南 2026/9/8 5:19:57

YOLO26模型导出全攻略:ONNX、TensorRT、OpenVINO实战与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
eMMC BKOPS机制深度解析:从MMC协议到闪存后台维护 2026/9/8 5:19:57

eMMC BKOPS机制深度解析:从MMC协议到闪存后台维护

“MMC”这个词我第一次认真对待,是在一次远程排查Android开发板卡顿的时候。设备连续写了几十GB日志,界面开始间歇性掉帧,dmesg里全是timeout重试,SSH偏偏又能连上。同事丢过来一句:“看看mmc bkops是不是在忙。”这一…

阅读更多 →
PMSM变频调速Simulink建模:从FOC原理到SVPWM调参实战 2026/9/8 5:19:57

PMSM变频调速Simulink建模:从FOC原理到SVPWM调参实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
麒麟ARM环境下Nacos适配达梦DM8数据库的编译部署实践 2026/9/8 5:16:56

麒麟ARM环境下Nacos适配达梦DM8数据库的编译部署实践

简介:面向国产化改造场景,这份Nacos 2.5.0 Linux适配包针对达梦数据库与麒麟ARM系统完成定制编译,适合在信创环境下部署微服务注册与配置中心的开发、运维及架构人员。资源共17个文件,压缩后148.05MB,包含建表SQL、con…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞