@luffysolution/omnischolar-pi 0.1.2 → 0.1.3
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.md +3 -3
- package/README.zh-CN.md +3 -3
- package/docs/CONFIGURATION.en.md +2 -0
- package/docs/CONFIGURATION.md +2 -0
- package/docs/INSTALLATION.en.md +3 -3
- package/docs/INSTALLATION.md +3 -3
- package/host-configs/pi.md +1 -1
- package/package.json +1 -1
- package/pi-extension/dist/index.js +3 -3
package/README.md
CHANGED
|
@@ -60,7 +60,7 @@ In the ChatGPT desktop app, restart the app, open **Plugins**, select the **Omni
|
|
|
60
60
|
The plugin bundles all eight Skills and starts its local MCP server with the pinned PyPI release:
|
|
61
61
|
|
|
62
62
|
```sh
|
|
63
|
-
uvx --from luffysolution-omnischolar==0.1.
|
|
63
|
+
uvx --from luffysolution-omnischolar==0.1.3 omnischolar mcp
|
|
64
64
|
```
|
|
65
65
|
|
|
66
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.
|
|
@@ -100,7 +100,7 @@ omnischolar update cursor --scope project
|
|
|
100
100
|
omnischolar uninstall cursor --scope project
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
-
For Pi, the full installer runs `pi install npm:@luffysolution/omnischolar-pi` and installs the bundled Skills separately. The npm Extension starts `
|
|
103
|
+
For Pi, the full installer runs `pi install npm:@luffysolution/omnischolar-pi` and installs the bundled Skills separately. The npm Extension starts the matching PyPI MCP through `uvx`, discovers its tools, and registers them with Pi; a separate global Python CLI installation is not required. You can also install the Extension directly:
|
|
104
104
|
|
|
105
105
|
```sh
|
|
106
106
|
pi install npm:@luffysolution/omnischolar-pi
|
|
@@ -134,7 +134,7 @@ Create a labelled illustration of this mechanism. Treat it as a draft, not exper
|
|
|
134
134
|
|
|
135
135
|
## Configuration
|
|
136
136
|
|
|
137
|
-
|
|
137
|
+
On the first MCP start or installer run, if no discoverable config exists, OmniScholar creates one user-level `omnischolar.config.json`. You can also create it explicitly with `omnischolar config init`. Keep API keys in environment variables and refer to their names with `apiKeyEnv`.
|
|
138
138
|
|
|
139
139
|
A small local configuration can start with Zotero and the output directory:
|
|
140
140
|
|
package/README.zh-CN.md
CHANGED
|
@@ -58,7 +58,7 @@ codex plugin add omnischolar@omnischolar
|
|
|
58
58
|
插件会同时安装 8 个 Skills,并使用固定的 PyPI 版本启动本地 MCP:
|
|
59
59
|
|
|
60
60
|
```sh
|
|
61
|
-
uvx --from luffysolution-omnischolar==0.1.
|
|
61
|
+
uvx --from luffysolution-omnischolar==0.1.3 omnischolar mcp
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
采用插件安装方式时无需另外执行 `pip install`。第一次启动 MCP 需要联网,以便 `uvx` 下载并缓存包。各服务的凭据与可选配置仍保存在 OmniScholar 配置中,插件安装不会收集这些信息。
|
|
@@ -98,7 +98,7 @@ omnischolar update cursor --scope project
|
|
|
98
98
|
omnischolar uninstall cursor --scope project
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
-
对 Pi,完整安装器会运行 `pi install npm:@luffysolution/omnischolar-pi`,并单独安装随包提供的 Skills。npm Extension
|
|
101
|
+
对 Pi,完整安装器会运行 `pi install npm:@luffysolution/omnischolar-pi`,并单独安装随包提供的 Skills。npm Extension 会通过 `uvx` 启动与当前版本匹配的 PyPI MCP、发现工具并注册到 Pi,因此无需另行安装全局 Python 命令。也可以直接安装 Extension:
|
|
102
102
|
|
|
103
103
|
```sh
|
|
104
104
|
pi install npm:@luffysolution/omnischolar-pi
|
|
@@ -132,7 +132,7 @@ omnischolar mcp
|
|
|
132
132
|
|
|
133
133
|
## 配置
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
首次启动 MCP 或执行安装命令时,如果没有可发现的配置,程序会在用户配置目录自动创建唯一的 `omnischolar.config.json`。也可以用 `omnischolar config init` 主动创建。API key 建议放在环境变量中,配置文件只填写变量名 `apiKeyEnv`。
|
|
136
136
|
|
|
137
137
|
最小的本地配置可以只写 Zotero 和输出目录:
|
|
138
138
|
|
package/docs/CONFIGURATION.en.md
CHANGED
|
@@ -16,6 +16,8 @@ The first matching file is used; files are not merged:
|
|
|
16
16
|
|
|
17
17
|
Relative paths resolve from the config file. Misspelled fields and invalid values are rejected.
|
|
18
18
|
|
|
19
|
+
If none of the first four sources exists, the first MCP start or installer run creates one user-level configuration file. On Windows this is normally `%LOCALAPPDATA%\\omnischolar\\omnischolar.config.json`; other platforms follow `platformdirs`. You can also run `omnischolar config init`. Existing configuration is never overwritten.
|
|
20
|
+
|
|
19
21
|
## Minimal config
|
|
20
22
|
|
|
21
23
|
```json
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -16,6 +16,8 @@ OmniScholar 使用 `schemaVersion: 1` 的 JSON 配置。可直接复制根目录
|
|
|
16
16
|
|
|
17
17
|
相对路径以配置文件所在目录为基准。拼错字段名或填写不合法的值时,程序会直接报错。
|
|
18
18
|
|
|
19
|
+
如果前四项都不存在,第一次启动 MCP 或执行安装命令时会自动创建用户级配置文件。Windows 通常位于 `%LOCALAPPDATA%\omnischolar\omnischolar.config.json`,其他平台由 `platformdirs` 决定。也可以运行 `omnischolar config init` 主动创建;程序不会覆盖已有配置。
|
|
20
|
+
|
|
19
21
|
## 最小配置
|
|
20
22
|
|
|
21
23
|
```json
|
package/docs/INSTALLATION.en.md
CHANGED
|
@@ -44,7 +44,7 @@ Restart the ChatGPT desktop app after adding the marketplace. Open **Plugins**,
|
|
|
44
44
|
The installed plugin contains `plugin.json`, `skills/`, and `mcp.json`. Its MCP entry executes:
|
|
45
45
|
|
|
46
46
|
```sh
|
|
47
|
-
uvx --from luffysolution-omnischolar==0.1.
|
|
47
|
+
uvx --from luffysolution-omnischolar==0.1.3 omnischolar mcp
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
`uvx` creates an isolated environment and caches the exact release, so this route does not require a separate `pip install`. The first start requires package-index access. To fetch updates to the Git marketplace, run:
|
|
@@ -83,7 +83,7 @@ Choose `--scope project` to share the enabled plugin through repository settings
|
|
|
83
83
|
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 is pinned to:
|
|
84
84
|
|
|
85
85
|
```sh
|
|
86
|
-
uvx --from luffysolution-omnischolar==0.1.
|
|
86
|
+
uvx --from luffysolution-omnischolar==0.1.3 omnischolar mcp
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
The first MCP start needs package-index access. Skills are namespaced with `omnischolar`, for example `/omnischolar:scholar-search` and `/omnischolar:zotero-research`.
|
|
@@ -121,7 +121,7 @@ omnischolar install cursor --scope project
|
|
|
121
121
|
| Pi | npm Extension | npm Extension | supported |
|
|
122
122
|
| WorkBuddy/CodeBuddy | `~/.codebuddy/.mcp.json` | `.mcp.json` | no documented portable path |
|
|
123
123
|
|
|
124
|
-
For Pi, `omnischolar install pi` installs `npm:@luffysolution/omnischolar-pi` with Pi's package manager and copies the Skills to the selected scope. The Extension starts the
|
|
124
|
+
For Pi, `omnischolar install pi` installs `npm:@luffysolution/omnischolar-pi` with Pi's package manager and copies the Skills to the selected scope. The Extension starts the matching PyPI MCP through `uvx`, so only `uv` must be on `PATH`; a separate global Python CLI installation is not required.
|
|
125
125
|
|
|
126
126
|
WorkBuddy/CodeBuddy supports local stdio MCP servers. Its official documentation does not define a portable Skills directory, so only the MCP component is installed automatically.
|
|
127
127
|
|
package/docs/INSTALLATION.md
CHANGED
|
@@ -44,7 +44,7 @@ codex plugin add omnischolar@omnischolar
|
|
|
44
44
|
安装后的插件包含 `plugin.json`、`skills/` 和 `mcp.json`。其 MCP 配置执行:
|
|
45
45
|
|
|
46
46
|
```sh
|
|
47
|
-
uvx --from luffysolution-omnischolar==0.1.
|
|
47
|
+
uvx --from luffysolution-omnischolar==0.1.3 omnischolar mcp
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
`uvx` 会创建隔离环境并缓存该精确版本,因此无需另行运行 `pip install`。第一次启动需要能够访问 Python 包索引。若要更新 Git Marketplace:
|
|
@@ -83,7 +83,7 @@ claude plugin install omnischolar@omnischolar --scope user
|
|
|
83
83
|
Claude Code 会把仓库根插件复制到版本化缓存,发现 `skills/` 下的 8 个 Skills,并在插件启用时自动启动 `.mcp.json`。MCP 命令固定为:
|
|
84
84
|
|
|
85
85
|
```sh
|
|
86
|
-
uvx --from luffysolution-omnischolar==0.1.
|
|
86
|
+
uvx --from luffysolution-omnischolar==0.1.3 omnischolar mcp
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
第一次启动 MCP 需要能够访问 Python 包索引。Skills 使用 `omnischolar` 命名空间,例如 `/omnischolar:scholar-search` 和 `/omnischolar:zotero-research`。
|
|
@@ -121,7 +121,7 @@ omnischolar install cursor --scope project
|
|
|
121
121
|
| Pi | npm Extension | npm Extension | 支持 |
|
|
122
122
|
| WorkBuddy/CodeBuddy | `~/.codebuddy/.mcp.json` | `.mcp.json` | 无官方可移植目录 |
|
|
123
123
|
|
|
124
|
-
对 Pi,`omnischolar install pi` 会通过 Pi 包管理器安装 `npm:@luffysolution/omnischolar-pi`,并把 Skills 复制到所选作用域。Extension
|
|
124
|
+
对 Pi,`omnischolar install pi` 会通过 Pi 包管理器安装 `npm:@luffysolution/omnischolar-pi`,并把 Skills 复制到所选作用域。Extension 会通过 `uvx` 启动与当前版本匹配的 PyPI MCP,因此只需保证 `uv` 位于 `PATH`,无需另行安装全局 Python 命令。
|
|
125
125
|
|
|
126
126
|
WorkBuddy/CodeBuddy 支持本地 stdio MCP。其官方文档没有定义可移植的 Skills 目录,因此安装器只自动配置 MCP。
|
|
127
127
|
|
package/host-configs/pi.md
CHANGED
|
@@ -8,6 +8,6 @@ omnischolar install pi
|
|
|
8
8
|
pi install npm:@luffysolution/omnischolar-pi
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
The Extension starts `
|
|
11
|
+
The Extension starts the matching PyPI MCP through `uvx`, discovers the server's tools, forwards calls and cancellation signals, and closes the MCP client when the Pi session ends. A separate global `omnischolar` command is not required; `uv` must be on `PATH`.
|
|
12
12
|
|
|
13
13
|
`omnischolar mcp install pi` remains `manual_required` because Pi uses an Extension instead of a native MCP settings file. Use the full `omnischolar install pi` command.
|
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.3" };
|
|
5
5
|
export function resultText(result) {
|
|
6
6
|
return result.content
|
|
7
7
|
.map((item) => {
|
|
@@ -38,8 +38,8 @@ export default function omnischolarExtension(pi) {
|
|
|
38
38
|
return connection;
|
|
39
39
|
connection = (async () => {
|
|
40
40
|
transport = new StdioClientTransport({
|
|
41
|
-
command: "
|
|
42
|
-
args: ["mcp"],
|
|
41
|
+
command: "uvx",
|
|
42
|
+
args: ["--from", "luffysolution-omnischolar==0.1.3", "omnischolar", "mcp"],
|
|
43
43
|
stderr: "pipe",
|
|
44
44
|
});
|
|
45
45
|
client = new Client(CLIENT_INFO);
|