Skip to main content
Glama
README.md
# 科研通下载器(AbleSciDownloader)

> **科研通下载器是第三方个人开源工具,免费开源(GNU AGPL-3.0),仅供学习交流使用。它并非科研通(ablesci.com)官方程序,与科研通及其运营方无任何隶属、合作或授权关系。如果你是付费购买的,你被骗了。**
>
> 获取文献时,软件**先查询合法的免费开放获取(OA)来源**(OpenAlex、Europe PMC、PubMed Central、Unpaywall、arXiv、bioRxiv/medRxiv 等),能直接下载的直接下载;查不到时,才使用**你本人的科研通账户**在科研通发布求助,并通过**科研通提供的下载渠道**获取应助文件,积分消耗由你自行承担。不使用 Sci-Hub 等影子图书馆。请遵守著作权法、出版商许可、所在机构规定和科研通规则。完整声明见 [DISCLAIMER.md](DISCLAIMER.md)。

推荐使用科研通,欢迎支持:[捐助积分](https://www.ablesci.com/my/point-donate) · [无偿捐助](https://www.ablesci.com/post/detail?id=P7j5Qn)

## 功能

- **导入**:粘贴 DOI、参考文献、标题,或导入 CSV / DOC / DOCX / TXT / RIS / BibTeX / NBIB。优先提供 DOI,识别率最高。
- **免费全文优先**:先在合法 OA 来源查找并下载;出版社出现人机验证时交给你处理,不绕过。可选填写联系邮箱(用于 Unpaywall 等接口,默认不填)。
- **确认清单**:找不到免费全文的文献整理成表格,由你确认后才会向科研通求助;悬赏只能选择官方档位。
- **科研通求助流程**(需登录本人账户):按 DOI 查询并二次核对后发布求助;积分低于 500 时遵守“逐条求助、收到应助须先处理”的规则;后台监控应助(刚发布时每 30 秒查看一次),收到应助后通知。
- **下载**:三条普通线路测速选最快的一条;高速通道可设为 关闭 / 智能 / 强制,确认费用规则后才使用(同一文件只扣一次分);失败自动重试(1、3、5、10 分钟,之后每 10 分钟),达到上限转为人工处理;单篇失败不影响其他文献。独立下载线程,下载期间不影响同步与发布。
- **核对**:在本机核对 PDF 的 DOI、标题、作者和摘要;不一致时交给你判断。自动驳回仅限“文件与求助明显不符”,扫描件、预印本、格式问题一律由人工判断。
- **期限提示**:显示科研通文件的删除时间与自动采纳时间(约 24 小时)。
- **AI 辅助(可选,默认关闭)**:DeepSeek Flash 预设或自定义 OpenAI 兼容接口,密钥用 Windows DPAPI 加密保存。不开启 AI 时,所有核心功能照常可用。
- **外部调用**:提供 MCP 服务与命令行(`kytdl.cmd`),可被 Claude Code、Codex 等工具调用;调用方自带模型时无需配置 AI 密钥。详见 [MCP_CONNECTION.md](MCP_CONNECTION.md)。
- **日志与反馈**:生成脱敏错误报告,可提交到 GitHub Issue。

## 安装与运行(Windows)

**推荐免安装版(Windows 10/11 x64):** 在 [Releases](https://github.com/icymars0815/AbleSciDownloader/releases) 下载 `windows-x64.zip`,完整解压后双击 `启动科研通下载器.cmd`。包内已有 Python 和依赖;首次自动从官方获取约 200 MB 浏览器到本目录,完成后自动打开。无需另装环境、输入命令或管理员权限;首次准备和文献操作需要联网。详见 [免安装说明](docs/PORTABLE.md)。

开发者使用源码版时,需要 Python 3.12/3.13 和 Google Chrome:

1. 下载或克隆本仓库到任意文件夹。
2. 双击 `setup.cmd`,创建虚拟环境并安装锁定版本的依赖。
3. 双击 `启动科研通下载器.cmd` 打开程序窗口。服务只监听本机 `127.0.0.1:8769`。

可在设置中开启开机自启与托盘常驻,关闭窗口后后台监控继续运行。

## 数据与隐私

- 所有数据保存在项目目录下的 `data/`(账户会话、下载的文件、记录、日志),请勿公开分享该文件夹。
- 科研通密码与 AI 密钥仅在你选择保存时,以 Windows DPAPI 加密存放,绑定当前 Windows 用户;不进入日志、报告或 MCP。
- 免费全文查询会向 OA 服务发送 DOI;开启 AI 后,仅在你逐次同意时发送选定的页面图片或文字片段。

## 已知限制

> **备注:因作者财力有限,积分 ≥ 500 的批量求助接口(科研通 `/assist/create-batch` 批量页面)以及对应的连续提交流程未经真实测试。** 程序目前在 ≥ 500 积分时仍通过单篇求助页面连续提交。由于悬赏在发布时扣除,连续提交过程中积分可能跌破 500,此后科研通会改按“逐条求助”规则拒绝后续提交。程序已加入防护:每次发布前按“当前积分 − 本次悬赏”判断,预计跌破 500 时自动改为逐条求助规则,并在科研通提示需先处理应助时暂停发布、等待你处理。该防护同样未经真实环境验证,欢迎有条件的用户反馈。

- 不支持断点续传:科研通下载页按整文件下载,换线路或重试都从头开始。
- 下载速度取决于科研通文件节点与时段,程序只能在三条线路中选择最快的一条。
- 免安装 ZIP 仅提供 Windows x64;完整解压后使用。源码 ZIP 不含运行环境,需按源码安装步骤配置。

## 开发

测试:`.venv\Scripts\python.exe -m unittest discover -s tests`

设计文档位于 [docs/](docs/)。第三方组件见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。

## 许可证

[GNU AGPL-3.0](LICENSE)

Maintenance

ActivityMaintained
ResponsivenessNo issues