DSH HUB
首页插件商店插件包社区排行榜资源发布指南
插件源码
返回插件目录

tipoLi5890 /

dsh-file-mention

已验证

DSH Web composer plugin: '@' file mentions + drag-drop file paths

★ 1 Stars0 Forks0 IssuesN/A 社区评分0 已确认安装
查看 GitHub
README来源: main@e278aabd

dsh-file-mention

Traditional Chinese: README.zh.md

Secure, session-scoped @ file/folder mentions and drag-and-drop file intake for the DeepSeek Harness (DSH) Web composer.

The plugin inserts lightweight path references. It does not attach or inject file content: immediately before an agent step, the Host validates each path and adds a path-only <workspace-reference> marker. The agent then decides whether and how to inspect the target with its own tools.

Features

  • Files and folders — bare @ opens a workspace list; continue typing to filter by basename or path.
  • Git-aware index — tracked files plus untracked non-ignored files; deleted tracked paths are removed. Non-Git workspaces use a bounded filesystem walk.
  • Controllable index — nested .aiinclude rules can add required ignored files with last-match-wins semantics; dirty/mtime metadata, monotonic indexVersion, and workspace invalidation keep changed files current.
  • Fast typing — one per-session index request, warm() prefetch, single-flight loading, 30-second stale-while-revalidate, local ranking, and optional recent-path prioritization.
  • Unambiguous references — picks retain the full relative path. Paths with spaces use @"quoted path" syntax.
  • Validated markers — agent/pre-step checks workspace confinement, symlink-resolved location, existence, and file/directory kind without reading content.
  • Keyboard completion — arrows + Enter or Tab through the input-trigger controller.
  • Managed drag-and-drop — streaming temp files, atomic no-clobber finalize, per-file/session/global quotas, retention cleanup, progress, and cancellation.
  • Reference tray — compact file/folder cards below the composer support copy, reveal, single removal, and batch clear without altering surrounding text.
  • Control Center — Overview, Index, Uploads, and Output tabs expose live index diagnostics, storage meters, ignore presets, index rebuild, and expired-upload cleanup instead of a flat settings form.
  • Candidate context — optional changed-file status labels and browser-local recent-path history improve repeated navigation without sending history to the Host.
  • Official UI slots — the tray, Control Center, and optional Host-validated assistant output path companion use supported DSH integration points.
  • Zero build — hand-written Host ESM and lazy-CJS browser bundle; React is supplied by the DSH Client runtime.

Screenshots

Browse workspace files and folders

Browsing workspace files and folders from the at-mention menu

Filter and select a file

Filtering README files from the at-mention menu

Configure file mentions

File mention settings page

Drag a local file into the composer

Dragging a local file into the DSH Web composer

Use a managed upload from the Reference Tray

A managed upload shown in the Reference Tray and inserted as an at-path reference

Installation

Requires a compatible DSH Web profile with the client input-trigger, runtime, and locale services.

dsh plugin --profile web add github:tipoLi5890/dsh-file-mention

For local development:

dsh plugin --profile web add link:/absolute/path/to/dsh-file-mention
dsh --profile web --dump-config

Restart DSH Web after install/update.

Usage

Action Result
@ Opens a shallow, ranked workspace file/folder list
@readme Finds basename matches such as README.md
@src/ma Searches the full relative path
Pick src/main.js Inserts @src/main.js
Pick docs/file with spaces.md Inserts @"docs/file with spaces.md"
Pick docs/ Inserts @docs/
Arrow keys + Tab Accepts the highlighted files candidate
Drop a non-image file Copies it to managed uploads and inserts its path

Outside-root browsing through @/, @~/, or @../ is intentionally not part of the picker. The Host index root always comes from the addressed session.

How it works

Host

POST /api/file-mention/index accepts { "sessionId": "..." }. The Host derives cwd from session state, builds/caches a Git or fallback index, and returns relative file/folder paths only.

POST /api/file-mention/upload?sessionId=&name= streams one raw body to a temp file, checks configured per-file/session/global quotas, atomically finalizes it under <DSH_HOME>/uploads/<sessionId>/, and returns its managed absolute path.

POST /api/file-mention/settings owns durable plugin settings. POST /api/file-mention/status returns path-free index/storage aggregates for the Control Center. POST /api/file-mention/maintenance rebuilds the addressed session index or removes uploads past their configured retention period. POST /api/file-mention/path-action validates and reveals only current-workspace or managed-upload paths via structured execFile argument arrays.

At agent/pre-step, direct user mentions are revalidated. Relative paths must remain inside session.cwd; absolute paths are marked only when they resolve inside the managed upload root. The resulting marker looks like:

<workspace-reference path="src/main.js" kind="file" />

Browser

The browser registers an @/files input source. It fetches the complete bounded index once per session, ranks locally on every keystroke, optionally uses browser-local recent-path counts as a tie-breaker, and returns a plain-text insertion outcome. Connection reset clears all index state.

Capture-phase drag handlers claim drags containing non-image files. XHR exposes progress/cancel while the official conversation.input.dock draft action appends the returned references; no textarea DOM mutation fallback is used.

Limits

Limit Value
Index entries 20,000
Non-Git traversal depth 32
Client menu rows 40
Host/Client index freshness 30 seconds
Dropped file 50 MiB each
.aiinclude files 50
JSON request body 256 KiB
Session upload quota 250 MiB (configurable)
Global upload quota 2 GiB (configurable)
Upload retention 7 days (configurable)

Git repositories honor .gitignore. The non-Git fallback skips hidden entries, symlinks, VCS metadata, dependencies, caches, and common build outputs.

Development

npm run check

No dependency installation or build step is required. See:

  • Architecture
  • Security model
  • Host API and settings reference
  • Development and release workflow
  • Changelog

License

MIT © 2026 dsh-file-mention contributors

—/ 5

暂无评分

已验证 DSH bundle

Commit e278aabd584e

社区评论

还没有评论,来写第一条。

DSH HUB

社区维护的 DSH 插件索引。不是 GitHub 或 DeepSeek AI 的官方产品。

社区资源API关于