KureKaruna
dsh-at
No description
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 13, 2026
- Updated
- Aug 13, 2026
Introduction
dsh-at
DeepSeek Harness 插件:在输入框中输入 @ 弹出文件/目录选择菜单,选中后插入纯文本 @"路径" 引用。
功能
| 输入 | 效果 |
|---|---|
@ | 列出当前会话工作区根下的文件/目录(目录排前,📁/📄 图标) |
@src/ | 浏览 src 子目录 |
@src/uti | 前缀过滤(不区分大小写) |
@C:/Users/... 或 @/home/... | 浏览绝对路径 |
@../ | 向上导航 |
目录候选点击后进入该目录继续浏览;文件(或按空格/空目录终止的目录)选中后插入纯文本 @"路径"(文件名加双引号,直接进入消息,不产生引用芯片)。菜单中文件按扩展名识别类型(图片/视频/音频/文档/代码)。每次最多返回 50 条,路径不可读时菜单安静降级为空。
演示

安装
安装到任意 profile(例如 web):
dsh plugin --profile web add github:KureKaruna/dsh-at
注意:git 安装时 pnpm ≥10 会拒绝运行 git 依赖的
prepare脚本,直到你显式允许。第一次add失败后,把 pnpm 打印的包键复制进该 profile 的pnpm-workspace.yaml:
allowBuilds: dsh-at: true
然后重新执行
add。本包是纯 JS(prepare只是空操作),授权仅用于 pnpm 运行该脚本。若不想授权,可用 tarball 安装:pnpm pack后dsh plugin --profile web add ./dsh-at-0.1.0.tgz。
验证层是否加载(无需启动):
dsh --profile web --dump-config # 输出中应出现 "# == dsh-at" 层
然后启动 dsh web,在输入框敲 @ 即可使用。
架构
lib/index.js— host 半部:通过webServer注册/dsh-at/list路由,用fs服务列目录(文件 + 目录),以客户端传入的会话 cwd 为解析根。lib/client.js— client 半部:注册@触发器源(name:file,与内置subagent/cordis源并存),候选列表fetchhost 路由获取;选中文件/目录插入纯文本@"路径"。菜单渲染、键盘导航均由系统ui-input-trigger的 MenuView 承担。cordis.patch.yml— bundle patch,插入dsh-at行(该行同时是 host 行与dsh.client浏览器行)。
纯 JS、零外部依赖,git 安装无需构建。
开发
dsh plugin --profile dev add ./ # 从本仓库 checkout 本地安装
License
MIT