hucj09/dsh-file-mention
hucj09★ 3JavaScript最后同步: 2026-08-15
DSH (DeepSeek Harness) Web GUI 插件:输入 @ 引用工作区文件,体验类似 Claude Code 的 @file。
README 摘要
@hucj/dsh-file-mention English 中文 DSH(DeepSeek Harness)Web GUI 的 @ 关联工作区文件 插件:在聊天输入框输入 @ ,按输入字符实时过滤并选择工作区文件,选中后插入 @相对路径 ,模型即可直接读取该文件——类似 Codex CLI / Claude Code CLI 的 @file 引用体验。 npm 包名 @hucj/dsh-file-mention (个人 scoped 包);插件组合行 id 为 file-mention 。 - git 驱动过滤 :跟踪文件 + 未跟踪且未被忽略的新文件(新建文件无需 git add 即可 @ 引用);天然遵守 .gitignore ,编译产物自动排除 - .aiinclude 重新纳入 :被忽略、但 AI 需要访问的文件(如项目文档)可显式加回扫描范围 - 零外部依赖 :Host/Client 双端均为纯手写代码 + 手写构建脚本 功能特性 特性 说明 @ 输入触发 与技能 / 菜单、 @pluginId 、 @子代理 同一套 inputTriggers 机制,多源并存 实时过滤 按文件名或完整路径匹配(大小写不敏感),最多展示 100 条 类型图标 按扩展名区分 4 类图标:⌨️ 代码 / 📝 文档 / 🖼️ 图片 / 📄 其他 菜单适配 候选菜单加宽至 720px(官方默认 537px)+ 行字号 14→13px + 行高压缩(40→32px,同屏 +25% 行数)(高特异性选择器覆盖官方 CSS,仅影响 @ 候选菜单) 命中排序 精确匹配 (路径/basename 全等)→ 前缀匹配 → 子串匹配(组内再按变更优先 + 字母序) 默认排序 未提交变更优先 (git status 变更集 + 未跟踪新文件)→ 非隐藏目录 → 隐藏目录(组内字母序) git 跟踪过滤 git ls-files -c 跟踪文件 ∪ -o --exclude-standard 未跟踪非忽略文件;新建文件自动出现,编译产物不进来 删除/重命名 已删除文件自动隐藏( git ls-files -d );重命名(git mv)文件按未提交变更置顶 .aiinclude gitignore 语法,把忽略目录/文件重新纳入(目录规则含子级继承,支持子目录嵌套配置) 回退模式 git 不可用/非仓库时自动降级为 .gitignore 解析 + 全量扫描 缓存 客户端按 工作区 cwd 共享 + stale-while-revalidate (TTL 30s 过期先返回旧列表、后台刷新, @ 永远零等待);Host 侧 git 结果分层缓存(仓库根 60s / 跟踪列表 15s / 变更与未跟踪与已删除 5s);会话创建时后台预热(warm 钩子) 剪枝遍历 .aiinclude …
在 GitHub 查看完整 README →