在侧栏浏览、预览并编辑工作区文件
28.3/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Han-Yao94/dsh-filelens该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
- 发起网络请求lib/client.js:44
res = await fetch("/api/filelens/" + endpoint, { - 写入剪贴板lib/client.js:344
const p = navigator && navigator.clipboard && navigator.clipboard.writeText ? navigator.clipboard.writeText(props.text) : Promise.reject(new Error("no - 写入剪贴板lib/client.js:2447
const p = navigator.clipboard && navigator.clipboard.writeText && navigator.clipboard.writeText(menu.path); - 读取本地文件scripts/make-client.mjs:23
let out = readFileSync(sourcePath, 'utf8') - 写入本地文件scripts/make-client.mjs:113
writeFileSync(outPath, out)
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-typert-protocol给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 侧栏浏览工作区文件
- 预览文件内容
- 编辑工作区文件
README
由 DeepSeek 最新模型翻译生成dsh-filelens
FileLens —— DeepSeek Harness Web UI 的右侧栏文件浏览器:懒加载目录树、多格式预览、文件名与内容搜索、多标签页,以及内联编辑文本文件——内置越界防护(containment)与版本守卫写入。
一个 npm 包同时提供两个半区:
- Host 半区 —— filelens Remote 服务(root / list / search / grep / read / readMore / readHex / write / readImage),基于宿主的 fs 服务。调用定义在服务构造时运行时注册进宿主 Typert 注册表(typert.local)——无需任何生成产物、无需装饰器标记,与安装形态(npm / git / tarball)无关。
- 浏览器半区 —— details 列 UI,通过内置客户端连接同款 /api Remote 传输与 Host 通信。不需要 ctx.remote 命名空间注入,不存在死锁或配置陷阱。
功能
- 懒加载目录树 —— 展开/收起、隐藏点开头条目、面包屑导航、可拖拽调宽列,全部条目都显示(无每目录上限)。刷新不会关闭已打开的标签。
- 多标签预览 —— 标签可拖拽排序,Ctrl+Tab / Ctrl+Shift+Tab 循环切换;每个标签独立记忆「原文/美化」与换行偏好。
展开完整文档(README 剩余 1 节)
dsh-filelens FileLens —— DeepSeek Harness Web UI 的右侧栏文件浏览器:懒加载目录树、多格式预览、文件名与内容搜索、多标签页,以及内联编辑文本文件——内置越界防护(containment)与版本守卫写入。 一个 npm 包同时提供两个半区: - Host 半区 —— filelens Remote 服务(root / list / search / grep / read / readMore / readHex / write / readImage),基于宿主的 fs 服务。调用定义在服务构造时运行时注册进宿主 Typert 注册表(typert.local)——无需任何生成产物、无需装饰器标记,与安装形态(npm / git / tarball)无关。 - 浏览器半区 —— details 列 UI,通过内置客户端连接同款 /api Remote 传输与 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(dsh CLI)。 - 一个用于安装的 profile(配置档)——默认部署启动的是 web profile(dsh web 即其别名)。以下示例统一使用 web;名字可随意,首次 add 会自动初始化。 方式 A —— 从 GitHub 仓库安装 dsh plugin --profile web add github:Han-Yao94/dsh-filelens 方式 B —— 从 Release tarball 安装(无需构建) 从 Releases 页面 下载 dsh-filelens-1.0.0.tgz,然后: dsh plugin --profile web add ./dsh-filelens-1.0.0.tgz 方式 C —— 从 npm 安装(发布后可用) dsh plugin --profile web add dsh-filelens Web GUI 组合包 如果 profile 尚不存在,首次 add 会用 @deepseek-ai/dsh-base 初始化;浏览器 GUI 还需要 web-app 组合包: dsh plugin --profile web add @deepseek-ai/dsh-web-app 然后用 dsh --profile web(或 dsh web)启动。 git 安装与构建脚本 本包自带 prepare 脚本从源码构建 lib/,同时 lib/ 构建产物也已提交入库,因此两种方式都可直接使用。pnpm ≥10 默认拒绝运行 git 依赖的 prepare 脚本,直到显式放行——如果首次 add 失败,请把 pnpm 打印的精确包键复制到 profile 的 pnpm-workspace.yaml 中再重试: allowBuilds: dsh-filelens: true 该放行意味着允许该包的构建代码在安装时于你的机器上执行;只放行你信任的源码包,并建议固定 commit:github:Han-Yao94/dsh-filelens#。 验证安装 dsh --profile web --dump-config # 查找 "# == dsh-filelens" 层 使用指南 用对话头部(或 details 列)的文件夹图标打开面板,然后: | 操作 | 方式 | | 树导航 | 点击,或 ↑ / ↓ / ← / → / Enter | | 打开文件 | 点击文件行(打开预览标签) | | 打开文件的文件夹 | 点击对话中的文件引用 | | 返回目录树 | Esc | | 文件名 / 内容搜索 | 搜索框;切换「文件名 / 内容」模式 | | 快速打开 | Ctrl+P,输入过滤,Enter 打开 | | 文件内查找 | Ctrl+F,Enter / Shift+Enter 上一个 / 下一个,Esc 关闭 | | 切换标签 | 点击、Ctrl+Tab、Ctrl+Shift+Tab;Ctrl+W 关闭 | | 编辑文本文件 | 铅笔按钮(文件未完整加载前禁用) | | 保存 / 取消 | Ctrl+S 或「保存」按钮 /「取消」 | | 图片缩放 | 0.2–8× 按钮、旋转、1:1、下载 | | 复制代码 | 围栏代码块上的复制按钮 | 安全模型 | 层级 | 防护 | | 浏览根目录 | 每次读写都对显式根目录做 containment 校验;守卫 fail-closed(根目录无法解析、或目标不在根内即拒绝) | | 写入 | file.write 强制要求显式根目录——链接打开或恢复的标签可按显式用户意图免根读取,但绝不能免根写入 | | 版本守卫 | 保存携带读取时的 FsVersion;文件被其他程序修改后保存返回 stale 拒绝,而非静默覆盖 | | 截断防护 | 未完整加载(>256 KB)的文件禁止编辑,保存永远不会截断文件其余部分 | | Host 沙箱 | 底层 fs 沙箱(如 workspace-write)始终是最外层边界 | | Markdown | 链接/图片 URL 做 scheme 白名单(javascript:/data: 渲染为惰性) | 失败绝不静默:保存 / 加载更多 / 选择目录的错误都会在面板内提示。 架构说明 - 一个包,两个半区。 Loader 行(id: filelens)加载 Host 服务;浏览器半区由 dsh.client 声明自动接入。 - 无生成产物。 Host 在服务构造时把 9 个调用定义注册进 typert.local(src-json codec,零额外依赖),网关在任何安装形态下都能解析。 - 直连传输。 浏览器半区直接向 /api 发送与内置连接同款的 client-request 信封——无 ctx.remote 命名空间注入,无挂载顺序陷阱。 - Host 侧工程。 增量读取续用缓存的流(每会话 O(n) 而非 O(n²));搜索/grep 在新请求到来时通过 AbortController 中止;错误映射为结构化 FsError 代码。 - 零运行时 npm 依赖(除 harness 已提供的 @deepseek-ai/cordis / @deepseek-ai/dsh-typert-protocol 对等依赖)。 注意事项 - 列宽拖拽范围继承宿主的 details 列常量(未修改的宿主允许的范围比开发布局窄;FileLens 在两种情况下都能工作)。 - 编辑会真实写盘——保存前请确认内容;版本守卫可防止并发的外部修改被覆盖。 - details 席位是 session 作用域的:每个会话有独立的面板状态,切换会话时自动定位到该会话的工作区。 开发 npm install npm run build # tsc(Host 半区)+ esbuild(浏览器 bundle) node scripts/make-client.mjs # 从 ../client.js 重新生成 src/client UI 逻辑的源之源头是 ../client.js(动态插件版);make-client.mjs 将其转换为静态客户端半区。 许可证 MIT。UI 中的 SVG 图标路径源自 Lucide 图标集(ISC)——完整声明见 LICENSE。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Han-Yao94/dsh-filelens
在侧栏浏览、预览并编辑工作区文件
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,364已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,709已汉化DSH
71.8
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,319已汉化DSH
71.5
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,533已汉化DSH
71.1
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 93,105已汉化DSH
71.1
这是你的仓库?认领条目