前言¶
DeepSeek Harness(DSH)的設計理念強調通過插件擴展功能。在開發長期運行的智能體會話時,內置的 grep 和 glob 工具存在性能瓶頸:它們每次調用都會生成新的進程並從頭掃描,導致重複搜索效率低下。dsh-frecency 是一個插件,它覆蓋了這些內置工具,通過常駐索引和 frecency 排序來加速文件搜索。
插件簡介¶
dsh-frecency 是 DeepSeek Harness 的一個插件,用於提供常駐索引和 frecency 文件搜索功能。它由 ZK-Andy 維護,採用 MIT 許可證。該插件的核心作用是接管 grep 和 glob,在保持工具名稱和 schema 不變的前提下,提升文件搜索的響應速度。
核心能力¶
該插件提供以下功能:
- 同名工具覆蓋:
grep和glob保持原有的名稱和 schema。模型無需修改提示詞即可直接使用。 - 常駐索引(grep):利用內存中的索引進行內容搜索,避免每次調用都啓動
rg進程,從而提升性能。 - Frecency 排序:文件列表根據訪問頻率和修改時間進行排序,最近頻繁打開或修改的文件會排在前面。
- 內置語義對等的 glob:
glob工具執行與內置工具相同的rg --files命令(包含隱藏文件和忽略文件,排除 VCS 元數據)。若rg不可用,則降級使用常駐索引。 - 帶標註的 grep 輸出:搜索結果包含
isDefinition(引擎分類的定義行)和gitStatus(文件狀態)信息。 - Git 感知索引:引擎跟蹤每個文件的工作樹狀態,並在結果中體現爲
gitStatus。 - 優雅降級:如果原生引擎無法加載,插件會退出,內置的
rg工具繼續正常工作。
安裝與啓用¶
通過以下命令安裝插件:
dsh plugin --profile <profile> add dsh-frecency
安裝後需要重啓 DSH 並啓動會話。此時 grep 和 glob 保留其名稱和 schema,模型切換無需任何提示詞調整。若需恢復使用內置工具,可通過配置 enabled: false 或移除插件來實現。
依賴與兼容性¶
- Node.js 版本:需要 Node.js >= 22。
- DSH 版本:已針對 DSH 0.1.2-alpha.3 至 0.2.1-alpha.1 進行構建和測試。
- 依賴包:插件依賴於當前運行安裝中的宿主包,包括
@deepseek-ai/dsh-tools、@deepseek-ai/dsh-tool-fs-search、@deepseek-ai/dsh-output-retention和@deepseek-ai/schemastery。
注意事項¶
- 插件在每個智能體的創建階段註冊到各自的層中,這與主平面的註冊機制不同。
- 作爲一個社區插件,它位於 SkillHub 目錄中,與 DeepSeek 或幻方無官方從屬關係。