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

学术代理助手 Yokhong/dsh_academic_web_proxy

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

配置机构代理访问学术网站,并可选重命名论文 PDF

28.1/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Yokhong/dsh_academic_web_proxy
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 31 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 18 处,展示前 18 条)
  • 发起网络请求
    client.js:302
    const requestFetch = options.fetch || ((...args) => fetch(...args));
  • 读取本地文件
    src/settings.js:83
    try { text = await readFile(this.#filePath, 'utf8'); }
  • 写入本地文件
    src/settings.js:105
    await mkdir(directory, { recursive: true, mode: 0o700 });
  • 写入本地文件
    src/settings.js:115
    try { await rename(temporary, this.#filePath); break; }
  • 删除本地文件
    src/settings.js:124
    if (created) await unlink(temporary).catch(() => {});
  • 读取本地文件
    src/download-monitor.js:100
    const info = await lstat(directory);
  • 读取本地文件
    src/download-monitor.js:101
    const canonical = await realpath(directory);
  • 读取本地文件
    src/download-monitor.js:103
    const entries = await readdir(canonical, { withFileTypes: true });
  • 读取本地文件
    src/download-monitor.js:130
    const stat = await lstat(file).catch(() => null);
  • 读取本地文件
    src/download-monitor.js:139
    const after = await lstat(file).catch(() => null);
  • 读取本地文件
    src/file-renamer.js:22
    const before = await lstat(source);
  • 读取本地文件
    src/file-renamer.js:27
    const parent = await realpath(dirname(source));
  • 读取本地文件
    src/file-renamer.js:28
    const canonical = await realpath(source);
  • 读取本地文件
    src/file-renamer.js:42
    const current = await lstat(source);
  • 读取本地文件
    src/file-renamer.js:47
    const [sourceNow, targetNow] = await Promise.all([lstat(source), lstat(target)]);
  • 删除本地文件
    src/file-renamer.js:50
    try { await unlink(source); }
  • 读取本地文件
    src/file-renamer.js:61
    const [sourceNow, targetNow] = await Promise.all([lstat(source).catch(() => null), lstat(createdTarget).catch(() => null)]);
  • 删除本地文件
    src/file-renamer.js:65
    await unlink(createdTarget).catch(() => {});
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
DSH 学术网站代理 English · 使用指南 / GUIDE · 升级说明 · 隐私说明 为 DeepSeek Harness 提供独立的学术网站代理设置。在原有共享浏览器中打开机构代理页面,需要登录或人机验证时,交由你在原标签页操作。v0.2.0 增加可选的论文 PDF 文件重命名,以及简体中文、繁体中文和美式英语设置界面。 重命名默认关闭,下载文件夹默认为空。 开启后只处理你明确选择的本地文件夹中符合条件的新 PDF:必须先观察到新出现的 X.pdf.crdownload 或 X.pdf.part,随后该临时文件消失、同名 X.pdf 稳定至少 2 秒,并通过 PDF 完整性和论文元数据匹配检查。这是文件系统轮询启发式,不是浏览器原生下载完成事件,也不保证每篇论文都能重命名。 以下情况保留原文件名:已有文件、未观察到临时文件的快速下载、临时与最终文件名不对应的「另存为」、缺少或歧义元数据、加密或损坏 PDF、超过 64 MiB、子文件夹、符号链接、已有硬链接,以及不支持安全硬链接操作的文件系统。重命名后浏览器下载记录可能仍指向旧名称;请在下载文件夹中确认结果。 安装与升级 运行要求:Node.js >=22.19、DSH >=0.2.0-rc.2 <0.3.0。
展开完整文档(README 剩余 1 节)
DSH 学术网站代理

English · 使用指南 / GUIDE · 升级说明 · 隐私说明

为 DeepSeek Harness 提供独立的学术网站代理设置。在原有共享浏览器中打开机构代理页面,需要登录或人机验证时,交由你在原标签页操作。v0.2.0 增加可选的论文 PDF 文件重命名,以及简体中文、繁体中文和美式英语设置界面。

重命名默认关闭,下载文件夹默认为空。 开启后只处理你明确选择的本地文件夹中符合条件的新 PDF:必须先观察到新出现的 X.pdf.crdownload 或 X.pdf.part,随后该临时文件消失、同名 X.pdf 稳定至少 2 秒,并通过 PDF 完整性和论文元数据匹配检查。这是文件系统轮询启发式,不是浏览器原生下载完成事件,也不保证每篇论文都能重命名。

以下情况保留原文件名:已有文件、未观察到临时文件的快速下载、临时与最终文件名不对应的「另存为」、缺少或歧义元数据、加密或损坏 PDF、超过 64 MiB、子文件夹、符号链接、已有硬链接,以及不支持安全硬链接操作的文件系统。重命名后浏览器下载记录可能仍指向旧名称;请在下载文件夹中确认结果。

安装与升级

运行要求:Node.js >=22.19、DSH >=0.2.0-rc.2 <0.3.0。现有浏览器适配目标仍为 dsh-builtin-browser 0.3.x;原生 4.1 下载 API 仅做过接口审阅,未完成接入或实机验证。自动导航检测需要兼容的 DSH Desktop 侧栏桥接。其他可用浏览器后端可使用代理工具,但不保证自动检测、展示原标签或文件重命名。

从含 v0.2.0 的源码树构建安装包:

git clone https://github.com/Yokhong/dsh_academic_web_proxy.git
cd dsh_academic_web_proxy
npm ci --ignore-scripts
npm run check
npm test
mkdir dist
npm pack --pack-destination dist
dsh plugin --profile your-profile add ./dist/dsh-academic-web-proxy-0.2.0.tgz

将 your-profile 替换为目标 DSH profile 名称,并先核对 package.json 的版本;公开仓库、npm 与 GitHub Release 的发布是独立步骤,本地构建不代表它们已发布。仅在 npm 确实提供 0.2.0 时使用 dsh plugin --profile your-profile add dsh-academic-web-proxy@0.2.0。运行时包不包含开发测试脚本,需要重新打包时使用源码树。

从 0.1 升级前备份当前 profile 的插件设置,见升级说明。原代理设置继续使用,新增字段填入默认值;新设置写入后,不要在没有备份的情况下直接回退旧版。

首次设置

在 DSH Settings 中打开 Academic Web Proxy:

1. 选择插件界面语言:简体中文 zh-CN(默认)、繁體中文 zh-TW 或美式英语 en-US。它独立于 DSH 的界面语言,切换立即显示并自动保存。
2. 按机构文档填写 Login URL Scheme 或 Proxied URL Scheme。两项初始均为空;都为空时不会做代理重定向。
3. 选择默认域名组,按需添加自定义域名。默认组有 47 个主机名;它与自定义列表分别保存,关闭默认组不会清空自定义项。
4. 若需重命名,先让浏览器将文件保存到自己明确选择的本地下载文件夹,在插件中填入该文件夹的绝对路径,再开启 PDF 文件重命名。此设置只观察该文件夹,不会修改浏览器下载位置,也不支持网络共享、设备路径或子文件夹递归。
5. 等待设置保存成功、重命名状态就绪,再在共享浏览器中打开论文摘要页并下载。设置约在最后一次修改 600 ms 后保存;保存失败时按界面提示处理。

不要把机构模板、下载目录、登录信息或其他个人配置提交到仓库。

代理规则与人工操作

域名采用精确匹配,例如 example.org 不自动包含 www.example.org。自定义域名只填写主机名,不带协议、端口、路径或通配符。修改模板不会改写默认组和自定义列表。

模板占位符:%u 为编码后的完整原始 URL,%h 为主机名(HTTPS 主机中的点转换为连字符),%p 为路径、查询和片段。以下只是虚构格式示例,不能直接作为机构配置:

Login URL Scheme: https://login.example.edu/login?qurl=%u
Proxied URL Scheme: https://%h.proxy.example.edu/%p

配置了登录模板时优先使用它。规则包含已代理页面与重定向循环检查,不做 HTTP 降级,不支持非标准端口或页面子请求代理。Desktop 自动检测发生在导航之后,原站可能已收到首次请求;这不是网络请求拦截器。

遇到登录或 CAPTCHA,保留并尽可能展示同一个原标签页,由你完成操作,再检查页面状态。插件保留 0.1 的提示与人工接管流程,不填写密码、不解答或重试验证码,也不新增自动恢复操作。某些浏览器或布局需要你手动展开侧栏、选择原标签。

PDF 文件名

可选择以下五个字段,顺序固定,字段间使用下划线,扩展名为 .pdf:

| 顺序 | 字段 | 内容 | 默认选择 |
| 1 | title | 论文标题 | 是 |
| 2 | author | 第一位作者 | 否 |
| 3 | year | 明确的发表年份 | 是 |
| 4 | venue | 期刊或会议名称 | 否 |
| 5 | platform | 可识别的平台,如 ASCE、Elsevier、Springer、MDPI | 是 |

默认组合是 title_year_platform.pdf。例如虚构元数据可能生成 A study of porous materials_2025_ASCE.pdf。界面预览使用示例元数据,不表示当前下载已匹配或已重命名。
缺少的所选字段会跳过;未选择任何字段或所有所选字段都没有值时保留原名。非法文件名字符会替换,过长名称会截短;重名时添加 (1)、 (2) 等后缀,不覆盖已有文件。文件保留在原文件夹,采用「创建独占硬链接、验证、移除原名称」的方式变更名称;不支持该操作时保留原文件。

元数据来自已打开论文页面的 citation、Dublin Core、PRISM、ScholarlyArticle JSON-LD 等字段;缺失标题可尝试页面标题,缺失年份不会从 PDF 创建或修改日期推断。兼容 Desktop 桥接会在本 profile 已就绪的匹配学术页面采集,下载工具也会在点击真实下载控件前采集。

用于重命名的文章元数据必须在临时下载开始被观察到之前已采集。最终文件须为不超过 64 MiB、未加密、可解析且具有有效终止 EOF 的 PDF;其 PDF Info 中的 DOI 或规范化后完全相同、长度至少 12 的标题须唯一对应一篇先前记录的文章。标题比较保留字母和数字,排除 Introduction、Bibliography 等通用标题;双方都有 DOI 时必须一致,非空 PDF 标题与文章标题矛盾时也不匹配。同一文章的相容记录可合并补全字段,冲突记录不能合并。缺失或歧义时保留原名,不凭文件名、点击顺序或 PDF 日期猜测。

文件夹按约 500 ms 间隔轮询,文件系统通知可提前触发检查;这些间隔不等于完成证明。首次扫描会排除所有已有文件和已有临时下载的目标。缓存最多 100 条文章元数据,30 分钟未刷新会过期;待处理下载最多 100 条,30 分钟后过期。更改重命名设置或重启会重建观察基线,不补处理旧文件。详细边界见使用指南和兼容性说明。

代理工具

| 工具 | 用途 |
| academic_proxy_status | 查看代理、待人工处理页面和重命名状态;不返回模板值或下载目录绝对路径。 |
| academic_proxy_open | 按当前配置在现有共享浏览器中打开学术 URL。 |
| academic_proxy_check | 检查当前页面是否需要登录或人机验证。 |
| academic_proxy_download | 检查并点击页面可见的真实 PDF/下载控件;inspectOnly: true 只列候选。 |

多个同优先级候选需要明确选择返回的 selector;跨域 iframe 或 PDF 阅读器中的控件需要用原浏览器继续检查。工具不猜测或直接请求 PDF URL。clicked 只表示点击成功,metadataCaptured 只表示记录了元数据;两者都不等于文件已保存或重命名成功。请核对浏览器下载界面、实际文件和重命名结果,不为获得重命名状态反复触发下载。

数据与验证

代理模板、所选本地目录、语言和字段偏好保存在当前 profile 的运行时 plugins/dsh-academic-web-proxy/settings.json,不写入源码仓库。插件不采集凭证、不导出 Cookie、不发送遥测,也不把 PDF 或元数据上传到云端。近期重命名结果只在内存中保留最多 10 条文件名,不含绝对路径;完整说明见隐私说明。

验证报告区分自动化结果与仍需实机完成的 SSO、CAPTCHA、浏览器保存和文件系统检查;CI 配置和接口审阅不代表这些场景已通过。发布指南说明源码、安装包、npm 与市场条目的关系。市场提交草稿是独立的维护材料,只有公开源码已包含其描述的功能时才能提交。

本项目使用 MIT 许可证,见 LICENSE 与 NOTICE。代理模板和依据书目元数据命名的交互参考了 Zotero 的公开文档;这是独立实现,不要求安装 Zotero。来源链接见 GUIDE。
预览分享卡片长什么样 ↓Yokhong/dsh_academic_web_proxy
分享 · DeepSeek Harness Hub
Yokhong/dsh_academic_web_proxy

配置机构代理访问学术网站,并可选重命名论文 PDF

这是你的仓库?认领条目

回到顶部