Skip to content

Releases

dsh-paperdesk 0.1.1

Choose a tag to compare

@shiyan688 shiyan688 released this 27 Sep 14:16

修复

  • 「解析全文」在 text/ 目录缺失时必然失败:抽取脚本写输出文件前没有建父目录
    (pdftotext 分支建了、python 分支没建,两处不一致)。真实事故:文库目录被外部删除后,
    text/ 与 notes/ 不再重建,两篇论文的全文抽取都以 FileNotFoundError 失败,
    界面只显示一句失败提示,看不出原因。
  • 目录改为自愈:抽取、写笔记、导入等写操作前都会补建目录,不再依赖启动时那一次。
  • 客户端组件直接引用 ctx 会 ReferenceError(组件在 factory 作用域,ctx 只是
    apply(ctx) 的参数)—— 这个错误由新增的交互测试逮到。

新增

  • 导入页 「选择文件夹…」:走宿主 uiWorkspace.pickDirectory 的系统目录对话框,
    选完自动扫描;扫到多个 PDF 可一键 「全部导入」。宿主没有该服务时不渲染按钮。

升级:dsh plugin --profile web add dsh-paperdesk(或在已安装的 profile 里
dsh plugin --profile web install --force),然后重启 profile 并 Ctrl+F5 强刷页面。

dsh-paperdesk 0.1.0

Choose a tag to compare

@shiyan688 shiyan688 released this 26 Sep 05:49

dsh-paperdesk 0.1.0

给 DeepSeek Harness 的论文工作台插件:
arXiv 检索 → 本地文库(题录 / PDF / 全文)→ L1-L2-L3 三层精读笔记。
宿主半区与浏览器半区在同一个包里,无构建步骤,运行时零第三方依赖。

安装

dsh plugin --profile web add dsh-paperdesk

装完必须确认 bundle 登记(详见下文),然后重启 profile 并强刷页面。

node node_modules/dsh-paperdesk/scripts/check-dsh-compat.mjs --profile web

能做什么

  • 7 个模型工具:paper_search paper_add paper_list paper_read paper_note paper_pdf paper_import
  • 浏览器工作台:arXiv 检索、文库筛选、详情面板里直接编辑三层笔记、分段读全文、导入本地 PDF
  • 三层阅读法:L1 速览(说了什么)/ L2 理解(凭什么成立)/ L3 批判(局限与可迁移点)——
    第三层是大多数「读了但没读进去」的论文缺失的那一层,所以模板把空层显式标出,而不是留白糊过去

数据落在哪

<root>/state/index.json   题录 + 状态 + 标签 + 笔记(唯一事实来源)
<root>/pdf/  text/  notes/<id>.md

<id> 是无版本号的 arXiv 编号,先收 v7 后更新到 v8 不会变成两条记录;路径全为相对路径,整个目录可拷走。

实测到什么程度(不是「设计上应该能用」)

  • 在 DSH 0.1.5-rc.2 真实启动中挂载:就绪日志、7 个工具、health 返回 ok=true errors=0
  • 端到端:通过插件自己的 API 完成真实 arXiv 入库 → PDF 2,215,244 字节 → 全文 39,512 字 / 15 页(PyMuPDF)→ 三层笔记写入 → 文本读回
  • 浏览器半区:真实浏览器中确认侧栏入口出现、面板可用
  • 发布产物:从 npm 官方源按包名装进干净 profile 启动 —— 20 个文件、宿主就绪、接口 200、客户端模块被注入
  • 自动化:109 项 node --test,含仓库级静态守卫与客户端组件渲染

没有验证的:pdftotext 回退路径只有单测覆盖(实测机器走的是 PyMuPDF);macOS / Linux 只有 CI 单测,没有真机挂载。

已知坑:装上了但界面不显示

dsh plugin add 会按安装状态对账 dsh.profile.bundles,只有依赖能被解析出
dsh.bundle.patch 时才登记。实测在全新初始化的 profile 上这一步可能被跳过:
包进了 dependencies,但插件不会加载,而且没有任何报错。

核对与修复:

node node_modules/dsh-paperdesk/scripts/check-dsh-compat.mjs --profile web

若报「不在 dsh.profile.bundles 里」,把 "dsh-paperdesk" 追加到
$DSH_HOME/profiles/web/package.json 的 dsh.profile.bundles 数组末尾即可。

链接

MIT License.