fff
已验证@dsh-pi/fff · v0.1.0 · MIT
pi-style frecency-ranked search tools for DeepSeek Harness (dsh-pi): ffgrep and fffind, powered by the FFF engine.
安装
dsh plugin add @dsh-pi/fff 用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。
源码
标签
作者
说明文档
@dsh-pi/fff
pi-style frecency-ranked search tools for DeepSeek Harness (dsh-pi).
Registers two tools on ctx.tools, powered by the FFF engine (@ff-labs/fff-node, native Rust core):
ffgrep— grep file contents. Smart-case, auto-detects regex vs literal. Results ranked by frecency (most-accessed files first); matches within a file stay in source order.fffind— fuzzy, typo-resistant file search by name pattern. Frecency-ranked.
The FFF engine's frecency DB is persisted per workspace under $DSH_HOME/dsh-pi/fff-<workspace>.db, so access rankings build up across sessions — same behavior as pi's ffgrep/fffind (from @ff-labs/pi-fff).
Install into a profile
dsh plugin --profile web add @dsh-pi/fff # published, or:
dsh plugin --profile web add file:/abs/path/to/dsh-pi-fff
The bundle auto-registers in the profile manifest (adds a dsh-pi-tools row mounting the plugin). Restart the profile (dsh web / dsh --profile <name>).
Requirements
- dsh ≥ 0.1.0-rc.6 (provides
@deepseek-ai/dsh-toolsin the profile's module tree) - The plugin resolves
@deepseek-ai/dsh-toolsfrom the profile node_modules;@ff-labs/fff-node(+ its platform binary) is installed as a dependency.
Tool parameters
ffgrep: pattern (required) · path (default: session workspace) · limit (default 20)
fffind: pattern (required) · path (default: session workspace) · limit (default 30)
Output matches pi-fff's format: per-file blocks in frecency order, path:line: content,
with [VERY often touched file] / [often touched file] annotations for hot files.
Layout
| File | Role |
|---|---|
index.js |
Cordis plugin (registers ffgrep + fffind via defineTool) |
cordis.patch.yml |
bundle patch — inserts the dsh-pi-tools row |
package.json |
declares dsh.bundle.patch + @ff-labs/fff-node dependency |
License
MIT