reveal-file
其他 活跃维护

reveal-file

cnskycn/reveal-file

轻量级Web聊天辅助工具,支持右键点击对话中生成的各类文件,直接唤起系统文件管理器打开其存储目录,无需手动查找路径,操作便捷高效。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
5 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:cnskycn/reveal-file
git clone https://github.com/cnskycn/reveal-file.git
git clone git@github.com:cnskycn/reveal-file.git
README.md main

reveal-file

Right-click a produced file in DeepSeek Harness (dsh) Web chat and open its location in your OS file manager — with the file selected.

Features

  • Right-click menu — "打开所在目录" appears on produced-file rows in chat
  • Cross-platformexplorer.exe /select, (Windows), open -R (macOS), xdg-open (Linux)
  • Feedback toast — success / failure notification in the corner
  • Lightweight — pure DOM context menu, no framework, one REST endpoint

Requirements

  • DeepSeek Harness (@deepseek-ai/dsh) with the web profile
  • @deepseek-ai/cordis (bundled with dsh)

Installation

pnpm dsh plugin --profile web add reveal-file
pnpm dsh --profile web

Or add it to your profile's cordis.patch.yml:

- insert:
    - id: reveal-file
      name: 'reveal-file'

Usage

In a chat message, right-click any produced file row (the files the model wrote to disk). A small menu appears with 📂 打开所在目录. Click it — the file manager opens with the file selected.

How it works

Dual-face plugin:

  • Host half (lib/index.js) — registers a REST endpoint /api/reveal-file/reveal on the dsh web server. It resolves the path through the fs service, then spawns the platform's reveal command via the subprocess service.
  • Client half (lib/client.js) — listens for contextmenu events on produced-file rows and calls the endpoint with fetch().

Note: the host half uses the host webServer service. This is the correct pattern for a static host plugin — the dynamic-runner sandbox has no harness global.

License

MIT