发布日期:2026-09|适用对象:开发者、AI 工程团队、Agent 平台研发与技术负责人|资料口径:官方页面、官方文档与官方 GitHub 仓库

DeepSeek Harness、OpenCode 和 Pi Agent 都能让大模型读取项目、调用工具并持续执行任务,但三者不是同一类产品:DeepSeek Harness 是把九类能力做成插件的 Agent 运行框架,OpenCode 是覆盖终端、桌面和 IDE 的开源编码 Agent,Pi Agent 是以四个默认工具起步、通过 TypeScript 扩展与 Skills 组合工作流的最小终端 Harness。选型的关键不是比较一次代码生成效果,而是判断团队需要现成编码体验、轻量可塑核心,还是可替换的运行时组件。


先分清:三者分别是什么?

DeepSeek Harness 是 Agent Harness 开发框架。 DeepSeek AI 于 2026 年 8 月 27 日发布开发者预览,官方把模型、工具、Skills、Session、沙箱、存储、循环、调度和 UI 共九类能力都设计成可挂载、替换或重组的插件。

OpenCode 是开源 AI 编码 Agent。 官方文档提供终端界面、桌面应用和 IDE 扩展,并内置项目初始化、Plan/Build、子 Agent、权限规则、LSP、MCP、Skills、插件、SDK 和 Server 等能力。

Pi Agent 当前官方名称为 Pi Agent Harness,其中面向开发者直接使用的产品是 Pi Coding Agent。 旧仓库地址 badlogic/pi-mono 已重定向至 earendil-works/pi;官方将 Pi 定义为最小终端 coding harness,并刻意把子 Agent 和 Plan 模式等能力留给扩展或第三方包。

三者共同点是“模型与执行环境分离”:模型负责推理,Harness 或编码 Agent 负责上下文、文件、Shell、工具、会话与控制流。它们不是模型,也不决定底层模型本身的知识和推理上限。

核心对比:默认能力与扩展边界

以下对比以 2026 年 9 月 16 日可访问的官方资料为准。版本、配置项和插件接口仍可能快速变化。

维度

DeepSeek Harness

OpenCode

Pi Agent

产品定位

可组合 Agent Harness 运行框架

多入口开源编码 Agent

最小终端 Coding Harness + Agent Toolkit

主要入口

Web UI、CLI/运行时配置

TUI、CLI、桌面、IDE 扩展

交互式终端、Print/JSON、RPC、SDK

默认工作方式

Standard、Code、Minimal、Creator 四种模式

Build 与 Plan 两个主 Agent,General、Explore、Scout 三个子 Agent

默认 readwriteeditbash 四个工具;不内置 Plan 与子 Agent

扩展方式

Cordis 插件、配置组合、社区 Bundle

Agents、Skills、MCP、插件、自定义工具、SDK、Server

TypeScript Extensions、Skills、Prompt Templates、Themes、Pi Packages

模型接入

模型本身也是插件,可配置自定义 Provider

官方称支持 75+ Provider,并支持本地模型和自定义端点

内置多 Provider 目录,也可用 models.json 或扩展添加 Provider

会话机制

Append-only 轨迹;恢复、分叉、搜索、重放共用事件流

会话、Undo/Redo、分享链接及父子 Agent 会话导航

JSONL 树状会话;分支、Fork、Clone、压缩、导入和导出

权限与隔离

沙箱属于可替换插件,具体边界取决于安装模式和配置

allowaskdeny 三级权限,可按命令、路径、Agent 细分

官方明确不内置文件、进程、网络或凭据权限系统;强隔离需容器或沙箱

当前成熟度

Developer Preview,官方警告会有破坏性变更

2026-09-14 发布 v1.18.31

2026-09-05 发布 v0.85.1

这张表最重要的不是功能数量,而是默认值。OpenCode 默认提供较完整的编码工作流;Pi 默认核心最薄,把复杂能力交给扩展;DeepSeek Harness 则试图让运行时本身也能被重新组合。

三个工具如何快速启动?

以下命令均来自各自官方 README。执行前应确认 Node.js 与 npm 环境可用,并在测试仓库中运行。

DeepSeek Harness

npx @deepseek-ai/dsh web

默认会启动本地 Web UI。Developer Preview 阶段不应直接在敏感仓库中开放高权限工具。

OpenCode

npm install -g opencode-ai
opencode

进入项目后可使用 /connect 配置 Provider,再用 /init 分析项目并生成 AGENTS.md

Pi Agent

npm install -g --ignore-scripts @earendil-works/pi-coding-agent
pi

Pi 官方在 npm 安装命令中加入 --ignore-scripts,用于禁用依赖生命周期脚本;这不等于运行时沙箱,文件、进程和网络权限仍需另行隔离。

DeepSeek Harness:面向 Agent Runtime 研发

DeepSeek Harness 的核心设计是“Everything is a Plugin”。Cordis 内核负责插件挂载、卸载和依赖管理,开发者通过配置选择、替换或扩展能力,而不必直接修改 Harness 源码。

四种模式解决不同开发问题

  • Standard Mode:提供文件编辑、Shell、文件与 Web 搜索、Skills、规划、目标、子 Agent 和工作流。

  • Code Mode:在 Standard 能力之上,让模型通过 TypeScript 程序组合多轮工具调用。

  • Minimal Mode:只保留持久 Bash 与文件编辑器,用于较小控制变量的模型测试。

  • Creator Mode:增加运行时检查、内存插件实验和预设创建指导。

轨迹比普通聊天记录更完整

官方页面称,系统提示词、推理、工具调用与结果、子 Agent 调度和上下文注入都会进入只追加的 Session 日志。Trajectory 视图按来源检查记录,恢复、分叉、搜索和重放都基于同一事件流。

这使它适合研究工具编排、会话轨迹和自定义 Agent 预设。但截至 2026 年 9 月,项目仍为 Developer Preview;团队需要固定标签、为插件编写兼容性测试,并准备升级回退方案。

OpenCode:面向日常仓库开发

OpenCode 的优势是默认产品面更完整。安装后可在项目目录运行 opencode,用 /init 分析项目并生成 AGENTS.md,再通过 Plan 模式只读分析,或切换 Build 模式执行修改。

主 Agent、子 Agent 与权限组合

截至 2026 年 9 月,OpenCode 官方文档列出两个可切换的主 Agent:Build 和 Plan;同时提供 General、Explore、Scout 三个内置子 Agent。Explore 和 Scout 默认只读,分别面向代码库探索和外部依赖研究。

权限系统把操作解析为 allowaskdeny。团队可对文件编辑、Shell、外部目录、Web、LSP、Skills 和子 Agent 设置全局规则,也能按具体 Agent、命令模式或文件路径覆盖。

Provider 和 MCP 是成品能力

OpenCode 官方 Provider 文档在 2026 年 9 月写明支持 75+ Provider,也支持本地模型与自定义 Base URL。MCP 可配置本地或远程服务器,远程连接支持 OAuth;官方同时提醒,MCP 工具过多会迅速占用上下文。

如果团队希望在 TUI、桌面和 IDE 间使用同一套编码体验,并希望权限、Agent、MCP 和模型配置直接可用,OpenCode 可进入首轮试用。

Pi Agent:用最小核心组装自己的 Coding Harness

Pi Coding Agent 官方文档明确强调“把 Pi 适配到工作流,而不是让工作流迁就 Pi”。默认只向模型提供 readwriteeditbash 四个工具,不内置 Plan 模式或子 Agent。

四种运行入口适合嵌入自动化

Pi 支持交互式终端、Print/JSON、RPC 和 SDK 四种模式。交互模式适合开发者直接使用,JSON 与 RPC 便于进程集成,SDK 则用于嵌入自己的应用。

会话以 JSONL 树结构保存,支持在同一文件内分支,也支持 Fork、Clone、自动压缩、导入和导出。完整历史会保留在 JSONL 中,但上下文压缩本身是有损摘要。

TypeScript 扩展可以改变运行行为

Pi Extensions 可以注册模型可调用工具、拦截工具调用、注入上下文、定制压缩、增加命令和 TUI 组件,并持久化扩展状态。Skills、提示词模板、主题和 Pi Packages 则承担可复用能力分发。

它的代价同样明确:Pi 官方 README 写明,Pi 不内置限制文件系统、进程、网络或凭据访问的权限系统,默认继承启动用户和进程的权限。需要强边界时,应使用官方文档列出的微型虚拟机、Docker 或策略沙箱方案。

三者怎么选?看任务而不是功能清单

希望安装后直接处理仓库任务

先试 OpenCode。它已经把 Plan/Build、内置子 Agent、权限、Provider、MCP、LSP 和多入口界面组合成成品体验,团队需要配置的主要是模型、项目规则和权限策略。

希望终端核心尽量简单,再自行组合工作流

试用 Pi Agent。它适合愿意维护 TypeScript 扩展、Skills 与 Pi Packages 的个人和平台团队,也适合通过 JSON、RPC 或 SDK 嵌入现有自动化。但在接触敏感仓库前,必须先补上容器或沙箱边界。

希望研究或构建自己的 Agent Runtime

评估 DeepSeek Harness。其价值在于模型、工具、Session、沙箱、循环、调度和 UI 都可重新组合,并保留完整轨迹;代价是开发者预览期的接口变化和更高的插件工程成本。

希望统一接入不同模型服务

三者都支持多 Provider 或自定义模型入口,但实现层次不同:OpenCode 把 Provider 做成产品配置,Pi 通过模型目录或扩展注册,DeepSeek Harness 则把模型适配器纳入插件体系。

七牛云官方文档在 2026 年 8 月 24 日给出了 DeepSeek Harness 的自定义 Provider 配置路径,包括 API 地址、API Key 和控制台模型 ID 三项字段。该文档只证明 Harness 的配置流程,不代表 OpenCode 或 Pi 会自动继承相同设置。

用同一组任务做 PoC

公平比较三者时,应固定仓库、底层模型、提示词、权限和验收测试,避免把模型差异误判为 Harness 差异。

  1. 只读理解:定位入口、关键调用链和测试位置,检查引用文件是否准确。

  2. 跨文件修改:实现一个有明确验收测试的小功能,记录无关 Diff 与人工提示次数。

  3. 失败恢复:提供稳定失败测试,观察是否能读取错误、修改、复跑并解释根因。

  4. 权限测试:禁止仓库外写入和危险命令,检查工具是否请求批准或被拦截。

  5. 会话恢复:中断长任务后恢复,检查上下文、分支与工具结果是否保留。

  6. 扩展任务:接入同一个自定义工具,比较配置量、调试成本和升级稳定性。

建议记录任务成功率、首次正确修改时间、总模型用量、危险操作次数、人工接管次数和升级维护工时。单次 Demo 成功不能替代连续任务和失败路径测试。

常见混淆

opencode的deepseek是官方的还是自己的

OpenCode 本身是编码 Agent,不是 DeepSeek 模型的研发方。OpenCode 使用 Provider 配置连接模型服务;选择 DeepSeek 相关 Provider 或模型时,模型归属和计费由实际配置的服务商决定,OpenCode 负责项目上下文、工具调用、权限与会话体验。

DeepSeek Harness 对比pi

两者是可独立安装的开源 Harness。DeepSeek Harness 强调模型、工具、Session、沙箱、循环、调度和 UI 的全运行时插件化;Pi 强调最小终端核心,再通过 TypeScript Extensions、Skills 与 Packages 添加能力。前者内置四种运行模式,后者默认不提供 Plan 或子 Agent。

结论

2026 年 9 月,DeepSeek Harness、OpenCode 和 Pi Agent 的主要差异不在“是否能改代码”,而在默认产品层级:OpenCode 提供较完整的日常编码体验,Pi 提供可嵌入和可扩展的最小核心,DeepSeek Harness 提供可重组的 Agent Runtime 与轨迹系统。

据 DeepSeek Harness、OpenCode 和 Pi 官方文档,三者都处于快速迭代阶段。团队应使用同一模型和同一任务集测试,并重点检查权限、会话恢复、插件升级和退出路径。本文数据截至 2026 年 9 月 16 日,来源见文末参考资料。

参考资料