教程DeepSeek Harness

DeepSeek Harness 的插件:怎么装、怎么关,让它自己写一个

按 DeepSeek Harness 官方文档整理:插件页上的官方插件、实验性插件和第三方插件各是什么,怎么从包名、Git 仓库或本地目录安装,安装源怎么选,装完为什么还要点启用,以及用“创造模式”让它自己写一个插件。也讲清装插件的风险:插件的代码不受工作区沙箱限制。

发布 · 约 8 分钟读完 · 经人工审核()· 本站的内容怎么来的

本文根据公开分享整理,本站尚未实测。操作前请对照文末的原始来源。

本页目录(8 节)
  1. 插件页上有什么
  2. 打开和关闭
  3. 安装第三方插件
  4. 让它自己写一个:创造模式
  5. 想自己动手写
  6. 装插件的风险
  7. 常见问题
  8. 相关文章

DeepSeek Harness 的口号是“一切皆插件”:终端、子智能体、自动化任务、语音输入,这些功能本身都是插件。在侧栏点 插件 就能管理它们。

日常会用到的操作就三样:

  • 打开或关掉一个官方插件:点开关。
  • 装一个第三方插件:点 添加插件,填包名、Git 地址或本地路径。
  • 让它自己写一个:在“添加插件”旁边的箭头里选 让 Agent 创建插件。

动手之前先知道一条:官方文档写明,装进来的插件代码在主进程里运行,不受工作区沙箱的限制。装插件要像装软件一样看来源。

还没装 DeepSeek Harness 的,先看安装和上手。

插件页上有什么

按官方的界面说明,插件页从上到下分几块:

分组 是什么
内置插件配置 几个官方插件的设置页:子智能体、网页搜索、Agent 循环、终端
实验性插件 随安装包带着、默认关闭的官方插件。标题旁的“更多”可以看全部
已安装插件 你另外装的第三方插件

官方页面上列出的实验性插件有智能体团队、自动授权审查、自动化任务、语音输入等。近两个版本又加了 Git Worktrees、思考过程翻译,以及把 Claude Code、Codex 当子智能体用的两个组合包。

另外,设置 → 内置插件 里有一份只读的列表,显示全部内置插件和它们的运行状态。要改东西在插件页,那里只能看。

“组合包”是什么

界面上管理的单位叫组合包(bundle)。一个组合包里可以有好几个插件,装和卸是整包进行的,包里的每一行又可以单独开关。

平时不用在意这个区别,只要知道:页面上的一张卡片是一个组合包,点进去能看到它带了哪些插件。

打开和关闭

点卡片上的开关即可。官方文档说明的几点:

  • 关闭不等于卸载。 关掉只是不再加载,装好的文件留着。卸载是另一个操作,会要你确认。
  • 改动对所有会话生效。 插件是装在整套配置上的,不是某个会话里。
  • 有的改动要重启。 替换一个已经装着的包之后,要重启程序才会加载新版本,界面会提示。
  • 装了但加载失败的包会留在列表里,带着错误信息,可以关掉或卸载。

随安装包带着的官方插件没有“卸载”这个操作,只能开或关,它们跟着 DeepSeek Harness 本身一起升级。

安装第三方插件

点 添加插件,在对话框里填要装的东西。官方文档说明它接受四种写法:

写法 例子
包名,可以带版本 某个包名、某个包名@1.2.0
Git 地址 一个 GitHub 仓库的地址
压缩包 一个 .tgz 的链接
本地绝对路径 /Users/you/my-plugin

官方的说明是:包名就是插件 README 里 dsh plugin add 后面的那一段。

社区插件可以在 GitHub 上按 dsh-plugin 这个话题找,官方建议插件作者都打上它。

安装的过程

点“安装”之后,它不会马上装,而是分几步:

  1. 先查清楚你填的是什么。 它会去安装源读出包名、一句话简介和版本。包不存在、已经装过、或者那个包根本不是插件,会直接在输入框下面告诉你,不会开始安装。
  2. 显示安装进度。 具体的命令和输出折叠在“查看安装详情”里。
  3. 装完问你要不要启用。 点 立即启用 才会生效;直接关掉对话框,它就是“已安装但关闭”的状态。

第三步容易漏。装完发现功能没出来,先看是不是没启用。

安装源:国内一般会自动选镜像

插件是通过 pnpm 从 npm 的注册表下载的。国内直接访问 npm 官方源经常很慢,官方为此做了处理:

  • 第一次使用时,如果你没有专门配置过安装源,它会同时探测 npm 官方源和国内的镜像源,哪个先回应就用哪个。
  • 对话框里的 安装源 可以展开手动选:npm 官方源、中国大陆镜像源,或者自己填一个地址。
  • 你的选择记在浏览器里,下次打开还是它。

官方文档说明,这个探测只是向两个源各发一个测试请求,不使用按 IP 判断地区的服务,也不发送会话里的内容。

有两点要知道:

  • 探测快不代表下载快。 官方自己写了,响应时间不代表下载的吞吐量。装得慢就手动换一个源。
  • 从 GitHub 装的不走镜像。 填的是 GitHub 地址时,它要直接连 GitHub,连不上的话换安装源没有用。这时要解决的是网络,见在国内网络下怎么用。

装到的版本可能不是最新的

官方文档提到一个细节:安装完成后显示的是实际装上的版本,它可能比你查到的最新版本旧。原因是 pnpm 的一项供应链安全策略,刚发布不久的版本会被暂时避开。界面会说明这个差异,并给出想装最新版时该用的精确写法。

这是一项保护,不是出错。刚发布的包被植入恶意代码又很快下架的事并不少见。后半句是我们的补充。

安装脚本要你批准

有的包在安装时要运行自己的构建脚本。pnpm 会把它拦下来,界面上列出等待允许的包,由你决定要不要 允许这些脚本并重试。

脚本是可以执行任意命令的。不认识的包要求运行脚本时,先去看它的仓库。

升级

官方文档写明,页面上没有版本选择器。官方的按需插件在有新版本时会提供“更新”;其他第三方插件要升级,办法是卸载后重新安装。

让它自己写一个:创造模式

在“添加插件”旁边的箭头里选 让 Agent 创建插件,会进入创造模式。按 0.2.1-alpha.1 的版本说明,这个入口可以先留着草稿,你把需求发出去之后它才开始动手。

官方页面演示的例子是一句话:

帮我写一个「番茄时钟」插件

演示里它先加载了插件开发的技能,查了当前有哪些可用的界面位置,然后写出插件的文件、安装、再验证运行状态,用了五分多钟。

创造模式下它的权限更大

这一点要特别留意。官方文档说明,用来装卸插件的 plugin_manager 工具只在创造模式里启用,其他模式默认是关的。而且:

  • 这个工具的每个操作,都要求会话处于完全权限,或者你对这一次调用点了同意;
  • 你同意一次不会改变会话的权限模式;
  • 权限是“从不询问”、你拒绝了、或者没有人能回答时,操作不会执行。

所以在“工作区内修改”这一档下用创造模式,它写完插件要安装时会来问你。这时看清楚它要装的是什么再点同意。权限的几档见DeepSeek Harness 的权限怎么设。

自己写的插件也是代码

它写出来的插件和别人写的一样,装上之后在主进程里运行。让它写完之后,至少打开看一眼它生成了哪些文件、要不要联网、读写了哪些位置。

想自己动手写

官方的开发文档从“第一个插件”讲起。一个插件就是一个导出 apply 函数的 TypeScript 模块:

import type { Context } from '@deepseek-ai/cordis'

export const name = 'my-plugin'

export function apply(ctx: Context) {
  // 在这里注册能力
}

框架加载它时调用 apply,你通过传进来的 ctx 注册工具、命令这些能力。

官方教程的下一步是加一个工具。下面是文档里的例子,注册一个叫 greet 的工具,模型可以调用它:

import type { Context } from '@deepseek-ai/cordis'
import { defineTool } from '@deepseek-ai/dsh-tools'

export const name = 'greet-tool'
export const inject = ['tools']

export function apply(ctx: Context) {
  ctx.tools.register(defineTool({
    name: 'greet',
    description: 'Greet someone by name.',
    parameters: {
      name: { type: 'string', required: true, description: 'The name to greet' },
    },
    output: {
      schema: { type: 'string' },
      render: (_args, value) => [{ type: 'text', text: value }],
    },
    async execute(args) {
      return `Hello, ${args.name}!`
    },
  }))
}

开发时用一份单独的配置把它加载进来,不用先打包:

pnpm dsh web --patch ./scratch-plugin/cordis.yml

官方教程是从源码检出的仓库里开始的,完整步骤、怎么加配置项、怎么打包发布,都在开发文档里。发布时给仓库打上 dsh-plugin 话题,别人就能找到。

装插件的风险

把官方文档里分散的几句话放在一起看:

  • 已安装的插件代码在主进程里运行,不受工作区沙箱限制;
  • 插件的改动跨会话持久生效;
  • 官方的安全说明把“加载第三方插件”列为风险来源,并建议“在允许运行前检查插件、配置和拟执行命令”。

也就是说,权限选择器的那几档管的是智能体执行的命令,管不到插件自己。一个插件能做的事,和你在这台电脑上运行的任何程序一样多。

我们的建议:

  • 官方的插件按需开,用不到的实验性插件保持关闭;
  • 第三方插件先看仓库:谁写的、多少人在用、最近有没有更新;
  • 要求运行安装脚本的包多看一眼;
  • 不放心的,在虚拟机或者一台不放重要东西的机器上先试。

常见问题

现象 原因和办法
装完了功能没出现 没有点“立即启用”。到已安装插件里把开关打开
提示那个包不是插件 它没有声明组合包,不能通过插件页管理
安装很慢或者失败 展开“安装源”换一个;从 GitHub 装的要解决网络
装上的版本比最新的旧 新发布的版本被安全策略暂时避开了,界面上有精确版本的装法
安装停在等待允许脚本 有依赖要运行构建脚本,确认来源后再允许
开了开关没变化 有的改动要重启程序,看界面的提示
想升级第三方插件 卸载后重新安装
创造模式里它装不上自己写的插件 安装需要你同意,或者会话处于完全权限
插件页显示不可用 当前的运行方式没有可管理的配置

相关文章

来源

通过 API 中转站使用这些模型?到 Veridrop 免费检测中转站给你的是不是它声称的模型,或者看看中转站排行榜前 100 名。

相关文章

  • DeepSeek Harness 的自动化:定时提醒怎么建,GitHub 有新 PR 自动开评审教程 · DeepSeek Harness · 约 7 分钟

    按 DeepSeek Harness 官方文档整理两种自动化:在对话里让它建定时提醒,到点自己把任务发回原来的会话;配一个 GitHub Webhook,PR 转为可评审时自动开一个只读的评审会话。讲清怎么开启、支持哪些时间规则、关掉程序会怎样,以及发送记录不等于执行结果。

  • DeepSeek Harness 的权限怎么设:三档权限、沙箱管什么不管什么、计划模式教程 · DeepSeek Harness · 约 7 分钟

    按 DeepSeek Harness 官方文档整理:权限选择器的三档其实是“沙箱模式”和“审批策略”两个开关的组合。讲清仅可查看、工作区内修改、完全权限各自意味着什么,沙箱只管文件不管网络,实验性的自动审查怎么工作,以及计划模式为什么不算限制。

  • 从 Claude Code、Codex 过来:DeepSeek Harness 认哪些现成的配置教程 · DeepSeek Harness · 约 10 分钟

    按 DeepSeek Harness 官方文档整理:项目里的 AGENTS.md 和 CLAUDE.md 默认就读;技能要放在 .agents/skills;Claude Code、Codex 的钩子有实验性桥接,只支持部分事件;模组兼容层只是演示;还能把 Claude Code、Codex 当子智能体调用。

  • DeepSeek Harness 的命令行用法:一条命令跑完一个任务,接进脚本和 Python 程序教程 · DeepSeek Harness · 约 6 分钟

    按 DeepSeek Harness 官方文档整理:除了桌面和网页界面,dsh 还能在命令行里一次跑完一个任务就退出,适合放进脚本和 CI;也能用 Python SDK 从自己的程序里调用。讲清 headless 模式的输入输出、退出码、JSON 事件流、怎么接着上一段对话,以及 SDK 的最小例子。