paperdepot 0.0.0-stage → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +54 -0
  3. package/README.md +244 -2
  4. package/THIRD_PARTY_NOTICES.md +31 -0
  5. package/cordis.patch.yml +3 -0
  6. package/lib/client.js +1962 -0
  7. package/lib/host.js +55 -0
  8. package/lib/impl.js +1208 -0
  9. package/lib/index.js +2 -0
  10. package/package.json +82 -4
  11. package/pipeline/README.md +7 -0
  12. package/pipeline/config/CONCEPT_SPEC.md +113 -0
  13. package/pipeline/config/SKILL.md +122 -0
  14. package/pipeline/config/SUMMARY_SPEC.md +120 -0
  15. package/pipeline/config/secrets.example.json +4 -0
  16. package/pipeline/config/tagmap_/344/273/252/345/231/250.json +555 -0
  17. package/pipeline/config/tagmap_/345/272/224/347/224/250.json +626 -0
  18. package/pipeline/config/tagmap_/346/226/271/346/263/225.json +890 -0
  19. package/pipeline/config/tagmap_/351/242/206/345/237/237.json +221 -0
  20. package/pipeline/requirements.txt +2 -0
  21. package/pipeline/tools/_paths.py +42 -0
  22. package/pipeline/tools/apply_summary.py +306 -0
  23. package/pipeline/tools/apply_tagmap.py +157 -0
  24. package/pipeline/tools/build_entry.py +280 -0
  25. package/pipeline/tools/dedup.py +207 -0
  26. package/pipeline/tools/doi_from_pdf.py +125 -0
  27. package/pipeline/tools/fetch_metadata.py +432 -0
  28. package/pipeline/tools/ingest.py +284 -0
  29. package/pipeline/tools/make_concept_index.py +139 -0
  30. package/pipeline/tools/make_concept_material.py +140 -0
  31. package/pipeline/tools/make_digest.py +198 -0
  32. package/pipeline/tools/make_index.py +242 -0
  33. package/pipeline/tools/make_mobile_reader.py +1160 -0
  34. package/pipeline/tools/make_nav.py +310 -0
  35. package/pipeline/tools/make_obsidian_graph.py +195 -0
  36. package/pipeline/tools/mineru_parse.py +462 -0
  37. package/pipeline/tools/repair_metadata.py +162 -0
  38. package/pipeline/tools/validate_summary.py +157 -0
  39. package/pipeline/tools/verify_concepts.py +240 -0
  40. package/pipeline/tools/verify_vault.py +182 -0
  41. package/requirements.txt +2 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 PaperDepot contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.en.md ADDED
@@ -0,0 +1,54 @@
1
+ # PaperDepot (论文库)
2
+
3
+ Turn PDF papers into a searchable, readable, connected Obsidian paper library.
4
+
5
+ PaperDepot is a [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH) plugin.
6
+ It handles ingestion and organization; Obsidian only stores and reads.
7
+
8
+ > It is **not** an Obsidian community plugin. It installs into DSH and writes to the
9
+ > Obsidian vault you choose.
10
+
11
+ ## What it does
12
+
13
+ - Import PDFs by drag-and-drop, file picker, or local path (deduplicated by fingerprint).
14
+ - Parse with MinerU, resolve metadata via Crossref / arXiv.
15
+ - Generate a structured Chinese summary and four controlled tag categories with an LLM;
16
+ re-run per paper, or **backfill in batch** (queued, stoppable, and resumable — finished
17
+ entries are skipped on the next run).
18
+ - Write Obsidian-native frontmatter, `index.md`, `full.md`, `paper.pdf`, and `images/`.
19
+ - Browse overview / papers / concepts in the DSH sidebar panel, with a typeset reader
20
+ (headings, lists, tables, inline math and wikilinks instead of raw Markdown).
21
+ - Generate taxonomy pages and paper navigation blocks; export a read-only mobile edition.
22
+
23
+ ## Requirements
24
+
25
+ - DSH `>=0.2.1-rc.1 <0.3.0`
26
+ - Node.js 20+ (bundled with DSH Desktop)
27
+ - Python 3.10+ with `pymupdf` and `python-docx`
28
+ - Obsidian Desktop
29
+ - A MinerU API token (free tier available)
30
+
31
+ ## Quick start
32
+
33
+ 1. Install DSH Desktop and create/open an Obsidian vault (keep the path short).
34
+ 2. Install the plugin — published on npm as `paperdepot`:
35
+ ```powershell
36
+ cd "$env:USERPROFILE\.dsh\profiles\desktop"
37
+ pnpm add paperdepot
38
+ ```
39
+ or pick the GitHub Release tarball / source link. Prefer not to run commands yourself?
40
+ Hand the [one-prompt installer](https://github.com/HUAWEIYYLS/paperdepot/blob/main/docs/install-prompt.md) to DSH.
41
+ 3. Get a MinerU token at <https://mineru.net>.
42
+ 4. Open the **论文库** panel in DSH, paste the token, verify it, and choose your vault.
43
+ 5. Drop a PDF into the panel and open the generated entry in Obsidian.
44
+
45
+ Full instructions (in Chinese): [README.md](README.md).
46
+
47
+ ## Privacy
48
+
49
+ PDFs are uploaded to MinerU for parsing; digest excerpts are sent to the LLM provider
50
+ you configure. There is no telemetry. Do not import confidential material.
51
+
52
+ ## License
53
+
54
+ MIT. Third-party notices: [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
package/README.md CHANGED
@@ -1,3 +1,245 @@
1
- # Temporary Holding Version
1
+ # 论文库(PaperDepot)
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ 把 PDF 论文变成**可检索、可读、可连接**的 Obsidian 论文库。
4
+
5
+ 论文库是一个 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(DSH)插件:
6
+ 它负责「进件 + 组织」,Obsidian 只负责存储与阅读。
7
+
8
+ > **它不是 Obsidian 社区插件。** 它安装进 DSH,由 DSH 面板操作,写入你指定的 Obsidian 库。
9
+
10
+ ```
11
+ PDF
12
+ ├─ MinerU 解析 → full.md + images/ + layout.json
13
+ ├─ 元数据获取 → 标题 / 作者 / 年份 / 期刊 / DOI
14
+ ├─ 条目组装 → index.md + full.md + paper.pdf + images/figNN.jpg
15
+ ├─ 摘要生成(LLM) → 一句话总结 / 背景 / 方法 / 结果 / 结论 / 数据表
16
+ └─ 标签生成(LLM) → 四类分层标签,映射到受控词表
17
+ ```
18
+
19
+ ## 功能
20
+
21
+ - **拖 PDF 入库**:拖拽、选择文件或粘贴本地路径;同一 PDF 按指纹自动跳过。
22
+ - **自动元数据**:优先读 PDF 首页 DOI / arXiv 号,再走 Crossref / arXiv 精确查询。
23
+ - **结构化摘要与标签**:LLM 生成中文摘要和四类受控标签(领域 / 方法 / 应用 / 仪器),
24
+ 支持单篇补跑与「批量补摘要」(排队跑完待生成条目,可随时停止,再点会跳过已完成的继续)。
25
+ - **Obsidian 原生体验**:元数据写进 frontmatter,Properties / Dataview / 标签面板 / 双链 / Graph 直接可用。
26
+ - **总览 / 论文 / 概念**:面板内看统计、搜索条目、浏览概念页与相关论文。
27
+ - **阅读版式**:论文与概念详情按摘要排版(标题 / 列表 / 表格 / 行内公式 / 双链),
28
+ 不再显示原始 Markdown;概念页带引用数、别名与相关论文列表。
29
+ - **分类页与导航块**:自动生成 `3-Taxonomy/` 分类页和论文页导航块,幂等可重建。
30
+ - **手机只读导出**:整库导出 EPUB / DOCX / PDF,放到同步盘用手机阅读器看。
31
+ - **跨平台尽力而为**:Windows 一等支持;macOS / Linux 实验性(欢迎反馈)。
32
+
33
+ ## 5 分钟快速开始
34
+
35
+ 1. **准备 DSH + Obsidian**:安装 DSH 桌面版,并在 Obsidian 里新建或打开一个库(路径尽量短)。
36
+ 2. **安装插件**:任选下面一种方式(已发布到 npm,推荐 `pnpm add paperdepot`;也可用 tarball 或
37
+ DSH 的「添加插件」对话框);
38
+ 不想手动敲命令,就把[一键安装提示词](https://github.com/HUAWEIYYLS/paperdepot/blob/main/docs/install-prompt.md)整段发给 DSH。
39
+ 3. **申请 MinerU Token**:打开 <https://mineru.net> 注册 → 控制台 → API 管理 → 创建 Token。
40
+ 4. **首次配置**:打开左侧栏「论文库」→ 配置卡里粘贴 Token → 保存并验证 → 选择 Obsidian 库路径。
41
+ 5. **导入第一篇**:把 PDF 拖进面板 → 看实时日志 → 打开 Obsidian 的 `1-Papers/<标题>/index.md`。
42
+
43
+ > PDF 会发送到 MinerU 云端解析;摘要材料会发送给你在 DSH 中配置的模型。
44
+ > **涉密、未发表或不允许上传的稿件请不要导入。**
45
+
46
+ ## 安装
47
+
48
+ > 完全不想手动操作?把[一键安装提示词](https://github.com/HUAWEIYYLS/paperdepot/blob/main/docs/install-prompt.md)
49
+ > 复制给 DSH,它会自己定位 profile、装包、写 `cordis.patch.yml`、装 Python 依赖并做安装后验证。
50
+
51
+ ### 方式 A:npm 安装(推荐)
52
+
53
+ ```powershell
54
+ cd "$env:USERPROFILE\.dsh\profiles\desktop"
55
+ pnpm add paperdepot
56
+ ```
57
+
58
+ 也可以在 DSH「插件 → 添加插件」对话框里直接填包名 `paperdepot`,它会自动装进 profile。
59
+
60
+ 然后在 profile 的 `cordis.patch.yml` 末尾加上:
61
+
62
+ ```yaml
63
+ - insert:
64
+ - id: paperdepot
65
+ name: paperdepot
66
+ config:
67
+ vault: 'C:\Users\<你>\Documents\ObsidianVault'
68
+ ```
69
+
70
+ 刷新 DSH(必要时重启)。
71
+
72
+ ### 方式 B:DSH「发现」页 + 自建索引源
73
+
74
+ DSH 目前**没有官方插件市场**:开箱的「发现」页默认没有任何索引源。本仓库自带一个自建索引
75
+ (`market/index.json`,npm 源),启用后可在「发现」页搜索并一键安装:
76
+
77
+ 1. DSH 侧栏 → **插件** → **实验性插件**旁的**更多** → 启用**自定义插件市场**;
78
+ 2. 插件页 → **发现** → **添加索引源** → 粘贴:
79
+ `https://raw.githubusercontent.com/HUAWEIYYLS/paperdepot/main/market/index.json`
80
+ 3. 搜索「论文库」或 `paperdepot` → 安装。
81
+
82
+ ### 方式 C:GitHub Release tarball(国内网络更稳)
83
+
84
+ 从 Releases 下载 `paperdepot-<版本>.tgz`(如 `paperdepot-0.1.2.tgz`),然后:
85
+
86
+ ```powershell
87
+ cd "$env:USERPROFILE\.dsh\profiles\desktop"
88
+ pnpm add "D:\downloads\paperdepot-0.1.2.tgz"
89
+ ```
90
+
91
+ 也可以把 tgz 的绝对路径填进 DSH「添加插件」对话框的输入框。
92
+
93
+ 同样在 `cordis.patch.yml` 里加 `id: paperdepot / name: paperdepot` 的 insert。
94
+
95
+ ### 方式 D:源码 link(开发 / 调试)
96
+
97
+ ```powershell
98
+ git clone https://github.com/HUAWEIYYLS/paperdepot.git
99
+ cd "$env:USERPROFILE\.dsh\profiles\desktop"
100
+ pnpm add "link:D:\path\to\paperdepot"
101
+ ```
102
+
103
+ `cordis.patch.yml` 同上。
104
+
105
+ > **重要**:profile 里的 `name:` 必须是包名 `paperdepot`,不能写 `paperdepot/host`。
106
+ > 写子路径会出现「host 正常、左侧栏没有论文库」。
107
+
108
+ ## 首次配置
109
+
110
+ 打开左侧栏「论文库」面板,第一次会看到配置卡:
111
+
112
+ 1. **MinerU Token**:粘贴 → 「保存并验证」。插件会真的调一次 MinerU 接口验 key。
113
+ Token 只写到本机配置文件,不会上传;也可以用环境变量 `MINERU_API_KEY`。
114
+ 2. **Obsidian 库路径**:选择一个已存在的文件夹;空库也可以,第一次导入会创建 `1-Papers/`。
115
+ 3. **Python 依赖**:需要 Python 3.10+ 和以下依赖:
116
+
117
+ ```powershell
118
+ python -m pip install -r requirements.txt
119
+ ```
120
+
121
+ 如果你是通过 npm 安装的,`requirements.txt` 在插件包的 `pipeline/` 目录里;
122
+ 面板的配置卡会显示当前流水线路径。
123
+
124
+ 4. **摘要模型(可选)**:在 profile 的插件配置里设置 `provider` / `model`;
125
+ 不设置时使用宿主默认模型。没有可用模型也能入库,只是摘要/标签会处于「待生成」。
126
+
127
+ 配置卡随时可以从右上角的「MinerU 已配置 / 未配置」按钮打开。
128
+
129
+ ## 日常使用
130
+
131
+ | 动作 | 怎么做 |
132
+ |---|---|
133
+ | 导入单篇 | 把 PDF 拖进「论文库」面板,或点「选择 PDF」,或在输入框粘贴本地路径后回车 |
134
+ | 批量导入(CLI) | `python tools/ingest.py "D:\papers\*.pdf" --vault "<库路径>"` |
135
+ | 从 Zotero 批量导入 | 设置 `ZOTERO_STORAGE` 环境变量指向 Zotero storage,再 `python tools/ingest.py --from-storage --limit 20 --vault "<库路径>"` |
136
+ | 看统计 | 面板「总览」页 |
137
+ | 搜索条目 | 面板「论文」页;点开可看 `index.md` 原文、在 Obsidian 打开 |
138
+ | 补摘要 | 论文页里对「待生成」条目点「生成摘要与标签」 |
139
+ | 批量补摘要 | 顶栏「批量补摘要(N)」:把待生成条目排队跑完,底部显示进度、可「停止」;中断后再点会跳过已完成的继续(断点续跑) |
140
+ | 看概念 | 面板「概念」页;概念页是跨论文综合,由你或 LLM 维护 |
141
+ | 看关系图 | 在 Obsidian 里用原生 Graph / Local Graph;论文页导航块提供概念/分类边 |
142
+ | 重建分类页/导航 | 面板「重建导航」(幂等,可反复跑) |
143
+ | 手机阅读 | `python tools/make_mobile_reader.py --vault "<库路径>" --out "<输出目录>"`,把产物放到同步盘 |
144
+
145
+ ## 数据位置
146
+
147
+ | 内容 | 开发态(源码运行) | 安装态(npm / 市场) |
148
+ |---|---|---|
149
+ | 配置 / 密钥 | `<仓库>/config/` | `~/.dsh/paperdepot/config/` |
150
+ | MinerU 缓存 / digest / 收件箱 | `<仓库>/cache/` | `~/.dsh/paperdepot/cache/` |
151
+ | 内置流水线 | `<仓库>/tools/` | `<插件包>/pipeline/tools/` |
152
+ | Obsidian 库 | 你选择 | 你选择 |
153
+
154
+ - `PAPERDEPOT_HOME` 可改安装态根目录。
155
+ - `config/secrets.local.json` 和 `config/paperdepot.local.json` 已在 `.gitignore` 里,不会进 git。
156
+ - 缓存可删可重建;MinerU 缓存带版本号,可整体搬移。
157
+
158
+ ## 配置参考
159
+
160
+ | 字段 | 默认 | 说明 |
161
+ |---|---|---|
162
+ | `vault` | `~/Documents/ObsidianVault` | Obsidian 库根目录 |
163
+ | `homeRoot` | 仓库根 / `~/.dsh/paperdepot` | 配置与缓存根 |
164
+ | `dataRoot` | `<homeRoot>/cache` | 缓存 / digest / 收件箱 |
165
+ | `toolsDir` | `<仓库>/tools` 或 `<插件包>/pipeline/tools` | Python 流水线 |
166
+ | `python` | `python` | 跑流水的解释器;macOS/Linux 可填 `python3` |
167
+ | `provider` / `model` | 宿主默认 / `opencode-go` | 摘要模型路由 |
168
+ | `autoSummarize` | `true` | 导入后是否自动生成摘要/标签 |
169
+
170
+ 环境变量:
171
+
172
+ - `MINERU_API_KEY`:MinerU Token(优先于本地文件)。
173
+ - `PAPERDEPOT_HOME`:安装态数据根。
174
+ - `PAPERDEPOT_VAULT`:默认库路径。
175
+ - `PAPERDEPOT_PYTHON`:Python 解释器。
176
+ - `ZOTERO_STORAGE`:Zotero storage 目录(仅 `--from-storage` 用)。
177
+
178
+ ## 常见问题
179
+
180
+ **左侧栏没有「论文库」**
181
+ 1. 检查 profile 的 `cordis.patch.yml`:`name:` 必须是 `paperdepot`,不能是子路径。
182
+ 2. 检查 profile 的 `node_modules/paperdepot` 是否存在(link 或 npm 安装)。
183
+ 3. 刷新页面;仍不行就重启 DSH。
184
+ 4. `GET /paperdepot/api/health` 能通但面板不在,基本就是第 1 条。
185
+
186
+ **MinerU 报 401 / 403 / 429**
187
+ - 401/403:Token 无效或过期,重新申请并保存。
188
+ - 429:免费额度或频率限制,等一会儿或换自己的额度。
189
+
190
+ **导入成功但没有摘要**
191
+ - 没有配置可用模型,或模型调用失败。入库不受影响;之后在论文页补摘要即可。
192
+ - 开源前的旧条目不会自动补:顶栏「批量补摘要(N)」可一次排队跑完,跑长任务时可随时停止,下次再点跳过已完成的。
193
+ - 检查 profile 里的 `provider` / `model` 是否是宿主真实存在的路由。
194
+
195
+ **图片打不开 / 路径太长**
196
+ - 论文目录名限制 ≤120 字符,图片固定 `figNN.jpg`,PDF 固定 `paper.pdf`。
197
+ - Windows 上库根目录尽量短;长路径问题优先把库放到浅目录。
198
+
199
+ **怎么卸载**
200
+ 1. DSH 设置 → 插件 → 卸载;或从 profile 里移除 `paperdepot` 并删除 `cordis.patch.yml` 对应行。
201
+ 2. 删除 `~/.dsh/paperdepot/`(配置 + 缓存)。
202
+ 3. Obsidian 库里的 `1-Papers/` 等是你自己的数据,按需保留或移走。
203
+ 4. MinerU Token 可在 mineru.net 控制台删除。
204
+
205
+ **支持 macOS / Linux 吗**
206
+ - 本版 Windows 一等支持;macOS/Linux 已修 POSIX 长路径问题并跑基础自检,但未做完整手测,标记为实验性。
207
+
208
+ ## 隐私与数据
209
+
210
+ | 数据 | 去哪里 |
211
+ |---|---|
212
+ | PDF 原文 | 上传到 MinerU 云端解析(第三方服务) |
213
+ | 论文节选(digest) | 发送给你在 DSH 中配置的 LLM provider |
214
+ | 标题 / DOI / arXiv 号 | 发送给 Crossref / arXiv 查询元数据 |
215
+ | MinerU Token | 只保存在本机配置文件 / 环境变量 |
216
+ | 使用统计 | **没有遥测**;插件不上报任何数据 |
217
+
218
+ 不要导入涉密、未发表或不允许上传第三方的材料。
219
+
220
+ ## 兼容性
221
+
222
+ | 项 | 要求 |
223
+ |---|---|
224
+ | DSH | `>=0.2.1-rc.1 <0.3.0` |
225
+ | Node.js | `>=20`(DSH 桌面版自带) |
226
+ | Python | `>=3.10`,需要 PyMuPDF、python-docx |
227
+ | Obsidian | 桌面版(移动端只读用导出文件) |
228
+ | 系统 | Windows 10/11 一等;macOS/Linux 实验性 |
229
+
230
+ ## 路线图
231
+
232
+ 后续计划(不承诺时间):批量队列与断点续跑、provider / 本地模型设置界面、全库 lint、概念层半自动、中英双语、移动端编辑。
233
+
234
+ ## 贡献
235
+
236
+ - Bug / 功能请求:GitHub Issues。
237
+ - 开发与提交规范:见 [CONTRIBUTING.md](CONTRIBUTING.md)。
238
+ - 安全问题:见 [SECURITY.md](SECURITY.md),不要公开提 issue。
239
+ - 维护者发布/分诊手册:见 [docs/maintainer/](docs/maintainer/)。
240
+ - 行为准则:见 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)。
241
+ - 提交代码即表示同意以 MIT 许可证贡献。
242
+
243
+ ## 许可证
244
+
245
+ MIT。第三方依赖与商标声明见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。
@@ -0,0 +1,31 @@
1
+ # Third-Party Notices
2
+
3
+ PaperDepot itself is released under the MIT License (see `LICENSE`).
4
+
5
+ ## Runtime dependencies (installed separately by the user)
6
+
7
+ | Dependency | License | How it is used |
8
+ |---|---|---|
9
+ | [PyMuPDF](https://pymupdf.readthedocs.io/) (`pymupdf`) | **AGPL-3.0** | First-page DOI extraction (`tools/doi_from_pdf.py`) and optional mobile PDF export (`tools/make_mobile_reader.py`). **Not bundled** with PaperDepot; installed from PyPI by the user. |
10
+ | [python-docx](https://python-docx.readthedocs.io/) | MIT | Optional mobile DOCX export (`tools/make_mobile_reader.py`). Not bundled. |
11
+
12
+ **Note on PyMuPDF/AGPL:** PaperDepot only calls PyMuPDF as a separately installed
13
+ dependency. If you redistribute a bundle that includes PyMuPDF itself, you must
14
+ comply with the AGPL-3.0 terms for that distribution. The safest option for
15
+ redistributors is to ship PaperDepot without PyMuPDF and let the user install it.
16
+
17
+ ## External services
18
+
19
+ PaperDepot calls these services at the user's request; their terms and privacy
20
+ policies apply:
21
+
22
+ - [MinerU](https://mineru.net) — PDF parsing (the PDF is uploaded to MinerU).
23
+ - [Crossref](https://www.crossref.org/) — DOI metadata.
24
+ - [arXiv](https://arxiv.org/) — preprint metadata.
25
+
26
+ ## Trademarks
27
+
28
+ - **Obsidian** is a trademark of Dynalist Inc. PaperDepot is not affiliated with
29
+ or endorsed by Obsidian.
30
+ - **DeepSeek Harness** is a product of DeepSeek. PaperDepot is a community plugin
31
+ and is not an official DeepSeek product.
@@ -0,0 +1,3 @@
1
+ - insert:
2
+ - id: paperdepot
3
+ name: paperdepot