Skip to content

Releases: Aik358/dsh-literature

v0.2.5

Choose a tag to compare

@Aik358 Aik358 released this 30 Aug 17:25

0.2.5 修复:PDF 404(URL 编码键)+ 扫描导入补齐全文

  • 根因:pdf 路由未对 key 做 URL 解码——含空格/标点的标题类条目(如 title:s11920 019 1079 z)被 %20 编码后映射到错误文件名,阅读器全部 404。现已在读取前解码,并新增含空格 key 的回归测试。
  • 文件夹扫描导入现在会把 PDF 复制进插件自己的存储(此前只记录文件名,条目没有本地全文)。
  • 测试隔离加固:DSH_HOME 在模块导入前设置并加断言,避免测试误写用户目录。

v0.2.4

Choose a tag to compare

@Aik358 Aik358 released this 30 Aug 17:12

0.2.4:Scribbr 式宽松识别(标题 / 文本 / URL / 外部搜索)

  • 搜索框升级为 Autocite 式输入:DOI / arXiv / PMID / ISBN 照常精确识别;识别不到时自动进入模糊搜索(Crossref),面板顶部展示候选列表,一键添加(带完整元数据)。
  • 候选底部提供外部搜索:Google Scholar / 百度学术 / 知网,用你的输入直接跳转。
  • 任意 URL 直接识别:粘贴网址 → 抓取页面自身元数据(citation_* / og:title / title),解析出标题与 DOI。实测 arXiv 摘要页、PLOS 文章页均成功(PLOS 连 DOI 都拿到了);被 Cloudflare 反爬的站点(如 nature.com)回退为网址条目,仍可打开来源/导入 PDF。
  • 修复:URL 页面抓取未取 response.text() 的 bug。
  • 新增 /search 与 /add-candidate 端点及测试。

v0.2.3

Choose a tag to compare

@Aik358 Aik358 released this 30 Aug 16:29

0.2.3:本地导入自动入库 + 拖拽导入

  • 「导入本地 PDF」/「需要登录」的文献导入后自动进入内置文献库(不再受保存方式配置影响,不依赖外部应用)。
  • 拖拽导入:把本机 PDF 直接拖进侧窗列表 → 自动校验、按文件名识别(DOI/arXiv/标题)、解析元数据、一键入内置库;重复拖入同一文献自动更新 PDF 而非新建;非 PDF 文件给出提示。
  • 拖拽时列表显示高亮虚线框。
  • 实测:DOI 文件名 → 解析出真实元数据入库;标题文件名 → 兜底标题入库;重复拖入 → 去重更新。

v0.2.1

Choose a tag to compare

@Aik358 Aik358 released this 30 Aug 16:20

0.2.1 新特性:自定义下载源

  • 设置页新增「自定义下载源」:可添加自己信任的镜像 / 机构代理 / 专属端点,逐条启用、命名、排序。
  • URL 模板支持变量 {doi} {arxiv} {isbn} {title} {url};可配置自定义请求头(每行 名称: 值),适配带 token / cookie 的端点。
  • 自定义源作为官方 OA 链之后的兜底;模板缺变量或非法 scheme 自动跳过。
  • 合规提醒:这些源由你自行配置并负责,插件不内置任何破解/侵权来源。
  • 实测:模板渲染(含缺失变量拒绝)与端到端回退下载(官方源全失败 → 本地镜像成功)。

v0.2.0

Choose a tag to compare

@Aik358 Aik358 released this 30 Aug 16:04

0.2.0 大版本:引用生成 + 库管理 + 全网搜索

  • 引用生成器(Scribbr 风格):每条文献卡片上的「引用」菜单,支持参考文献 / 文内引用 / 直接引用(带页码)三种模式 × APA 7 / GB/T 7714-2015 / MLA 9 / Chicago 17 四种格式,一键复制。
  • 库管理:① 扫描导入文件夹(文件名自动识别 DOI/arXiv/标题并解析元数据);② 从本地文献库批量导入(含 PDF 附件);③ 可选自动监控文件夹(每 30s 新增 PDF 自动入库);④ 条目可删除/移除。
  • 全网入口:每条文献的「搜索」菜单 → Google Scholar / 百度学术 / 知网 / 来源页。
  • 设置重构:内置文献库为默认第一选项;连接外部文献库的端口/数据目录/Unpaywall 折叠进「高级」区。
  • 引用格式器实测通过(APA/GB/T/MLA/Chicago 参考文献 + 文内 + 直接引用)。

v0.1.6

Choose a tag to compare

@Aik358 Aik358 released this 30 Aug 15:54

0.1.6 新特性:内置文献库(不再依赖 Zotero)

  • 默认模式改为内置文献库:识别 → 下载 → 保存 → 阅读 → 笔记,全程无需任何外部软件。
  • 已保存的内置条目可随时导出到本地文献库(Zotero 生态,需运行)或导出到目录(PDF + 元数据侧车)。
  • 「文献库未运行」横幅只在当前模式真正需要外部软件时出现。
  • 实测:arXiv 全文 → 内置库保存 → 目录导出 → 文献库导出(未运行时报错符合预期)。

v0.1.5

Choose a tag to compare

@Aik358 Aik358 released this 30 Aug 15:42

0.1.5 修复:下载失败时总是给出登录/导入路径

  • 书/章节/报告/论文类(如 DSM-5,ISBN 无 OA)→ 分类为「需要登录」,提示通过机构账号或图书馆获取。
  • 401/403(登录墙 / 反爬)→ 识别为登录请求。
  • 任何下载失败(只要有可打开的来源页)→ 卡片显示「打开登录页/来源」+「导入本地 PDF」+「重试」三个动作,不再只有重试。
  • 已实测:DSM-5-TR DOI 现在正确分类为 needs_login 并给出机构获取引导。

v0.1.4

Choose a tag to compare

@Aik358 Aik358 released this 30 Aug 15:24

0.1.4 修复:better-sidebar 检测彻底生效

根因:DSH 客户端插件运行时(dsh-cordis-client-runner)对动态插件的 ctx 做了白名单门控——ctx.betterSidebar 属性读取未在 inject 声明时直接抛错。此前探测用属性读取,异常被吞掉后永远回退到左侧栏按钮。

修复:运行时暴露 ctx.get(name) 作为不受门控的可选查找;探测顺序改为 属性读取 → reflect.get → ctx.get,且以 registerTab 实际调用成功为准。新增场景 4(模拟门控运行时)纳入自动化测试。

v0.1.3

Choose a tag to compare

@Aik358 Aik358 released this 30 Aug 14:19

0.1.3 修复

  • better-sidebar 集成修复:其客户端 bundle 可能晚于插件加载,此前 1.5s 单次检测经常失效。改为 12 秒轮询(每 400ms),一旦检测到 ctx.betterSidebar 服务立即把左侧栏入口迁移为右侧栏 tab 并释放左侧按钮位。
  • 新增「入口位置」设置:自动(优先右侧栏 tab)/ 固定左侧栏按钮 / 完全隐藏(仅从设置页访问)。
  • 测试矩阵覆盖三种场景(无 / 已有 / 晚出现的 better-sidebar)。

v0.1.2

Choose a tag to compare

@Aik358 Aik358 released this 30 Aug 14:13

0.1.2 修复

修复 DSH 启动时插件加载崩溃

  • 症状:Failed to load plugins ... Cannot access s before initialization(apply 阶段 TDZ)
  • 根因:settings 注册 effect 在 slots 常量初始化前就读取了它
  • 新增 scripts/check-apply.mjs:真实 React 环境下执行构建产物并运行 apply(),已接入 prepublishOnly 防止同类回归

0.1.1 引入:better-sidebar 集成(右侧栏 tab)、付费墙/需要登录的优雅处理(打开登录页 + 导入本地 PDF)、设置项扩充(21 项)。