论文分析 · 上传 PDF 或输入 arXiv 论文名 / ID,自动提取正文并调用 LLM 生成 中文摘要 + TLDR + 动机/方法/结果/结论 四段笔记。API key 仅存在你的浏览器 localStorage,不上传。
LLM 设置(首次使用需填)
选提供商后,Base URL 和 Model 会自动填好。所有选项都是 OpenAI 兼容接口(Anthropic / Gemini 不在此列)。
推荐 DeepSeek(platform.deepseek.com)。 Key 只存在浏览器,不会上传。
刷新模型列表 = 拉服务端真实模型(下拉里直接选)。✏️ = 切到手动输入(填自定义 model)。 测试连接 = 验证当前 model 在服务端存不存在。
部署在 EdgeOne / Vercel / Netlify 等静态站上,浏览器直接拉 arXiv 一定会被 CORS 拦。 默认按 corsproxy.io → allorigins → thingproxy 顺序逐个试,任何一个能用就行。 想稳定建议自建:用 Cloudflare Worker 五行代码转发到 arXiv 即可。
已自动保存到本地浏览器
同步配置到 GitHub Gist(可选,给后台 pipeline 用)
github.com/settings/tokens 生成(classic 即可),只勾 gist scope。Token 只存在浏览器,不上传。
把当前 LLM 配置(provider / API key / Base URL / Model / CORS 代理)写进一个 secret Gist。 GitHub Actions 跑 daily pipeline 时会自动拉这个 Gist 当作 secret 源。
arXiv 代理 3 分钟自部署教程(可选,稳定后一劳永逸)

为什么需要? 浏览器拉 arXiv 一定会被 CORS 拦,公共代理(corsproxy.io / allorigins / thingproxy)经常挂。自部署一个 Cloudflare Worker 永远稳定。

  1. Cloudflare Workers 创建 Worker(免费)
  2. 把下面这段代码整段粘进去,点 Deploy:
    export default {
      async fetch(req) {
        const u = new URL(req.url);
        let target = u.pathname.replace(/^\/proxy\/?/, '');
        if (!target) target = u.searchParams.get('url');
        if (!/^https?:\/\//i.test(target))
          return new Response('missing url', { status: 400 });
        const r = await fetch(target, {
          headers: { 'User-Agent': 'Mozilla/5.0 (cf-worker-proxy/1.0)' },
          redirect: 'follow',
        });
        const h = new Headers(r.headers);
        h.set('Access-Control-Allow-Origin', '*');
        h.set('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
        h.set('Access-Control-Allow-Headers', '*');
        return new Response(r.body, { status: r.status, headers: h });
      },
    };
  3. 部署完会拿到一个 https://<name>.<sub>.workers.dev 地址。 把这个地址(去掉 https://)填到上面 LLM 设置里的 CORS 代理 输入框。
  4. 之后 arXiv 搜索永久走你自己的代理,公共代理挂了也不影响。
📄
拖拽 PDF 到这里,或点选文件
支持单文件 ≤ 30 MB · 仅本地处理,不上传