dsh-connect-meoo 0.0.2 → 0.0.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 +13 -2
- package/lib/client.js +35 -24
- package/lib/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -70,7 +70,18 @@ dsh-connect-meoo (Host)
|
|
|
70
70
|
(`https://api.meoo.host/meoo-ai/compatible-mode/v1`),pi-ai 直接以
|
|
71
71
|
「项目服务 AK 作 apiKey + 网关作 baseURL」转发。少一层代理就少一类掉流式的故障。
|
|
72
72
|
|
|
73
|
-
##
|
|
73
|
+
## 登录:填一个 API Key 就完事(不需要登录账号)
|
|
74
|
+
|
|
75
|
+
和 qoder 插件用 PAT 是同一个模式:**key 就是凭据,插件自动读出账号**。
|
|
76
|
+
卡片里没有「登录」按钮——填 key 是唯一主路径,浏览器授权只是没有 key 时的备选,
|
|
77
|
+
折叠在「高级」里。
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
贴 meoo_ak_… → 读身份 → 列项目 → 读积分 → 解析项目服务 AK → 拉模型目录
|
|
81
|
+
(项目没开通云服务时自动开通一次)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## 三条路对比
|
|
74
85
|
|
|
75
86
|
| 方式 | 成本 | 能读积分 | 会过期吗 |
|
|
76
87
|
| --- | --- | --- | --- |
|
|
@@ -215,7 +226,7 @@ node scripts/preview-ui.mjs # 离屏渲染 UI 并截图到 docs/assets
|
|
|
215
226
|
| `check-host` | 宿主真能 `import()` 这个包、`dsh` 声明与 patch row name 都对 |
|
|
216
227
|
| `check-cordis` | **用真的 Cordis `Context` 装载一次**,含卸载释放(假 ctx 验不出 Cordis 接不接受) |
|
|
217
228
|
| `check-endpoint-evidence` | 写「上游没有某接口」必须指向一份带**对照组**的取证记录 |
|
|
218
|
-
| `tests` |
|
|
229
|
+
| `tests` | 143 个单测(含**浏览器半侧真实渲染**:组件函数真的被执行一遍,含开关语义/搜索过滤/胶囊弹层) |
|
|
219
230
|
| `preview-ui` | 浏览器半侧离屏渲染 16 个页面:非空、CSS 已注入、无 `undefined`(`--check` 模式,不落盘不截图) |
|
|
220
231
|
| `smoke-apply` | 真跑一次 `apply()` 并验证注册内容 |
|
|
221
232
|
|
package/lib/client.js
CHANGED
|
@@ -252,7 +252,7 @@
|
|
|
252
252
|
openPanel: '打开秒悟面板',
|
|
253
253
|
metaTitle: 'DSH Connect 秒悟 Meoo',
|
|
254
254
|
metaDescription:
|
|
255
|
-
'把秒悟 Meoo 的模型接入 DSH
|
|
255
|
+
'把秒悟 Meoo 的模型接入 DSH:填一个 API Key 即可,这里管理账号、积分余额、模型目录与开关。',
|
|
256
256
|
name: 'Meoo 秒悟',
|
|
257
257
|
pill: '秒悟',
|
|
258
258
|
pillPoints: '秒悟 · {points}',
|
|
@@ -289,12 +289,12 @@
|
|
|
289
289
|
refresh: '刷新',
|
|
290
290
|
refreshing: '刷新中…',
|
|
291
291
|
loginHint:
|
|
292
|
-
'
|
|
292
|
+
'点「浏览器授权」会在浏览器打开授权页;点一次「授权」后,项目与 AI 服务 AK 会自动解析。',
|
|
293
293
|
signedInHint:
|
|
294
|
-
'登录态已就绪,项目与 AI 服务 AK
|
|
294
|
+
'登录态已就绪,项目与 AI 服务 AK 会自动解析。换账号就重新填一个 API Key。',
|
|
295
295
|
signedOutHint:
|
|
296
|
-
'
|
|
297
|
-
expiredHint: '
|
|
296
|
+
'还没有读到秒悟凭据。在上面填一个 API Key 即可 —— 插件会自动读出账号、项目与积分,不用再登录。',
|
|
297
|
+
expiredHint: '登录态已失效。重新填一次 API Key,或在「高级 → 浏览器授权」里重新授权。',
|
|
298
298
|
apiKeyTitle: 'API Key(推荐)',
|
|
299
299
|
apiKeyLabel: '控制面 API Key(meoo_ak_…)',
|
|
300
300
|
apiKeyPlaceholder: 'meoo_ak_…',
|
|
@@ -304,6 +304,8 @@
|
|
|
304
304
|
'在 meoo.com → 设置 → API 密钥 里生成一串 meoo_ak_… 粘贴到这里。插件会用它读出账号、项目与积分,并自动换出项目服务 AK —— 不用点浏览器,也不会过期。',
|
|
305
305
|
apiKeyBadType: '这是项目服务 AK,不是 API Key;API Key 以 meoo_ak_ 开头。',
|
|
306
306
|
advancedTitle: '高级',
|
|
307
|
+
oauthTitle: '浏览器授权',
|
|
308
|
+
oauthHint: '没有 API Key 时的备选:在浏览器里点一次「授权」。',
|
|
307
309
|
akTitle: '手动指定项目服务 AK',
|
|
308
310
|
akLabel: '项目服务 AK(meoo_project_service_v1.…)',
|
|
309
311
|
akPlaceholder: 'meoo_project_service_v1.…',
|
|
@@ -439,10 +441,10 @@
|
|
|
439
441
|
loginHint:
|
|
440
442
|
'“Sign in to Meoo” opens the authorisation page in your browser; press Authorise once and the project plus AI service AK are resolved automatically. You can also paste an AK here or use /meoo key.',
|
|
441
443
|
signedInHint:
|
|
442
|
-
'Signed in. The project and AI service AK are resolved automatically. To switch accounts,
|
|
444
|
+
'Signed in. The project and AI service AK are resolved automatically. To switch accounts, paste a different API key.',
|
|
443
445
|
signedOutHint:
|
|
444
|
-
'No Meoo
|
|
445
|
-
expiredHint: 'The sign-in expired.
|
|
446
|
+
'No Meoo credentials yet. Paste an API key above — the plugin reads your account, project and points automatically. No sign-in needed.',
|
|
447
|
+
expiredHint: 'The sign-in expired. Paste an API key again, or re-authorise under Advanced → Browser sign-in.',
|
|
446
448
|
apiKeyTitle: 'API Key (recommended)',
|
|
447
449
|
apiKeyLabel: 'Control-plane API key (meoo_ak_…)',
|
|
448
450
|
apiKeyPlaceholder: 'meoo_ak_…',
|
|
@@ -452,6 +454,8 @@
|
|
|
452
454
|
'Create a meoo_ak_… key at meoo.com → Settings → API keys and paste it here. The plugin reads your account, projects and points with it and resolves the project service AK automatically — no browser, no expiry.',
|
|
453
455
|
apiKeyBadType: 'That is a project service AK, not an API key; API keys start with meoo_ak_.',
|
|
454
456
|
advancedTitle: 'Advanced',
|
|
457
|
+
oauthTitle: 'Browser sign-in',
|
|
458
|
+
oauthHint: 'Fallback when you have no API key: approve once in your browser.',
|
|
455
459
|
akTitle: 'Set a project service AK by hand',
|
|
456
460
|
akLabel: 'Project service AK (meoo_project_service_v1.…)',
|
|
457
461
|
akPlaceholder: 'meoo_project_service_v1.…',
|
|
@@ -1010,22 +1014,9 @@
|
|
|
1010
1014
|
Section,
|
|
1011
1015
|
{
|
|
1012
1016
|
title: t('account'),
|
|
1013
|
-
//
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
? null
|
|
1017
|
-
: h(
|
|
1018
|
-
'button',
|
|
1019
|
-
{
|
|
1020
|
-
type: 'button',
|
|
1021
|
-
className: 'dsm-meoo-btn dsm-meoo-btn-primary',
|
|
1022
|
-
disabled: busy !== '',
|
|
1023
|
-
onClick: function () {
|
|
1024
|
-
doLogin(false);
|
|
1025
|
-
},
|
|
1026
|
-
},
|
|
1027
|
-
busy === 'login' || pending ? t('loggingIn') : t('loginNow'),
|
|
1028
|
-
),
|
|
1017
|
+
// 不摆「登录秒悟」主按钮:API Key 才是主路径,两个并列的入口会让人
|
|
1018
|
+
// 以为必须点登录。浏览器授权降级到「高级」里的次要链接(见下方 oauthRow)。
|
|
1019
|
+
actions: null,
|
|
1029
1020
|
},
|
|
1030
1021
|
h(
|
|
1031
1022
|
Row,
|
|
@@ -1181,6 +1172,26 @@
|
|
|
1181
1172
|
),
|
|
1182
1173
|
)
|
|
1183
1174
|
: null,
|
|
1175
|
+
// 浏览器授权:没有 API Key 时的备选。默认折叠,避免和 API Key 抢主路径。
|
|
1176
|
+
h(
|
|
1177
|
+
Row,
|
|
1178
|
+
{ name: t('oauthTitle'), sub: t('oauthHint') },
|
|
1179
|
+
// 已登录时这一行只是说明,不再给按钮(否则像是没登录成功)。
|
|
1180
|
+
state === 'signed-in'
|
|
1181
|
+
? null
|
|
1182
|
+
: h(
|
|
1183
|
+
'button',
|
|
1184
|
+
{
|
|
1185
|
+
type: 'button',
|
|
1186
|
+
className: 'dsm-meoo-btn dsm-meoo-btn-sm',
|
|
1187
|
+
disabled: busy !== '',
|
|
1188
|
+
onClick: function () {
|
|
1189
|
+
doLogin(false);
|
|
1190
|
+
},
|
|
1191
|
+
},
|
|
1192
|
+
busy === 'login' || pending ? t('loggingIn') : t('loginNow'),
|
|
1193
|
+
),
|
|
1194
|
+
),
|
|
1184
1195
|
),
|
|
1185
1196
|
h(ProjectPanel, { t: t, doc: doc }),
|
|
1186
1197
|
);
|
package/lib/index.js
CHANGED
|
@@ -52,7 +52,7 @@ Config({});
|
|
|
52
52
|
/** DSH provider 路由键;同时是 pi-ai collection 的 key。 */
|
|
53
53
|
const PROVIDER = "meoo";
|
|
54
54
|
/** 插件版本号(卡片与日志显示)。与 package.json 的 version 保持一致。 */
|
|
55
|
-
const VERSION = "0.0.
|
|
55
|
+
const VERSION = "0.0.3";
|
|
56
56
|
/** 设置页命名空间(插件设置卡片的挂载点)。 */
|
|
57
57
|
const SETTINGS_NS = "meoo";
|
|
58
58
|
/** 秒悟主站(OAuth 与控制面都在这个 origin 下)。 */
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "dsh-connect-meoo",
|
|
3
3
|
"displayName": "DSH Connect 秒悟 Meoo",
|
|
4
4
|
"description": "把秒悟 Meoo(meoo.com)的模型接进 DeepSeek Harness:浏览器 OAuth(PKCE) 一次授权后自动解析项目服务 AK,模型出现在 DSH 模型选择器里;插件设置页以 tab 展示账号、积分余额、模型目录、开关与诊断,输入框旁有积分胶囊读数,可选侧栏整页。",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.3",
|
|
6
6
|
"author": "xinstart-1",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"keywords": [
|