SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 更新于 2026-08-27

DeepSeek Harness、Claude Code 与 Omnigent 怎么选?

比较 DeepSeek Harness、Claude Code 与 Omnigent 的架构、模型耦合、界面、许可证和成熟度,并说明各自在 VPS 上的运行要求。

DeepSeek Harness、Claude Code 与 Omnigent:您需要哪一个

DeepSeek Harness、Claude Code 和 Omnigent 都被称为代理运行框架,但它们解决的是不同层面的问题。DeepSeek Harness 是带有 Web UI(用户界面)的插件运行时,模型由您自行提供。Claude Code 是 Anthropic 提供的终端程序,用于运行 Anthropic 模型。Omnigent 是 Databricks 提供的编排器,负责驱动包括 Claude Code 在内的其他运行框架,而不是自行实现代理循环。它们都不能直接替代另外两个,因此真正需要回答的问题是:您缺少哪一层。如果您不熟悉这种划分,代理运行框架的实际含义介绍了这三个工具以不同方式划分的组成部分:循环、工具、权限和会话状态。

真正存在差异的维度包括架构、模型耦合方式、界面、成熟度和许可证。以下所有版本和日期均已于 18 August 2026 核实。其中两个项目的变化速度足够快,您在确定方案前应再次检查。

DeepSeek Harness 是什么?插件模型带来了什么?

DeepSeek 于 2026 年 8 月在 github.com/deepseek-ai/deepseek-harness 发布了 DeepSeek Harness,即 dsh。仓库描述用四个词概括了整个设计:一切都是插件。模型适配器、工具注册表、会话日志、沙箱以及 agent 循环本身都是插件,由基于 Cordis 构建的运行时加载。该项目的采用速度异常快,发布几天内仓库 star 数就超过了 150,000(截至 18 August 2026)。

DeepSeek Harness 当前处于开发者预览阶段,更新迭代很快。将会发生不兼容变更。

这是 README 自己给出的警告,也是本次比较中最重要的一句话。您今天基于插件 API(应用程序编程接口)编写的任何内容,都应预期需要重写。

使用 npx 启动。运行前需要安装 Node.js:

npx @deepseek-ai/dsh web

命令会输出其 URL。默认情况下,Web UI 在 http://127.0.0.1:3080 提供服务。这个地址是有意设置的绑定地址,不是无关紧要的默认值;一旦 dsh 在与浏览器不同的机器上运行,将 UI 绑定到 127.0.0.1 对访问它意味着什么 就变得很重要。每个已发布的构建都是候选发布版本,而不是稳定版本。因此,如果命令失败,或启动了您未预期的版本,固定确切的 dsh 版本并清除 npx 缓存 是最快的解决方法。也可以使用 pnpm 从源代码构建:

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

dsh webdsh --profile web 的简写。配置文件是 $DSH_HOME/profiles/ 下的一个目录,启动器会启动您指定的配置文件。这一点很重要,因为该项目还提供无头配置文件:dsh --profile headless "job" 会运行一个持久化会话,输出结果后退出,适合在 cron 作业或构建步骤中使用。--profile--patch 等启动器选项必须放在应用自身参数之前,因为启动器在参数传递位置停止解析。--port 这样的选项属于已启动的配置文件,而不是启动器,因此位置很重要。插件通过向 pnpm 转发参数进行管理,例如 dsh plugin --profile web add <package>。插件会加载到与 agent 相同的运行时中,并继承其权限,因此请在安装前检查插件可以访问哪些内容

Claude Code 是什么,为什么它是终端程序?

Claude Code 是 Anthropic 自有的 CLI(命令行界面)代理。该产品本身没有 Web UI。它在您指定的工作目录中运行于终端内,因此非常适合服务器会话。由于没有可配置的界面,您需要通过文本而不是设置面板来调整其回答方式;输出样式会替换其系统提示词,因此会话中的每条回复都以不同格式返回。在 macOS、Linux 和 WSL 上只需执行一条命令即可安装:

curl -fsSL https://claude.ai/install.sh | bash
claude --version

安装成功后会输出版本和产品名称,例如 2.1.211 (Claude Code)。如果安装失败,claude doctor 会输出只读的安装和设置诊断信息,但不会启动会话。此外还提供 npm 软件包 npm install -g @anthropic-ai/claude-code;截至 v2.1.198,该软件包要求 Node.js 22 或更高版本。它安装的是同一个原生二进制文件,因此已安装的 claude 不会在运行时使用您的 Node.js。Anthropic 还为 Debian、Ubuntu、Fedora、RHEL 和 Alpine 发布了带签名的 apt、dnf 和 apk 软件源。如果您使用配置管理工具维护服务器,这是更好的选择,因为更新会通过常规升级流程交付。

Claude Code 要求使用 Pro、Max、Team、Enterprise 或 Console 账户。免费的 Claude.ai 计划不包含访问权限。选择Claude 订阅还是 API 计费,对费用的影响远大于工具内部的任何设置。

Omnigent 是什么,meta-harness 负责编排什么?

Databricks 于 2026 年 6 月宣布推出 Omnigent,并以 Apache 2.0 许可证发布。Omnigent 将自己称为 meta-harness。它不实现 agent 循环,而是驱动现有的 agent:Claude、Codex、Cursor、OpenCode、Hermes、Pi,以及 OpenAI 的 agents SDK(软件开发套件)。其中一些 agent 在 harness 列表中出现两次:一种通过供应商的 SDK 通信,另一种是封装供应商实际终端程序的原生形式。

agent 是一个 YAML 文件,YAML 是一种纯文本配置格式:

name: my_agent
prompt: You are a helpful data analyst.

executor:
  harness: claude-sdk

tools:
  word_count:
    type: function
    callable: mypackage.mymodule.word_count
  docs:
    type: mcp
    url: https://example.com/mcp
  researcher:
    type: agent
    prompt: Search for relevant information.

executor.harness 行是整个项目的核心。将 claude-sdk 更改为 codex 后,相同的提示和相同的工具就可以在不同供应商的模型上运行。工具可以是 Python 函数、MCP(模型上下文协议)服务器,也可以是另一个 agent。最后一种情况就是表达多 agent 工作的方式:子 agent 本身就是一个工具。如果您还没有确定 skills、MCP 服务器和 rules 文件分别应该放在哪里,建议先阅读agent skills、MCP 与 rules 文件的区别,因为 Omnigent 会继承底层 harness 支持的这些机制。

随附的示例使这一理念更加具体。Polly 是一个不自行编写代码的编码编排器。它负责制定计划,在并行的 git worktree 中将工作委派给编码子 agent,然后将每个差异发送给使用不同供应商模型运行的审查 agent。

使用已发布的脚本安装:

curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh

也可以手动安装,但需要 Python 3.12 或更高版本:

uv tool install omnigent
omnigent setup
omnigent start

pip install "omnigent" 同样可用,附加组件按通常方式通过 uv tool install "omnigent[databricks,modal]" 选择。omnigent setup 收集凭据并设置默认值。omnigent start 启动服务器,将本机注册为主机,并在 http://localhost:6767 上提供 Web UI。omnigent server statusomnigent stop 是日常使用的另外两个命令。直接运行 omnigent 可打开交互式会话,而不会启动服务器。

依赖项比单行安装程序所暗示的更多:Python 3.12 或更高版本、git、带 npm 和 pnpm 的 Node.js 22 LTS(长期支持版)或更高版本、用于原生终端封装器的 tmux,以及用于 Linux 沙箱的 bubblewrap(bwrap)。这是该设计的直接结果。Omnigent 必须自行安装并监管供应商的 CLI,因此它是一个负责运行 Node.js 软件的 Python 软件。

谁提供模型,谁支付费用?

这是实际影响最大的维度,三种工具的答案确实不同。

DeepSeek Harness 采用自带提供商的方式。已安装的提供商目录包括 Anthropic、OpenAI、Bedrock、Vertex、Azure 和 Codex。自定义提供商条目需要使用小写的提供商 ID、显示名称、基础 URL、API 协议、凭据以及至少一个模型。这样即可将其指向公司网关或自托管服务器。密钥写入 $DSH_HOME/.credentials.yaml,而 $DSH_HOME/settings.yaml 只保存密钥引用。这意味着设置文件可以安全共享,但凭据文件不能共享。网关条目也可以改为指定环境变量,例如 apiKeyEnv: GATEWAY_API_KEY。尽管项目名称中包含 DeepSeek,但它不会强制您使用 DeepSeek 自有模型。如果您想查看如何为真实密钥填写这些文件,或将其指向本地 Ollama 端点,请参阅配置 dsh 密钥、模型和端点,其中介绍了每种模式,以及在各模式下哪些内容会离开您的计算机、哪些不会。

Claude Code 的设计决定了它与单一供应商绑定。您可以使用付费账户登录,也可以设置 ANTHROPIC_API_KEY,让 Claude Code 提示您一次以批准该密钥,而不是打开浏览器。第二种方式适用于无头服务器。已经从其他渠道购买容量的组织,可以通过 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry 进行路由。

Omnigent 需要底层 harness 所需的全部内容,并通过 omnigent setup 收集这些配置。它支持 API 密钥、现有 CLI 订阅、OpenAI 兼容或 Anthropic 兼容网关,以及 Databricks 工作区。这正是元 harness 的实际成本:一台计算机最终会保存每个供应商的凭据。在让这台计算机接触公网之前,请阅读如何防止 AI 代理接触机密信息

截至 2026 年 8 月,各自的成熟度如何?

Claude Code 自 2025 年起已正式发布。截至 2026 年 8 月,它处于 2.1.x 版本线。它会在后台自动更新,提供 lateststable 发布渠道,发布经过 GPG 签名的版本清单,并为需要设定最低版本的组织提供 minimumVersion 固定版本。这个产品已经具备在生产环境中运行的条件。

Omnigent 自 2026 年 6 月起对外发布,目前仍处于 0.x 系列,其 README 将其描述为 alpha 版本。预计 harness 列表和 YAML 架构仍会持续变动。它已经可以使用,但尚未稳定。

DeepSeek Harness 的成熟度远低于前两者。它于 2026 年 8 月发布,比本文撰写时间早几天,其 README 也明确表示可能发生破坏兼容性的变更。很高的 star 数量只能说明许多人正在关注它,无法说明插件 API 是否已经稳定。

每个工具采用什么许可证?

DeepSeek Harness 采用 MIT 许可证,第三方许可证见 THIRD_PARTY_NOTICES.md。Omnigent 采用 Apache 2.0 许可证。Claude Code 不是开源软件:它是 Anthropic 的商业产品,运行时需要付费账户或按用量计费的 API 访问权限。如果您的要求是可以读取和修改每一行代码,那么无需比较任何功能,Claude Code 就已被排除。如果您的要求是工具下个月仍能在无需您干预的情况下继续运行,那么结论正好相反。

在 VPS 上运行每个工具需要什么?

Claude Code 是这 3 个工具中最简单的一个。安装并登录,然后在 tmux 中运行,使会话在 SSH(安全外壳)连接中断后仍能保留。Anthropic 要求使用 4 GB 或更多 RAM(随机存取存储器)以及 x64 或 ARM64 处理器,操作系统为 Ubuntu 20.04 或更高版本、Debian 10 或更高版本,或 Alpine 3.19 或更高版本。在 Alpine 上,还必须先安装 bashcurllibgcclibstdc++ripgrep,否则安装命令会因 not found 错误而失败。在 VPS 的 tmux 中运行 Claude Code详细介绍了会话管理。

DeepSeek Harness 需要 Node.js,以及一个指向其 Web 界面的浏览器。README 未指定 Node.js 的最低版本,因此建议使用 Node 22 LTS,因为相关生态以此为目标版本。不要公开发布 3080 端口。让服务器继续监听 127.0.0.1,并从笔记本电脑转发该端口:

ssh -N -L 3080:127.0.0.1:3080 you@your-vps

然后在本地打开 http://127.0.0.1:3080在 VPS 上完整安装 DeepSeek Harness介绍了配置文件布局和插件命令。

Omnigent 的资源和配置要求最高,因为它会安装并管理其他厂商的 CLI。它要求在同一台服务器上安装 Python 3.12、Node.js 22、npm、pnpm、tmux 和 bubblewrap,此外还会下载启用的每个厂商 CLI。使用相同方式转发其端口:

ssh -N -L 6767:127.0.0.1:6767 you@your-vps

如果服务器供其他人使用,建议采用 deploy/ 下的 Docker 部署方式,该方式默认启用多用户账户。手动启动服务器时,设置 OMNIGENT_AUTH_ENABLED=1 也可启用相同行为;OIDC(OpenID Connect)登录支持 Google、GitHub、Okta 和 Microsoft。Omnigent 多智能体 Harness 指南介绍了沙箱提供程序;当智能体开始写入磁盘后,这些提供程序就会变得重要。

为什么通过服务器的公网 IP 地址访问时 Web UI 为空白?

这两个 Web harness 默认都监听 loopback,最直接的做法是将它们绑定到 0.0.0.0 并开放端口。但这样会导致两个独立问题。首先是安全问题:两者在默认本地模式下都不提供身份验证,因此开放端口就等于在 VPS 上开放 shell。其次是一个容易让人困惑的浏览器规则。只有在安全上下文中才会定义 crypto.randomUUID(),安全上下文包括 HTTPS(超文本传输协议安全)、localhost127.0.0.1。通过普通地址(例如 http://203.0.113.10:3080)加载同一个 UI 时,浏览器控制台会报告:

TypeError: crypto.randomUUID is not a function

随后页面只能部分渲染,甚至完全无法渲染,因为会话创建在页面绘制前就失败了。服务器本身没有故障,日志也会显示正常请求。浏览器不信任该来源,因此前端依赖的某个函数从未定义。SSH 隧道无需证书即可解决此问题,因为 127.0.0.1 会被视为安全上下文。使用持有真实 TLS(传输层安全)证书的反向代理也可以解决此问题,但之后必须自行添加身份验证。

哪一个适合您?

如果您希望立即使用编码代理,愿意向 Anthropic 付费,并且平时就在终端中工作,请选择 Claude Code。三者中,只有它是已经完成的商业产品,而不是预览版。

如果插件模型才是重点:您希望替换模型适配器、沙箱或代理循环,并且接受所面向的接口会发生变化,请选择 DeepSeek Harness。它的提供商目录涵盖 Anthropic 和 OpenAI,因此选择它意味着押注其运行时,而不是押注 DeepSeek 的模型。

如果您已经运行多个代理 CLI,而实际问题是协调,请选择 Omnigent:包括策略、沙箱、使用第二家供应商的模型进行审查,以及供其他人查看的共享会话。它会在您的技术栈中增加一层,而不需要的层就可能成为故障点。如果您的协调需求没有那么复杂,那么在同一台机器上运行两个 Claude Code 会话即可相互发送消息,无需在中间加入编排器。

如果您仍在筛选,Mimo Code AI 编码代理与 Claude Code 同属终端代理类别;无论您选择哪一个,都值得阅读在一次性 VM 中运行编码代理,因为这三个工具都不会自行确保粗心的 rm -rf 安全。三者也都不会决定代理提出的差异有多大;这属于提示词层面的问题。因此,无论您最终采用哪种 harness,都值得叠加使用促使代理采用可行的最小改动的 skill

FAQ

使用 Claude Code 是否需要付费的 Anthropic 计划?

需要。Claude Code 要求使用 Pro、Max、Team、Enterprise 或 Console 账户,免费的 Claude.ai 计划不提供访问权限。在无头 VPS 上,首次运行前设置 ANTHROPIC_API_KEY:这样 Claude Code 会提示您批准该密钥一次,而不是尝试打开浏览器。如果组织在其他平台上有可用容量,也可以改用 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry。

DeepSeek Harness 可以运行 Claude 或 OpenAI 模型吗?

可以。已安装的提供商目录涵盖 Anthropic、OpenAI、Bedrock、Vertex、Azure 和 Codex。依次进入 Settings 和 Models,即可为每个提供商添加密钥。目录之外的服务需要作为自定义提供商添加,并且必须提供小写的提供商 id、基础 URL、API 协议、凭据和至少一个模型。密钥存储在 $DSH_HOME/.credentials.yaml 中,而 $DSH_HOME/settings.yaml 仅保存引用。因此,请单独备份凭据文件,并将其排除在版本控制之外。

Omnigent 会取代 Claude Code 吗?

不会。Omnigent 运行 Claude Code。其 harness 列表包括 Claude、Codex、Cursor、OpenCode、Hermes 和 Pi。代理在其 YAML 文件中使用一行 harness: 选择其中一个。底层 CLI 仍需由您自行安装并完成身份验证。Omnigent 在此基础上提供编排、策略和沙箱功能。因此,只有在运行多个代理或多个供应商时,这些依赖项才有必要。

为什么 DeepSeek Harness 的 Web UI 在服务器公网 IP 地址上显示为空白?

因为普通 HTTP 源不是安全上下文,crypto.randomUUID() 在该环境中未定义,并且浏览器控制台会报告 TypeError: crypto.randomUUID is not a function。会话创建失败,因此页面只能部分渲染,甚至完全无法渲染,而服务器日志看起来正常。使用 ssh -N -L 3080:127.0.0.1:3080 you@your-vps 通过 SSH 转发端口,然后打开 http://127.0.0.1:3080,因为回环地址属于安全上下文。也可以使用带有效 TLS 证书的反向代理,但随后必须自行添加身份验证。

这些 harness 需要多少 RAM 的 VPS?

Anthropic 对 Claude Code 的文档要求为 4 GB 或更多。DeepSeek Harness 和 Omnigent 都未公布具体数值,因此应进行测量,而不是猜测。三种情况下模型都在远程运行,因此 harness 本身负责进程监管和文件处理,而不是推理。真正决定服务器规格的是代理在服务器上执行的工作,例如构建和测试套件。Omnigent 的需求最高,因为 Python、Node.js、tmux 以及您启用的每个供应商 CLI 都运行在同一台机器上。