🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

文件定位器 SouthernSibyl/dsh-gotofile

DeepSeek Harness
SouthernSibyl15 天前有提交已提供中文文档扫描:含敏感能力

列出本轮改动文件,双击路径在文件管理器中定位

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
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
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

打赏

本项目为个人爱好驱动的开源插件,如果帮助到了您,欢迎各位大老板顺手请我喝杯咖啡,非常感谢打赏!

微信支付宝
预览分享卡片长什么样 ↓SouthernSibyl/dsh-gotofile
分享 · DeepSeek Harness Hub
SouthernSibyl/dsh-gotofile

列出本轮改动文件,双击路径在文件管理器中定位

回到顶部