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
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 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)及插件作者均无隶属或背书关系。