🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

yu2025-luo/dsh-file-panel

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
未验证

面向 DeepSeek Harnessdsh Web 图形界面的插件:实时追踪会话中 Agent…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/16 · 已提供中文文档

DeepSeek Harness 的右侧文件面板——当智能体创建或下载文件时自动弹出,支持图片/文本预览、在文件夹中显示和打开操作。双语 · MIT

综合分
28.5
GitHub 分
28.5
用户评分
—
★ Stars
3
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add yu2025-luo/dsh-file-panel
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:已验证本站已于 0 天前真实安装成功
是什么
dsh 原生插件 · ads
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
更新放缓:最近一次提交在 41 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/22(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-file-panel

CI License: MIT

面向 DeepSeek Harness(dsh Web 图形界面)的插件:实时追踪会话中 Agent 创建或下载到本地的文件与图片,并在右侧弹出面板中展示——类似 Codex 的文件查看器。

会话期间只要有文件或图片写入本地磁盘,面板就会自动在右侧弹出。每个文件条目支持:

- 👁 预览 — 图片直接内联显示;文本文件显示前 256 KB 内容;其他类型显示元信息。
- 📂 所在位置 — 在系统文件管理器中定位该文件(Windows 用 explorer.exe /select,macOS 用 open -R,Linux 用 xdg-open)。
- ↗ 打开 — 用系统默认程序打开文件(复用 Harness 内置的 host.openPath RPC)。
- 📋 复制路径 — 复制绝对路径到剪贴板。

面板底部还提供「打开工作目录」快捷入口。

English

截图

会话文件面板

右侧停靠的会话文件面板:每行可预览、打开、定位、复制路径;底部按钮打开会话工作目录。面板支持按住标题栏自由拖动,左边缘与底边可拖拽缩放,缩得过窄时自动出现滚动条。

安装

需要已安装 DeepSeek Harness 的 dsh 命令行(npm 包 @deepseek-ai/dsh)以及 pnpm。

从本地源码安装

cd dsh-file-panel
npm install          # 仅安装开发依赖 esbuild
npm run build        # 生成 lib/index.js 与 lib/client.js(已提交进仓库)

注册到 web 配置(link: 方式会实时跟踪你的源码目录)
dsh plugin --profile web add link:.

从 GitHub 安装

dsh plugin --profile web add github:yu2025-luo/dsh-file-panel

构建产物已随仓库提交,安装时无需执行任何构建脚本。

启用

重启 dsh web 服务(插件集合在重启时生效),然后刷新
http://127.0.0.1:3080。无需任何配置。

卸载:

dsh plugin --profile web remove dsh-file-panel

使用说明

| 操作 | 效果 |
| --- | --- |
| Agent 创建/下载文件 | 面板自动弹出(新文件带 新 徽标) |
| 单击条目 | 内联预览(图片 / 文本 / 元信息) |
| 悬停条目上的按钮 | 预览、打开、所在位置、复制路径 |
| 🔔 铃铛 | 开关「新文件自动弹出」 |
| – / × | 收起为右下角悬浮按钮(带新文件角标)或完全隐藏 |
| 底部「打开工作目录」 | 打开当前会话的工作目录 |

面板状态(打开/收起)与自动弹出偏好保存在 localStorage。自动弹出的
基线按会话计算:面板首次看到该会话时已存在的文件不会再次触发弹出。

工作原理

一个 npm 包包含两个半边,通过一条 loader 行(cordis.patch.yml → 行
file-panel)注册:

宿主半边 (src/index.js)                     浏览器半边 (src/client.jsx)
───────────────────────                     ─────────────────────────────
ctx.on('fs/observed')         ──┐
write/edit 等工具上报的        │            shell.overlay 插槽入口:
文件(精确、归属到会话)        │            右侧停靠的悬浮面板
按会话工作目录的递归             ├──▶ FileTracker(按会话维护文件列表、
fs.watch                         │     忽略规则、容量上限、访问栅栏)
(覆盖 curl、Invoke-WebRequest ─┘                │
等 shell 下载场景)                             ▼
RPC 通道 /file-panel
authority: 'loopback'
list · readText · readImage
reveal · describe
▲
│ 每 1.5 秒轮询
客户端:ctx.connection.rpc.call()
打开文件:内置 api.host.openPath

浏览器半边注册进官方 shell.overlay 插槽(附加式的整框悬浮层),通过
标准 useSessions 属性读取当前会话,并轮询插件自建的仅限本机的 RPC
通道。该通道用 ctx.connection.rpc.handle 注册——这是静态插件包官方
支持的 RPC 接口。

安全性

- /file-panel 通道以 authority: 'loopback' 注册,只有从
127.0.0.1 提供的页面才能调用。通过局域网访问(--trusted-host)时
面板会显示提示并保持不活动。
- 所有读取/定位接口只接受追踪器实际见过的绝对路径(工具写入或受监控
工作目录下的 watcher 事件),RPC 无法被当作任意读文件/定位的通用
能力滥用。

目录结构

src/
index.js      宿主半边:追踪器装配 + /file-panel RPC 端点
tracker.js    纯 Node 文件追踪器(fs/observed 接入、递归 watcher
防抖、忽略规则、容量上限、RPC 栅栏)
client.jsx    浏览器半边:右侧面板 UI(React、JSX)
build.mjs       两个半边的 esbuild 构建脚本
cordis.patch.yml  插入 loader 行的 bundle patch
tests/          node:test 单元测试 + 宿主半边冒烟测试
lib/            构建产物(已提交,安装时无需构建)

开发

npm install
npm run build   # 重新构建 lib/index.js 与 lib/client.js
npm test        # node --test

修改 src/client.jsx 后的快速迭代:

npm run build

然后强制刷新 GUI 页面(lib/client.js 以 cache-control: no-cache
提供;插件集合只在重启后变化,但 bundle 内容每次请求都会重新
计算哈希——见 dsh-client-modules)。重度开发 UI 时也可以在 harness
源码目录运行 pnpm run dev:web,在文件变化时自动重建客户端 bundle。

兼容性

基于 @deepseek-ai/dsh 0.1.0-rc.x 的公开接口构建:

- 宿主:ctx.connection.rpc.handle / ctx.on('fs/observed')
- 客户端:shell.overlay 插槽、useSessions 标准属性、
ctx.connection.rpc.call、ctx.locale

DeepSeek Harness 目前处于预发布阶段,这些接口可能变动。升级 dsh
后如果面板失效,请检查 package.json 中的版本声明并重新构建。

已知限制

- 递归 watcher 使用 fs.watch({ recursive: true })(需 Node ≥ 20)。
在不支持该能力的平台上,面板仍能追踪 Harness write/edit 工具
产生的全部文件,但 shell 侧下载可能漏报。
- 面板数据是进程内的:重启后从空开始(只记录实际观察到的文件,不
扫描历史会话)。
- 默认忽略 node_modules、.git 及临时文件噪音。
- 无桌面环境的 Linux 上 describe 返回 canReveal: false,隐藏
「所在位置」按钮。

发布到 GitHub / npm

1. 创建 GitHub 仓库并推送(本目录已是 git 仓库,且已打好 v0.1.4
标签):

git remote add origin https://github.com/yu2025-luo/dsh-file-panel.git
git push -u origin main --tags

2. 在仓库页面的 About → ⚙ → Topics 中加上
dsh-plugin 主题,以及
deepseek-harness、dsh、deepseek、file-preview。加上主题后,
仓库会自动出现在公开的插件主题页面上。
3. 用户可用
dsh plugin --profile web add github:yu2025-luo/dsh-file-panel#v0.1.4
安装。
4. 也可以发布到 npm(npm publish),之后用
dsh plugin --profile web add dsh-file-panel 安装。

会从 dsh-plugin 主题自动聚合的社区目录:
Oh-My-DSH(每 8 小时自动同步)和
awesome-deepseek-harness
(PR 方式收录)。

发布前记得提升版本号并重新执行 npm run build。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群