DeepSeek Harness vs OpenClaw:同样在做 Agent,为什么走了两条完全不同的路?
它从哪里接收任务? 它可以使用哪些工具? 它怎样记住过去? 多个任务如何隔离? 程序中断后,怎样恢复现场?
DeepSeek Harness 更像一套“可组装的 Agent 运行时”。OpenClaw 更像一个“全天在线的数字助理中枢”。
一、先用一张表看懂两者的区别
二、DeepSeek Harness:先把 Agent 的“发动机”造清楚
Everything is a Plugin,一切皆插件。
发动机可以换;变速箱可以换;仪表盘可以换;行车记录仪可以换;驾驶规则也可以通过插件扩展。
能否只替换一个模块,就改变整个 Agent 的某项能力,同时不破坏其他部分?
三、OpenClaw:先让数字助理随时找到你
这个人有没有权限联系 Agent?消息来自私聊、群聊还是频道?应该交给哪个 Agent?应该进入哪个 Session?结果应该回复到哪里?
用户从任何渠道发来一条消息,系统怎样安全、连续、准确地交给正确的 Agent?
四、最本质的区别,藏在“记忆”里
一轮任务开始;用户消息进入;模型请求开始;模型输出流式片段;模型决定调用工具;工具返回结果;一个步骤结束;一轮任务结束。
可以回放 Agent 的执行过程;可以知道模型当时看到了什么;可以追踪工具调用及其结果;可以从中断现场恢复;可以判断某个有副作用的工具是否可能已经执行;可以从同一份日志生成聊天界面、统计数据和审计信息。
总账没有被撕掉,只是给模型生成了一份更短的当前摘要。
USER.md:用户偏好、沟通方式和长期关系;MEMORY.md:长期事实、决定和重要信息;memory/YYYY-MM-DD.md:每天的工作记录和临时上下文;DREAMS.md:后台整理和记忆巩固的可审阅结果。
知道你喜欢 TypeScript;知道某个项目目前处于什么阶段;知道上周做过什么决定;知道哪些信息是长期偏好,哪些只是昨天的临时记录。
DeepSeek Harness 更关心“Agent 当时做了什么”;OpenClaw 更关心“这个人是谁,以及我们以前聊过什么”。
五、两者都有插件,但插件扮演的角色不同
把本地执行替换成远程沙箱,依赖这项能力的上层工具仍然可以工作。
DeepSeek Harness 用插件“组成系统”;OpenClaw 用插件“扩展产品”。
六、会话设计也暴露了不同侧重点
回放;Fork;Resume;调试;审计;测试 Agent 行为。
私聊默认可以共享主会话;群聊通常按群隔离;频道通常按房间隔离;定时任务可以每次创建新会话;多用户环境可以按渠道和发送者隔离;同一个人的不同渠道身份还可以关联起来。
微信上的张三和 Telegram 上的张三,是不是同一个人?家庭群和工作群,能不能看到彼此的上下文?两个用户私聊同一个机器人,会不会互相泄露历史?
七、安全设计:一个防止“执行失控”,一个防止“入口失守”
文件系统权限;Shell 与子进程;沙箱后端;人工审批;工具调用超时;中断恢复;执行环境替换。
Agent 获得了某项能力后,怎样在明确的执行环境和权限范围内运行?
谁可以给 Agent 发消息;私聊是否需要配对;群聊是否需要白名单或被提及才响应;新设备能否连接 Gateway;某个 Agent 可以看到哪些工具;工具运行在宿主机还是沙箱中。
DeepSeek Harness 更像在管理“执行权限”;OpenClaw 还必须管理“谁能够触发这些执行”。
八、两者分别适合什么场景?
希望替换 Agent Loop 或模型适配器;需要精确回放模型和工具的执行过程;对审计、恢复和测试要求很高;希望统一抽象本地、远程和沙箱执行环境;需要在同一套底层能力上构建 Web、CLI、ACP 或其他产品入口;想研究或定制 Agent 运行时本身。
希望接入 WhatsApp、Telegram、Slack、飞书等平台;希望一个 Gateway 管理多个渠道和设备;需要按用户、群聊、账号将消息路由给不同 Agent;希望通过 Markdown 管理用户偏好和长期记忆;需要定时任务、消息回复、多 Agent 和移动端节点;更关心“助手能否长期陪伴工作”,而不是重写底层 Agent Loop。
九、它们并不是互斥关系
用户与聊天平台↓OpenClaw Gateway身份、渠道、路由、回复↓Agent 执行后端↓DeepSeek Harness会话事件、工具执行、沙箱、恢复
结语
一个 Agent 应该怎样被正确地组装、记录、替换和恢复?
一个数字助理应该怎样进入用户的日常生活,并在不同渠道中持续工作?
DeepSeek Harness 把 Agent 当作一套系统来构建。OpenClaw 把 Agent 当作一个长期在线的产品来运营。
夜雨聆风