<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Agent框架 on Kalend's Blog</title><link>https://blog.kalend.top/tags/agent%E6%A1%86%E6%9E%B6/</link><description>Recent content in Agent框架 on Kalend's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Thu, 20 Aug 2026 08:30:00 +0800</lastBuildDate><atom:link href="https://blog.kalend.top/tags/agent%E6%A1%86%E6%9E%B6/index.xml" rel="self" type="application/rss+xml"/><item><title>DeepSeek Harness深度拆解："一切皆插件"的Agent底座，为什么它不想做下一个Codex</title><link>https://blog.kalend.top/2026/08/20/2026-08-20-deepseek-harness-guide.html/</link><pubDate>Thu, 20 Aug 2026 08:30:00 +0800</pubDate><guid>https://blog.kalend.top/2026/08/20/2026-08-20-deepseek-harness-guide.html/</guid><description>&lt;p&gt;8月13日，DeepSeek开源了一个叫Harness的项目。29小时GitHub破9万星，5天破15万，截至今天已超16.7万星、1.7万fork。这是GitHub史上涨星最快的项目之一。&lt;/p&gt;
&lt;p&gt;但我更关心的不是星数，而是它的定位——它不想做下一个Codex，也不想做下一个Claude Code。它想做的，是Agent的运行时底座。&lt;/p&gt;
&lt;p&gt;核心公式只有一句话：&lt;strong&gt;Model + Harness = Agent&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="deepseek-harness是什么"&gt;DeepSeek Harness是什么
&lt;/h2&gt;&lt;p&gt;DeepSeek Harness（简称&lt;code&gt;dsh&lt;/code&gt;）是一个开源的Agent运行时框架，MIT协议，TypeScript编写，目前是v0.1开发者预览版（最新rc.8）。&lt;/p&gt;
&lt;p&gt;安装只需要一行：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npx @deepseek-ai/dsh web
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;它会在&lt;code&gt;http://127.0.0.1:3080&lt;/code&gt;启动Web UI，配置好模型API Key就能直接用。&lt;/p&gt;
&lt;p&gt;和Codex、Claude Code不同，Harness不是一个&amp;quot;编程助手&amp;quot;——它是一个Agent运行时。你把模型丢进去，加上需要的插件，就得到一个Agent。编程只是它能做的事情之一。&lt;/p&gt;
&lt;p&gt;这个区分很重要：&lt;strong&gt;Codex和Claude Code是工具，Harness是平台。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="一切皆插件架构拆解"&gt;&amp;ldquo;一切皆插件&amp;quot;架构拆解
&lt;/h2&gt;&lt;p&gt;Harness的底层是一个叫&lt;strong&gt;Cordis&lt;/strong&gt;的插件框架，这个名字来自DeepSeek内部代号，其设计有配套论文《A Programming Paradigm for Spatiotemporal Composability》。&lt;/p&gt;
&lt;p&gt;Cordis的核心理念极其简洁：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;没有特权内核需要打补丁——你通过在其他插件旁边挂载一个插件来扩展dsh，注册是可逆的效果（effect），当插件卸载时会自动回滚。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;具体来说，Cordis基于五个核心概念运转：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;概念&lt;/th&gt;
					&lt;th&gt;含义&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;插件（Plugin）&lt;/td&gt;
					&lt;td&gt;实现Service的对象，通过&lt;code&gt;apply(ctx)&lt;/code&gt;挂载到上下文&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;上下文（Context）&lt;/td&gt;
					&lt;td&gt;服务仓库，服务通过&lt;code&gt;ctx.&amp;lt;key&amp;gt;&lt;/code&gt;注册（如&lt;code&gt;ctx.tools&lt;/code&gt;、&lt;code&gt;ctx.llm&lt;/code&gt;）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;依赖注入（inject）&lt;/td&gt;
					&lt;td&gt;声明式依赖等待，无需手动编排启动顺序&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;事件系统&lt;/td&gt;
					&lt;td&gt;支持emit/waterfall/parallel/serial四种分发模式&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;可逆效果（effect）&lt;/td&gt;
					&lt;td&gt;所有注册都是可逆的，卸载时自动回滚&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;在Harness中，&lt;strong&gt;所有Agent能力都是插件&lt;/strong&gt;——模型适配器、工具注册、会话日志、沙箱、存储、Agent循环本身，全部是插件。看它的包结构就能理解这个粒度：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;packages/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; core/ session, system-prompt, tools, agent, agent-loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; llm/ 模型能力：Service + DeepSeek/多模型providers
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; shell/ bash能力：Service + local/pwsh providers
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fs/ 文件系统能力 + 策略
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; sandbox/ 沙箱隔离
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; skill/ 技能注册 + 目录加载
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; web/ 搜索/抓取能力
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; subagent/ 子Agent能力：委托 + 编排
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; workflow/ 工作流能力
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;每个包都是一个能力声明（Service Definition）+ 能力实现（Provider）+ 能力消费（Consumer）的三件套。换一个Provider，整个能力就变了——比如把本地文件系统Provider换成远程沙箱Provider，bash、PTY、LSP全部跟着迁移，无需改动任何消费端代码。&lt;/p&gt;
&lt;p&gt;这就是&amp;quot;一切皆插件&amp;quot;的真正含义：&lt;strong&gt;不是&amp;quot;支持插件&amp;rdquo;，而是&amp;quot;只有插件&amp;quot;&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="profile组合的艺术"&gt;Profile：组合的艺术
&lt;/h2&gt;&lt;p&gt;理解了Cordis，就理解了Harness的运行方式。一个运行中的&lt;code&gt;dsh&lt;/code&gt;实例，本质上是一棵在启动时从有序层组合而成的插件树。&lt;/p&gt;
&lt;p&gt;这棵插件树通过&lt;strong&gt;Profile&lt;/strong&gt;来描述：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;概念&lt;/th&gt;
					&lt;th&gt;定义&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Profile&lt;/td&gt;
					&lt;td&gt;命名的组合方案，列出要堆叠的bundles，保存在Harness home中&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Bundle&lt;/td&gt;
					&lt;td&gt;Cordis配置行和代码的分发格式，作为组合的一层&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Patch&lt;/td&gt;
					&lt;td&gt;用户级覆盖层，通过&lt;code&gt;cordis.patch.yml&lt;/code&gt;修改任何已有配置行&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Harness内置了两个Profile模板：&lt;code&gt;web&lt;/code&gt;（浏览器应用）和&lt;code&gt;headless&lt;/code&gt;（无服务器一次性运行）。&lt;/p&gt;
&lt;p&gt;组合顺序很明确：先按顺序叠加每个bundle的patch → Profile的&lt;code&gt;cordis.patch.yml&lt;/code&gt; → home级&lt;code&gt;cordis.patch.yml&lt;/code&gt; → &lt;code&gt;--patch&lt;/code&gt;覆盖层。&lt;/p&gt;
&lt;p&gt;你可以用以下命令查看你的机器实际启动的插件树：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dsh --profile web --dump-config
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;它输出的每一行配置都可以被你的patch替换。&lt;strong&gt;没有任何一行是不能改的。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="对比三种哲学三条路"&gt;对比：三种哲学，三条路
&lt;/h2&gt;&lt;p&gt;现在我们可以把当前主流的Agent编程工具放在一起比较了：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;维度&lt;/th&gt;
					&lt;th&gt;Codex (OpenAI)&lt;/th&gt;
					&lt;th&gt;Claude Code (Anthropic)&lt;/th&gt;
					&lt;th&gt;DeepSeek Harness&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;架构&lt;/td&gt;
					&lt;td&gt;封闭单体&lt;/td&gt;
					&lt;td&gt;紧耦合扩展&lt;/td&gt;
					&lt;td&gt;全插件化&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;模型绑定&lt;/td&gt;
					&lt;td&gt;仅OpenAI&lt;/td&gt;
					&lt;td&gt;仅Anthropic&lt;/td&gt;
					&lt;td&gt;多模型（OpenAI、Anthropic、Google、DeepSeek等）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;扩展方式&lt;/td&gt;
					&lt;td&gt;配置有限&lt;/td&gt;
					&lt;td&gt;Hooks/Commands&lt;/td&gt;
					&lt;td&gt;完整插件系统&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;定位&lt;/td&gt;
					&lt;td&gt;编程工具&lt;/td&gt;
					&lt;td&gt;编程工具&lt;/td&gt;
					&lt;td&gt;Agent运行时&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;沙箱&lt;/td&gt;
					&lt;td&gt;内置容器&lt;/td&gt;
					&lt;td&gt;内置权限控制&lt;/td&gt;
					&lt;td&gt;Provider可选（E2B、本地、自定义）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;会话管理&lt;/td&gt;
					&lt;td&gt;云端托管&lt;/td&gt;
					&lt;td&gt;本地文件&lt;/td&gt;
					&lt;td&gt;可插拔存储Provider&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;开源协议&lt;/td&gt;
					&lt;td&gt;Apache 2.0&lt;/td&gt;
					&lt;td&gt;部分开源&lt;/td&gt;
					&lt;td&gt;MIT&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;三者的本质区别：&lt;strong&gt;Codex和Claude Code是&amp;quot;帮你写代码的工具&amp;quot;，Harness是&amp;quot;让你搭建Agent的平台&amp;quot;。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Codex的优势在于OpenAI的模型质量和沙箱安全；Claude Code的优势在于Anthropic的代码理解和紧密集成。但它们的扩展性都有天花板——你无法把Codex的模型换成Claude，也无法给Claude Code加一个完全不同的工具系统。&lt;/p&gt;
&lt;p&gt;Harness可以。因为模型是插件，工具是插件，沙箱是插件，甚至Agent循环本身都是插件。&lt;/p&gt;
&lt;h2 id="cordis事件系统agent的神经系统"&gt;Cordis事件系统：Agent的神经系统
&lt;/h2&gt;&lt;p&gt;Harness的事件系统是理解其架构的关键。它定义了三种事件域：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;事件域&lt;/th&gt;
					&lt;th&gt;用途&lt;/th&gt;
					&lt;th&gt;特点&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Session事件&lt;/td&gt;
					&lt;td&gt;持久化事实，写入日志&lt;/td&gt;
					&lt;td&gt;可重放、可恢复&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Agent事件（&lt;code&gt;agent/*&lt;/code&gt;）&lt;/td&gt;
					&lt;td&gt;拦截运行中的Agent&lt;/td&gt;
					&lt;td&gt;inbox、step、request、validation&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Capability事件&lt;/td&gt;
					&lt;td&gt;挂载策略和适配器&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;fs/*&lt;/code&gt;、&lt;code&gt;tools/*&lt;/code&gt;、&lt;code&gt;telemetry/*&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;一次Agent执行的流程是这样的：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;turn/start
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → claim输入 + 排队消息
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → 组装prompt sections + tool schemas
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → agent/pre-step（可改写或拒绝）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → step/start
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → assistant/message → tool/call → tool/result
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → step/end
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → agent/turn-stopping
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;turn/end
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;关键设计原则：模型可见的必须可记录。&lt;/strong&gt; 任何到达模型请求的内容都必须能从日志中重建——这是为什么新的模型可见输入需要新的session事件。这个runtime不变量保证了会话的可重放性和可fork性。&lt;/p&gt;
&lt;h2 id="对开发者意味着什么"&gt;对开发者意味着什么
&lt;/h2&gt;&lt;p&gt;Harness对开发者的价值不在于&amp;quot;又多了一个编程工具&amp;quot;，而在于它走了一条不同的路：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;从&amp;quot;用模型&amp;quot;到&amp;quot;搭Agent&amp;quot;。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;以前你想做一个Agent，需要从零搭建：模型接入、工具注册、会话管理、沙箱隔离、循环调度，每个都是独立工程。现在你只需要：选一个模型Provider插件 + 挂上需要的工具插件 + 配置Profile = Agent完成。&lt;/p&gt;
&lt;p&gt;Harness内置的核心包覆盖了Agent开发的几乎所有基础设施：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;能力&lt;/th&gt;
					&lt;th&gt;包&lt;/th&gt;
					&lt;th&gt;作用&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;会话管理&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;core/session&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;追加式事件日志 + 内存存储&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;提示词组装&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;core/system-prompt&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;模板化prompt sections + tool schemas&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;工具注册&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;core/tools&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;作用域工具注册 + 守卫执行管线&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Agent循环&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;core/agent-loop&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;默认驱动实现&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;子Agent&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;packages/subagent&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;委托、编排、协作&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;文件系统&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;packages/fs&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;能力声明 + 策略&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Shell执行&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;packages/shell&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;bash能力 + local/pwsh providers&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;LSP&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;packages/lsp&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;语言服务器能力&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;这意味着开发者可以专注于&amp;quot;我的Agent需要什么独特能力&amp;quot;，而不是&amp;quot;怎么让Agent跑起来&amp;quot;。&lt;/p&gt;
&lt;h2 id="实操建议"&gt;实操建议
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;什么人适合现在关注Harness？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agent框架开发者：想理解下一代Agent架构的设计思路&lt;/li&gt;
&lt;li&gt;插件/扩展系统设计者：Cordis的&amp;quot;可逆效果&amp;quot;模式值得学习&lt;/li&gt;
&lt;li&gt;多模型用户：需要在不同模型间切换而不重写代码&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;现阶段的局限：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;还是v0.1开发者预览版，官方明确说&amp;quot;会有破坏兼容性的变更&amp;quot;&lt;/li&gt;
&lt;li&gt;文档还在完善中，架构文档质量不错但用户指南偏薄&lt;/li&gt;
&lt;li&gt;生态虽然已有8600+个dsh-plugin标签仓库，但成熟度远不及Claude Code的Hooks生态&lt;/li&gt;
&lt;li&gt;Python SDK在开发中，目前TypeScript为主&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;建议：&lt;/strong&gt; 如果你是Agent开发者或深度技术用户，现在就值得clone下来研究架构。如果你只是想找一个编程助手，现阶段Codex或Claude Code仍然是更成熟的选择。&lt;/p&gt;
&lt;p&gt;Harness的价值不在于今天能用它做什么，而在于它对Agent基础设施该怎么搭，给出了自己的答案。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;作者：varkm&lt;/em&gt;
&lt;em&gt;数据来源：GitHub API实时查询（2026-08-20），DeepSeek Harness官方文档&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>