dsh-at-file
FSMargoo/dsh-at-fileCodex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
DeepSeek Harness 界面增强插件:工作区一键打开(复制路径、访达显示、自动发现编辑器打开)、用户消息导航条、会话待办标记、单列表增强与硬性重启按钮。
UI enhancement suite for DeepSeek Harness: one-click workspace open, auto-discovered editors, a DeepSeek-web-style user-message nav rail, session to-do marks, flat-list polish, and hard restart.
A productivity plugin built for the DeepSeek Harness Web UI. It puts the operations you use most — opening folders, switching views, jumping to questions, restarting the service — right at your fingertips, without leaving the page.
| Feature | Description |
|---|---|
| 🚀 Session-header quick buttons | Workspace folder name + three icon buttons at the top of the session area: copy absolute path, reveal in file manager, open in default editor |
| 📁 Workspace menu quick actions | A row of quick buttons (copy path / reveal / open in editor) at the bottom of each workspace's ⋯ menu |
| 🧭 User-message nav rail | DeepSeek-web-style: a floating rail on the right of the chat marks every user question — hover for a summary, click to jump, current reading position highlighted |
| ✅ Session to-do marks | A clickable dot before idle sessions to mark them as done |
| 📄 Flat-list polish | Session cards in the flat-list view upgraded to a three-line layout (workspace name / last prompt preview / aligned status icons) |
| 🔀 Header view switch | A quick icon in the session-list header to switch between workspace-grouped and flat-list views |
| 🔄 Hard restart | One-click DSH restart from the bottom-left corner, with confirmation, a waiting overlay, and auto page reload |
| ⚙️ Grouped settings panel | Settings → UI Features: grouped by Sidebar / Session area / System tools, applied instantly |
The image below marks every area of the DSH interface that this plugin enhances or modifies once enabled, for quick reference:
dsh plugin --profile web add dsh-niao-quick-open
Or add the package to your profile's package.json dependencies and dsh.profile.bundles, then restart dsh web.
The top-left of the session area becomes two rows:
</> Open in default editorRecreates the DeepSeek web interaction: once the current session has ≥ 2 user messages and the transcript overflows one screen, a vertical pill floats on the right side of the conversation area (just left of the scrollbar), with one marker per user message:
Controlled by the User message nav rail toggle under Settings → UI Features (enabled by default).
When enabled, each workspace's ⋯ menu gets an extra row of quick buttons: copy path, reveal in file manager, open in default editor.
Idle sessions show a clickable dot: click to mark as done (turns green), click again to unmark; switching away from a session auto-clears its to-do. Marks are stored in the browser, not in the service config.
When enabled, the flat-list view (Grouping → Flat list) renders session rows in a three-line layout:
Adds a quick "switch grouping" icon to the session-list header (the row with search / grouping / sorting), letting you toggle between workspace-grouped and flat-list views with one click, with a tooltip.
A restart icon sits to the right of the Settings button in the bottom-left corner (grey semi-transparent by default, turns red on hover). Clicking it asks for confirmation; once confirmed:
A UI Features page is registered in the DSH Settings panel, grouped by functional area; each option shows a one-line summary plus an expandable detailed description:
Config saves instantly (no Save button) and persists to ~/.dsh/dsh-niao-quick-open.config.json. After changing a config that needs a restart to take effect, a "restart to apply" banner appears at the top of the page.
Editors are scanned on the host:
/Applications + /System/Applications, Windows scans the Program Files / LocalAppData program directories, Linux probes common editor CLIs; any app matching editor keywords is offered with a letter icon.Every listed editor is guaranteed to have a working open command for the workspace folder.
</> open in default editor;npm install
npm run build # build the browser bundle into lib/client.js
npm run check # syntax-check host + build script