@luffysolution/omnischolar-pi 0.1.14 → 0.1.16
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/README.en.md +1 -1
- package/README.md +2 -2
- package/docs/CONFIGURATION.en.md +4 -0
- package/docs/CONFIGURATION.md +4 -0
- package/docs/INSTALLATION.en.md +4 -8
- package/docs/INSTALLATION.md +4 -8
- package/omnischolar.config.example.json +16 -16
- package/package.json +1 -1
- package/pi-extension/dist/index.js +9 -2
package/README.en.md
CHANGED
|
@@ -78,7 +78,7 @@ npx skills remove --skill '*' --agent codex --global --yes
|
|
|
78
78
|
The plugin and host configurations start the latest PyPI MCP with:
|
|
79
79
|
|
|
80
80
|
```sh
|
|
81
|
-
uvx --from luffysolution-omnischolar@latest omnischolar mcp
|
|
81
|
+
uvx --refresh-package luffysolution-omnischolar --from luffysolution-omnischolar@latest omnischolar mcp
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
</details>
|
package/README.md
CHANGED
|
@@ -65,7 +65,7 @@ codex plugin marketplace upgrade omnischolar
|
|
|
65
65
|
ChatGPT 桌面应用中重启应用后打开 **Plugins**,选择 **OmniScholar** 并安装或启用;Codex CLI 可运行 `/plugins` 浏览插件。插件已经包含 Skills,并通过下面的命令启动 PyPI 最新 MCP:
|
|
66
66
|
|
|
67
67
|
```sh
|
|
68
|
-
uvx --from luffysolution-omnischolar@latest omnischolar mcp
|
|
68
|
+
uvx --refresh-package luffysolution-omnischolar --from luffysolution-omnischolar@latest omnischolar mcp
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
### Claude Code 插件
|
|
@@ -136,7 +136,7 @@ npx skills remove --skill '*' --agent codex --global --yes
|
|
|
136
136
|
"omnischolar": {
|
|
137
137
|
"type": "stdio",
|
|
138
138
|
"command": "uvx",
|
|
139
|
-
"args": ["--from", "luffysolution-omnischolar@latest", "omnischolar", "mcp"]
|
|
139
|
+
"args": ["--refresh-package", "luffysolution-omnischolar", "--from", "luffysolution-omnischolar@latest", "omnischolar", "mcp"]
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
}
|
package/docs/CONFIGURATION.en.md
CHANGED
|
@@ -41,6 +41,10 @@ If none of the first four sources exists, the first MCP start or installer run c
|
|
|
41
41
|
|
|
42
42
|
`workspaceRoots` limits local file reads. `output.rootDirectory` limits file writes. To use Obsidian, set the output directory to a folder inside the vault.
|
|
43
43
|
|
|
44
|
+
The core services support Windows, Linux, and macOS. Zotero features require Zotero Desktop on the local machine; XRD calculation requires the optional `pymatgen` backend.
|
|
45
|
+
|
|
46
|
+
`omnischolar_status` does not display the absolute config path. Use `omnischolar config path` when the path is needed.
|
|
47
|
+
|
|
44
48
|
The new-paper subfolder and file name can be customized as well:
|
|
45
49
|
|
|
46
50
|
```json
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -41,6 +41,10 @@ OmniScholar 使用 `schemaVersion: 1` 的 JSON 配置。可直接复制根目录
|
|
|
41
41
|
|
|
42
42
|
`workspaceRoots` 限定可读取的本地文件,`output.rootDirectory` 限定写入位置。若要直接写入 Obsidian,可把输出目录设为 Vault 中的一个文件夹。
|
|
43
43
|
|
|
44
|
+
核心服务支持 Windows、Linux 和 macOS。Zotero 功能需要本机运行 Zotero Desktop;XRD 计算需要可选的 `pymatgen` 后端。
|
|
45
|
+
|
|
46
|
+
`omnischolar_status` 不显示配置文件绝对路径;需要查看路径时使用 `omnischolar config path`。
|
|
47
|
+
|
|
44
48
|
新文献的子文件夹和文件名可以继续细分:
|
|
45
49
|
|
|
46
50
|
```json
|
package/docs/INSTALLATION.en.md
CHANGED
|
@@ -71,16 +71,12 @@ Restart the ChatGPT desktop app after adding the marketplace. Open **Plugins**,
|
|
|
71
71
|
|
|
72
72
|
The installed plugin contains `plugin.json`, `skills/`, and `mcp.json`. Its MCP entry executes:
|
|
73
73
|
|
|
74
|
-
```sh
|
|
75
|
-
uvx --from luffysolution-omnischolar@latest omnischolar mcp
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
`uvx` creates an isolated environment and runs the latest package requested by `@latest`, so this route does not require a separate `pip install`. To force a package-cache refresh, run:
|
|
79
|
-
|
|
80
74
|
```sh
|
|
81
75
|
uvx --refresh-package luffysolution-omnischolar --from luffysolution-omnischolar@latest omnischolar mcp
|
|
82
76
|
```
|
|
83
77
|
|
|
78
|
+
`uvx` creates an isolated environment, refreshes the package cache on every start, and runs the latest PyPI package, so this route does not require a separate `pip install`.
|
|
79
|
+
|
|
84
80
|
To update the Codex Git marketplace and plugin, run:
|
|
85
81
|
|
|
86
82
|
```sh
|
|
@@ -118,7 +114,7 @@ Choose `--scope project` to share the enabled plugin through repository settings
|
|
|
118
114
|
Claude Code copies the repository-root plugin into its versioned cache, discovers the eight folders under `skills/`, and starts `.mcp.json` automatically when the plugin is enabled. The MCP command uses the latest PyPI package:
|
|
119
115
|
|
|
120
116
|
```sh
|
|
121
|
-
uvx --from luffysolution-omnischolar@latest omnischolar mcp
|
|
117
|
+
uvx --refresh-package luffysolution-omnischolar --from luffysolution-omnischolar@latest omnischolar mcp
|
|
122
118
|
```
|
|
123
119
|
|
|
124
120
|
The first MCP start needs package-index access. Skills are namespaced with `omnischolar`, for example `/omnischolar:scholar-search` and `/omnischolar:zotero-research`.
|
|
@@ -228,5 +224,5 @@ These commands install Skills only; they do not install the `omnischolar` Python
|
|
|
228
224
|
The only MCP server entry in this release is local stdio:
|
|
229
225
|
|
|
230
226
|
```sh
|
|
231
|
-
uvx --from luffysolution-omnischolar@latest omnischolar mcp
|
|
227
|
+
uvx --refresh-package luffysolution-omnischolar --from luffysolution-omnischolar@latest omnischolar mcp
|
|
232
228
|
```
|
package/docs/INSTALLATION.md
CHANGED
|
@@ -71,16 +71,12 @@ codex plugin add omnischolar@omnischolar
|
|
|
71
71
|
|
|
72
72
|
安装后的插件包含 `plugin.json`、`skills/` 和 `mcp.json`。其 MCP 配置执行:
|
|
73
73
|
|
|
74
|
-
```sh
|
|
75
|
-
uvx --from luffysolution-omnischolar@latest omnischolar mcp
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
`uvx` 会创建隔离环境并运行 `@latest` 指定的最新包,无需另行运行 `pip install`。若需强制刷新包缓存,可运行:
|
|
79
|
-
|
|
80
74
|
```sh
|
|
81
75
|
uvx --refresh-package luffysolution-omnischolar --from luffysolution-omnischolar@latest omnischolar mcp
|
|
82
76
|
```
|
|
83
77
|
|
|
78
|
+
`uvx` 会创建隔离环境,并在每次启动时刷新包缓存后运行 PyPI 最新包,无需另行运行 `pip install`。
|
|
79
|
+
|
|
84
80
|
若要更新 Codex Git Marketplace 和插件:
|
|
85
81
|
|
|
86
82
|
```sh
|
|
@@ -118,7 +114,7 @@ claude plugin install omnischolar@omnischolar --scope user
|
|
|
118
114
|
Claude Code 会把仓库根插件复制到版本化缓存,发现 `skills/` 下的 8 个 Skills,并在插件启用时自动启动 `.mcp.json`。MCP 命令使用 PyPI 最新包:
|
|
119
115
|
|
|
120
116
|
```sh
|
|
121
|
-
uvx --from luffysolution-omnischolar@latest omnischolar mcp
|
|
117
|
+
uvx --refresh-package luffysolution-omnischolar --from luffysolution-omnischolar@latest omnischolar mcp
|
|
122
118
|
```
|
|
123
119
|
|
|
124
120
|
第一次启动 MCP 需要能够访问 Python 包索引。Skills 使用 `omnischolar` 命名空间,例如 `/omnischolar:scholar-search` 和 `/omnischolar:zotero-research`。
|
|
@@ -236,5 +232,5 @@ npx skills remove --skill '*' -a codex -y
|
|
|
236
232
|
OmniScholar 的 MCP 入口只有本地 stdio:
|
|
237
233
|
|
|
238
234
|
```sh
|
|
239
|
-
uvx --from luffysolution-omnischolar@latest omnischolar mcp
|
|
235
|
+
uvx --refresh-package luffysolution-omnischolar --from luffysolution-omnischolar@latest omnischolar mcp
|
|
240
236
|
```
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"semantic-scholar": {
|
|
39
39
|
"enabled": true,
|
|
40
40
|
"apiKey": "",
|
|
41
|
-
"apiKeyEnv":
|
|
41
|
+
"apiKeyEnv": null,
|
|
42
42
|
"maxPages": 10
|
|
43
43
|
},
|
|
44
44
|
"openalex": {
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"pubmed": {
|
|
51
51
|
"enabled": true,
|
|
52
52
|
"apiKey": "",
|
|
53
|
-
"apiKeyEnv":
|
|
53
|
+
"apiKeyEnv": null,
|
|
54
54
|
"email": "researcher@example.edu",
|
|
55
55
|
"tool": "omnischolar",
|
|
56
56
|
"maxPages": 10
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"easyscholar": {
|
|
76
76
|
"enabled": true,
|
|
77
77
|
"apiKey": "",
|
|
78
|
-
"apiKeyEnv":
|
|
78
|
+
"apiKeyEnv": null,
|
|
79
79
|
"maxPages": 5
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"enabled": true,
|
|
85
85
|
"baseUrl": "https://ai4scholar.net",
|
|
86
86
|
"apiKey": "",
|
|
87
|
-
"apiKeyEnv":
|
|
87
|
+
"apiKeyEnv": null,
|
|
88
88
|
"timeoutSeconds": 60,
|
|
89
89
|
"maxResponseBytes": 16777216
|
|
90
90
|
},
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"baseUrl": "https://mineru.net/api/v4",
|
|
99
99
|
"lightweightBaseUrl": "https://mineru.net/api/v1/agent",
|
|
100
100
|
"apiKey": "",
|
|
101
|
-
"apiKeyEnv":
|
|
101
|
+
"apiKeyEnv": null,
|
|
102
102
|
"model": "pipeline",
|
|
103
103
|
"cacheDirectory": ".omnischolar/mineru",
|
|
104
104
|
"pollIntervalSeconds": 2,
|
|
@@ -111,13 +111,13 @@
|
|
|
111
111
|
"enabled": true,
|
|
112
112
|
"baseUrl": "https://api.materialsproject.org",
|
|
113
113
|
"apiKey": "",
|
|
114
|
-
"apiKeyEnv":
|
|
114
|
+
"apiKeyEnv": null,
|
|
115
115
|
"maxPages": 10
|
|
116
116
|
},
|
|
117
117
|
"casCommonChemistry": {
|
|
118
118
|
"enabled": true,
|
|
119
119
|
"apiKey": "",
|
|
120
|
-
"apiKeyEnv":
|
|
120
|
+
"apiKeyEnv": null,
|
|
121
121
|
"baseUrl": null,
|
|
122
122
|
"contractFile": null
|
|
123
123
|
}
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
"openai": {
|
|
130
130
|
"enabled": true,
|
|
131
131
|
"apiKey": "",
|
|
132
|
-
"apiKeyEnv":
|
|
132
|
+
"apiKeyEnv": null,
|
|
133
133
|
"baseUrl": "https://api.openai.com/v1",
|
|
134
134
|
"models": {
|
|
135
135
|
"gpt-image-1": {
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
"google": {
|
|
143
143
|
"enabled": true,
|
|
144
144
|
"apiKey": "",
|
|
145
|
-
"apiKeyEnv":
|
|
145
|
+
"apiKeyEnv": null,
|
|
146
146
|
"baseUrl": "https://generativelanguage.googleapis.com/v1beta",
|
|
147
147
|
"models": {},
|
|
148
148
|
"options": {}
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
"vertex": {
|
|
151
151
|
"enabled": true,
|
|
152
152
|
"apiKey": "",
|
|
153
|
-
"apiKeyEnv":
|
|
153
|
+
"apiKeyEnv": null,
|
|
154
154
|
"project": "your-project",
|
|
155
155
|
"location": "us-central1",
|
|
156
156
|
"models": {},
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
"xai": {
|
|
160
160
|
"enabled": true,
|
|
161
161
|
"apiKey": "",
|
|
162
|
-
"apiKeyEnv":
|
|
162
|
+
"apiKeyEnv": null,
|
|
163
163
|
"baseUrl": "https://api.x.ai/v1",
|
|
164
164
|
"models": {},
|
|
165
165
|
"options": {}
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
"fal": {
|
|
168
168
|
"enabled": true,
|
|
169
169
|
"apiKey": "",
|
|
170
|
-
"apiKeyEnv":
|
|
170
|
+
"apiKeyEnv": null,
|
|
171
171
|
"baseUrl": "https://fal.run",
|
|
172
172
|
"models": {},
|
|
173
173
|
"options": {}
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
"dashscope": {
|
|
176
176
|
"enabled": true,
|
|
177
177
|
"apiKey": "",
|
|
178
|
-
"apiKeyEnv":
|
|
178
|
+
"apiKeyEnv": null,
|
|
179
179
|
"baseUrl": "https://your-workspace.cn-beijing.maas.aliyuncs.com/api/v1",
|
|
180
180
|
"models": {},
|
|
181
181
|
"options": {
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
"qwen-cloud": {
|
|
186
186
|
"enabled": true,
|
|
187
187
|
"apiKey": "",
|
|
188
|
-
"apiKeyEnv":
|
|
188
|
+
"apiKeyEnv": null,
|
|
189
189
|
"baseUrl": "https://your-workspace.ap-southeast-1.maas.aliyuncs.com/api/v1",
|
|
190
190
|
"models": {},
|
|
191
191
|
"options": {
|
|
@@ -195,7 +195,7 @@
|
|
|
195
195
|
"atlas": {
|
|
196
196
|
"enabled": true,
|
|
197
197
|
"apiKey": "",
|
|
198
|
-
"apiKeyEnv":
|
|
198
|
+
"apiKeyEnv": null,
|
|
199
199
|
"baseUrl": "https://your-atlas-provider.example/v1",
|
|
200
200
|
"models": {},
|
|
201
201
|
"options": {}
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
"custom": {
|
|
204
204
|
"enabled": true,
|
|
205
205
|
"apiKey": "",
|
|
206
|
-
"apiKeyEnv":
|
|
206
|
+
"apiKeyEnv": null,
|
|
207
207
|
"baseUrl": "https://images.example.edu/v1",
|
|
208
208
|
"models": {
|
|
209
209
|
"explicit-model-id": {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
2
2
|
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
3
3
|
import { Type } from "typebox";
|
|
4
|
-
const CLIENT_INFO = { name: "omnischolar-pi", version: "0.1.
|
|
4
|
+
const CLIENT_INFO = { name: "omnischolar-pi", version: "0.1.16" };
|
|
5
5
|
export function resultText(result) {
|
|
6
6
|
return result.content
|
|
7
7
|
.map((item) => {
|
|
@@ -39,7 +39,14 @@ export default function omnischolarExtension(pi) {
|
|
|
39
39
|
connection = (async () => {
|
|
40
40
|
transport = new StdioClientTransport({
|
|
41
41
|
command: "uvx",
|
|
42
|
-
args: [
|
|
42
|
+
args: [
|
|
43
|
+
"--refresh-package",
|
|
44
|
+
"luffysolution-omnischolar",
|
|
45
|
+
"--from",
|
|
46
|
+
"luffysolution-omnischolar@latest",
|
|
47
|
+
"omnischolar",
|
|
48
|
+
"mcp",
|
|
49
|
+
],
|
|
43
50
|
stderr: "pipe",
|
|
44
51
|
});
|
|
45
52
|
client = new Client(CLIENT_INFO);
|