Skills Plugins MCP Prompt Model 导航 博客 资讯 我的中心
界面增强 #codex#deepseek#deepseek-harness#deepseek-harness-plugin#dsh-plugin#fuzzy-search

dsh-skill-fuzzy

Codex-style fuzzy skill search for the DeepSeek Harness Web GUI: /bug, /diag, /regression all find diagnosing-bugs in the / skill menu.

ch1bug @ch1bug ⬇ 1 ★ 0 master

安装

dsh plugin --profile web add github:ch1bug/dsh-skill-fuzzy
下载安装清单

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

Codex-style fuzzy skill search for the DeepSeek Harness Web GUI: /bug, /diag, /regression all find diagnosing-bugs in the / skill menu.

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

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

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

代码仓库github.com/ch1bug/dsh-skill-fuzzy
许可证MIT
主要语言master
下载量1
GitHub 星标0
最近推送2026-08-15
收录日期2026-09-19
分类界面增强

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

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

# dsh-skill-fuzzy

Codex-style fuzzy skill search for the DeepSeek Harness Web GUI. The built-in
`/` skill menu only matches skill-**name prefixes** (`startsWith`); this
plugin makes it search the way Codex does:

| Query | Result |
|---|---|
| `/diag` | `diagnosing-bugs` (name prefix) |
| `/bug` | `diagnosing-bugs` (name substring) |
| `/bu` | `diagnosing-bugs` (name contiguous substring) |
| `/regression` | `diagnosing-bugs` (**description** term) |

## Matching & ranking

- **Names** — port of Codex's `fuzzy-match`: greedy, case-insensitive
  **ordered-subsequence** matching with a window + start-of-string-bonus
  score (smaller is better; prefix hits dominate).
- **Descriptions** — matched as **contiguous, case-insensitive substrings**
  only (deliberately tightened after field testing: scattered subsequences
  across a long description surfaced noise, e.g. `/m01` hitting a skill whose
  description merely contains an `m…0…1` spread).
- **Ordering** — name-hits first → score ascending → stable roster order.
  Empty query returns the full roster unchanged (prefix behavior never
  regresses).

## Install

```sh
dsh plugin --profile web add /path/to/dsh-skill-fuzzy
# or from GitHub:
dsh plugin --profile web add github:ch1bug/dsh-skill-fuzzy
```

Restart `dsh web` and hard-refresh the GUI (the boot manifest is injected at
page load), then type `/` and search.

## How it works

A **web-client-only** plugin. It wraps the built-in `/` skill source's
`candidates()` — found via `inputTriggers.live.sources` (the service's public
face is `{ctx, name, live}` + prototype `{registerSource, sessionOf,
sessions}`; there is no `all()`/`sources()` accessor on the service — those
live on the menu controller's internal roster). The wrapper calls the
original `candidates` with an empty query to obtain the full roster
(preserving the `skill.list` RPC, user-only markers and abort semantics),
then filters/ranks it. `registerSource` is patched as a guard for late
re-registrations.

## Development

```
lib/fuzzy.js         Codex fuzzy-match port (fuzzyMatch)
lib/skill-rank.mjs   ranking (rankSkills)
lib/client.js        self-contained browser half (inlines both; pinned by
                     tests/sync.test.mjs against the tested modules)
tests/               node:test suite — node --test tests/fuzzy.test.mjs
                     tests/skill-rank.test.mjs tests/sync.test.mjs
```

The client bundle route serves a single `client.js` per plugin, so the pure
logic is inlined there and kept in sync with the tested modules by
`tests/sync.test.mjs`.

## License

MIT. The `fuzzyMatch` algorithm is a port of
[`codex-rs/utils/fuzzy-match`](https://github.com/openai/codex/blob/main/codex-rs/utils/fuzzy-match/src/lib.rs)
from [openai/codex](https://github.com/openai/codex) — see [NOTICE.md](NOTICE.md).

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

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

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

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

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