freespace8/dsh-plugins--plugins-dsh-at-file0

@freespace8/dsh-at-file

适用于 DeepSeek Harness Web GUI 的 Codex 风格 @ 路径引用:输入 @ 即可选择工作区文件/文件夹并引用其路径,发送时由宿主验证,不读取文件内容。

AI 分析

核心用途是在聊天框中通过 @ 快捷键快速补全和引用项目文件路径。适合需要频繁向 AI 指示特定文件位置的开发者。支持拼音/首字母过滤与键盘导航。

套件
@freespace8/dsh-at-file
版本
0.2.3
授權
MIT
最近更新
2026年8月16日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:freespace8/dsh-plugins#21734829ebf838b852a9df4d5207c7f59be1289a&path:plugins/dsh-at-file

Usage

Type @ in a session composer: candidates render on a single line, the popup width matches the composer, file names show in full (never truncated), and the containing directory follows after (same-named files are distinguished by directory). Directories come first, files after, each sorted alphabetically.

The query is split at the last / into "directory + keyword": @plugins/d shows only the direct children of plugins whose names contain d; @plugins/ shows all direct children of plugins. While the menu is open, Backspace/Delete edits the filter character-by-character.

Keyboard navigation: Enter on a directory enters it (the menu refreshes to its children; keep descending, e.g. @plugins/dsh-at-file/lib/); Enter on a file confirms the normal selection flow. Tab confirms immediately — for both files and directories it inserts @path and a directory is never descended into, so to select a directory without entering it, highlight it and press Tab. Mouse click selects the highlighted entry directly.

Selecting an entry turns it into a pill whose width hugs the full @relative-path with at least 2 px of margin (and 2–3 px above/below, never exceeding its line). Multiple pills are separated by natural spaces and never overlap; long paths display in full without truncation. After a selection is confirmed (menu closed), with the caret inside a pill, adjacent to it, or on its separator space, a single Backspace/Delete removes the whole pill (the @ list does not pop up); everywhere else editing stays character-by-character.

Configuration

Override any field in the profile's cordis.patch.yml by id (the config block is replaced wholesale):

- id: dsh-at-file
  config:
    maxIndexedFiles: 10000   # per-workspace index entry cap (default 5000)
    ignoreDirs: []           # directory basenames skipped during indexing (defaults in src/defaults.js)

The toggle and filter rules in 设置 → 文件提及 are persistent settings that take effect in real time — no restart needed.