Skip to content

DeepSeek Harness 社区插件

DeepSeek Harness(简称 dsh)的核心设计是 Everything is a Plugin(一切皆插件)

在 dsh 中,模型适配器、工具注册、会话日志、Agent Loop、沙箱、存储、任务调度、UI,甚至权限策略,都可以作为 Cordis 插件存在。

Cordis 是一个轻量级的插件化应用框架,统一负责插件的注册、依赖解析与生命周期管理。

DeepSeek Harness 并不是一个功能已经写死的 Agent,而更像是一套可以不断拼装的 Agent 基础设施。

传统 LLM Agent 的结构通常比较固定,Prompt、模型、Agent、工具依次串联,能力大多封装在框架核心里。

dsh-vs-traditional.svg

更准确的理解方式是:dsh 不是一个自带很多功能的 Agent,而是一个能够通过插件不断组装 Agent 能力的运行时

我们不需要修改 dsh 的核心源码,就可以改变它的行为。

常见的需求与对应做法如下:

需求做法对应插件示例
换一套界面安装 UI 插件dsh-web-ui、dsh-TUI
增加视觉能力安装视觉插件modlens、dsh-vision-toolkit
多 Agent 协作安装 Agent Teams 插件dsh-agent-teams
浏览器自动化安装 Browser 插件dsh-browser、BrowserSkill
上下文管理安装 Context 插件dsh-context

插件之间还可以互相叠加,形成完全不同的工作环境。

在 dsh 中,模型适配器、工具注册表、会话日志、Agent Loop、沙箱、存储、调度、UI,甚至权限策略,全部以 Cordis 插件形式存在。

下图展示了 dsh 的整体插件化结构,宿主只负责组织能力,能力本身全部由插件提供:

dsh-plugin-arch.svg


Profile:决定插件运行在哪套环境

dsh 的插件安装和普通 npm 包、Python 包有一个明显区别:插件装好之后,运行在哪一套环境中由 Profile 决定。

同一个 dsh 可以根据使用场景加载不同的插件组合,不同 Profile 之间互不干扰。

常用的三种 Profile 如下:

Profile形态适用场景
web浏览器访问的 Web 工作台日常交互开发、任务看板、远程访问
tui终端全屏界面SSH 远程开发、习惯命令行的用户
headless无界面后台运行自动化脚本、CI 集成、定时任务

例如一个典型的 Web Profile 插件组合:

python
Web Profile
├── dsh-web-ui          # Web 工作台
├── dsh-better-sidebar  # 侧边栏工作区
├── modlens             # 视觉能力
└── dsh-market          # 插件市场

而终端用户可能只保留:

python
TUI Profile
└── dsh-TUI             # 全屏终端界面

插件安装

dsh 为插件提供了统一的安装入口,一条命令即可完成。

python
# 安装插件到 web profile(--profile 指定目标环境,必填)
dsh plugin --profile web add <>

# 安装插件到 tui 终端环境
dsh plugin --profile tui add <>

以安装 dsh-web-ui(开源地址 https://github.com/zhu1090093659/dsh-web-ui) 为例:

python
dsh plugin --profile web add @linxin666/dsh-web-ui-all@latest

安装之后,重启后,我们可以在设置的插件列表中查看已安装的插件:

runoob1787195078112.png

然后我们可以在左侧列表查看插件的功能,试装皮肤:

runoob1787195269999.png

一套完整的安装流程通常是:

python
选择 Profile

安装插件

检查依赖 / README

重启对应服务

验证插件是否加载

如果要卸载插件,只要在设置菜单的插件列表中点击卸载按钮即可:

runoob1787304222967.png

点击确认卸载即可完成卸载:

runoob1787304222967-1.png

接下来我们介绍一些目前已经开源的一些插件,更多社区插件可以关注:https://github.com/topics/dsh-plugin


UI 增强与工作台

这一类插件解决「界面不够好用」的问题,把 dsh 从一个命令行工具升级成接近 IDE 的完整工作台。

其中 dsh-web-ui 与 DSH-better-sidebar 是社区人气最高的组合,前者补齐 Web 界面的功能面,后者提供常驻侧边栏。

插件简介安装命令
dsh-web-uiWeb UI 全家桶:任务看板、Git 图谱、右侧面板、远程移动端、桌宠、实时 Token 统计、皮肤中心dsh plugin --profile web add github:zhu1090093659/dsh-web-ui
DSH-better-sidebar完整侧边栏工作台:文件树 / 编辑器、终端、Git、子代理,支持第三方插件注册新 Tabdsh plugin --profile web add dsh-better-sidebar
dsh-TUIClaude Code 风格全屏终端 TUI:流式思考、双击 Esc 回溯、状态栏、模型切换dsh plugin --profile tui add @deepseek-harness-tui/dsh-tui
dsh-at-file输入框 @ 快速搜索并引用工作区文件 / 目录dsh plugin --profile web add github:omdsh-dev/dsh-at-file

dsh-web-ui 并不只是简单换一个界面,而是围绕 Agent 工作流补齐任务看板、Git 图谱等工作台能力。

DSH-better-sidebar 解决的则是「工作区组织能力」的问题,适合想把 dsh 做成「AI IDE」的用户。

dsh-at-file 的用法非常直观,在输入框输入 @ 即可搜索并引用工作区文件:

python
请分析 @runoob-demo/src/main.py

比较 @runoob-demo/src/api 和 @runoob-demo/src/service

对代码 Agent 来说,这种交互方式比手动复制文件内容自然得多。

终端用户则更推荐 dsh-TUI,它在终端里提供流式输出与消息回溯,体验接近 Claude Code。


视觉与多模态

dsh 可以通过插件把视觉处理能力「外挂」给原本以文本为中心的 Agent。

modlens 的核心思路,是把图片转换成结构化的视觉证据,再交给文本模型处理。

同样是粘贴一张网页截图,得到的不是「这是一张网页截图」,而是 OCR 文本、布局信息、坐标与语义标签的组合。

插件简介安装命令
modlens纯文本模型秒变多模态:粘贴图片输出结构化 OCR、版面与语义证据dsh plugin --profile web add @liustack/modlens
dsh-vision-toolkit完整视觉工具箱:意图问答、长截图 OCR、UI 还原、grounding、像素 diffdsh plugin --profile web add @anionex/dsh-vision-toolkit
dsh-vision-router免费视觉链与像素级工具,支持本地 Ollama / LM Studiodsh plugin --profile web add dsh-vision-router

这类插件适合 OCR、网页截图分析、文档理解、图片内容提取等任务。

如果主要工作涉及前端开发、UI 复刻、截图分析,dsh-vision-toolkit 会比单纯 OCR 更实用。

希望视觉能力完全本地化部署的用户,可以重点关注 dsh-vision-router。


皮肤、主题与桌宠

这一类插件不一定提高 Agent 的核心能力,但最能体现「一切皆插件」的彻底程度:连皮肤和桌宠都是插件。

插件简介安装命令
dsh-deep-whale鲸鱼娘皮肤系列(深海女仆工坊等),支持亮 / 暗色模式dsh plugin --profile web add github:Small-tailqwq/dsh-deep-whale
whale-girl / dsh-pet 系列可拖拽、喂食、互动的桌宠小鲸鱼(社区多个仓库)按各仓库 README 安装

如果觉得 Agent 工作台太严肃,这类插件基本就是「插件化」的娱乐证明。


多 Agent 与工作流

如果说 UI 插件解决的是「怎么使用 dsh」,那么多 Agent 插件解决的是「怎么让多个 Agent 一起干活」。

dsh-agent-teams 的思路非常直观:当前会话充当队长,把任务拆给多个可以继续对话的子 Agent。

dsh-agent-teams.svg

插件简介安装命令
dsh-agent-teams当前会话变队长:创建可续聊子 Agent、带依赖任务、自动调度、实时面板dsh plugin --profile web add @nanmicoder/dsh-agent-teams
dsh_workflow可生成、保存、恢复、观察、治理的 Workflow 层dsh plugin --profile web add "github:dsh-external/dsh_workflow#main"

两者的分工可以这样理解:agent-teams 解决「多个 Agent 一起工作」,workflow 解决「把 Agent 工作流程固定下来并反复执行」。

组合起来,可以形成一条完整的执行链:

python
需求

Leader Agent(任务拆分)
 ├── Frontend Agent
 ├── Backend Agent
 ├── Test Agent
 └── Review Agent

Workflow(流程固化、反复执行)

最终结果

这时 dsh 开始从「AI 帮我写代码」,逐渐变成「AI Agent 自己组织多个执行单元完成任务」。


浏览器与自动化

Agent 真正进入生产环境之后,仅仅能读写代码通常是不够的,还需要打开网页、读取页面、点击输入、带着登录态执行任务。

与无头浏览器方案不同,dsh-browser 直接驱动本机 Chrome,原有的登录状态和 Cookie 全部保留,Agent 不必每次从零登录。

插件简介安装命令
dsh-browser操控真实 Chrome(保留登录 / Cookie),结构化文本控制网页仓库提供一键安装脚本(含浏览器扩展)
BrowserSkill腾讯开源的真实已登录浏览器自动化方案(CLI + 扩展)按仓库说明安装

浏览器插件适合网站自动化、后台操作、数据采集、Web 测试等需要登录态的任务。

这类插件通常还涉及浏览器扩展等额外组件,建议按官方脚本或 README 安装,而不是手动拼命令。


记忆、上下文与会话迁移

Agent 用得越久,真正的问题往往不是模型不够聪明,而是上下文越来越乱。

这一类插件围绕「上下文」做文章:要么把别处的会话搬进来,要么把当前上下文的构成看清楚。

插件简介安装命令
dsh-chat-import从 Claude Code / Codex / ChatGPT / Cursor / Gemini 等无损导入历史会话dsh plugin --profile web add dsh-chat-import
dsh-context上下文组成、Token 趋势、压缩 / 裁剪可视化面板dsh plugin --profile web add dsh-context

如果之前已经大量使用其他 Coding Agent,dsh-chat-import 这类迁移插件会非常有价值。

对于长时间运行的 Coding Agent,上下文管理的重要性会越来越高。

Agent 的效果很大程度上取决于「模型能力 + 上下文质量 + 工具能力 + 任务状态」,而不是单纯看模型 benchmark。


插件发现与管理

当插件数量越来越多以后,又会产生一个新的问题:插件在哪里找。

dsh-market 在设置页内置了一个插件市场,支持搜索、分类与一键安装更新;dsh-find-plugin 更进一步,直接在会话里用自然语言找插件。

插件简介安装命令
dsh-market / dshmarket设置页内置插件市场:搜索、分类、一键安装 / 更新dsh plugin --profile web add dshmarket
dsh-find-plugin会话内自然语言搜索插件,返回描述与安装命令dsh plugin --profile web add dsh-find-plugin

比如直接提问「有没有可以分析网页截图的插件」,它会返回插件名称、功能描述和安装命令。

如果准备长期使用 dsh,建议优先研究插件市场,而不是一开始手动搜几十个 GitHub 仓库。

「寻找插件」本身也是插件,这正是 Everything is a Plugin 设计思路的直观体现。


其他实用插件

除了上面的核心类别,社区还有一些关注度不低、不易归类的项目。

插件简介安装命令
deepseek-harness 桌面版桌面客户端,一键启动下载安装
DeepSeek Harness 插件精选列表收集了一些精选插件列表按插件文档说明安装
archify生成漂亮、可验证的架构图 / 流程图(Skill 形式)按仓库 Skill 安装方式
dsh-plugin-subscriptions通过 OAuth 登录,在 dsh 中复用已有的 ChatGPT / Claude / Grok 订阅(社区仓库)按仓库 README 安装

桌面客户端适合不想自己处理命令行和运行环境的用户,archify 则对经常让 Agent 分析代码仓库、设计系统架构的用户很有用。

订阅类插件涉及账号授权与第三方服务,安全风险明显高于普通 UI 插件,不要仅凭「免费模型」「免费订阅」等关键词就安装,务必先查看源码、权限范围与实际授权流程。


场景化推荐

dsh 的优势不是「插件越多越强」,而是根据自己的工作流自由组合。

不要一上来安装十几个插件,可以按照下面几组典型场景搭建。

使用场景推荐组合覆盖能力
刚上手的起步组合dsh-web-ui + DSH-better-sidebar + dsh-market + modlens工作台 + 侧边栏 + 插件市场 + 视觉
终端党dsh-TUI全屏终端界面、流式思考、消息回溯
多 Agent 开发dsh-agent-teams + dsh_workflow任务拆分、自动调度、流程固化
从其他工具迁移dsh-chat-import + dsh-at-file + dsh-context历史会话导入、文件快速引用、上下文管理

**起步建议:**先安装 dsh-market,再通过市场按需安装其余插件,后续的更新管理也一并交给它。

先把核心工作流跑通,再逐步添加其他能力。


安装第三方插件的注意事项

dsh 插件生态最大的优势,同时也是最大的风险:插件拥有非常大的扩展能力。

一个 UI 皮肤插件和一个浏览器自动化插件,安全等级显然不是一个量级,安装前至少要做下面四项检查。

先看源码

尤其要重点审查涉及 Shell、浏览器、OAuth、API Key、文件系统、网络权限的插件。

不要只看 README 里的宣传。

看许可证

确认项目采用什么 License。

准备商业使用、二次开发或企业内部部署时,更要提前确认许可证限制。

看依赖

重点检查 npm / Python 依赖、浏览器扩展与外部服务。

一个看起来只是 UI 插件的项目,如果引入大量不必要的依赖,就值得警惕。

固定版本或 Commit

dsh 仍处于快速迭代阶段,社区插件的 API 也可能发生变化,生产环境不建议始终追踪 latest 或 main。

python
# 不推荐:始终追踪 main 分支
github:dsh-external/dsh_workflow#main

# 推荐:固定到具体 commit(具体语法以插件管理器当前版本为准)
github:xxx/xxx@a1b2c3d

这样可以避免「今天能运行,插件作者一更新,明天突然崩掉」的情况。

想继续探索更多插件,可以从下面几个渠道入手:

渠道说明
GitHub topic:dsh-plugin按主题浏览社区开源插件仓库
awesome-dsh-plugin社区维护的精选插件清单
dshhub.dev、dsh.so社区插件目录站

插件化背后的架构思想

如果只把 dsh 看成「DeepSeek 做了一个类似 Claude Code 的 Agent 工具」,其实低估了它。

传统 Agent 把 Model、Tool、Memory、Loop、UI 都封装在自身内部,而 Harness 只负责「组织能力」,不把能力写死。

这意味着未来社区真正竞争的,可能不是谁写了更漂亮的聊天窗口,而是谁能提供更好的底层能力插件:

能力维度说明
Agent Loop会话循环与执行策略
Coding Agent代码理解与生成
Browser Agent网页操作与自动化
Memory长期记忆管理
Context Engineering上下文组织与压缩
Multi-Agent多智能体协作
Workflow流程编排与治理
Evaluation效果评估
Sandbox安全隔离执行
Tool Router工具路由
Model Router模型路由

最终形成的可能不是一个单一的 Agent 产品,而是一套 Agent Plugin Ecosystem(插件化 Agent 生态)。


渐进式搭建自己的 Agent 运行时

dsh 最适合的使用方式,不是「安装、打开、结束」,而是渐进式搭建。

python
安装 Harness

选择 Profile

安装基础插件

搭建自己的工作台

增加工具

增加 Agent

增加 Workflow

增加 Memory / Context

形成自己的 Agent Runtime

以前选择 AI 编程工具,是在 Claude Code、Codex、Cursor 之间做选择;插件化之后,思路开始变化:底层 Runtime 可以固定,能力则由自己组合。

一个人可以选择 Web UI,另一个人可以选择 TUI;有人重点使用浏览器,有人重点使用多 Agent,甚至可以自己开发插件,把工具、工作流或 Agent 接入进来。

核心运行时负责连接能力,插件负责提供能力,Profile 负责组织能力,开发者最终负责定义自己的 Agent。

如果这个生态继续发展下去,dsh 最终可能不只是一个「AI 编程工具」,而更像一个可组合的 Agent Operating Environment(Agent 运行环境)。

而这,才是 Everything is a Plugin 最值得研究的地方。

AI 思考中...

DeepSeek Harness Python SDK 调用

DeepSeek Harness 多模态

基于 VitePress 构建,部署于 GitHub Pages