@wentorai/research-plugins 1.1.0 → 1.2.1

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 (267) hide show
  1. package/README.md +18 -18
  2. package/curated/analysis/README.md +12 -1
  3. package/curated/domains/README.md +48 -1
  4. package/curated/literature/README.md +46 -1
  5. package/curated/research/README.md +16 -1
  6. package/curated/tools/README.md +20 -1
  7. package/curated/writing/README.md +13 -1
  8. package/mcp-configs/academic-db/alphafold-mcp.json +20 -0
  9. package/mcp-configs/academic-db/brightspace-mcp.json +21 -0
  10. package/mcp-configs/academic-db/climatiq-mcp.json +20 -0
  11. package/mcp-configs/academic-db/gibs-mcp.json +20 -0
  12. package/mcp-configs/academic-db/gis-mcp-server.json +22 -0
  13. package/mcp-configs/academic-db/google-earth-engine-mcp.json +21 -0
  14. package/mcp-configs/academic-db/m4-clinical-mcp.json +21 -0
  15. package/mcp-configs/academic-db/medical-mcp.json +21 -0
  16. package/mcp-configs/academic-db/nexonco-mcp.json +20 -0
  17. package/mcp-configs/academic-db/omop-mcp.json +20 -0
  18. package/mcp-configs/academic-db/onekgpd-mcp.json +20 -0
  19. package/mcp-configs/academic-db/openedu-mcp.json +20 -0
  20. package/mcp-configs/academic-db/opengenes-mcp.json +20 -0
  21. package/mcp-configs/academic-db/openstax-mcp.json +21 -0
  22. package/mcp-configs/academic-db/openstreetmap-mcp.json +21 -0
  23. package/mcp-configs/academic-db/opentargets-mcp.json +21 -0
  24. package/mcp-configs/academic-db/pdb-mcp.json +21 -0
  25. package/mcp-configs/academic-db/smithsonian-mcp.json +20 -0
  26. package/mcp-configs/ai-platform/magi-researchers.json +21 -0
  27. package/mcp-configs/ai-platform/mcp-academic-researcher.json +22 -0
  28. package/mcp-configs/ai-platform/open-paper-machine.json +21 -0
  29. package/mcp-configs/ai-platform/paper-intelligence.json +21 -0
  30. package/mcp-configs/ai-platform/paper-reader.json +21 -0
  31. package/mcp-configs/ai-platform/paperdebugger.json +21 -0
  32. package/mcp-configs/browser/exa-mcp.json +20 -0
  33. package/mcp-configs/browser/mcp-searxng.json +21 -0
  34. package/mcp-configs/browser/mcp-webresearch.json +20 -0
  35. package/mcp-configs/communication/discourse-mcp.json +21 -0
  36. package/mcp-configs/data-platform/automl-stat-mcp.json +21 -0
  37. package/mcp-configs/data-platform/jefferson-stats-mcp.json +22 -0
  38. package/mcp-configs/data-platform/mcp-excel-server.json +21 -0
  39. package/mcp-configs/data-platform/mcp-stata.json +21 -0
  40. package/mcp-configs/data-platform/mcpstack-jupyter.json +21 -0
  41. package/mcp-configs/data-platform/ml-mcp.json +21 -0
  42. package/mcp-configs/data-platform/nasdaq-data-link-mcp.json +20 -0
  43. package/mcp-configs/data-platform/numpy-mcp.json +21 -0
  44. package/mcp-configs/dev-platform/geogebra-mcp.json +21 -0
  45. package/mcp-configs/dev-platform/latex-mcp-server.json +21 -0
  46. package/mcp-configs/dev-platform/manim-mcp.json +20 -0
  47. package/mcp-configs/dev-platform/mcp-echarts.json +20 -0
  48. package/mcp-configs/dev-platform/panel-viz-mcp.json +20 -0
  49. package/mcp-configs/dev-platform/paperbanana.json +20 -0
  50. package/mcp-configs/dev-platform/texflow-mcp.json +20 -0
  51. package/mcp-configs/dev-platform/texmcp.json +20 -0
  52. package/mcp-configs/dev-platform/typst-mcp.json +21 -0
  53. package/mcp-configs/dev-platform/vizro-mcp.json +20 -0
  54. package/mcp-configs/note-knowledge/local-faiss-mcp.json +21 -0
  55. package/mcp-configs/note-knowledge/mcp-memory-service.json +21 -0
  56. package/mcp-configs/note-knowledge/mcp-obsidian.json +23 -0
  57. package/mcp-configs/note-knowledge/mcp-ragdocs.json +20 -0
  58. package/mcp-configs/note-knowledge/mcp-summarizer.json +21 -0
  59. package/mcp-configs/note-knowledge/mediawiki-mcp.json +21 -0
  60. package/mcp-configs/note-knowledge/openzim-mcp.json +20 -0
  61. package/mcp-configs/note-knowledge/zettelkasten-mcp.json +21 -0
  62. package/mcp-configs/reference-mgr/academic-paper-mcp-http.json +20 -0
  63. package/mcp-configs/reference-mgr/academix.json +20 -0
  64. package/mcp-configs/reference-mgr/arxiv-research-mcp.json +21 -0
  65. package/mcp-configs/reference-mgr/google-scholar-abstract-mcp.json +19 -0
  66. package/mcp-configs/reference-mgr/google-scholar-mcp.json +20 -0
  67. package/mcp-configs/reference-mgr/mcp-paperswithcode.json +21 -0
  68. package/mcp-configs/reference-mgr/mcp-scholarly.json +20 -0
  69. package/mcp-configs/reference-mgr/mcp-simple-arxiv.json +20 -0
  70. package/mcp-configs/reference-mgr/mcp-simple-pubmed.json +20 -0
  71. package/mcp-configs/reference-mgr/mcp-zotero.json +21 -0
  72. package/mcp-configs/reference-mgr/mendeley-mcp.json +20 -0
  73. package/mcp-configs/reference-mgr/ncbi-mcp-server.json +22 -0
  74. package/mcp-configs/reference-mgr/onecite.json +21 -0
  75. package/mcp-configs/reference-mgr/paper-search-mcp.json +21 -0
  76. package/mcp-configs/reference-mgr/pubmed-search-mcp.json +21 -0
  77. package/mcp-configs/reference-mgr/scholar-mcp.json +21 -0
  78. package/mcp-configs/reference-mgr/scholar-multi-mcp.json +21 -0
  79. package/mcp-configs/reference-mgr/seerai.json +21 -0
  80. package/mcp-configs/reference-mgr/semantic-scholar-fastmcp.json +21 -0
  81. package/mcp-configs/reference-mgr/sourcelibrary.json +20 -0
  82. package/openclaw.plugin.json +2 -2
  83. package/package.json +2 -2
  84. package/skills/analysis/dataviz/citation-map-guide/SKILL.md +184 -0
  85. package/skills/analysis/dataviz/data-visualization-principles/SKILL.md +171 -0
  86. package/skills/analysis/econometrics/econml-causal-guide/SKILL.md +2 -2
  87. package/skills/analysis/econometrics/empirical-paper-analysis/SKILL.md +192 -0
  88. package/skills/analysis/econometrics/mostly-harmless-guide/SKILL.md +2 -2
  89. package/skills/analysis/econometrics/panel-data-regression-workflow/SKILL.md +267 -0
  90. package/skills/analysis/econometrics/python-causality-guide/SKILL.md +2 -2
  91. package/skills/analysis/econometrics/stata-reference-guide/SKILL.md +293 -0
  92. package/skills/analysis/statistics/general-statistics-guide/SKILL.md +226 -0
  93. package/skills/analysis/statistics/infiagent-benchmark-guide/SKILL.md +106 -0
  94. package/skills/analysis/wrangling/claude-data-analysis-guide/SKILL.md +100 -0
  95. package/skills/analysis/wrangling/open-data-scientist-guide/SKILL.md +197 -0
  96. package/skills/analysis/wrangling/streamline-analyst-guide/SKILL.md +119 -0
  97. package/skills/domains/ai-ml/ai-agent-papers-guide/SKILL.md +146 -0
  98. package/skills/domains/ai-ml/anomaly-detection-papers-guide/SKILL.md +167 -0
  99. package/skills/domains/ai-ml/autonomous-agents-papers-guide/SKILL.md +178 -0
  100. package/skills/domains/ai-ml/domain-adaptation-papers-guide/SKILL.md +173 -0
  101. package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +2 -2
  102. package/skills/domains/ai-ml/graph-learning-papers-guide/SKILL.md +125 -0
  103. package/skills/domains/ai-ml/kolmogorov-arnold-networks-guide/SKILL.md +185 -0
  104. package/skills/domains/ai-ml/npcpy-research-guide/SKILL.md +137 -0
  105. package/skills/domains/ai-ml/responsible-ai-guide/SKILL.md +126 -0
  106. package/skills/domains/ai-ml/vmas-simulator-guide/SKILL.md +129 -0
  107. package/skills/domains/biomedical/clawbio-guide/SKILL.md +167 -0
  108. package/skills/domains/biomedical/clinical-dialogue-agents-guide/SKILL.md +145 -0
  109. package/skills/domains/biomedical/ena-sequence-api/SKILL.md +175 -0
  110. package/skills/domains/biomedical/genomas-guide/SKILL.md +126 -0
  111. package/skills/domains/biomedical/genotex-benchmark-guide/SKILL.md +125 -0
  112. package/skills/domains/biomedical/med-researcher-guide/SKILL.md +161 -0
  113. package/skills/domains/biomedical/med-researcher-r1-guide/SKILL.md +146 -0
  114. package/skills/domains/biomedical/ncbi-blast-api/SKILL.md +195 -0
  115. package/skills/domains/biomedical/ncbi-datasets-api/SKILL.md +220 -0
  116. package/skills/domains/biomedical/quickgo-api/SKILL.md +181 -0
  117. package/skills/domains/business/xpert-bi-guide/SKILL.md +84 -0
  118. package/skills/domains/chemistry/cactus-cheminformatics-guide/SKILL.md +89 -0
  119. package/skills/domains/chemistry/chemeagle-guide/SKILL.md +147 -0
  120. package/skills/domains/chemistry/chemgraph-agent-guide/SKILL.md +120 -0
  121. package/skills/domains/cs/ai-security-papers-guide/SKILL.md +103 -0
  122. package/skills/domains/cs/code-llm-papers-guide/SKILL.md +131 -0
  123. package/skills/domains/cs/gaussian-splatting-papers-guide/SKILL.md +158 -0
  124. package/skills/domains/cs/llm-aiops-guide/SKILL.md +70 -0
  125. package/skills/domains/cs/software-heritage-api/SKILL.md +200 -0
  126. package/skills/domains/economics/nber-working-papers-api/SKILL.md +177 -0
  127. package/skills/domains/economics/repec-economics-api/SKILL.md +188 -0
  128. package/skills/domains/education/academic-study-methods/SKILL.md +228 -0
  129. package/skills/domains/education/edumcp-guide/SKILL.md +74 -0
  130. package/skills/domains/education/open-syllabus-api/SKILL.md +171 -0
  131. package/skills/domains/finance/akshare-finance-data/SKILL.md +207 -0
  132. package/skills/domains/finance/finsight-research-guide/SKILL.md +113 -0
  133. package/skills/domains/finance/options-analytics-agent-guide/SKILL.md +117 -0
  134. package/skills/domains/geoscience/pangaea-data-api/SKILL.md +197 -0
  135. package/skills/domains/humanities/digital-humanities-methods/SKILL.md +232 -0
  136. package/skills/domains/law/caselaw-access-api/SKILL.md +149 -0
  137. package/skills/domains/law/legal-agent-skills-guide/SKILL.md +132 -0
  138. package/skills/domains/law/legal-research-methods/SKILL.md +190 -0
  139. package/skills/domains/law/opencontracts-guide/SKILL.md +168 -0
  140. package/skills/domains/math/lean-theorem-proving-guide/SKILL.md +140 -0
  141. package/skills/domains/pharma/madd-drug-discovery-guide/SKILL.md +153 -0
  142. package/skills/domains/social-science/ipums-microdata-api/SKILL.md +211 -0
  143. package/skills/domains/social-science/sociology-research-methods/SKILL.md +181 -0
  144. package/skills/literature/discovery/arxiv-paper-monitoring/SKILL.md +233 -0
  145. package/skills/literature/discovery/papers-we-love-guide/SKILL.md +169 -0
  146. package/skills/literature/discovery/zotero-arxiv-daily-guide/SKILL.md +2 -2
  147. package/skills/literature/fulltext/bioc-pmc-api/SKILL.md +146 -0
  148. package/skills/literature/fulltext/dataverse-api/SKILL.md +215 -0
  149. package/skills/literature/fulltext/hal-archive-api/SKILL.md +218 -0
  150. package/skills/literature/fulltext/osf-api/SKILL.md +212 -0
  151. package/skills/literature/fulltext/pmc-ftp-bulk-download/SKILL.md +182 -0
  152. package/skills/literature/fulltext/zotero-ai-butler-guide/SKILL.md +166 -0
  153. package/skills/literature/fulltext/zotero-scihub-guide/SKILL.md +168 -0
  154. package/skills/literature/metadata/bibliometrix-guide/SKILL.md +164 -0
  155. package/skills/literature/metadata/crossref-event-data-api/SKILL.md +183 -0
  156. package/skills/literature/metadata/doi-content-negotiation/SKILL.md +202 -0
  157. package/skills/literature/metadata/orkg-api/SKILL.md +153 -0
  158. package/skills/literature/metadata/plumx-metrics-api/SKILL.md +188 -0
  159. package/skills/literature/metadata/ror-organization-api/SKILL.md +208 -0
  160. package/skills/literature/metadata/sophosia-reference-guide/SKILL.md +110 -0
  161. package/skills/literature/metadata/viaf-authority-api/SKILL.md +209 -0
  162. package/skills/literature/metadata/zoplicate-dedup-guide/SKILL.md +147 -0
  163. package/skills/literature/metadata/zotero-actions-tags-guide/SKILL.md +212 -0
  164. package/skills/literature/metadata/zotmoov-guide/SKILL.md +120 -0
  165. package/skills/literature/metadata/zutilo-guide/SKILL.md +140 -0
  166. package/skills/literature/search/arxiv-cli-tools/SKILL.md +172 -0
  167. package/skills/literature/search/arxiv-osiris/SKILL.md +199 -0
  168. package/skills/literature/search/base-academic-search/SKILL.md +196 -0
  169. package/skills/literature/search/chatpaper-guide/SKILL.md +2 -2
  170. package/skills/literature/search/citeseerx-api/SKILL.md +183 -0
  171. package/skills/literature/search/deepgit-search-guide/SKILL.md +2 -2
  172. package/skills/literature/search/eric-education-api/SKILL.md +199 -0
  173. package/skills/literature/search/findpapers-guide/SKILL.md +177 -0
  174. package/skills/literature/search/ieee-xplore-api/SKILL.md +177 -0
  175. package/skills/literature/search/lens-scholarly-api/SKILL.md +211 -0
  176. package/skills/literature/search/multi-database-literature-search/SKILL.md +198 -0
  177. package/skills/literature/search/open-library-api/SKILL.md +196 -0
  178. package/skills/literature/search/open-semantic-search-guide/SKILL.md +190 -0
  179. package/skills/literature/search/openaire-api/SKILL.md +141 -0
  180. package/skills/literature/search/paper-search-mcp-guide/SKILL.md +107 -0
  181. package/skills/literature/search/papers-chat-guide/SKILL.md +194 -0
  182. package/skills/literature/search/pasa-paper-search-guide/SKILL.md +2 -2
  183. package/skills/literature/search/plos-open-access-api/SKILL.md +203 -0
  184. package/skills/literature/search/scielo-api/SKILL.md +182 -0
  185. package/skills/literature/search/share-research-api/SKILL.md +129 -0
  186. package/skills/literature/search/worldcat-search-api/SKILL.md +224 -0
  187. package/skills/research/automation/aim-experiment-guide/SKILL.md +2 -2
  188. package/skills/research/automation/claude-academic-workflow-guide/SKILL.md +202 -0
  189. package/skills/research/automation/coexist-ai-guide/SKILL.md +149 -0
  190. package/skills/research/automation/datagen-research-guide/SKILL.md +2 -2
  191. package/skills/research/automation/foam-agent-guide/SKILL.md +203 -0
  192. package/skills/research/automation/kedro-pipeline-guide/SKILL.md +2 -2
  193. package/skills/research/automation/mle-agent-guide/SKILL.md +2 -2
  194. package/skills/research/automation/paper-to-agent-guide/SKILL.md +2 -2
  195. package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +2 -2
  196. package/skills/research/deep-research/cognitive-kernel-guide/SKILL.md +200 -0
  197. package/skills/research/deep-research/corvus-research-guide/SKILL.md +132 -0
  198. package/skills/research/deep-research/in-depth-research-guide/SKILL.md +205 -0
  199. package/skills/research/deep-research/kosmos-scientist-guide/SKILL.md +185 -0
  200. package/skills/research/deep-research/llm-scientific-discovery-guide/SKILL.md +178 -0
  201. package/skills/research/deep-research/open-researcher-guide/SKILL.md +138 -0
  202. package/skills/research/methodology/claude-scientific-guide/SKILL.md +2 -2
  203. package/skills/research/methodology/parsifal-slr-guide/SKILL.md +154 -0
  204. package/skills/research/methodology/research-pipeline-units-guide/SKILL.md +169 -0
  205. package/skills/research/methodology/slr-automation-guide/SKILL.md +235 -0
  206. package/skills/research/paper-review/latte-review-guide/SKILL.md +175 -0
  207. package/skills/research/paper-review/paper-critique-framework/SKILL.md +181 -0
  208. package/skills/tools/code-exec/contextplus-mcp-guide/SKILL.md +110 -0
  209. package/skills/tools/diagram/clawphd-guide/SKILL.md +149 -0
  210. package/skills/tools/diagram/kroki-diagram-api/SKILL.md +198 -0
  211. package/skills/tools/diagram/scientific-graphical-abstract/SKILL.md +201 -0
  212. package/skills/tools/document/docsgpt-guide/SKILL.md +2 -2
  213. package/skills/tools/document/md2pdf-xelatex/SKILL.md +212 -0
  214. package/skills/tools/document/openpaper-guide/SKILL.md +232 -0
  215. package/skills/tools/document/weknora-guide/SKILL.md +216 -0
  216. package/skills/tools/document/zotero-addon-market-guide/SKILL.md +108 -0
  217. package/skills/tools/document/zotero-night-theme-guide/SKILL.md +142 -0
  218. package/skills/tools/document/zotero-style-guide/SKILL.md +217 -0
  219. package/skills/tools/knowledge-graph/graphiti-guide/SKILL.md +2 -2
  220. package/skills/tools/knowledge-graph/mimir-memory-guide/SKILL.md +135 -0
  221. package/skills/tools/knowledge-graph/notero-zotero-notion-guide/SKILL.md +187 -0
  222. package/skills/tools/knowledge-graph/open-webui-tools-guide/SKILL.md +156 -0
  223. package/skills/tools/knowledge-graph/openspg-guide/SKILL.md +210 -0
  224. package/skills/tools/knowledge-graph/paperpile-notion-guide/SKILL.md +84 -0
  225. package/skills/tools/knowledge-graph/zotero-markdb-connect-guide/SKILL.md +162 -0
  226. package/skills/tools/ocr-translate/latex-translation-guide/SKILL.md +176 -0
  227. package/skills/tools/ocr-translate/math-equation-renderer/SKILL.md +198 -0
  228. package/skills/tools/ocr-translate/pdf-math-translate-guide/SKILL.md +2 -2
  229. package/skills/tools/ocr-translate/zotero-pdf-translate-guide/SKILL.md +2 -2
  230. package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +2 -2
  231. package/skills/writing/citation/academic-citation-manager-guide/SKILL.md +182 -0
  232. package/skills/writing/citation/citation-assistant-skill/SKILL.md +192 -0
  233. package/skills/writing/citation/jabref-reference-guide/SKILL.md +2 -2
  234. package/skills/writing/citation/jasminum-zotero-guide/SKILL.md +2 -2
  235. package/skills/writing/citation/mendeley-api/SKILL.md +231 -0
  236. package/skills/writing/citation/obsidian-citation-guide/SKILL.md +2 -2
  237. package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +2 -2
  238. package/skills/writing/citation/onecite-reference-guide/SKILL.md +168 -0
  239. package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +2 -2
  240. package/skills/writing/citation/papis-cli-guide/SKILL.md +2 -2
  241. package/skills/writing/citation/zotero-better-bibtex-guide/SKILL.md +2 -2
  242. package/skills/writing/citation/zotero-better-notes-guide/SKILL.md +2 -2
  243. package/skills/writing/citation/zotero-gpt-guide/SKILL.md +2 -2
  244. package/skills/writing/citation/zotero-mcp-guide/SKILL.md +2 -2
  245. package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +2 -2
  246. package/skills/writing/citation/zotero-reference-guide/SKILL.md +2 -2
  247. package/skills/writing/citation/zotfile-attachment-guide/SKILL.md +2 -2
  248. package/skills/writing/composition/opendraft-thesis-guide/SKILL.md +200 -0
  249. package/skills/writing/composition/paper-debugger-guide/SKILL.md +2 -2
  250. package/skills/writing/composition/paperforge-guide/SKILL.md +205 -0
  251. package/skills/writing/composition/research-paper-writer/SKILL.md +226 -0
  252. package/skills/writing/composition/scientific-writing-resources/SKILL.md +2 -2
  253. package/skills/writing/latex/academic-writing-latex/SKILL.md +285 -0
  254. package/skills/writing/latex/latex-drawing-collection/SKILL.md +2 -2
  255. package/skills/writing/latex/latex-templates-collection/SKILL.md +2 -2
  256. package/skills/writing/polish/chinese-text-humanizer/SKILL.md +140 -0
  257. package/skills/writing/templates/arxiv-preprint-template/SKILL.md +184 -0
  258. package/skills/writing/templates/elegant-paper-template/SKILL.md +141 -0
  259. package/skills/writing/templates/novathesis-guide/SKILL.md +2 -2
  260. package/skills/writing/templates/sjtuthesis-guide/SKILL.md +2 -2
  261. package/skills/writing/templates/thuthesis-guide/SKILL.md +2 -2
  262. package/src/tools/arxiv.ts +17 -10
  263. package/src/tools/crossref.ts +17 -10
  264. package/src/tools/openalex.ts +25 -17
  265. package/src/tools/pubmed.ts +19 -12
  266. package/src/tools/semantic-scholar.ts +20 -12
  267. package/src/tools/unpaywall.ts +12 -6
@@ -0,0 +1,194 @@
1
+ ---
2
+ name: papers-chat-guide
3
+ description: "Conversational interface for querying and discussing papers"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "💬"
7
+ category: "literature"
8
+ subcategory: "search"
9
+ keywords: ["paper chat", "conversational search", "paper QA", "document QA", "RAG papers", "literature chat"]
10
+ source: "https://github.com/paperswithcode/galai"
11
+ ---
12
+
13
+ # Papers Chat Guide
14
+
15
+ ## Overview
16
+
17
+ Papers Chat systems provide conversational interfaces for querying, discussing, and understanding academic papers. Instead of keyword searches, researchers ask natural language questions and get answers grounded in specific papers with citations. This guide covers building and using RAG-based paper chat systems — from local document Q&A to multi-paper discussion interfaces. Useful for literature comprehension, paper comparison, and research exploration.
18
+
19
+ ## Architecture
20
+
21
+ ```
22
+ User Question
23
+
24
+ Query Understanding (expand, decompose)
25
+
26
+ Retrieval (vector search over paper chunks)
27
+
28
+ Re-ranking (cross-encoder relevance scoring)
29
+
30
+ Answer Generation (grounded in retrieved passages)
31
+
32
+ Response + Citations + Follow-up Suggestions
33
+ ```
34
+
35
+ ## Local Paper Chat
36
+
37
+ ```python
38
+ from papers_chat import PaperChat
39
+
40
+ chat = PaperChat(
41
+ llm_provider="anthropic",
42
+ embedding_model="all-MiniLM-L6-v2",
43
+ )
44
+
45
+ # Index papers
46
+ chat.add_papers([
47
+ "papers/attention_is_all_you_need.pdf",
48
+ "papers/bert.pdf",
49
+ "papers/gpt3.pdf",
50
+ ])
51
+
52
+ # Ask questions
53
+ response = chat.ask(
54
+ "How does the attention mechanism in Transformers differ "
55
+ "from the attention used in earlier seq2seq models?"
56
+ )
57
+
58
+ print(response.answer)
59
+ for cite in response.citations:
60
+ print(f" [{cite.paper}] p.{cite.page}: {cite.excerpt[:80]}...")
61
+ ```
62
+
63
+ ## Multi-Paper Discussion
64
+
65
+ ```python
66
+ # Compare across papers
67
+ response = chat.ask(
68
+ "Compare the pre-training objectives of BERT and GPT-3. "
69
+ "What are the trade-offs?"
70
+ )
71
+
72
+ # Follow-up in conversation
73
+ response = chat.follow_up(
74
+ "Which approach works better for few-shot learning?"
75
+ )
76
+
77
+ # Paper-specific questions
78
+ response = chat.ask(
79
+ "What is the computational complexity of multi-head attention?",
80
+ scope=["attention_is_all_you_need.pdf"],
81
+ )
82
+ ```
83
+
84
+ ## Building a Paper Index
85
+
86
+ ```python
87
+ from papers_chat import PaperIndex
88
+
89
+ index = PaperIndex(
90
+ embedding_model="all-MiniLM-L6-v2",
91
+ chunk_size=512,
92
+ chunk_overlap=64,
93
+ storage_path="./paper_index",
94
+ )
95
+
96
+ # Add individual paper
97
+ index.add_paper(
98
+ path="paper.pdf",
99
+ metadata={
100
+ "title": "Attention Is All You Need",
101
+ "authors": ["Vaswani et al."],
102
+ "year": 2017,
103
+ "venue": "NeurIPS",
104
+ },
105
+ )
106
+
107
+ # Add directory of papers
108
+ index.add_directory(
109
+ "papers/",
110
+ extract_metadata=True, # Auto-extract from PDF
111
+ )
112
+
113
+ # Search
114
+ results = index.search("positional encoding", top_k=5)
115
+ for r in results:
116
+ print(f"[{r.paper_title}] (score: {r.score:.3f})")
117
+ print(f" {r.text[:120]}...")
118
+ ```
119
+
120
+ ## RAG Pipeline Configuration
121
+
122
+ ```python
123
+ from papers_chat import RAGConfig
124
+
125
+ chat = PaperChat(
126
+ llm_provider="anthropic",
127
+ rag_config=RAGConfig(
128
+ # Retrieval
129
+ retrieval_top_k=20,
130
+ rerank_top_k=5,
131
+ reranker="cross-encoder/ms-marco-MiniLM-L-6-v2",
132
+
133
+ # Chunking
134
+ chunk_size=512,
135
+ chunk_overlap=64,
136
+ chunk_by="paragraph", # paragraph, sentence, fixed
137
+
138
+ # Generation
139
+ citation_style="inline", # inline, footnote, endnote
140
+ max_answer_length=500,
141
+ include_quotes=True,
142
+ ),
143
+ )
144
+ ```
145
+
146
+ ## Batch Question Answering
147
+
148
+ ```python
149
+ # Process a list of research questions
150
+ questions = [
151
+ "What datasets are used for evaluating language models?",
152
+ "How is perplexity calculated and what are its limitations?",
153
+ "What are the main approaches to reducing model size?",
154
+ ]
155
+
156
+ results = chat.batch_ask(questions)
157
+
158
+ for q, r in zip(questions, results):
159
+ print(f"Q: {q}")
160
+ print(f"A: {r.answer[:200]}...")
161
+ print(f"Sources: {[c.paper for c in r.citations]}")
162
+ print()
163
+ ```
164
+
165
+ ## Table and Figure Extraction
166
+
167
+ ```python
168
+ # Query specific paper elements
169
+ response = chat.ask(
170
+ "What are the BLEU scores reported in Table 2?",
171
+ scope=["attention_is_all_you_need.pdf"],
172
+ include_tables=True,
173
+ )
174
+
175
+ # Extract all tables from a paper
176
+ tables = chat.extract_tables("paper.pdf")
177
+ for table in tables:
178
+ print(f"Table {table.number}: {table.caption}")
179
+ print(table.to_dataframe())
180
+ ```
181
+
182
+ ## Use Cases
183
+
184
+ 1. **Literature comprehension**: Ask clarifying questions about papers
185
+ 2. **Paper comparison**: Cross-paper analysis and synthesis
186
+ 3. **Research exploration**: Discover connections across literature
187
+ 4. **Study groups**: Collaborative paper discussion
188
+ 5. **Quick reference**: Find specific results, methods, or citations
189
+
190
+ ## References
191
+
192
+ - [Galactica](https://github.com/paperswithcode/galai) — Language model for science
193
+ - [LangChain RAG](https://python.langchain.com/docs/use_cases/question_answering/)
194
+ - [LlamaIndex](https://www.llamaindex.ai/) — Data framework for LLM applications
@@ -6,8 +6,8 @@ author: wentor-community
6
6
  source: https://github.com/pasa-agent/pasa
7
7
  metadata:
8
8
  openclaw:
9
- category: literature
10
- subcategory: search
9
+ category: "literature"
10
+ subcategory: "search"
11
11
  keywords:
12
12
  - paper-search
13
13
  - literature-discovery
@@ -0,0 +1,203 @@
1
+ ---
2
+ name: plos-open-access-api
3
+ description: "Search PLOS open access journals with full-text Solr-powered API"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🔬"
7
+ category: "literature"
8
+ subcategory: "search"
9
+ keywords: ["PLOS", "open access", "biomedical", "Solr search", "full text", "peer reviewed"]
10
+ source: "https://api.plos.org/"
11
+ ---
12
+
13
+ # PLOS Search API
14
+
15
+ ## Overview
16
+
17
+ PLOS (Public Library of Science) publishes 7 peer-reviewed open access journals covering biology, medicine, genetics, and more. The Search API provides Solr-powered full-text search across all PLOS content — 350K+ articles, all freely available under CC-BY licenses. No authentication required. Particularly valuable for biomedical and life sciences systematic reviews.
18
+
19
+ ## API Endpoint
20
+
21
+ ### Base URL
22
+
23
+ ```
24
+ https://api.plos.org/search
25
+ ```
26
+
27
+ ### Search Examples
28
+
29
+ ```bash
30
+ # Basic keyword search
31
+ curl "https://api.plos.org/search?q=CRISPR+gene+editing&rows=20&wt=json"
32
+
33
+ # Search in specific fields
34
+ curl "https://api.plos.org/search?q=title:\"machine learning\"+AND+abstract:biomarker&wt=json"
35
+
36
+ # Filter by journal
37
+ curl "https://api.plos.org/search?q=microbiome&fq=journal:\"PLOS ONE\"&wt=json"
38
+
39
+ # Filter by date range
40
+ curl "https://api.plos.org/search?q=COVID-19+vaccine&\
41
+ fq=publication_date:[2024-01-01T00:00:00Z TO 2026-12-31T23:59:59Z]&wt=json"
42
+
43
+ # Filter by article type
44
+ curl "https://api.plos.org/search?q=climate+change&fq=article_type:\"Research Article\"&wt=json"
45
+
46
+ # Return specific fields only
47
+ curl "https://api.plos.org/search?q=deep+learning&fl=id,title,author,publication_date,score&wt=json"
48
+ ```
49
+
50
+ ### Search Fields
51
+
52
+ | Field | Description | Example |
53
+ |-------|-------------|---------|
54
+ | `title` | Article title | `title:"attention mechanism"` |
55
+ | `abstract` | Abstract text | `abstract:neural+network` |
56
+ | `body` | Full text body | `body:transformer` |
57
+ | `author` | Author name | `author:"Vaswani"` |
58
+ | `subject` | Subject area | `subject:"Neuroscience"` |
59
+ | `journal` | Journal name | `journal:"PLOS Medicine"` |
60
+
61
+ ### Query Parameters
62
+
63
+ | Parameter | Description | Default |
64
+ |-----------|-------------|---------|
65
+ | `q` | Solr query (supports AND/OR/NOT) | Required |
66
+ | `fq` | Filter query (narrows without affecting score) | None |
67
+ | `fl` | Fields to return (comma-separated) | All |
68
+ | `rows` | Results per page (max 999) | 10 |
69
+ | `start` | Pagination offset | 0 |
70
+ | `sort` | Sort order | `score desc` |
71
+ | `wt` | Format: `json` or `xml` | `xml` |
72
+ | `hl` | Enable highlighting | `false` |
73
+
74
+ ### Available Return Fields
75
+
76
+ | Field | Type | Description |
77
+ |-------|------|-------------|
78
+ | `id` | string | DOI |
79
+ | `title` | string | Article title |
80
+ | `author` | array | Author names |
81
+ | `abstract` | string | Abstract text |
82
+ | `body` | string | Full text (large) |
83
+ | `publication_date` | date | Publication date |
84
+ | `journal` | string | Journal name |
85
+ | `article_type` | string | Article type |
86
+ | `subject` | array | Subject categories |
87
+ | `score` | float | Relevance score |
88
+
89
+ ### PLOS Journals
90
+
91
+ | Journal | Scope |
92
+ |---------|-------|
93
+ | PLOS ONE | Multidisciplinary |
94
+ | PLOS Biology | Life sciences |
95
+ | PLOS Medicine | Clinical medicine |
96
+ | PLOS Genetics | Genetics and genomics |
97
+ | PLOS Computational Biology | Computational biology |
98
+ | PLOS Pathogens | Infectious disease |
99
+ | PLOS Neglected Tropical Diseases | Tropical medicine |
100
+
101
+ ## Python Usage
102
+
103
+ ```python
104
+ import requests
105
+
106
+ BASE_URL = "https://api.plos.org/search"
107
+
108
+
109
+ def search_plos(query: str, rows: int = 20,
110
+ journal: str = None,
111
+ from_date: str = None,
112
+ fields: str = None) -> list:
113
+ """Search PLOS open access articles."""
114
+ params = {
115
+ "q": query,
116
+ "wt": "json",
117
+ "rows": rows,
118
+ "fl": fields or "id,title,author,abstract,publication_date,journal,score",
119
+ }
120
+
121
+ fq_parts = []
122
+ if journal:
123
+ fq_parts.append(f'journal:"{journal}"')
124
+ if from_date:
125
+ fq_parts.append(
126
+ f"publication_date:[{from_date}T00:00:00Z TO NOW]"
127
+ )
128
+ if fq_parts:
129
+ params["fq"] = " AND ".join(fq_parts)
130
+
131
+ resp = requests.get(BASE_URL, params=params)
132
+ resp.raise_for_status()
133
+ data = resp.json()
134
+
135
+ results = []
136
+ for doc in data.get("response", {}).get("docs", []):
137
+ results.append({
138
+ "doi": doc.get("id"),
139
+ "title": doc.get("title"),
140
+ "authors": doc.get("author", []),
141
+ "date": doc.get("publication_date", "")[:10],
142
+ "journal": doc.get("journal"),
143
+ "abstract": (doc.get("abstract", [""])[0])[:300]
144
+ if isinstance(doc.get("abstract"), list)
145
+ else (doc.get("abstract", ""))[:300],
146
+ })
147
+ return results
148
+
149
+
150
+ def get_full_text(doi: str) -> str:
151
+ """Retrieve full text body of a PLOS article."""
152
+ params = {
153
+ "q": f'id:"{doi}"',
154
+ "fl": "body",
155
+ "wt": "json",
156
+ }
157
+ resp = requests.get(BASE_URL, params=params)
158
+ resp.raise_for_status()
159
+ docs = resp.json().get("response", {}).get("docs", [])
160
+ return docs[0].get("body", "") if docs else ""
161
+
162
+
163
+ # Example: search PLOS Computational Biology
164
+ papers = search_plos(
165
+ "protein structure prediction",
166
+ journal="PLOS Computational Biology",
167
+ from_date="2024-01-01",
168
+ )
169
+ for p in papers:
170
+ print(f"[{p['date']}] {p['title']}")
171
+ print(f" DOI: {p['doi']}")
172
+
173
+ # Example: full-text search across all PLOS
174
+ papers = search_plos("body:reinforcement+learning AND title:robot")
175
+ for p in papers:
176
+ print(f"{p['title']} — {p['journal']}")
177
+ ```
178
+
179
+ ## Advanced Solr Queries
180
+
181
+ ```bash
182
+ # Phrase proximity search (words within 5 of each other)
183
+ q=abstract:"machine learning"~5
184
+
185
+ # Boosted field search
186
+ q=title:"CRISPR"^2 OR abstract:"CRISPR"
187
+
188
+ # Wildcard search
189
+ q=title:neuro*
190
+
191
+ # Range query on dates
192
+ fq=publication_date:[2024-01-01T00:00:00Z TO 2024-12-31T23:59:59Z]
193
+ ```
194
+
195
+ ## Rate Limits
196
+
197
+ No formal rate limit, but PLOS requests courtesy delays of 1 request per second for bulk operations. No authentication needed.
198
+
199
+ ## References
200
+
201
+ - [PLOS API Documentation](https://api.plos.org/)
202
+ - [PLOS Search Tips](https://journals.plos.org/plosone/s/search)
203
+ - [Solr Query Syntax](https://solr.apache.org/guide/solr/latest/query-guide/standard-query-parser.html)
@@ -0,0 +1,182 @@
1
+ ---
2
+ name: scielo-api
3
+ description: "Access Latin American and developing world research via SciELO API"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🌎"
7
+ category: "literature"
8
+ subcategory: "search"
9
+ keywords: ["SciELO", "Latin America", "open access journals", "developing countries", "Brazilian research", "Spanish research"]
10
+ source: "https://wiki.scielo.org/"
11
+ ---
12
+
13
+ # SciELO API
14
+
15
+ ## Overview
16
+
17
+ SciELO (Scientific Electronic Library Online) is the primary open access platform for scholarly journals in Latin America, the Caribbean, Spain, Portugal, and South Africa. It indexes 1,800+ peer-reviewed journals and 900K+ articles, many not indexed elsewhere. All content is open access. The API provides article search, journal metadata, and bibliometric indicators. Free, no authentication required.
18
+
19
+ ## API Endpoints
20
+
21
+ ### ArticleMeta API
22
+
23
+ Search and retrieve articles:
24
+
25
+ ```bash
26
+ # Search articles by keyword
27
+ curl "https://articlemeta.scielo.org/api/v1/article/?collection=scl&q=machine+learning"
28
+
29
+ # Get article by PID (SciELO identifier)
30
+ curl "https://articlemeta.scielo.org/api/v1/article/?code=S0100-204X2024000100001"
31
+
32
+ # Filter by collection (country)
33
+ curl "https://articlemeta.scielo.org/api/v1/article/?collection=esp&q=climate+change"
34
+
35
+ # Filter by journal ISSN
36
+ curl "https://articlemeta.scielo.org/api/v1/article/?issn=0100-204X&from_date=2024-01-01"
37
+ ```
38
+
39
+ ### Collection Codes
40
+
41
+ | Code | Country/Region |
42
+ |------|---------------|
43
+ | `scl` | Brazil |
44
+ | `esp` | Spain |
45
+ | `mex` | Mexico |
46
+ | `col` | Colombia |
47
+ | `chl` | Chile |
48
+ | `arg` | Argentina |
49
+ | `cub` | Cuba |
50
+ | `ven` | Venezuela |
51
+ | `prt` | Portugal |
52
+ | `zaf` | South Africa |
53
+
54
+ ### Journal Metadata
55
+
56
+ ```bash
57
+ # List journals in a collection
58
+ curl "https://articlemeta.scielo.org/api/v1/journal/?collection=scl"
59
+
60
+ # Get journal by ISSN
61
+ curl "https://articlemeta.scielo.org/api/v1/journal/?issn=0100-204X"
62
+
63
+ # Journal indicators
64
+ curl "https://analytics.scielo.org/api/v1/journal/?issn=0100-204X"
65
+ ```
66
+
67
+ ### SciELO Search API
68
+
69
+ Full-text search with facets:
70
+
71
+ ```bash
72
+ # Full-text search
73
+ curl "https://search.scielo.org/?q=biodiversity+conservation&format=json&count=20"
74
+
75
+ # Filter by subject area
76
+ curl "https://search.scielo.org/?q=neural+networks&filter[subject_area]=Computer+Science&format=json"
77
+
78
+ # Filter by year range
79
+ curl "https://search.scielo.org/?q=CRISPR&filter[year_cluster]=2023-2026&format=json"
80
+
81
+ # Filter by language
82
+ curl "https://search.scielo.org/?q=epidemiology&filter[la]=en&format=json"
83
+ ```
84
+
85
+ ### Query Parameters
86
+
87
+ | Parameter | Description | Example |
88
+ |-----------|-------------|---------|
89
+ | `q` | Free-text query | `q=tropical+ecology` |
90
+ | `collection` | Country code | `collection=scl` |
91
+ | `issn` | Journal ISSN | `issn=0100-204X` |
92
+ | `from_date` | Articles from date | `from_date=2024-01-01` |
93
+ | `until_date` | Articles until date | `until_date=2026-12-31` |
94
+ | `format` | Response format | `json`, `xml` |
95
+ | `count` | Results per page | `count=50` |
96
+ | `offset` | Pagination offset | `offset=20` |
97
+
98
+ ## Python Usage
99
+
100
+ ```python
101
+ import requests
102
+
103
+ ARTICLE_API = "https://articlemeta.scielo.org/api/v1"
104
+ SEARCH_API = "https://search.scielo.org"
105
+
106
+
107
+ def search_scielo(query: str, collection: str = None,
108
+ count: int = 20) -> list:
109
+ """Search SciELO articles."""
110
+ params = {"q": query, "format": "json", "count": count}
111
+ if collection:
112
+ params["collection"] = collection
113
+
114
+ resp = requests.get(f"{SEARCH_API}/", params=params)
115
+ resp.raise_for_status()
116
+ data = resp.json()
117
+
118
+ results = []
119
+ for doc in data.get("docs", data.get("results", [])):
120
+ results.append({
121
+ "title": doc.get("title", {}).get("en", doc.get("title", "")),
122
+ "authors": doc.get("authors", []),
123
+ "journal": doc.get("journal_title", ""),
124
+ "year": doc.get("publication_year", ""),
125
+ "doi": doc.get("doi", ""),
126
+ "pid": doc.get("pid", ""),
127
+ "language": doc.get("la", []),
128
+ "url": f"https://scielo.org/article/{doc.get('pid', '')}",
129
+ })
130
+ return results
131
+
132
+
133
+ def get_article(pid: str) -> dict:
134
+ """Get full article metadata by SciELO PID."""
135
+ resp = requests.get(
136
+ f"{ARTICLE_API}/article/",
137
+ params={"code": pid, "format": "json"},
138
+ )
139
+ resp.raise_for_status()
140
+ return resp.json()
141
+
142
+
143
+ def list_journals(collection: str = "scl") -> list:
144
+ """List journals in a SciELO collection."""
145
+ resp = requests.get(
146
+ f"{ARTICLE_API}/journal/",
147
+ params={"collection": collection, "format": "json"},
148
+ )
149
+ resp.raise_for_status()
150
+ return resp.json()
151
+
152
+
153
+ # Example: find Brazilian ecology research
154
+ papers = search_scielo("Amazon deforestation biodiversity", collection="scl")
155
+ for p in papers:
156
+ print(f"[{p['year']}] {p['title']} — {p['journal']}")
157
+
158
+ # Example: find Spanish medical research
159
+ papers = search_scielo("diabetes treatment", collection="esp")
160
+ for p in papers:
161
+ print(f"{p['title']} (DOI: {p['doi']})")
162
+ ```
163
+
164
+ ## Subject Areas Covered
165
+
166
+ - Agricultural Sciences, Biological Sciences, Health Sciences
167
+ - Engineering, Exact Sciences, Earth Sciences
168
+ - Human Sciences, Social Sciences, Linguistics/Arts
169
+
170
+ ## Unique Value
171
+
172
+ - **Regional focus**: Primary index for Latin American and Iberian research
173
+ - **Language diversity**: Portuguese, Spanish, English content
174
+ - **100% open access**: All indexed content freely available
175
+ - **Underrepresented research**: Many journals not in Scopus/WoS
176
+
177
+ ## References
178
+
179
+ - [SciELO](https://scielo.org/)
180
+ - [SciELO Analytics](https://analytics.scielo.org/)
181
+ - [ArticleMeta API](https://articlemeta.scielo.org/)
182
+ - [SciELO Developer Wiki](https://wiki.scielo.org/)