@luffysolution/omnischolar-pi 0.1.21 → 0.1.23
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.
|
@@ -96,7 +96,7 @@ The service-account file is used locally to obtain an OAuth token and is never w
|
|
|
96
96
|
|
|
97
97
|
Atlas, fal, Vertex, and DashScope/Qwen expose different catalog capabilities. Atlas, fal, Vertex, and DashScope/Qwen have small built-in model sets checked against official documentation; when `modelCatalogEndpoint` is not configured, custom services make a best-effort request to `baseUrl/models`. If a downstream service has no catalog endpoint, or its models lack explicit capability fields, the tool falls back to the explicit model contracts in `models` and never infers image capabilities from a model name.
|
|
98
98
|
|
|
99
|
-
The OpenAI example configuration presets `gpt-image-2`, `gpt-image-2.5-sunburst`,
|
|
99
|
+
The official OpenAI, Google, and Vertex configurations rely on their model catalogs or built-in official catalogs and do not duplicate model pins. The custom example configuration presets `gpt-image-2`, `gpt-image-2.5-sunburst`, `gpt-image-2.5-flare`, `gemini-3.1-flash-image`, `gemini-3.1-flash-lite-image`, and `gemini-3-pro-image` for OpenAI/Gemini-compatible services without a model catalog. These presets are not entitlement guarantees.
|
|
100
100
|
|
|
101
101
|
## Generate and edit
|
|
102
102
|
|
|
@@ -111,6 +111,6 @@ Upload only images you may share with the selected service. After files are save
|
|
|
111
111
|
- DashScope/Qwen supports the Qwen AI Platform native endpoint `https://dashscope.aliyuncs.com/api/v1` and regional Bailian workspace endpoints such as `https://<workspace>.cn-beijing.maas.aliyuncs.com/api/v1`. When `workspace` and `region` are supplied, the tool can derive the regional endpoint.
|
|
112
112
|
- Gemini's `apiKeyEnv` must name an environment variable that exists.
|
|
113
113
|
- Atlas Cloud uses `https://api.atlascloud.ai/api/v1`, submits to `model/generateImage`, and polls `model/prediction/{id}`. The built-in set includes official Nano Banana 2, GPT Image 2, and GPT Image 2.5 Flare/Sunburst IDs. Atlas image tasks are asynchronous and their `outputs` are saved locally.
|
|
114
|
-
- Custom services automatically probe the standard OpenAI-compatible `/models` endpoint, or use `options.modelCatalogEndpoint` for a non-standard catalog URL. If the catalog lacks explicit `capabilities`/`supportedCapabilities`, declare `text-to-image`, `image-to-image`, or `edit` in `models` before calling it.
|
|
114
|
+
- Custom services automatically probe the standard OpenAI-compatible `/models` endpoint, or use `options.modelCatalogEndpoint` for a non-standard catalog URL. If the catalog lacks explicit `capabilities`/`supportedCapabilities`, declare `text-to-image`, `image-to-image`, or `edit` in `models` before calling it. Custom image requests default to a 180-second timeout and can be adjusted with `options.imageTimeoutSeconds` up to 1800 seconds.
|
|
115
115
|
|
|
116
116
|
Review text, structures, mechanisms, scale, and quantitative labels after generation. **AI images are illustrative drafts, not experimental data, real measurements, or scientific conclusions.**
|
package/docs/IMAGE_PROVIDERS.md
CHANGED
|
@@ -96,7 +96,7 @@ Vertex AI 可使用 service-account JSON:
|
|
|
96
96
|
|
|
97
97
|
Atlas、fal、Vertex、DashScope/Qwen 和自定义服务的模型目录能力不同。Atlas、fal、Vertex、DashScope/Qwen 已提供少量基于官方文档核对的内置模型;自定义服务在未配置 `modelCatalogEndpoint` 时会尽力尝试 `baseUrl/models`。如果下游没有模型目录接口,或返回的模型没有明确能力字段,工具会回退到 `models` 中的显式模型合同,不会仅凭模型名推断图片能力。
|
|
98
98
|
|
|
99
|
-
OpenAI 示例配置预设 `gpt-image-2`、`gpt-image-2.5-sunburst
|
|
99
|
+
官方 OpenAI、Google 和 Vertex 配置默认使用模型目录或内置官方目录发现,不需要在 `models` 中重复预设。custom 示例配置预设 `gpt-image-2`、`gpt-image-2.5-sunburst`、`gpt-image-2.5-flare`、`gemini-3.1-flash-image`、`gemini-3.1-flash-lite-image` 和 `gemini-3-pro-image`,供没有模型目录接口的 OpenAI/Gemini 兼容服务使用;这些预设不代表下游账号已经开通对应模型。
|
|
100
100
|
|
|
101
101
|
## 生成与编辑
|
|
102
102
|
|
|
@@ -111,6 +111,6 @@ OpenAI 示例配置预设 `gpt-image-2`、`gpt-image-2.5-sunburst` 和 `gpt-imag
|
|
|
111
111
|
- DashScope/Qwen 支持千问 AI 平台的通用原生地址 `https://dashscope.aliyuncs.com/api/v1`,也支持百炼按地域的 workspace 地址,例如 `https://<workspace>.cn-beijing.maas.aliyuncs.com/api/v1`。当填写 `workspace` 和 `region` 时,工具可以自动拼接地域地址。
|
|
112
112
|
- Gemini 配置中的 `apiKeyEnv` 必须指向已存在的环境变量。
|
|
113
113
|
- Atlas Cloud 使用 `https://api.atlascloud.ai/api/v1`、`model/generateImage` 提交和 `model/prediction/{id}` 轮询;默认内置 Nano Banana 2、GPT Image 2、GPT Image 2.5 Flare/Sunburst 的官方模型 ID。Atlas 的图片任务是异步的,结果中的 `outputs` 会保存到本地。
|
|
114
|
-
- 自定义服务会自动探测标准 OpenAI 兼容的 `/models`;也可以用 `options.modelCatalogEndpoint` 指定非标准目录地址。目录结果缺少明确 `capabilities`/`supportedCapabilities` 时只展示为未绑定能力,必须在 `models` 中声明 `text-to-image`、`image-to-image` 或 `edit` 后才能调用。
|
|
114
|
+
- 自定义服务会自动探测标准 OpenAI 兼容的 `/models`;也可以用 `options.modelCatalogEndpoint` 指定非标准目录地址。目录结果缺少明确 `capabilities`/`supportedCapabilities` 时只展示为未绑定能力,必须在 `models` 中声明 `text-to-image`、`image-to-image` 或 `edit` 后才能调用。custom 图片请求默认超时为 180 秒,可用 `options.imageTimeoutSeconds` 调整(上限 1800 秒)。
|
|
115
115
|
|
|
116
116
|
生成后仍需人工检查文字、结构、机制、比例和定量描述。**AI 图片是示意草稿,不是实验数据、真实测量或科研结论。**
|
|
@@ -131,20 +131,7 @@
|
|
|
131
131
|
"apiKey": "",
|
|
132
132
|
"apiKeyEnv": null,
|
|
133
133
|
"baseUrl": "https://api.openai.com/v1",
|
|
134
|
-
"models": {
|
|
135
|
-
"gpt-image-2": {
|
|
136
|
-
"capabilities": ["text-to-image", "image-to-image", "edit", "multi-reference"],
|
|
137
|
-
"paid": true
|
|
138
|
-
},
|
|
139
|
-
"gpt-image-2.5-sunburst": {
|
|
140
|
-
"capabilities": ["text-to-image", "image-to-image", "edit", "multi-reference"],
|
|
141
|
-
"paid": true
|
|
142
|
-
},
|
|
143
|
-
"gpt-image-2.5-flare": {
|
|
144
|
-
"capabilities": ["text-to-image", "image-to-image", "edit", "multi-reference"],
|
|
145
|
-
"paid": true
|
|
146
|
-
}
|
|
147
|
-
},
|
|
134
|
+
"models": {},
|
|
148
135
|
"options": {}
|
|
149
136
|
},
|
|
150
137
|
"google": {
|
|
@@ -152,20 +139,7 @@
|
|
|
152
139
|
"apiKey": "",
|
|
153
140
|
"apiKeyEnv": null,
|
|
154
141
|
"baseUrl": "https://generativelanguage.googleapis.com/v1beta",
|
|
155
|
-
"models": {
|
|
156
|
-
"gemini-3.1-flash-image": {
|
|
157
|
-
"capabilities": ["text-to-image", "image-to-image", "edit", "multi-reference"],
|
|
158
|
-
"paid": true
|
|
159
|
-
},
|
|
160
|
-
"gemini-3.1-flash-lite-image": {
|
|
161
|
-
"capabilities": ["text-to-image", "image-to-image", "edit", "multi-reference"],
|
|
162
|
-
"paid": true
|
|
163
|
-
},
|
|
164
|
-
"gemini-3-pro-image": {
|
|
165
|
-
"capabilities": ["text-to-image", "image-to-image", "edit", "multi-reference"],
|
|
166
|
-
"paid": true
|
|
167
|
-
}
|
|
168
|
-
},
|
|
142
|
+
"models": {},
|
|
169
143
|
"options": {}
|
|
170
144
|
},
|
|
171
145
|
"vertex": {
|
|
@@ -175,20 +149,7 @@
|
|
|
175
149
|
"credentialsFile": null,
|
|
176
150
|
"project": null,
|
|
177
151
|
"location": "global",
|
|
178
|
-
"models": {
|
|
179
|
-
"gemini-3.1-flash-image": {
|
|
180
|
-
"capabilities": ["text-to-image", "image-to-image", "edit", "multi-reference"],
|
|
181
|
-
"paid": true
|
|
182
|
-
},
|
|
183
|
-
"gemini-3.1-flash-lite-image": {
|
|
184
|
-
"capabilities": ["text-to-image", "image-to-image", "edit", "multi-reference"],
|
|
185
|
-
"paid": true
|
|
186
|
-
},
|
|
187
|
-
"gemini-3-pro-image": {
|
|
188
|
-
"capabilities": ["text-to-image", "image-to-image", "edit", "multi-reference"],
|
|
189
|
-
"paid": true
|
|
190
|
-
}
|
|
191
|
-
},
|
|
152
|
+
"models": {},
|
|
192
153
|
"options": {}
|
|
193
154
|
},
|
|
194
155
|
"xai": {
|
|
@@ -248,7 +209,27 @@
|
|
|
248
209
|
"apiKeyEnv": null,
|
|
249
210
|
"baseUrl": "https://images.example.edu/v1",
|
|
250
211
|
"models": {
|
|
251
|
-
"
|
|
212
|
+
"gpt-image-2": {
|
|
213
|
+
"capabilities": ["text-to-image"],
|
|
214
|
+
"paid": true
|
|
215
|
+
},
|
|
216
|
+
"gpt-image-2.5-sunburst": {
|
|
217
|
+
"capabilities": ["text-to-image"],
|
|
218
|
+
"paid": true
|
|
219
|
+
},
|
|
220
|
+
"gpt-image-2.5-flare": {
|
|
221
|
+
"capabilities": ["text-to-image"],
|
|
222
|
+
"paid": true
|
|
223
|
+
},
|
|
224
|
+
"gemini-3.1-flash-image": {
|
|
225
|
+
"capabilities": ["text-to-image"],
|
|
226
|
+
"paid": true
|
|
227
|
+
},
|
|
228
|
+
"gemini-3.1-flash-lite-image": {
|
|
229
|
+
"capabilities": ["text-to-image"],
|
|
230
|
+
"paid": true
|
|
231
|
+
},
|
|
232
|
+
"gemini-3-pro-image": {
|
|
252
233
|
"capabilities": ["text-to-image"],
|
|
253
234
|
"paid": true
|
|
254
235
|
}
|
|
@@ -256,7 +237,8 @@
|
|
|
256
237
|
"options": {
|
|
257
238
|
"modelCatalogEndpoint": null,
|
|
258
239
|
"generationEndpoint": "images/generations",
|
|
259
|
-
"editEndpoint": "images/edits"
|
|
240
|
+
"editEndpoint": "images/edits",
|
|
241
|
+
"imageTimeoutSeconds": 180
|
|
260
242
|
}
|
|
261
243
|
}
|
|
262
244
|
}
|
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.23" };
|
|
5
5
|
export function resultText(result) {
|
|
6
6
|
return result.content
|
|
7
7
|
.map((item) => {
|