Skills Plugins MCP Prompt Model 导航 博客 资讯 我的中心
模型与提供方 #deepseek-harness#dsh#dsh-plugin

dsh-plugins (gen-limit)

按提供方/模型限制并发生成,并附带设置卡片:限定同时进行流式生成的会话数,在流式调用与子代理派生两处强制执行;超出上限的扇出会进入 FIFO 队列等待,而不是直接失败。

creait-nl @creait-nl ⬇ 2 ★ 5 main

安装

dsh plugin --profile web add github:creait-nl/dsh-plugins
下载安装清单

需要可复现安装时,可在仓库后追加 #commit 固定提交。

按提供方/模型限制并发生成,并附带设置卡片:限定同时进行流式生成的会话数,在流式调用与子代理派生两处强制执行;超出上限的扇出会进入 FIFO 队列等待,而不是直接失败。

该插件未提供要点说明,请参考仓库 README。

deepseek-harnessdshdsh-plugin
  1. 安装并启动 DeepSeek Harness:npx @deepseek-ai/dsh web
  2. 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
  3. 用 dsh plugins list 确认已安装,必要时重启 Harness 生效

插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。

代码仓库github.com/creait-nl/dsh-plugins/tree/main/gen-limit
许可证MIT
主要语言main
下载量2
GitHub 星标5
最近推送2026-08-26
收录日期2026-09-19
分类模型与提供方

事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。

以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。

# dsh-plugins

Plugins for [DeepSeek Harness](https://github.com/deepseek-ai). One repo, nine
packages, published independently under `@creait`. They came out of running dsh
against self-hosted models, and each closes a gap the harness leaves open.

| Package | What it does | Why |
|---|---|---|
| **[hookkit](./hookkit)**
`@creait/dsh-hookkit` | Config-driven lifecycle hooks, **including context injection**. Declare `event → handler → outcome` in YAML. | dsh has the seams (`agent/pre-step`, `tools/pre-execute`, …) but reaching them means writing a plugin. This turns them into config. |
| **[gen-limit](./gen-limit)**
`@creait/dsh-gen-limit` | Per provider/model concurrency cap, enforced at subagent spawn and at the stream, with a settings card. | One self-hosted GPU has a real ceiling; a fan-out of subagents will find it. Denying the spawn beats letting the child die opaquely. |
| **[web-search-searxng](./web-search-searxng)**
`@creait/dsh-web-search-searxng` | Points `web_search` at a self-hosted SearXNG instance instead of the native route. | Search without handing every query to a third party. |
| **[web-fetch](./web-fetch)**
`@creait/dsh-web-fetch` | A guarded local fetch provider behind `ctx.web`, with SSRF blocking on the resolved address. | dsh implements `web_fetch` in full but ships no provider, so the tool is present and every call fails. |
| **[research-mode](./research-mode)**
`@creait/dsh-research-mode` | Deep research as an agent **mode**: a fixed, reviewed loop that plans, researches in adaptive parallel rounds, synthesises and reviews. | A loop the model rewrites per call re-earns the same mistakes per call. Shipping it as a preset also keeps it out of every session that is not research. |
| **[think-level](./think-level)**
`@creait/dsh-think-level` | A reasoning effort per provider and model, plus one control to change it for the session you are in. | dsh's effort dropdown is per session and remembered nowhere, so "this model should think hard" is re-typed in every new conversation. Subagents are never asked at all. |
| **[tool-disclosure](./tool-disclosure)**
`@creait/dsh-tool-disclosure` | Progressive tool disclosure: a deferred group of tools costs one catalog line until the model loads it with `tool_search`. | dsh advertises every mounted tool on every request. An MCP server's 24 browser schemas are ~4.4k tokens charged to every session, including the ones that never open a browser. |
| **[tailnet-gateway](./tailnet-gateway)**
`@creait/dsh-tailnet-gateway` | An identity-gated loopback gateway: reach a loopback-bound dsh from your own Tailscale devices, with Settings, Models and Plugins actually working. | dsh gates its privileged `/api` methods on the request looking loopback, and `--trusted-host` does not open that gate. Over a tailnet the shell loads and the pages that configure it return 403. |
| **[to-english](./to-english)**
`@creait/dsh-to-english` | Rewrites a market-installed plugin's Chinese copy into English with a model you already have configured, guarding the Chinese the program itself reads. | Most of the market is written in Chinese, and a blunt find-and-replace gives you a plugin that reads English and no longer works. |

hookkit is the general-purpose one: a small engine that ships **no hooks of its
own** — 13 lifecycle events × 3 handler kinds (in-process tool, shell, HTTP) ×
3 outcomes (inject context, deny the call, fire-and-forget). It is what makes
something like memory recall a config change rather than a plugin. The rest are
single-purpose. tailnet-gateway is the only one that is about reaching dsh at
all rather than what it does once you are there. web-search-searxng and web-fetch are both providers for the same
`ctx.web` seam and compose: together they give an agent search and page reading
without a third-party round trip. research-mode wants web-fetch mounted —
without it, its researchers are capped at search snippets. to-english is the
outlier: it acts on the *other* plugins you install rather than on a harness
seam.

## Install

Each package installs on its own — you do not need the others:

```sh
dsh plugin --profile web add @creait/dsh-hookkit
```

Every package ships its own bundle patch, so that command mounts the row rather
than only recording the dependency. Mounting is not the same as switching on:
the two `ctx.web` providers register themselves and then wait to be pointed at
something, hookkit mounts with no hooks declared, and tailnet-gateway wants
`tailscale serve` in front of it. Each README says which keys finish the job.

## Develop

The packages resolve their dsh peer dependencies from the harness you have
installed, not from the registry, so you are always building against the
version you actually run:

```sh
DSH="$(npm root -g)/@deepseek-ai/dsh/node_modules/@deepseek-ai"
mkdir -p node_modules/@deepseek-ai
for p in cordis dsh-llm dsh-settings dsh-web schemastery; do
  ln -sfn "$DSH/$p" "node_modules/@deepseek-ai/$p"
done
```

Then:

```sh
pnpm test        # 756 tests across the nine packages
```

Do not run `pnpm install` at the root — it would replace those symlinks with
published copies that may not match your harness.

To run a checkout against a live harness, link the package directory into a
profile:

```jsonc
// ~/.dsh/profiles/web/package.json
"dependencies": {
  "@creait/dsh-hookkit": "link:/path/to/dsh-plugins/hookkit"
}
```

then `pnpm install` in the profile and restart `dsh web`. The boot manifest is
built at startup, so adding a plugin needs the restart — editing a linked one
does not.

## Release

Versions are independent; publish only what changed:

```sh
cd hookkit && npm publish --access public
```

`pnpm publish-changed` does every package whose version is not yet on the
registry (add `--dry-run` to see the plan first). Scoped packages
default to restricted, so `--access public` matters on a package's first
publish.

## Caveat

All nine bind to pre-1.0 internal dsh seams with no compatibility guarantee.
`peerDependencies` pins the versions each was built against; a harness upgrade
can move them. Each README has a "What breaks this" section.

## License

MIT.

`research-mode`'s loop design is ported from
[`dsh-deep-research`](https://github.com/omdsh-dev/dsh-deep-research)
(MIT, Copyright (c) 2026 dsh2026); see `research-mode/LICENSE` for the
acknowledgement. Everything else here is original.

数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。