dsh-filescope
FileScope · 文件视界:DeepSeek Harness 的工作区文件浏览抽屉,带实时文件预览。
kunisme
@kunisme
⬇ 1
★ 5
main
安装
dsh plugin --profile web add github:kunisme/dsh-filescope
需要可复现安装时,可在仓库后追加 #commit 固定提交。
FileScope · 文件视界:DeepSeek Harness 的工作区文件浏览抽屉,带实时文件预览。
该插件未提供要点说明,请参考仓库 README。
dsh-plugindeepseek-harnessfile-explorerfile-previewworkspace
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 dsh plugins list 确认已安装,必要时重启 Harness 生效
插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。
| 代码仓库 | github.com/kunisme/dsh-filescope |
| 许可证 | MIT |
| 主要语言 | main |
| 下载量 | 1 |
| GitHub 星标 | 5 |
| 最近推送 | 2026-08-16 |
| 收录日期 | 2026-09-19 |
| 分类 | 界面增强 |
事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。
以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。
# FileScope · 文件视界
[图片: FileScope 文件视界 预览]
把当前工作区的完整目录树搬进 DeepSeek Harness Web 页面的右侧抽屉:任意层级展开、
点击文件实时预览、切换会话自动跟随对应工作区、抽屉宽度与目录树高度均可拖拽调整。
**只读浏览,不修改任何文件。**
> 🔖 关联 topic:`dsh-plugin` · `deepseek-harness` · `file-explorer` · `workspace`
## 功能
- 📁 **抽屉式文件浏览器**:右侧全高抽屉滑入滑出,三个入口(侧边栏底部 / 会话顶部操作栏 / 遮罩点击收起)
- 🔗 **会话跟随**:切换会话自动把目录树切到该会话所属工作区(读取当前会话 cwd 匹配已注册工作区),手动浏览不受干扰
- 🌲 **完整目录层级**:无限层级展开/折叠,「全部展开」递归加载所有子孙层级(上限 3000 节点)、目录优先排序、文件大小标注、「隐藏点文件」开关
- ⚡ **实时渲染**:文本带行号(前 2000 行)、二进制文件 hex 摘要、超大文件提示
- 🔄 **实时刷新**:当前打开文件每 2s 检测版本变化自动重读;已展开目录每 5s 刷新
- ↔️ **拖拽调整**:抽屉左边缘竖条调宽度(320px–85vw),目录树与预览区之间横条调高度
- 🖥️ **路径自由**:工作区下拉选择 + 绝对路径输入回车
- 🔒 **只读安全**:GET-only JSON API,不提供任何写操作
## 安装
### 方式一:从 npm 安装(推荐)
```bash
dsh plugin --profile web add dsh-filescope
```
`dsh plugin` 会自动安装依赖并把包名登记进该 profile 的 `dsh.profile.bundles`。
### 方式二:从本地目录安装
```bash
dsh plugin --profile web add file:/绝对路径/dsh-filescope-plugin
```
### 方式三:手动接入 profile
1. 进入 profile 目录:`cd $DSH_HOME/profiles/web`(没有则先运行一次 `dsh --profile web` 触发初始化);
2. 在 profile 的 `package.json` 中:
```json
{
"dependencies": { "dsh-filescope": "0.1.2" },
"dsh": { "profile": { "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-filescope"] } }
}
```
3. 在 profile 目录执行 `pnpm install`。
### 重启生效
```bash
# 停掉当前 dsh web 进程后重新启动
dsh --profile web
```
Host 组合在进程启动时加载,新行需要重启才会挂载;重启后刷新浏览器页面
(`Cmd+Shift+R`)即可看到入口。
## 使用
- 侧边栏底部 / 会话顶部操作栏的「📁 文件视界」按钮打开抽屉;
- 切换会话时目录树自动跟随该会话所属工作区;
- 顶部下拉选择工作区,或输入任意绝对路径回车;
- 「全部展开」递归加载所有层级(上限 3000 节点);「隐藏点文件」过滤 `.` 开头条目;
- 点击文件实时预览(文本带行号 / 二进制 hex 摘要 / 超大文件提示);
- 「实时刷新」开启时每 2s 检测当前文件变化、每 5s 刷新已展开目录;
- 拖拽抽屉左边缘调宽度,拖拽目录树与预览区之间的分隔条调高度。
## 环境要求
- dsh 版本与本包构建时的源码树一致(浏览器端依赖 shell 模块表中的
`react`、`ui-slots` 等平台模块,与 Host 的 `webServer` 行);
- Web profile 已挂载 `dsh-web-app` 层(`@deepseek-ai/dsh-web-app`)。
## 接口(只读 JSON API)
| Endpoint | 返回 |
| --- | --- |
| `GET /filescope/workspaces` | `{ workspaces: [{ id, title, path, status }] }` |
| `GET /filescope/dir?path=` | `{ entries: [{ name, type, path, size? }] }` |
| `GET /filescope/stat?path=` | `{ exists, type, version, size? }` |
| `GET /filescope/file?path=` | `{ kind: text\|binary\|too-large, content?, size, version, hex? }` |
## 目录结构
```
dsh-filescope-plugin/
├── package.json # 包清单(dsh.bundle 补丁 + dsh.client 浏览器声明)
├── cordis.patch.yml # 组合补丁:把 filescope 宿主行插入 profile
├── docs/
│ ├── screenshot.png # 效果图
│ └── preview.html # 效果图源文件
├── lib/
│ ├── index.js # Host 半(/filescope 只读 API,零运行时依赖)
│ ├── client.js # 浏览器半(抽屉 UI,预构建 bundle)
│ └── types/ # TypeScript 声明(供接入方类型检查)
├── src/ # 源码(参考/二次开发用)
├── LICENSE
└── README.md
```
## 许可
[MIT](LICENSE) © 2025 zhangkun
数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。