dsh-filelens
FileLens — right-column file explorer for DeepSeek Harness: lazy directory tree, multi-format preview (Markdown/JSON/CSV/diff/log/hex/image), search & grep, tabs, inline editing with containment + version-guarded writes.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Han-Yao94/dsh-filelens说明文档
阅读完整 README ↗dsh-filelens
English | 中文
FileLens —— DeepSeek Harness Web UI 的右侧栏文件浏览器:懒加载目录树、多格式预览、文件名与内容搜索、多标签页,以及内联编辑文本文件——内置越界防护(containment)与版本守卫写入。
一个 npm 包同时提供两个半区:
- Host 半区 ——
filelensRemote 服务(root/list/search/grep/read/readMore/readHex/write/readImage),基于宿主的fs服务。调用定义在服务构造时运行时注册进宿主 Typert 注册表(typert.local)——无需任何生成产物、无需装饰器标记,与安装形态(npm / git / tarball)无关。 - 浏览器半区 —— details 列 UI,通过内置客户端连接同款
/apiRemote 传输与 Host 通信。不需要ctx.remote命名空间注入,不存在死锁或配置陷阱。
功能
- 懒加载目录树 —— 展开/收起、隐藏点开头条目、面包屑导航、可拖拽调宽列,全部条目都显示(无每目录上限)。刷新不会关闭已打开的标签。
- 多标签预览 —— 标签可拖拽排序,
Ctrl+Tab/Ctrl+Shift+Tab循环切换;每个标签独立记忆「原文/美化」与换行偏好。 - 类型化渲染
- Markdown:标题、列表、任务列表、引用、对齐表格、带语法高亮和复制按钮的围栏代码块、自动目录 TOC、蓝色链接(URL scheme 白名单)。
- 图片:0.2–8× 缩放、旋转、1:1 复位、下载、像素尺寸显示。
- JSON(格式化 + 高亮)、CSV/TSV 表格、diff/log 着色。
- 30+ 语言语法高亮(带行号、跨行块注释处理)。
- 二进制文件显示 Hex 视图(偏移 + 十六进制 + ASCII)。
- 大文件 —— 256 KB 头部预览 + 增量「加载更多」(Host 端续读同一流,不从头重读)、超过 800 行启用虚拟滚动。
- 搜索 —— 递归文件名搜索(深度 8 / 目录 3000 / 结果 300)、内容 grep(≤256 KB 文本文件、单文件 5 处、点击跳转到行)、
Ctrl+P快速打开。搜索按 family 可取消,按键不会在共享宿主进程上堆积重型扫描。 - 对话联动 —— 点击对话中的文件引用,树切换到该文件的所在文件夹并高亮该文件行。
- 工作区感知 —— 面板是
session作用域的 details 席位:打开时解析当前会话的工作区;在不同工作区的会话之间切换时,面板自动跟随当前会话重新定位。 - 内联编辑 —— 文本文件就地编辑;保存经宿主
fs服务真实写盘,带版本守卫(见安全模型)。 - 右键菜单 —— 复制路径 / 在系统中打开 / 打开所在文件夹 / 在新标签打开。
- 状态持久化 —— 展开目录与打开的标签经
localStorage(键dsh-filex-state)在刷新后恢复;根目录始终跟随当前工作区,不会被旧的存储值劫持。
安装
前置条件
- 已安装并运行的 DeepSeek Harness(
dshCLI)。 - 一个用于安装的 profile(配置档)——默认部署启动的是 profile( 即其别名)。以下示例统一使用 ;名字可随意,首次 会自动初始化。