列出本轮改动文件,双击路径在文件管理器中定位
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add SouthernSibyl/dsh-gotofile该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
- 读取本地文件lib/index.js:658
return existsSync(abs) - 读取本地文件lib/index.js:666
return statSync(abs).isDirectory() - 读取本地文件lib/index.js:745
return existsSync(abs) ? abs : null - 读取本地文件lib/index.js:753
return existsSync(abs) ? abs : null - 读取本地文件lib/index.js:807
if (existsSync(join(root, marker))) { - 执行外部命令来自配置/变量lib/index.js:947
execFile(command, cleanArgs, { timeout: 10000 }, (error) => { - 发起网络请求lib/client.js:47
fetch("/api/goto-file/config", { method: "GET", cache: "no-store" }) - 发起网络请求lib/client.js:62
fetch("/api/goto-file/config", { - 发起网络请求lib/client.js:241
const res = await fetch("/api/goto-file/open", { - 发起网络请求lib/client.js:349
fetch("/api/goto-file/check", { - 发起网络请求lib/client.js:372
fetch("/api/goto-file/open", { - 写入剪贴板lib/client.js:393
navigator.clipboard.writeText(text).then(done).catch(() => setError("复制失败"));
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 插件:以纯文本列出某轮对话产生或改动的文件,双击可在系统文件管理器中定位该文件。
README
由 DeepSeek 最新模型翻译生成dsh-GotoFile
对话结尾列出本轮产出 / 修改的文件,双击路径直接在资源管理器里定位。
A DSH plugin that prints the files a turn produced or changed — double-click a path to reveal it in your OS file manager.
DSH 自带的「改动文件」卡片只活在浏览器里:想离开 GUI 读一份清单、想整段复制路径、想在资源管理器里打开文件,都得再手动翻一遍。这个插件把同一份「本轮改动」数据渲染成纯文本行放进对话结尾,并让每一行路径都能双击落到系统文件管理器。
本轮产出 / 修改 3 个文件(双击路径在文件管理器中定位) [复制全部] ● 新 report.md — E:\哈尼斯\项目\docs\report.md 📂 ● 改 index.js — E:\哈尼斯\项目\src\index.js 📂 ● 改 old-config.yml — E:\哈尼斯\项目\old-config.yml (已不存在)
真实运行效果(结尾的文本块:「已编辑 3 个文件」卡片是 DSH 自带的,下面一行才是本插件):
turn-tail 文本报告
特性
- 文本,不是卡片:整段可选中、可复制(右上角「复制全部」一键拷走全部绝对路径),粘贴到哪里都好用。
展开完整文档(README 剩余 1 节)
dsh-GotoFile
对话结尾列出本轮产出 / 修改的文件,双击路径直接在资源管理器里定位。
A DSH plugin that prints the files a turn produced or changed — double-click a path to reveal it in your OS file manager.
DSH 自带的「改动文件」卡片只活在浏览器里:想离开 GUI 读一份清单、想整段复制路径、想在资源管理器里打开文件,都得再手动翻一遍。这个插件把同一份「本轮改动」数据渲染成纯文本行放进对话结尾,并让每一行路径都能双击落到系统文件管理器。
本轮产出 / 修改 3 个文件(双击路径在文件管理器中定位) [复制全部] ● 新 report.md — E:\哈尼斯\项目\docs\report.md 📂 ● 改 index.js — E:\哈尼斯\项目\src\index.js 📂 ● 改 old-config.yml — E:\哈尼斯\项目\old-config.yml (已不存在)
真实运行效果(结尾的文本块:「已编辑 3 个文件」卡片是 DSH 自带的,下面一行才是本插件):
turn-tail 文本报告
特性
- 文本,不是卡片:整段可选中、可复制(右上角「复制全部」一键拷走全部绝对路径),粘贴到哪里都好用。
- 双击即定位:双击路径文本 → Windows 资源管理器 / macOS Finder / Linux 文件管理器打开并选中该文件(explorer /select,、open -R、xdg-open)。
- 正文里的路径也能双击: src/index.js 这种裸路径、或手动选中的一段路径,双击同样生效——不用回到报告里找。
- 只记真的写成功的:登记 write / edit / str_replace_editor / ops_replace 的成功调用,失败的、只读的调用一律不出现。
- 新 / 改 有区分:本轮首次写入该路径 = 新;改动一个已存在的文件 = 改。
- 失效文件自动置灰:文件被外部删掉的行显示「(已不存在)」并禁用双击。
- 零依赖、无构建:两个源文件(宿主半 + 浏览器半),node --test 直接跑单测。
- 默认就安全:所有路由校验本机同源(防本地 CSRF);只有会话工作目录 / 家目录 / 用户显式声明的白名单根里的路径才能被系统打开。
安装
放进 profile 的 node_modules,然后在同一个 profile 的 cordis.patch.yml 末尾登记:
- insert:
- id: goto-file
name: dsh-GotoFile
典型位置:
<profile>/node_modules/dsh-GotoFile/
<profile>/cordis.patch.yml
改完 cordis.patch.yml 需要重启桌面端(或重新加载 profile)才会挂载。挂载成功可以在插件管理里看到 goto-file / dsh-GotoFile / 状态 active。
配置:外置盘 / 网络盘白名单
设置 → GotoFile,每行一个根目录(支持 ~/),保存立即生效,不用重启、不用改 YAML。
- 默认留空 = 只放行家目录与会话工作目录内的路径;其他位置的路径双击会被拒绝,报告里仍会列出但打开请求返回 404。
- 系统盘特征目录(C:\ 之类,即根下存在 Windows / System / etc)会被自动拒绝,避免一条白名单把整台机器敞开口。
- 白名单根还会做 realpath 逃逸检查(symlink 不能溜出根)。
工作原理(一图)
一轮对话 │ 工具调用 write / edit / str_replace_editor / ops_replace ▼ 宿主半 lib/index.js
ctx.on('session/event')
tool/call ──► pending.set(callId, {turn, 路径, 是否新建}) tool/result ──► 只有成功(isError !== true)才计入登记簿 ├ op = 新建且首次收录 ? 'new' : 'edit' └ 子代理会话(origin==='subagent')不参与 (可选补漏) ctx.get('workspaceChanges').summary(...) → 官方含 git 快照的权威清单 POST /api/goto-file/check → 本轮文件清单 POST /api/goto-file/open → 系统打开 / 定位(同源校验 + 路径安全口径) ▼ 浏览器半 lib/client.js turnTail 槽:渲染纯文本行,双击判 event.detail === 2 → /open reveal 正文双击委托:document dblclick 抓裸 / 选中文本 → /open reveal
源码级查证过的坑(八条,含 explorer.exe 把 / 当开关、turnTail 槽在 0.1.7 前后的双模签名、webServer 必须动态注入等)都记在 docs/architecture.md。
源码结构
| 文件 | 作用 |
| lib/index.js | 宿主半:本轮改动登记簿 + 三条 API 路由 + 路径安全判定 + 系统打开 |
| lib/client.js | 浏览器半:turn-tail 文本报告、双击委托、设置卡片 |
| test/host.test.js | 宿主半纯逻辑单测(18 例,node --test) |
| docs/architecture.md | 架构、数据流与关键决策 |
| cordis.patch.yml | 供参考的挂载补丁片段 |
开发
node --test # 18 个单测,零依赖、无需 npm install
宿主对 @deepseek-ai/schemastery 的依赖是懒加载的(挂载时才解析真包,解析不到就退回恒等形态),所以这个仓库可以被单独克隆出来直接跑测试,不必放在 DSH profile 里。
已知边界
- 外部命令产生的文件(> out.txt、git checkout 等)不在登记簿里,只能靠官方 workspaceChanges 的 git 快照补漏;非 git 目录下这类改动不会出现。
- 单轮文件数上限 maxFilesPerTurn(默认 200),防止病态轮次撑爆登记簿。
- 双击是浏览器手势,纯键盘用户可按 Enter(行有 tabIndex)触发定位。
License
MIT
打赏
本项目为个人爱好驱动的开源插件,如果帮助到了您,欢迎各位大老板顺手请我喝杯咖啡,非常感谢打赏!
微信支付宝预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
SouthernSibyl/dsh-gotofile
列出本轮改动文件,双击路径在文件管理器中定位
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 21,780未汉化DSH
73.5
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 1,947已汉化MCP
72.7
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,347已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13917 个插件含 PR 收录与…
★ 343已汉化DSH
71.6