dsh-plugins
在终端中运行以下命令:
dsh plugin install riesbri/dsh-plugins
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中运行 dsh plugin install riesbri/dsh-plugins 即可安装该插件,插件源码托管于 https://github.com/riesbri/dsh-plugins。
插件介绍
DeepSeek Harness 基础包刻意没有内置面向模型的目录列表工具,导致模型只能借助 bash ls(输出非结构化、受部署沙箱约束)或 glob(按模式匹配而非层级展开)来窥探目录结构,既笨拙又不可控。同时,默认的会话索引以 :memory: 加 openAt: never 挂载,所有全文检索直接返回 SESSION_QUERY_SEARCH_DISABLED,Web 侧边栏只能按标题和工作区名称做模糊匹配。
dsh-plugins 用两个轻量贡献填上了这两块空白。list_dir 是文件系统接口的原生 Consumer,直接返回目录下一级子项的名称、类型与大小,不读取文件内容;因为它走接缝而非 shell-out,所以无论部署挂载的是本地、沙箱还是远程文件系统,行为都一致。该工具全局注册,所有 agent 预设都能调用,limit 参数默认 200、上限 1000,截断时会在末行明确提示。
另一块 is home patch 层 cordis.patch.yml,对所有 profile 生效。它把会话索引改为持久化路径并以 openAt: first-search 惰性加载,既让全文搜索真正可用,又把 node:sqlite 的导入和文件句柄挡在启动关键路径之外。保存即热重载,无需重启。整体是纯 ESM JavaScript、零构建步骤,适合希望让模型结构化地浏览目录、同时拥有会话内全文检索能力的 DeepSeek Harness 日常使用者。
使用场景
- Agent 需要结构化地查看工作区子目录,而非依赖 bash ls 的裸输出
- Web 侧边栏需要对会话内容做全文检索,而非只匹配标题
- 希望以零构建设置一行热加载方式启用默认被禁用的持久化会话索引
适合人员
- 日常使用 DeepSeek Harness 并想让 agent 稳定浏览目录的用户
- 受够了 glob 和 shell 沙箱限制、想要原生目录接缝调用的开发者
- 希望会话侧边栏具备全文搜索能力而非仅模糊匹配标题的配置者