项目快照:deepseek-ai/deepseek-harness,约 126,657 个 Star,12,599 个 Fork;最新推送时间 2026-08-13T13:00:21Z。本文基于仓库公开资料撰写。
项目地址:https://github.com/deepseek-ai/deepseek-harness · https://deepseek.com/harness

项目速览(TL;DR)
deepseek-harness 是 DeepSeek AI 开发的开源智能体框架(agent harness),命令行简称为 dsh。项目的核心设计是“一切皆插件”,底层由 Cordis 驱动,仓库主要使用 TypeScript 编写。
根据给定的 GitHub 仓库元信息,项目当前有 126657 个 Star、12599 个 Fork,默认分支为 master,许可证为 MIT。README 明确标注项目处于开发者预览阶段,未来会出现破坏兼容性的变更,因此部署前应锁定实际使用的版本或提交,并以仓库最新文档核对命令和接口。
- 运行入口:
npx @deepseek-ai/dsh web。 - 默认 Web UI 地址:
http://127.0.0.1:3080。 - 源码构建工具:仓库声明使用 pnpm,版本为
pnpm@11.7.0。 - 运行时要求:
Node.js ^22.19.0 || >=24.0.0。 - 开发资料:仓库提供开发指南、架构文档和面向 agent 的
AGENTS.md。
定位与目标用户
这一项目的定位不是单个模型接口或单一业务机器人,而是用于组织智能体运行能力的开源 harness。根据 README,插件化是其架构基础;因此使用者需要关注插件边界、运行时组合和源码版本变化,而不只是启动一个网页。
目标用户包括需要在本地运行 Web UI 的开发者、希望研究 Cordis 时空可组合设计的工程团队,以及需要通过源码参与构建、测试和文档维护的贡献者。资料没有给出托管服务、企业版、SLA、并发规格或模型服务清单,不能据此推断项目具备相应商业能力。
如果团队的要求是快速获得一个稳定、长期兼容的生产组件,应先评估开发者预览状态带来的升级成本。根据本文作者的经验判断,插件化框架的价值通常取决于团队能否接受版本治理、接口审查和自有集成维护,但该判断不代表仓库对生产适用性作出了承诺。
核心功能
项目资料明确支持的核心能力集中在三层:通过命令启动 Web UI、通过源码构建库与前端、围绕插件化架构进行开发。README 没有列出具体内置插件、模型供应商、工具调用协议或业务场景,因此以下内容只解释仓库已公开的运行与开发入口。
插件化运行模型
“一切皆插件”意味着项目将系统能力放在插件化架构中组织,而不是把全部能力固定为不可拆分的单体功能。README 将 Cordis 列为驱动该设计的基础,并将相关设计归因于论文《A Programming Paradigm for Spatiotemporal Composability》。
从使用者角度看,插件是架构理解和扩展发现的入口:仓库建议插件作者在自己的插件仓库添加 dsh-plugin 话题,以便被发现。资料没有提供插件接口签名、生命周期事件、依赖声明格式或插件安装命令,具体输入、输出和触发条件应以开发指南、架构文档及实际源码为准。
Web UI 启动能力
web 是 README 给出的可执行子命令。运行 npx @deepseek-ai/dsh web 后,程序启动 Web UI,并默认监听本机地址 127.0.0.1:3080;输入是命令行子命令,输出是可通过浏览器访问的本地界面。
该入口依赖 Node.js 运行环境和可执行的 dsh 包。资料没有说明如何指定监听地址、如何配置模型、如何启用认证或如何把服务暴露到局域网,因此不能把默认本机地址扩展解释为远程部署方案。
源码构建与开发检查
源码运行流程由克隆、依赖安装、构建和启动四步组成:pnpm install 解析工作区依赖,pnpm run build 执行库和 Web 前端构建,pnpm dsh web 启动源码版本的 Web UI。构建脚本来自根目录 package.json,其中 build 会依次调用 build:lib 和 build:web。
仓库还定义了类型检查、代码检查、单元测试、端到端测试、快照测试、Web 测试和文档检查等脚本。例如,test 使用 Vitest 执行测试,typecheck 执行 TypeScript 构建相关检查,docs:build 构建文档站点并验证文档片段。脚本存在不等于每个脚本在所有平台和环境中都无需额外准备,执行前应查看对应配置和开发文档。
系统架构与关键模块
根据仓库资料,系统采用 TypeScript 工作区和插件化架构,构建产物至少分为宿主端、客户端和 Web 前端三个构建关注点。资料没有提供完整模块图或每个包的公开 API,因此本节只描述能够由 package.json 直接核验的结构关系。
工作区组织
根目录 package.json 的 workspaces 字段包含 vendor/*、packages/*/*、native/landlock-run、native/landlock-run/packages/*、apps/* 和 website。这表明仓库通过多个工作区管理库、应用、原生目录和网站目录,但不能仅凭目录匹配规则推导每个目录的具体职责。
根包名为 @deepseek-ai/dsh-root,并被标记为私有包。其构建脚本将 TypeScript 项目引用、tsdown 打包以及 Web 前端构建串联起来;具体宿主端和客户端导出内容,官方仓库未提供足够资料,建议以最新源码和包级 README 为准。
宿主端、客户端与 Web 前端
build:lib:host 执行 tsc -b tsconfig.host.json,随后调用 tsdown --env.DSH_BUILD_FACE host;build:lib:client 使用 tsconfig.client.json 并传入 client 构建面。由脚本命名可以确认构建过程区分 host 与 client,但资料没有给出两者的边界协议、通信方式或运行时接口。
build:web 通过 pnpm 过滤器调用 @deepseek-ai/dsh-web-frontend 的构建脚本。Web UI 是可见的运行入口,但 UI 页面、状态模型、浏览器端权限和后端 API 文档没有在给定资料中展开,实施集成时不能假定存在未公开的 URL 或参数。
Cordis 与架构文档
README 将 Cordis 作为项目的驱动基础,并提供了 Cordis 仓库和相关论文链接。对于需要理解插件组合、事件组织或空间与时间维度设计的读者,架构文档和论文比直接修改 Web 页面更适合作为起点。
仓库还提供自动生成和校验 Cordis catalog、Cordis API、客户端 catalog、工具 catalog、配置 catalog、持久化 catalog 与文档图的脚本。这些脚本说明项目重视接口和文档的一致性,但给定资料没有列出 catalog 的文件格式和生成结果,不能将其当作稳定的公共 API。
依赖与运行环境
运行环境的硬性信息来自根目录 package.json:项目使用 ES module,包管理器声明为 pnpm 11.7.0,Node.js 版本范围为 ^22.19.0 || >=24.0.0。README 只要求安装 Node.js 后运行 npx 命令,未提供操作系统、数据库、容器镜像或云服务要求。
| 项目 | 资料中的值 | 用途 | 核验来源 |
|---|---|---|---|
| 运行时 | Node.js | 执行 dsh 命令及构建脚本 | README、package.json |
| Node.js 版本 | ^22.19.0 || >=24.0.0 |
根包声明的 engines 约束 | package.json |
| 包管理器 | pnpm@11.7.0 |
从源码安装和执行工作区脚本 | package.json |
| 模块类型 | module |
根包采用 ECMAScript 模块语义 | package.json |
| 默认服务地址 | http://127.0.0.1:3080 |
Web UI 默认访问地址 | README |
| 底层架构依赖 | Cordis | 驱动“一切皆插件”的设计 | README |
给定资料没有提供锁文件内容、完整运行时依赖树、数据库依赖、浏览器兼容矩阵或生产部署拓扑。安装失败时,应先确认 Node.js 与 pnpm 版本是否满足声明,再检查仓库当前分支的安装说明。
快速开始
最小闭环是“准备 Node.js、启动 Web UI、在本机地址验证页面可访问”。下列命令全部来自 README,适用于本地或测试环境;示例没有包含任何模型密钥、远程目标或敏感参数。
通过 npm 包运行
# 1. 确认已安装符合仓库要求的 Node.js
# 2. 安装并运行 dsh Web UI
npx @deepseek-ai/dsh web
# 3. 在浏览器中打开并验证
# http://127.0.0.1:3080命令执行后,README 预期 Web UI 默认由本机 127.0.0.1:3080 提供。验证步骤是访问该地址并观察界面是否正常返回;资料没有规定健康检查接口、命令行成功标志或日志格式,因此不应添加未核实的检查命令。
从源码运行
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
# 验证:浏览器访问
# http://127.0.0.1:3080pnpm install 对应依赖安装,pnpm run build 对应库与 Web 前端构建,pnpm dsh web 对应源码入口。若只需要验证已发布命令,不必先克隆仓库;若需要修改插件、宿主端或前端,则应采用源码流程。
配置说明
给定 README 没有提供运行时配置章节、环境变量示例、模型配置格式或 Web UI 配置文件。下面的表格只整理根目录 package.json 中可核验的项目配置字段,不把它们误称为 dsh 的业务运行参数。
| 字段名 | 类型 | 默认值 | 作用 |
|---|---|---|---|
name |
字符串 | @deepseek-ai/dsh-root |
根工作区包名称 |
version |
字符串 | 0.1.0-rc.5 |
根工作区包版本 |
license |
字符串 | MIT |
声明根包许可证标识 |
private |
布尔值 | true |
将根工作区标记为私有包 |
type |
字符串 | module |
指定模块类型 |
packageManager |
字符串 | pnpm@11.7.0 |
声明包管理器及其版本 |
engines.node |
字符串 | ^22.19.0 || >=24.0.0 |
声明 Node.js 运行环境范围 |
workspaces |
字符串数组 | 见 package.json | 声明仓库工作区匹配路径 |
需要注意,0.1.0-rc.5 是根目录 package.json 的版本字段,不等同于 README 中命令所使用的 npm 包版本说明。资料没有提供可由用户设置的环境变量及其默认值;相关信息应以最新仓库文档为准。
进阶用法
进阶使用的重点是从“运行现成入口”转向“理解工作区、构建面和验证门禁”。仓库脚本覆盖库构建、前端构建、类型检查、静态检查、测试、文档构建和多类一致性验证,适合在修改代码后按变更范围选择检查项。
- 修改 TypeScript 库代码后,可关注
build:lib、typecheck和lint。 - 修改 Web 前端后,可关注
build:web、test:web及其 built、refresh、perf、stress 相关脚本。 - 修改测试快照后,仓库提供
test:snapshot、test:snapshot:record和test:snapshot:refresh。 - 修改文档或站点后,可关注
docs:build、docs:check与文档链接验证脚本。 - 修改 Cordis 或客户端目录后,可关注 catalog、API、配置、工具和文档图的生成与校验脚本。
这些脚本的输入是源码、配置和测试资源,输出通常是编译产物、校验结果或测试结果;但给定资料没有提供具体产物目录和 CI 门禁规则全文。执行组合检查前,应阅读根目录脚本实现及开发文档,而不是把脚本名称当作完整操作手册。
可观测性与运维
公开资料能够确认的运维观测点是 Web UI 的本地访问地址,以及仓库中用于测试和构建的命令。README 没有给出日志级别、结构化日志字段、指标名称、链路追踪、健康检查、备份策略或告警集成。
本地验证时,可记录 Node.js 版本、pnpm 版本、Git 提交、执行命令和启动日志,以便在开发者预览阶段复现问题。生产环境的进程托管、反向代理、持久化、横向扩展、审计留存和故障恢复方案,官方仓库未提供该信息,建议以最新 README 和架构文档为准。
仓库提供 test:web:perf、test:web:stress 等测试脚本,但资料没有给出测试数据、硬件条件、并发数量、吞吐量、延迟或结论。不能将脚本名称转换为性能承诺,也不能据此推导系统的可用性目标。
安全与合规边界
智能体框架可能被接入外部工具、文件、网络或企业数据,但给定资料没有列出 DeepSeek Harness 的具体工具权限、沙箱策略、认证机制和数据处理规则。使用时应把它视为需要额外安全设计的本地开发组件,而不是默认具备安全隔离的托管服务。
- 仅在已获授权的本机、测试环境或组织资产中运行和验证插件。
- 不要把生产密钥、个人信息、客户数据或未脱敏日志直接提供给未审查的插件。
- 部署前应审查插件源码、依赖、文件访问、网络访问和子进程行为;仓库资料没有声明这些能力的默认策略。
- 需要远程访问 Web UI 时,应先自行完成认证、网络隔离、访问控制和审计设计;资料没有提供远程暴露配置。
- 涉及个人信息、行业监管数据或跨境处理时,应由组织的安全与合规人员确定数据范围、保留期限和授权流程。
本文不提供面向未授权目标的攻击、绕过检测、账号自动化或隐私数据获取方法。任何插件扩展都应遵守适用法律、组织政策和目标系统的授权边界。
许可证与商用条款
仓库 LICENSE 文件声明采用 MIT License,版权声明为 Copyright (c) 2026 DeepSeek。MIT 文本授予获得软件及相关文档者使用、复制、修改、合并、发布、分发、再许可和销售副本的许可,但分发软件的副本或其重要部分必须保留版权声明和许可声明。
许可证同时规定软件按“现状”提供,不提供适销性、特定用途适用性和不侵权保证,作者不承担因使用软件产生的相关责任。第三方依赖及其许可证见仓库的 THIRD_PARTY_NOTICES.md;分发完整产品时,还应核查这些依赖的独立条款,以仓库 LICENSE 和第三方声明为准。
就 MIT 许可文本本身而言,商业使用不被禁止;但商业分发仍需履行保留版权与许可声明等条款,并处理第三方依赖、商标、数据合规和内部安全要求。仓库没有提供专门的商业支持、赔偿、SLA 或兼容性承诺。
局限性与已知限制
最明确的限制是项目仍处于开发者预览阶段,README 直接警告未来会发生破坏兼容性的变更。这个状态会影响插件接口、配置、构建产物和文档的长期稳定性,升级前应在隔离环境执行回归验证。
- 官方资料未提供稳定版发布承诺或长期支持周期。
- 官方资料未提供完整的插件 API、生命周期、版本兼容矩阵和插件安全模型。
- 官方资料未提供模型接入清单、API 参数、环境变量和密钥管理方式。
- 官方资料未提供性能基准、并发上限、资源消耗、SLA 或生产容量建议。
- 官方资料未提供完整的操作系统、容器、数据库和远程部署说明。
- 根目录脚本很多,但给定资料未说明所有脚本的前置条件、产物位置和平台差异。
因此,不能把仓库 Star 和 Fork 数量解释为质量、稳定性、服务能力或安全性的指标。它们只是给定 GitHub 元信息中的社区关注度数据,实际选型仍应以源码审查、测试结果和组织验收标准为准。
适合谁
以下信号同时出现时,DeepSeek Harness 更值得进入技术验证清单。判断依据来自其 TypeScript、pnpm 工作区、Cordis 驱动的插件架构和开发者预览状态。
- 团队已有 Node.js 与 TypeScript 工程经验,能够维护 pnpm 工作区和源码构建链路。
- 业务需要把智能体能力拆分为可组合的插件,并愿意阅读架构文档和源码确认接口。
- 团队接受开发者预览阶段的兼容性变化,具备固定提交、回归测试和升级评审流程。
- 使用场景以本地开发、原型验证、架构研究或受控测试环境为主,而非直接要求现成的托管生产服务。
- 团队愿意自行补充认证、审计、网络隔离、数据脱敏和插件供应链审查。
不适合谁
如果以下任一条件是硬性要求,当前资料不足以支持直接采用,应先等待更完整的官方说明或选择已有内部验证基础的方案。
- 要求稳定公共 API、明确版本兼容承诺、长期维护周期或厂商 SLA。
- 团队主要使用非 Node.js 技术栈,且没有 TypeScript、pnpm 和源码构建维护能力。
- 需要官方直接提供模型、数据库、身份认证、审计、监控和高可用部署,而不准备自行集成。
- 处理受严格监管的隐私数据,却无法建立插件审查、最小权限、隔离和日志治理流程。
- 需要已公开的并发、延迟、资源消耗或规模数据,并以这些数据作为上线准入条件。
资料没有明确列出替代方案,因此本文不对未被仓库提及的产品做对比。在场景 A 需要研究插件化智能体架构且可接受预览版时,可以安排源码验证;在场景 B 需要稳定生产合同、明确容量指标或现成运维能力时,应先选择组织已验证的替代方案,并等待事实资料补充。
常见问题与排查(FAQ / Troubleshooting)
运行 npx 命令后没有出现页面,先检查什么
先确认 Node.js 已安装且满足根目录 package.json 声明的版本范围,再确认命令完整写为 npx @deepseek-ai/dsh web。随后访问 README 指定的 http://127.0.0.1:3080,不要自行假设其他端口或路径。
如果仍然失败,官方仓库未提供统一错误码、日志目录或诊断命令。应保留终端输出、Node.js 版本、执行目录和仓库提交信息,并通过 GitHub Discussions 提交可复现信息,同时避免上传密钥和敏感数据。
源码安装失败如何处理
源码流程依赖 pnpm,根目录声明的包管理器版本为 pnpm@11.7.0。先确认当前目录是仓库根目录,再依次执行 pnpm install 与 pnpm run build;不要在未完成构建时把失败归因于 Web UI 本身。
资料没有给出网络代理、私有 registry、缓存目录或操作系统专项处理方式。若基础版本和目录均正确仍失败,应对照最新仓库说明,或在 Discussions 中提供最小化错误日志。
为什么不能直接假设插件 API
README 只确认插件化架构、Cordis 依赖和 dsh-plugin 发现话题,没有给出插件接口签名、安装方式和版本兼容规则。开发者应先阅读开发指南、架构文档、相关包级文档和源码测试,再编写插件。
如何判断是否可以用于生产
不能仅根据 Star、Fork、MIT 许可证或 Web UI 能启动就作出生产结论。项目处于开发者预览阶段,且资料未提供 SLA、性能、并发、安全审计和长期支持信息;上线前必须由使用方完成兼容性、权限、数据、性能和故障恢复验证。
是否需要配置 API Key
给定 README、LICENSE 和 package.json 没有提供 API Key 字段、环境变量名或模型供应商配置示例。官方仓库未提供该信息,建议以最新 README、用户指南和实际插件文档为准,不要依据未验证的变量名启动生产任务。
贡献、文档与社区协作
项目提供 CONTRIBUTING.md 作为贡献入口,并要求开发者阅读开发指南和架构文档。面向 agent 的修改还应遵循仓库根目录的 AGENTS.md,这说明贡献流程不仅涉及代码,也涉及自动化代理或协作规则。
- 反馈和 bug 报告:通过 GitHub Discussions 提交。
- 插件发现:在插件仓库添加
dsh-plugin话题。 - 代码质量:根据变更范围运行类型检查、lint、测试和相关 CI 检查。
- 文档变更:使用仓库提供的文档构建与链接验证脚本进行核验。
提交问题时,建议说明操作系统、Node.js 版本、pnpm 版本、仓库提交、完整命令和最小复现步骤。不要把访问令牌、个人信息、内部 URL 或未脱敏模型请求直接放入公开 Issue 或讨论。
项目地址与资源
以下链接均来自给定仓库资料或 README 中出现的官方项目页面,适合用于获取源码、文档、架构背景和社区信息。
- deepseek-harness GitHub 仓库
- DeepSeek Harness 官网与文档
- DeepSeek AI 官方网站
- Cordis GitHub 仓库
- A Programming Paradigm for Spatiotemporal Composability 论文
- DeepSeek Harness GitHub Discussions
- dsh-plugin GitHub 话题
- DeepSeek Harness Discord 社区
由于项目处于开发者预览阶段,以上资源应作为版本、文档和兼容性核验的主要依据。本文未补充资料中没有出现的接口、配置、性能或部署结论。



