@luffysolution/omnischolar-pi 0.1.1 → 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.
package/LICENSE CHANGED
@@ -1,9 +1,9 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 OmniScholar contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
-
7
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
-
9
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 OmniScholar contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/PRIVACY.md CHANGED
@@ -1,24 +1,24 @@
1
- # Privacy notice
2
-
3
- OmniScholar is open-source software that runs on the user's computer. The maintainers do not operate an OmniScholar service for version 0.1.0.
4
-
5
- ## Local data
6
-
7
- Configuration, cache, output files, and Zotero Local API results remain on the local machine unless a selected tool calls an external service. Zotero access uses GET requests to the local API only.
8
-
9
- ## Data sent to other services
10
-
11
- - Literature and materials tools send search terms, identifiers, and selected filters to the chosen data source.
12
- - Ai4Scholar receives the request needed for the selected Ai4Scholar operation.
13
- - MinerU receives a PDF only after the user approves that file upload.
14
- - Image services receive the prompt and any reference images approved for upload.
15
-
16
- Each provider has its own privacy, retention, training, region, and account policies. Review those policies before enabling the provider.
17
-
18
- ## Credentials
19
-
20
- Environment variables are recommended for API keys. OmniScholar removes known secrets from tool results, status, errors, and logs, and does not write provider keys into Agent MCP files. Users are still responsible for protecting configuration files and shell history.
21
-
22
- Privacy and security questions: `LuffySolution@gmail.com`.
23
-
24
- This notice describes the software's behavior. A marketplace may require additional legal terms before publication.
1
+ # Privacy notice
2
+
3
+ OmniScholar is open-source software that runs on the user's computer. The maintainers do not operate an OmniScholar service for version 0.1.2.
4
+
5
+ ## Local data
6
+
7
+ Configuration, cache, output files, and Zotero Local API results remain on the local machine unless a selected tool calls an external service. Zotero access uses GET requests to the local API only.
8
+
9
+ ## Data sent to other services
10
+
11
+ - Literature and materials tools send search terms, identifiers, and selected filters to the chosen data source.
12
+ - Ai4Scholar receives the request needed for the selected Ai4Scholar operation.
13
+ - MinerU receives a PDF only after the user approves that file upload.
14
+ - Image services receive the prompt and any reference images approved for upload.
15
+
16
+ Each provider has its own privacy, retention, training, region, and account policies. Review those policies before enabling the provider.
17
+
18
+ ## Credentials
19
+
20
+ Environment variables are recommended for API keys. OmniScholar removes known secrets from tool results, status, errors, and logs, and does not write provider keys into Agent MCP files. Users are still responsible for protecting configuration files and shell history.
21
+
22
+ Privacy and security questions: `LuffySolution@gmail.com`.
23
+
24
+ This notice describes the software's behavior. A marketplace may require additional legal terms before publication.
package/README.md CHANGED
@@ -1,28 +1,28 @@
1
1
  # OmniScholar
2
2
 
3
3
  <!-- mcp-name: io.github.luffysolution-svg/omnischolar -->
4
-
5
- English | [简体中文](README.zh-CN.md)
6
-
7
- OmniScholar adds literature search, local Zotero reading, PDF parsing, citation tools, materials data, and scientific image generation to coding agents through a local Python MCP server.
8
-
9
- It can search public indexes, combine online records with your Zotero notes, send an approved PDF to MinerU, and publish Markdown into a regular folder or an Obsidian vault. Zotero access is read-only.
10
-
11
- ## Features
12
-
13
- - Search Semantic Scholar, OpenAlex, PubMed/PMC, arXiv, Crossref, Unpaywall, easyScholar, Google Scholar, and Google Patents
14
- - Retrieve paper details, authors, citations, references, recommendations, snippets, datasets, and journal metrics
15
- - Read Zotero collections, items, notes, annotations, attachments, indexed text, and local PDF paths without changing the library
16
- - Parse selected PDFs with MinerU and keep text, formulas, tables, and figures together
17
- - Find citation candidates, check bibliographic identity, and format accepted references
18
- - Query Materials Project and export JSON, CSV, Markdown, or CIF
19
- - Generate or edit scientific illustrations with configured image services
20
- - Preserve local Markdown edits and place incoming conflict versions in `.conflicts/`
21
-
22
- OmniScholar exposes 38 tools. See the [tool list](docs/TOOLS.en.md).
23
-
24
- ## Install
25
-
4
+
5
+ English | [简体中文](README.zh-CN.md)
6
+
7
+ OmniScholar adds literature search, local Zotero reading, PDF parsing, citation tools, materials data, and scientific image generation to coding agents through a local Python MCP server.
8
+
9
+ It can search public indexes, combine online records with your Zotero notes, send an approved PDF to MinerU, and publish Markdown into a regular folder or an Obsidian vault. Zotero access is read-only.
10
+
11
+ ## Features
12
+
13
+ - Search Semantic Scholar, OpenAlex, PubMed/PMC, arXiv, Crossref, Unpaywall, easyScholar, Google Scholar, and Google Patents
14
+ - Retrieve paper details, authors, citations, references, recommendations, snippets, datasets, and journal metrics
15
+ - Read Zotero collections, items, notes, annotations, attachments, indexed text, and local PDF paths without changing the library
16
+ - Parse selected PDFs with MinerU and keep text, formulas, tables, and figures together
17
+ - Find citation candidates, check bibliographic identity, and format accepted references
18
+ - Query Materials Project and export JSON, CSV, Markdown, or CIF
19
+ - Generate or edit scientific illustrations with configured image services
20
+ - Preserve local Markdown edits and place incoming conflict versions in `.conflicts/`
21
+
22
+ OmniScholar exposes 38 tools. See the [tool list](docs/TOOLS.en.md).
23
+
24
+ ## Install
25
+
26
26
  Python 3.11 or newer is required:
27
27
 
28
28
  ```sh
@@ -34,33 +34,72 @@ python -m pip install luffysolution-omnischolar
34
34
  ```
35
35
 
36
36
  For development from a source checkout, replace the package name with `.`.
37
-
38
- The distribution name is `luffysolution-omnischolar`; the command and Python package are `omnischolar`.
39
-
40
- Check the installation:
41
-
42
- ```sh
43
- omnischolar --version
44
- omnischolar doctor --json
45
- ```
46
-
47
- ## Connect an agent
48
-
49
- Preview the files that will change, then install the local MCP entry and Skills:
50
-
51
- ```sh
52
- omnischolar install --dry-run claude
53
- omnischolar install claude
54
- ```
55
-
37
+
38
+ The distribution name is `luffysolution-omnischolar`; the command and Python package are `omnischolar`.
39
+
40
+ Check the installation:
41
+
42
+ ```sh
43
+ omnischolar --version
44
+ omnischolar doctor --json
45
+ ```
46
+
47
+ ## Connect an agent
48
+
49
+ ### Codex app and Codex CLI plugin
50
+
51
+ Install [`uv`](https://docs.astral.sh/uv/getting-started/installation/) first, then add the OmniScholar Git marketplace and install the plugin:
52
+
53
+ ```sh
54
+ codex plugin marketplace add luffysolution-svg/omnischolar --ref main
55
+ codex plugin add omnischolar@omnischolar
56
+ ```
57
+
58
+ In the ChatGPT desktop app, restart the app, open **Plugins**, select the **OmniScholar** marketplace, and install or enable **OmniScholar**. In Codex CLI, run `/plugins` to browse the same marketplace.
59
+
60
+ The plugin bundles all eight Skills and starts its local MCP server with the pinned PyPI release:
61
+
62
+ ```sh
63
+ uvx --from luffysolution-omnischolar==0.1.2 omnischolar mcp
64
+ ```
65
+
66
+ No separate `pip install` is required for this plugin path. The first MCP start needs network access so `uvx` can download and cache the package. Provider credentials and optional service settings remain in your OmniScholar configuration; plugin installation does not collect them.
67
+
68
+ ### Claude Code plugin
69
+
70
+ Install [`uv`](https://docs.astral.sh/uv/getting-started/installation/) first. In Claude Code, add the GitHub marketplace and install the plugin:
71
+
72
+ ```text
73
+ /plugin marketplace add luffysolution-svg/omnischolar
74
+ /plugin install omnischolar@omnischolar
75
+ ```
76
+
77
+ For scripts or a regular terminal, use the non-interactive shell commands:
78
+
79
+ ```sh
80
+ claude plugin marketplace add luffysolution-svg/omnischolar
81
+ claude plugin install omnischolar@omnischolar --scope user
82
+ ```
83
+
84
+ Run `/reload-plugins` if the install summary asks for it, then start a new session. The plugin automatically starts the same pinned `uvx` MCP server and exposes namespaced Skills such as `/omnischolar:scholar-search`. No separate Python installation is required.
85
+
86
+ ### Host configuration installer
87
+
88
+ Preview the files that will change, then install the local MCP entry and Skills:
89
+
90
+ ```sh
91
+ omnischolar install --dry-run claude
92
+ omnischolar install claude
93
+ ```
94
+
56
95
  Replace `claude` with `codex`, `cursor`, `opencode`, `hermes`, `pi`, or `workbuddy`. Codex, Claude Code, Cursor, OpenCode, Pi, and WorkBuddy/CodeBuddy support both user and project scopes. Hermes supports user-level MCP configuration; project-level installation adds Skills and reports that MCP setup is manual.
57
-
58
- ```sh
59
- omnischolar install cursor --scope project
60
- omnischolar update cursor --scope project
61
- omnischolar uninstall cursor --scope project
62
- ```
63
-
96
+
97
+ ```sh
98
+ omnischolar install cursor --scope project
99
+ omnischolar update cursor --scope project
100
+ omnischolar uninstall cursor --scope project
101
+ ```
102
+
64
103
  For Pi, the full installer runs `pi install npm:@luffysolution/omnischolar-pi` and installs the bundled Skills separately. The npm Extension starts `omnischolar mcp`, discovers its tools, and registers them with Pi. You can also install the Extension directly:
65
104
 
66
105
  ```sh
@@ -68,86 +107,86 @@ pi install npm:@luffysolution/omnischolar-pi
68
107
  ```
69
108
 
70
109
  WorkBuddy/CodeBuddy uses `~/.codebuddy/.mcp.json` for user scope and `.mcp.json` for project scope. It does not publish a portable Skills path, so its installer configures MCP and reports Skills as `manual_required`.
71
-
72
- The MCP command is:
73
-
74
- ```sh
75
- omnischolar mcp
76
- ```
77
-
78
- Normally the agent starts this process from its MCP configuration. The installer checks `initialize`, `tools/list`, and `omnischolar_status` after writing a supported configuration.
79
-
80
- Full host and update instructions are in [Installation](docs/INSTALLATION.en.md).
81
-
82
- ## Try it
83
-
84
- ```text
85
- Find five recent reviews about solid-state battery interfaces. Deduplicate by DOI and show open-access copies.
86
-
87
- Find this DOI in my Zotero library and summarize my notes and annotations without changing Zotero.
88
-
89
- After I approve the upload, parse this PDF with MinerU and save a reading note in my Obsidian vault.
90
-
91
- Query stable Li-Fe-P-O materials in Materials Project and export the selected records as CSV and CIF.
92
-
93
- Create a labelled illustration of this mechanism. Treat it as a draft, not experimental data.
94
- ```
95
-
96
- ## Configuration
97
-
98
- Copy [`omnischolar.config.example.json`](omnischolar.config.example.json) to `omnischolar.config.json`. Keep API keys in environment variables and refer to their names with `apiKeyEnv`.
99
-
100
- A small local configuration can start with Zotero and the output directory:
101
-
102
- ```json
103
- {
104
- "schemaVersion": 1,
105
- "runtime": { "workspaceRoots": ["./research-inputs"] },
106
- "zotero": {
107
- "enabled": true,
108
- "baseUrl": "http://127.0.0.1:23119/api"
109
- },
110
- "output": { "rootDirectory": "./research-output" }
111
- }
112
- ```
113
-
114
- OpenAlex, PubMed, arXiv, and Crossref work without API keys. Other services are enabled separately. Configuration fields and provider examples are in [Configuration](docs/CONFIGURATION.en.md).
115
-
116
- ## Files, uploads, and charges
117
-
118
- - Zotero requests go only to the local API on port `23119` and use GET.
119
- - MinerU receives a PDF only when `allowExternalUpload` is enabled in the config and confirmed again in that tool call.
120
- - Image services receive prompts and any reference images selected for upload. Generation may use account credit.
121
- - Ai4Scholar calls may use account credit. A stored key does not by itself approve a paid call.
122
- - A failed paid request is not retried automatically when the provider may already have accepted it.
123
- - Generated images are illustrations. They are not measurements, experimental evidence, or scientific results.
124
-
125
- See [`PRIVACY.md`](PRIVACY.md) and [Configuration](docs/CONFIGURATION.en.md) before enabling uploads or paid services.
126
-
127
- ## Included Skills
128
-
129
- | Skill | Use |
130
- |---|---|
131
- | `omnischolar` | Choose and combine tools for a research request |
132
- | `scholar-search` | Literature, patents, authors, citation graphs, journals, and datasets |
133
- | `zotero-research` | Local Zotero matching, notes, annotations, and attachments |
134
- | `paper-reading` | MinerU parsing and close reading of text, formulas, tables, and figures |
135
- | `academic-citation` | Evidence checks, citation candidates, formatting, and bibliographies |
136
- | `scientific-figure` | Image generation, editing, review, and scientific labelling |
137
- | `materials-project` | Materials screening, properties, provenance, phase data, and export |
138
- | `chemical-data` | CAS Common Chemistry records when an official interface description is configured |
139
-
140
- ## Documentation
141
-
142
- - [Installation and agent setup](docs/INSTALLATION.en.md)
143
- - [Configuration and service credentials](docs/CONFIGURATION.en.md)
144
- - [Literature, Zotero, MinerU, citations, and output](docs/RESEARCH.en.md)
145
- - [Materials and chemistry](docs/MATERIALS.en.md)
146
- - [Scientific image providers](docs/IMAGE_PROVIDERS.en.md)
147
- - [Tool list](docs/TOOLS.en.md)
148
-
149
- ## Support and license
150
-
151
- OmniScholar is open source under the [MIT License](LICENSE). Open a [GitHub issue](https://github.com/luffysolution-svg/omnischolar/issues) or email `LuffySolution@gmail.com`. Remove keys, signed URLs, private paper content, and personal Zotero data before sending a report.
152
-
153
- Third-party services and datasets keep their own terms and licenses. See [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
110
+
111
+ The MCP command is:
112
+
113
+ ```sh
114
+ omnischolar mcp
115
+ ```
116
+
117
+ Normally the agent starts this process from its MCP configuration. The installer checks `initialize`, `tools/list`, and `omnischolar_status` after writing a supported configuration.
118
+
119
+ Full host and update instructions are in [Installation](docs/INSTALLATION.en.md).
120
+
121
+ ## Try it
122
+
123
+ ```text
124
+ Find five recent reviews about solid-state battery interfaces. Deduplicate by DOI and show open-access copies.
125
+
126
+ Find this DOI in my Zotero library and summarize my notes and annotations without changing Zotero.
127
+
128
+ After I approve the upload, parse this PDF with MinerU and save a reading note in my Obsidian vault.
129
+
130
+ Query stable Li-Fe-P-O materials in Materials Project and export the selected records as CSV and CIF.
131
+
132
+ Create a labelled illustration of this mechanism. Treat it as a draft, not experimental data.
133
+ ```
134
+
135
+ ## Configuration
136
+
137
+ Copy [`omnischolar.config.example.json`](omnischolar.config.example.json) to `omnischolar.config.json`. Keep API keys in environment variables and refer to their names with `apiKeyEnv`.
138
+
139
+ A small local configuration can start with Zotero and the output directory:
140
+
141
+ ```json
142
+ {
143
+ "schemaVersion": 1,
144
+ "runtime": { "workspaceRoots": ["./research-inputs"] },
145
+ "zotero": {
146
+ "enabled": true,
147
+ "baseUrl": "http://127.0.0.1:23119/api"
148
+ },
149
+ "output": { "rootDirectory": "./research-output" }
150
+ }
151
+ ```
152
+
153
+ OpenAlex, PubMed, arXiv, and Crossref work without API keys. Other services are enabled separately. Configuration fields and provider examples are in [Configuration](docs/CONFIGURATION.en.md).
154
+
155
+ ## Files, uploads, and charges
156
+
157
+ - Zotero requests go only to the local API on port `23119` and use GET.
158
+ - MinerU receives a PDF only when `allowExternalUpload` is enabled in the config and confirmed again in that tool call.
159
+ - Image services receive prompts and any reference images selected for upload. Generation may use account credit.
160
+ - Ai4Scholar calls may use account credit. A stored key does not by itself approve a paid call.
161
+ - A failed paid request is not retried automatically when the provider may already have accepted it.
162
+ - Generated images are illustrations. They are not measurements, experimental evidence, or scientific results.
163
+
164
+ See [`PRIVACY.md`](PRIVACY.md) and [Configuration](docs/CONFIGURATION.en.md) before enabling uploads or paid services.
165
+
166
+ ## Included Skills
167
+
168
+ | Skill | Use |
169
+ |---|---|
170
+ | `omnischolar` | Choose and combine tools for a research request |
171
+ | `scholar-search` | Literature, patents, authors, citation graphs, journals, and datasets |
172
+ | `zotero-research` | Local Zotero matching, notes, annotations, and attachments |
173
+ | `paper-reading` | MinerU parsing and close reading of text, formulas, tables, and figures |
174
+ | `academic-citation` | Evidence checks, citation candidates, formatting, and bibliographies |
175
+ | `scientific-figure` | Image generation, editing, review, and scientific labelling |
176
+ | `materials-project` | Materials screening, properties, provenance, phase data, and export |
177
+ | `chemical-data` | CAS Common Chemistry records when an official interface description is configured |
178
+
179
+ ## Documentation
180
+
181
+ - [Installation and agent setup](docs/INSTALLATION.en.md)
182
+ - [Configuration and service credentials](docs/CONFIGURATION.en.md)
183
+ - [Literature, Zotero, MinerU, citations, and output](docs/RESEARCH.en.md)
184
+ - [Materials and chemistry](docs/MATERIALS.en.md)
185
+ - [Scientific image providers](docs/IMAGE_PROVIDERS.en.md)
186
+ - [Tool list](docs/TOOLS.en.md)
187
+
188
+ ## Support and license
189
+
190
+ OmniScholar is open source under the [MIT License](LICENSE). Open a [GitHub issue](https://github.com/luffysolution-svg/omnischolar/issues) or email `LuffySolution@gmail.com`. Remove keys, signed URLs, private paper content, and personal Zotero data before sending a report.
191
+
192
+ Third-party services and datasets keep their own terms and licenses. See [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).