Skip to content

Releases: ShanHaiFish/fexp-file-explorer

v1.5.1

Choose a tag to compare

@ShanHaiFish ShanHaiFish released this 16 Aug 04:43

左侧文件浏览器 (fexp) v1.5.1 — 修复搜索框遮挡

本次变更

  • 修复「文件浏览」按钮遮挡工作区搜索框:点击工作区顶部[搜索]图标展开「搜索会话」搜索框时,固定定位(top:126px / left:70px)的「文件浏览」入口按钮正好叠在搜索框上,挡住输入。
  • 修复方式TopToggle 新增 MutationObserver 监听搜索按钮的 aria-expanded 状态——搜索按钮展开时带 aria-expanded="true" 且其下一个兄弟元素就是搜索输入框 input[type=text],与同样带 aria-expanded 的会话行/分组折叠按钮可区分,不会误判;搜索框展开期间隐藏入口按钮,收起(ESC / 清除 / 点击外部)后自动恢复。
  • client/client.js(静态 bundle)与 client-source.js(动态回退形态)同步修复;Host 半区无改动,纯 Client 能力。
  • 安全审查持平 WARN (33/300)。

功能(同 v1.5.0)

  • 双入口:侧栏「文件浏览」+ 会话标题栏「打开目录」
  • 320px 浏览面板:自动定位当前工作区、切换工作区自动重定位、面包屑、目录/文件列表、文本预览(256KB 上限)
  • 工具栏:工作区 / 根目录 / 上一级 / 刷新 / 在系统资源管理器中打开
  • 添加到聊天:文件引用 [文件名](绝对路径) 追加到输入框
  • 主题适配 + Google Material Icons(v1.4.0)

安装

dsh plugin --profile web add fexp-file-explorer

已安装用户:重新 add 或手动同步 client/client.js 后刷新 DSH Web 页面即可生效。

v1.5.0

Choose a tag to compare

@ShanHaiFish ShanHaiFish released this 15 Aug 16:43

左侧文件浏览器 (fexp) v1.5.0 — 静态 bundle 自动加载

本次变更

  • 静态 bundle 化:新增 package.jsondsh.bundle.patch + dsh.client.platform: "web")、cordis.patch.ymllib/index.js(Host 半区:经 webServer/fexp/default-root/fexp/list-dir/fexp/read-file 三个 JSON 路由)、client/client.js(Client 半区:window.__ModuleLoader__.load 注册,host.call → fetch 同源路由,styles.insert → 自建 <style> 标签)。
  • 自动加载:随 profile 层栈启动即生效,无需每次重启 DSH 后手动 cordis_define/cordis_run
  • 安装dsh plugin --profile web add fexp-file-explorer(本地未发布用 file: 路径,注意路径不能含空格)。
  • host-source.js / client-source.js 保留为动态插件回退形态(无 bundle 能力的 profile 用)。
  • 安全审查持平 WARN (33/300)。

功能(同 v1.4.0)

  • 双入口:侧栏「文件浏览」+ 会话标题栏「打开目录」
  • 320px 浏览面板:自动定位当前工作区、切换工作区自动重定位、面包屑、目录/文件列表、文本预览(256KB 上限)
  • 工具栏:工作区 / 根目录 / 上一级 / 刷新 / 在系统资源管理器中打开
  • 添加到聊天:文件引用 [文件名](绝对路径) 追加到输入框
  • 主题适配 + Google Material Icons(v1.4.0)

v1.4.0

Choose a tag to compare

@ShanHaiFish ShanHaiFish released this 15 Aug 16:11

左侧文件浏览器 (fexp) v1.4.0

DSH 动态 Cordis 插件 —— 在左侧工作区浏览目录与文件。

功能

  • 双入口:侧栏顶部「文件浏览」胶囊按钮 + 会话标题栏「打开目录」按钮
  • 浏览面板 (320px):自动定位当前工作区目录;切换工作区自动重定位 (v1.2.2)
    • 目录在前、文件在后,点击目录进入、点击文件预览 (文本上限 256KB/最大 1MB)
    • 面包屑任意层级跳转;工具栏:工作区 / 根目录 / 上一级 / 刷新 / 在系统资源管理器中打开
  • 添加到聊天 (v1.2.0):预览文件时一键把 [文件名](绝对路径) 追加到聊天输入框草稿,支持连续添加
  • 主题适配 (v1.2.3):按钮与面板颜色全部使用主题 CSS 变量,浅色/深色及任意主题下文字对比可见
  • 图标 (v1.4.0):Google Material Icons 官方图标库,实心风格,与 Chrome/Android 大厂视觉一致

技术要点

  • Host:fs 服务 + sandboxPolicy.workspaceRoot,三个 Package-private RPC (default-root / list-dir / read-file)
  • Client:纯 JS + React.createElement,仅用增量插槽 (shell.overlay / conversation.session.header.actions / conversation.input.dock / sidebar.footer.action),不替换内置 UI
  • 安全审查:WARN (33/300),仅声明 CAPABILITIES: fs, rpc,无网络/spawn

安装 / 使用

动态插件不跨 DSH 进程存续,重启后按 README.md「恢复/重建步骤」从源码重新注册即可。