InstSci 是一个面向科研用户和 AI Agent 的论文获取工具。它优先查找开放获取全文;遇到需要订阅权限的论文时,会通过可见浏览器复用你自己的学校、图书馆或机构访问权限。
- 开放获取优先:Unpaywall、arXiv、Semantic Scholar、出版社元数据。
- 机构访问辅助:支持 Shibboleth、OpenAthens、CARSI、WebVPN、EZproxy 等常见路径。
- 出版社工作流:覆盖 ACM、ACS、AIP、IEEE、IOP、Nature、Oxford、RSC、ScienceDirect、Springer、Wiley 等。
- 批量下载:可保持可见 CloakBrowser 会话,减少重复登录。
- Agent 友好:提供
instsci-mcp,可接入支持 MCP 的 AI 工具。
推荐用户安装(发布到 PyPI 前请从 GitHub 安装):
pipx install git+https://github.com/Rimagination/instsci.git
# or
uv tool install git+https://github.com/Rimagination/instsci.git开发者安装:
git clone https://github.com/Rimagination/instsci.git
cd instsci
pip install -e .当前命令和包名都是 instsci。
一句话安装 MCP 和 skill:
帮我安装这个 mcp 和 skill:https://github.com/Rimagination/instsci
CloakBrowser 浏览器由 InstSci 缓存在项目内的 instsci/_browsers/cloakbrowser,该目录不会提交到 Git。
Elsevier API key 是项目级全局配置,配置一次后会用于后续所有 ScienceDirect DOI;--validate 只用样例 DOI 做下载验证。Inst Token 不是必需的,只有图书馆明确提供 Elsevier institutional token 时才需要配置。Elsevier 下载优先走 view=FULL XML -> object/eid -> PDF,并先用 direct route 让 api.elsevier.com 走校园网、学校 VPN、规则 VPN 或图书馆出口。
instsci setup --school "你的学校或机构"
instsci elsevier-setup --api-key YOUR_ELSEVIER_KEY --validate
instsci search "perovskite solar cells" --limit 10
instsci fetch "10.1038/s41586-020-2649-2"
instsci papers dois.txt --publisher auto --output ./runs/papers
instsci papers dois.txt --publisher auto --output ./runs/papers --detach
instsci jobs status
instsci jobs tail <job-id>
instsci jobs resume <job-id>MCP:
instsci-mcpInstSci 不接收你的密码。需要 SSO、2FA、验证码或出版社验证时,请在弹出的 CloakBrowser 中手动完成。HTTP 诊断工具只能作为预检查;最终能否拿到出版社 PDF,应以可见浏览器工作流的结果为准。
InstSci is a paper retrieval toolkit for researchers and AI agents. It looks for Open Access full text first; when a paper requires subscription access, it helps reuse your own university, library, or institutional entitlement through a visible browser session.
- Open Access first: Unpaywall, arXiv, Semantic Scholar, and publisher metadata.
- Institutional access support: Shibboleth, OpenAthens, CARSI, WebVPN, EZproxy, and similar routes.
- Publisher workflows: ACM, ACS, AIP, IEEE, IOP, Nature, Oxford, RSC, ScienceDirect, Springer, Wiley, and more.
- Batch downloads with a visible CloakBrowser session to reduce repeated sign-ins.
- Agent-ready MCP server via
instsci-mcp.
Recommended user install (until the PyPI package is published):
pipx install git+https://github.com/Rimagination/instsci.git
# or
uv tool install git+https://github.com/Rimagination/instsci.gitDevelopment install:
git clone https://github.com/Rimagination/instsci.git
cd instsci
pip install -e .The command and package name are both instsci.
One-line MCP and skill install:
Install this MCP and skill: https://github.com/Rimagination/instsci
InstSci caches the CloakBrowser binary inside instsci/_browsers/cloakbrowser; that directory is not committed to Git.
The Elsevier API key is a project-wide global setting. Configure it once for later ScienceDirect DOI retrieval; --validate only uses a sample DOI as a download smoke test. Inst Token is optional and should be set only when your library explicitly provides an Elsevier institutional token. Elsevier downloads prefer view=FULL XML -> object/eid -> PDF, using the direct route first so api.elsevier.com can use your campus, school VPN, rule VPN, or library exit.
instsci setup --school "Your Institution"
instsci elsevier-setup --api-key YOUR_ELSEVIER_KEY --validate
instsci search "perovskite solar cells" --limit 10
instsci fetch "10.1038/s41586-020-2649-2"
instsci papers dois.txt --publisher auto --output ./runs/papers
instsci papers dois.txt --publisher auto --output ./runs/papers --detach
instsci jobs status
instsci jobs tail <job-id>
instsci jobs resume <job-id>MCP:
instsci-mcpInstSci never asks for your password. When SSO, 2FA, CAPTCHA, or publisher verification appears, complete it manually in the visible CloakBrowser window. HTTP diagnostics are preflight checks only; final publisher PDF availability should come from a visible browser-backed workflow.
Login persistence is local. InstSci reuses the persistent CloakBrowser profile directory and the long-lived publisher broker so cookies, localStorage, IndexedDB, cache, and live browser state can survive normal batch work. It also remembers the latest configured subscription institution name and optional Chinese/English aliases in local config so later closed-access runs do not ask again.
InstSci does not store your institution password, and exported cookie files are not treated as a complete login state. Runtime state such as config.json, cookies.json, chrome-profile/, carsi_cookies/, broker queues, and runs/ output should remain local and is ignored by Git.
