dsh-mcp-connector 0.2.82 → 0.2.83
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/CHANGELOG.md +15 -1
- package/README.en.md +2 -2
- package/README.md +2 -2
- package/docs/screenshots/01-market-overview.jpg +0 -0
- package/docs/screenshots/02-connector-detail.jpg +0 -0
- package/docs/screenshots/03-tool-discovery.jpg +0 -0
- package/docs/screenshots/04-json-import.jpg +0 -0
- package/docs/screenshots/05-unified-tool-search.png +0 -0
- package/docs/screenshots/06-tool-parameters.png +0 -0
- package/docs/screenshots/07-connection-diagnostics.png +0 -0
- package/docs/screenshots/README.md +21 -20
- package/docs/screenshots/assets.json +29 -29
- package/docs/tutorials/FIRST-SUCCESS-SCENARIOS.md +1 -1
- package/docs/tutorials/SHARING-AUTHOR-ASSETS.md +2 -4
- package/docs/tutorials/SHARING-KIT.md +1 -1
- package/package.json +6 -3
- package/ui/index.html +32 -13
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
本项目遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/);首个公开版本从 `0.1.0` 开始。
|
|
4
4
|
|
|
5
|
+
## [0.2.83] - 2026-10-26
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- #190 / PR #191:连接范围变更和回退的确认框限制最大高度,正文独立滚动,标题与确认、取消按钮保持可见;工具列表只展示前 12 项并注明总数。
|
|
10
|
+
- 不修改连接范围应用、回退、乐观锁或凭据处理语义。
|
|
11
|
+
|
|
12
|
+
### Documentation and verification
|
|
13
|
+
|
|
14
|
+
- 同步当前版本文档,并重新采集本版本无凭据 Mock 截图及 GIF;素材不代表真实授权或业务调用成功。
|
|
15
|
+
- macOS 浏览器组件验收覆盖 360×400、640×300、1000×720 视口、8 个 Server 各 125 个长工具名、正文滚动、键盘确认/取消及焦点恢复;不等同于 Windows Desktop 实机验收。
|
|
16
|
+
- #178、#181 保持开放,继续等待原报告者 Windows 复测。
|
|
17
|
+
|
|
5
18
|
## [0.2.82] - 2026-10-26
|
|
6
19
|
|
|
7
20
|
### Added
|
|
@@ -1097,7 +1110,8 @@
|
|
|
1097
1110
|
- 外部 URL 与导入 Header 执行安全校验。
|
|
1098
1111
|
- iframe 消息校验同源和消息来源。
|
|
1099
1112
|
|
|
1100
|
-
[Unreleased]: https://github.com/duhu2000/dsh-mcp-connector/compare/v0.2.
|
|
1113
|
+
[Unreleased]: https://github.com/duhu2000/dsh-mcp-connector/compare/v0.2.83...HEAD
|
|
1114
|
+
[0.2.83]: https://github.com/duhu2000/dsh-mcp-connector/compare/v0.2.82...v0.2.83
|
|
1101
1115
|
[0.2.82]: https://github.com/duhu2000/dsh-mcp-connector/compare/v0.2.81...v0.2.82
|
|
1102
1116
|
[0.2.48]: https://github.com/duhu2000/dsh-mcp-connector/compare/v0.2.47...v0.2.48
|
|
1103
1117
|
[0.2.47]: https://github.com/duhu2000/dsh-mcp-connector/compare/v0.2.46...v0.2.47
|
package/README.en.md
CHANGED
|
@@ -106,7 +106,7 @@ As of 2026-10-24, the public Registry publishes 112 connector descriptors. After
|
|
|
106
106
|
| Connection diagnostics and last-success cache | |
|
|
107
107
|
|  | |
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
<!-- generated:media -->Screenshots and GIF were captured from v0.2.83 (2026-10-26), using the credential-free Mock harness. They demonstrate UI, not real business acceptance; counts are fixtures. See [asset provenance](docs/screenshots/README.md).<!-- /generated:media -->
|
|
110
110
|
|
|
111
111
|
## Installation
|
|
112
112
|
|
|
@@ -231,7 +231,7 @@ npm run dev:ui
|
|
|
231
231
|
|
|
232
232
|
Every Registry merge regenerates `catalog-stats.json`; an hourly workflow in this repository synchronizes the Chinese and English product copy plus a local stats snapshot. The static npm README updates with package releases, while the live badges above read the Registry directly and therefore stay current without another npm release.
|
|
233
233
|
|
|
234
|
-
The current public version is [`dsh-mcp-connector@0.2.
|
|
234
|
+
<!-- generated:version -->The current public version is [`dsh-mcp-connector@0.2.83`](https://www.npmjs.com/package/dsh-mcp-connector), with [GitHub Release v0.2.83](https://github.com/duhu2000/dsh-mcp-connector/releases/tag/v0.2.83).<!-- /generated:version -->
|
|
235
235
|
|
|
236
236
|
See [CHANGELOG.md](CHANGELOG.md) for version history and [docs/DESKTOP-E2E.md](docs/DESKTOP-E2E.md) for the Desktop release checklist.
|
|
237
237
|
|
package/README.md
CHANGED
|
@@ -108,7 +108,7 @@ Desktop 需要完全退出并重新启动应用;Web 需要停止原 `dsh web`
|
|
|
108
108
|
| 连接诊断与最后成功缓存 | |
|
|
109
109
|
|  | |
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
<!-- generated:media -->截图与 GIF 采集自 v0.2.83(2026-10-26)无凭据 Mock 页面,展示界面而非真实业务验收;市场数量是测试夹具。来源与更新方法见 [素材说明](docs/screenshots/README.md)。<!-- /generated:media -->
|
|
112
112
|
|
|
113
113
|
## 安装
|
|
114
114
|
|
|
@@ -226,7 +226,7 @@ npm run dev:ui
|
|
|
226
226
|
|
|
227
227
|
公共 Registry 每次合并后会生成 `catalog-stats.json`;本仓库的定时工作流每小时同步中英文介绍和统计快照。npm 页面中的静态正文随版本发布更新,上方动态统计徽标则直接读取 Registry,可在不发布新 npm 版本时保持实时数量一致。
|
|
228
228
|
|
|
229
|
-
|
|
229
|
+
<!-- generated:version -->当前公开版本为 [`dsh-mcp-connector@0.2.83`](https://www.npmjs.com/package/dsh-mcp-connector),对应 [GitHub Release v0.2.83](https://github.com/duhu2000/dsh-mcp-connector/releases/tag/v0.2.83)。<!-- /generated:version -->
|
|
230
230
|
|
|
231
231
|
版本能力与变更记录见 [CHANGELOG.md](CHANGELOG.md)。
|
|
232
232
|
Desktop 发版回归见 [docs/DESKTOP-E2E.md](docs/DESKTOP-E2E.md)。
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,29 +1,30 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 产品截图与演示的来源及更新
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<!-- generated:media -->本组 7 张截图和 GIF 均从 v0.2.83 于 2026-10-26 重新采集,未修改截图中的版本文字。<!-- /generated:media -->
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
全部素材由真实产品 UI 的无凭据 Mock harness 渲染:1280×720 浏览器视口、800px 产品面板、桌面两列卡片。顶部保留“无凭据 Mock”标识;目录数、连接数与工具数是演示夹具,不代表生产统计或真实授权、业务验收。不会读取用户 profile、调用服务商或上传业务数据。
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- `03` 是 2026-09-06 从 `v0.2.37` 采集的历史工具发现快照。
|
|
9
|
-
- `05`、`06` 和 `../demo.gif` 是 2026-09-14 从 `v0.2.46` UI harness 采集的历史工具搜索、参数和演示素材。harness 中的目录数量、连接数量和工具数量属于测试夹具,不代表生产市场统计。
|
|
7
|
+
根目录 [screenshots.json](../../screenshots.json) 保持外部市场兼容的 7 张图片路径与顺序;[assets.json](assets.json) 是采集版本、日期、源码指纹、SHA-256、尺寸和 GIF 时长的唯一记录。
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
| 文件 | 内容 |
|
|
10
|
+
|---|---|
|
|
11
|
+
| 01-market-overview.jpg | 初始市场与未连接卡片 |
|
|
12
|
+
| 02-connector-detail.jpg | 连接器详情、权限与示例 |
|
|
13
|
+
| 03-tool-discovery.jpg | Mock 连接后的工具发现 |
|
|
14
|
+
| 04-json-import.jpg | JSON 导入与作用域 |
|
|
15
|
+
| 05-unified-tool-search.png | 跨连接工具查询 |
|
|
16
|
+
| 06-tool-parameters.png | 参数结构详情 |
|
|
17
|
+
| 07-connection-diagnostics.png | 模拟发现失败与诊断 |
|
|
12
18
|
|
|
13
|
-
|
|
19
|
+
`docs/demo.gif` 由当前截图状态顺序编码,仅缩放和调色,不修改版本号或连接状态。旧素材可通过 Git 历史查看,不继续用作当前产品首屏。
|
|
14
20
|
|
|
15
|
-
|
|
16
|
-
|---|---|
|
|
17
|
-
| `01-market-overview.jpg` | `v0.2.73` 当前 Mock 市场:800px 面板、桌面两列、推荐章节和 9 分类;未连接企查查卡片显示“连接” |
|
|
18
|
-
| `02-connector-detail.jpg` | `v0.2.73` 当前 Mock OAuth 连接器详情:权限边界、试用 Prompt 和未连接工具状态 |
|
|
19
|
-
| `03-tool-discovery.jpg` | `v0.2.37` Context7 无凭据 Mock 健康状态、Mock 工具数量/描述、搜索和独立滚动区 |
|
|
20
|
-
| `04-json-import.jpg` | `v0.2.73` 当前 Mock Streamable HTTP / stdio JSON 导入、格式化、作用域和本机凭据提示 |
|
|
21
|
-
| `05-unified-tool-search.png` | `v0.2.46` 统一工具搜索:跨连接结果、来源、发现失败和最后成功缓存 |
|
|
22
|
-
| `06-tool-parameters.png` | `v0.2.46` 参数详情:必填、类型、枚举、嵌套结构和原始安全 Schema |
|
|
23
|
-
| `07-connection-diagnostics.png` | `v0.2.73` 当前 Mock 连接诊断:成功缓存、模拟网络与传输失败、建议、“检查连接”和“重新发现工具” |
|
|
21
|
+
## 更新与发布
|
|
24
22
|
|
|
25
|
-
|
|
23
|
+
GitHub Markdown 不执行变量。`package.json.version` 是版本唯一源,运行 `npm run docs:sync` 生成有标记的当前版本文案;历史 Changelog、验收日期、最低支持版本和已发布文章记录不作全局替换。
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
1. 修改版本或产品 UI 后,安装开发采集依赖:`npm install --no-save --legacy-peer-deps playwright@1.62.1`,并运行 `npx playwright install chromium`;另需 ffmpeg 和中文字体。
|
|
26
|
+
2. 执行 `npm run storefront:capture`。脚本只启动随机回环端口,隔离浏览器不加载外部资源;支持 `CHROMIUM_EXECUTABLE` 指定本机 Chromium,`PLAYWRIGHT_MODULE` 指定开发依赖路径。
|
|
27
|
+
3. 执行 `npm run docs:sync && npm run storefront:freshness && npm run check`,人工查看全部截图及 GIF,再随 PR 提交。不要仅修改 assets.json 的版本或日期。
|
|
28
|
+
4. Release 工作流在发布前验证采集版本、源码指纹和 14 天有效期;旧图不会静默进入新的正式版本。先准备素材再打 Tag,不在不可变 Tag 上改图。
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
产品素材工作流在 UI 主线更新、正式 Release 后、每周及手动触发时检查;需要更新时生成截图与文案,并更新同一个维护 PR。自动化只提出 PR,不自动合并,不向社交平台发布。GitHub/npm/CDN 缓存可能延迟,外部市场同步仍需复核。
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"capture": {
|
|
4
|
-
"capturedOn": "2026-10-
|
|
5
|
-
"sourceVersion": "0.2.
|
|
4
|
+
"capturedOn": "2026-10-26",
|
|
5
|
+
"sourceVersion": "0.2.83",
|
|
6
|
+
"sourceFingerprint": "4a677c677d57b6389199d2bf6dfd5b376182444dd1105ba7afd34c335eb3b29e",
|
|
6
7
|
"browserViewport": {
|
|
7
8
|
"width": 1280,
|
|
8
9
|
"height": 720
|
|
@@ -10,74 +11,73 @@
|
|
|
10
11
|
"productPanelWidth": 800,
|
|
11
12
|
"desktopCardColumns": 2,
|
|
12
13
|
"state": "credential-free-mock",
|
|
13
|
-
"
|
|
14
|
-
"notes": "01, 02, 04 and 07 were captured from the v0.2.73 credential-free UI harness on 2026-10-16; 03 preserves the 2026-09-06 v0.2.37 snapshot; 05, 06 and demo.gif preserve the 2026-09-14 v0.2.46 harness capture."
|
|
14
|
+
"notes": "All assets re-rendered from the current credential-free harness; no production profile, credentials or provider calls."
|
|
15
15
|
},
|
|
16
16
|
"screenshots": [
|
|
17
17
|
{
|
|
18
18
|
"path": "docs/screenshots/01-market-overview.jpg",
|
|
19
|
-
"sha256": "
|
|
19
|
+
"sha256": "97265e2142b290c8ffdf75a402e65da6c1c34939adaba28ea4175d834a4252fa",
|
|
20
20
|
"width": 1280,
|
|
21
21
|
"height": 720,
|
|
22
|
-
"capturedOn": "2026-10-
|
|
23
|
-
"sourceVersion": "0.2.
|
|
22
|
+
"capturedOn": "2026-10-26",
|
|
23
|
+
"sourceVersion": "0.2.83"
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"path": "docs/screenshots/02-connector-detail.jpg",
|
|
27
|
-
"sha256": "
|
|
27
|
+
"sha256": "5c4433afc32d5ff629f3ce13c546ac8ed0ee7a09cfa321dadb691aae980192db",
|
|
28
28
|
"width": 1280,
|
|
29
29
|
"height": 720,
|
|
30
|
-
"capturedOn": "2026-10-
|
|
31
|
-
"sourceVersion": "0.2.
|
|
30
|
+
"capturedOn": "2026-10-26",
|
|
31
|
+
"sourceVersion": "0.2.83"
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
"path": "docs/screenshots/03-tool-discovery.jpg",
|
|
35
|
-
"sha256": "
|
|
35
|
+
"sha256": "058f5aea7d11845677fb77937af82b4ad2957db363fde412e45aa9e579d7b586",
|
|
36
36
|
"width": 1280,
|
|
37
37
|
"height": 720,
|
|
38
|
-
"capturedOn": "2026-
|
|
39
|
-
"sourceVersion": "0.2.
|
|
38
|
+
"capturedOn": "2026-10-26",
|
|
39
|
+
"sourceVersion": "0.2.83"
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"path": "docs/screenshots/04-json-import.jpg",
|
|
43
|
-
"sha256": "
|
|
43
|
+
"sha256": "1d40f4d02b0338c192419f7f71dbf420faa8c92d4d0a5fd9f7676b7822bfcdb8",
|
|
44
44
|
"width": 1280,
|
|
45
45
|
"height": 720,
|
|
46
|
-
"capturedOn": "2026-10-
|
|
47
|
-
"sourceVersion": "0.2.
|
|
46
|
+
"capturedOn": "2026-10-26",
|
|
47
|
+
"sourceVersion": "0.2.83"
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"path": "docs/screenshots/05-unified-tool-search.png",
|
|
51
|
-
"sha256": "
|
|
51
|
+
"sha256": "e172da60d9abcf77639287180a4fd6b4b5dca1a95ba0f3967d7d36488fdae795",
|
|
52
52
|
"width": 1280,
|
|
53
53
|
"height": 720,
|
|
54
|
-
"capturedOn": "2026-
|
|
55
|
-
"sourceVersion": "0.2.
|
|
54
|
+
"capturedOn": "2026-10-26",
|
|
55
|
+
"sourceVersion": "0.2.83"
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"path": "docs/screenshots/06-tool-parameters.png",
|
|
59
|
-
"sha256": "
|
|
59
|
+
"sha256": "f09f04513af0f3ee40c455df5c537b1635ae42e83073c455bfd25db0e35625b7",
|
|
60
60
|
"width": 1280,
|
|
61
61
|
"height": 720,
|
|
62
|
-
"capturedOn": "2026-
|
|
63
|
-
"sourceVersion": "0.2.
|
|
62
|
+
"capturedOn": "2026-10-26",
|
|
63
|
+
"sourceVersion": "0.2.83"
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
"path": "docs/screenshots/07-connection-diagnostics.png",
|
|
67
|
-
"sha256": "
|
|
67
|
+
"sha256": "457898c3a256c06f613cc602dcd69193f54fcc59b5ca278228e66fc31a7e32cc",
|
|
68
68
|
"width": 1280,
|
|
69
69
|
"height": 720,
|
|
70
|
-
"capturedOn": "2026-10-
|
|
71
|
-
"sourceVersion": "0.2.
|
|
70
|
+
"capturedOn": "2026-10-26",
|
|
71
|
+
"sourceVersion": "0.2.83"
|
|
72
72
|
}
|
|
73
73
|
],
|
|
74
74
|
"demo": {
|
|
75
75
|
"path": "docs/demo.gif",
|
|
76
|
-
"sha256": "
|
|
76
|
+
"sha256": "7501018e2e32d565a309473c666f1cf02601746ce78e04d2452a4368f851c1f1",
|
|
77
77
|
"width": 960,
|
|
78
78
|
"height": 540,
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
79
|
+
"capturedOn": "2026-10-26",
|
|
80
|
+
"sourceVersion": "0.2.83",
|
|
81
|
+
"durationSeconds": 36
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
| 项目 | 验收要求 |
|
|
10
10
|
|---|---|
|
|
11
|
-
| 前提 |
|
|
11
|
+
| 前提 | <!-- generated:version -->正式 `dsh-mcp-connector@0.2.83`<!-- /generated:version -->;当前 Workspace;企查查 OAuth 可用;测试账号具有目标企业数据权限 |
|
|
12
12
|
| 权限/管理员 | 账号权限、组织授权和可见字段由服务商控制;企业组织可能需要管理员开通,当前文档不能替代审批 |
|
|
13
13
|
| 费用 | 可能受套餐、次数或字段权限影响;MCP连接器无法确认本次费用,调用前在服务商侧核对 |
|
|
14
14
|
| 运行/数据去向 | 远程 MCP Server;企业名称、查询参数和调用结果经 DSH Host 发送到/返回自 `agent.qcc.com` |
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
| 素材 | 证据类别 | 已证明 | 未证明 | 公开使用边界 |
|
|
8
8
|
|---|---|---|---|---|
|
|
9
|
-
| [企业简介首次成功案例](ONE-SUCCESS-CASE.md) | 历史真实只读调用的脱敏摘要 | 2026-10-16 已有 `qcc-company` 连接完成一次 `get_company_profile` 只读调用,返回主体名称一致 |
|
|
9
|
+
| [企业简介首次成功案例](ONE-SUCCESS-CASE.md) | 历史真实只读调用的脱敏摘要 | 2026-10-16 已有 `qcc-company` 连接完成一次 `get_company_profile` 只读调用,返回主体名称一致 | 当前版本流程、首次安装、首次 OAuth、JSON 迁移、连接恢复 | 可引用文档中的脱敏结论;不得复制原始业务正文、账号或凭据 |
|
|
10
10
|
| [JSON 迁移教程](JSON-MIGRATION.md) | 流程文档 + localhost/合成测试 | 导入标准化、连接记录、Host 透传等代码路径有自动化覆盖 | 获授权真实 Server 的导入、发现和业务调用端到端成功 | 必须写“自动测试通过;真实 E2E 未测试/待验收” |
|
|
11
11
|
| [工具查找与恢复教程](TOOL-SEARCH-RECOVERY.md) | 流程文档 + localhost/合成测试 | 失败保留最后成功缓存、重新发现恢复、筛选/分页/限流等代码路径有自动化覆盖 | 真实连接从故障到恢复,以及恢复后的真实业务调用 | 缓存、健康检查和重新发现都不能写成业务调用成功 |
|
|
12
12
|
| [社区分享素材包](SHARING-KIT.md) | 作者指引 | 提供可复现提纲、披露和人工记录方法 | 尚未发生的发帖、转化或业务成功 | 不要求好评、Star 或转发;当前没有自动公开发布 |
|
|
@@ -17,9 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
| 资产 | 来源版本 | 可以说明 | 不能说明 | 建议图注 |
|
|
19
19
|
|---|---|---|---|---|
|
|
20
|
-
| `01`、`
|
|
21
|
-
| `03` | v0.2.37 | 历史工具发现界面 | 当前版本行为或业务可用性 | “历史界面演示,v0.2.37 无凭据 Mock。” |
|
|
22
|
-
| `05`、`06`、`demo.gif` | v0.2.46 | 历史统一搜索、参数和演示流程 | 当前版本行为、真实恢复或业务成功 | “历史界面演示,v0.2.46 无凭据 Mock。” |
|
|
20
|
+
| `01`–`07`、`demo.gif` | 见 [assets.json](../screenshots/assets.json) | 无凭据 Mock 界面与操作流程 | 真实授权、真实恢复或业务成功 | 引用素材清单中的采集版本与日期,标注“无凭据 Mock”。 |
|
|
23
21
|
|
|
24
22
|
`workspace/p0-evidence-2026-10-16/` 中的图片是本机真实 DSH Market 搜索页面,但仅用于搜索排名复核,未上传公共仓库且仍需隐私审查;它们不能证明连接、恢复或业务调用成功。
|
|
25
23
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
## 图片与视频素材
|
|
20
20
|
|
|
21
|
-
使用[截图目录及来源说明](../screenshots/README.md),不要重制或抹掉 Mock
|
|
21
|
+
使用[截图目录及来源说明](../screenshots/README.md),不要重制或抹掉 Mock 标记。采集版本与日期统一以[素材清单](../screenshots/assets.json)为准;不能把界面演示当作真实调用截图。
|
|
22
22
|
|
|
23
23
|
可用图注:“MCP连接器界面演示,Mock 数据;素材版本见来源说明,实际界面以安装版本为准。”
|
|
24
24
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-mcp-connector",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.83",
|
|
4
4
|
"description": "DeepSeek Harness MCP Connector: connect servers, search tools across active connections, and troubleshoot discovery. Includes a continuously updated catalog; supports OAuth 2.0 PKCE, API keys, Streamable HTTP/stdio, and mcpServers JSON import.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"market:check": "node scripts/check-market-registration.mjs",
|
|
56
56
|
"distribution:check:live": "node scripts/check-distribution-sync.mjs --strict-sync",
|
|
57
57
|
"registry:stats:sync": "node scripts/sync-registry-stats.mjs",
|
|
58
|
-
"docs:check": "node scripts/check-readme-version.mjs",
|
|
58
|
+
"docs:check": "node scripts/check-readme-version.mjs && node scripts/sync-product-docs.mjs --check",
|
|
59
59
|
"docs:first-use:check": "node scripts/check-first-use-docs.mjs",
|
|
60
60
|
"marketing:check": "node scripts/check-marketing-metadata.mjs",
|
|
61
61
|
"marketing:check:github": "node scripts/check-marketing-metadata.mjs --live-github",
|
|
@@ -65,7 +65,10 @@
|
|
|
65
65
|
"verify-pack": "node scripts/verify-pack.mjs",
|
|
66
66
|
"docs:tutorial-links:check": "node scripts/check-tutorial-links.mjs",
|
|
67
67
|
"check": "npm run lint && npm run docs:check && npm run docs:first-use:check && npm run marketing:check && npm run storefront:check && npm test && npm run verify-pack && npm run docs:tutorial-links:check",
|
|
68
|
-
"prepublishOnly": "npm run check"
|
|
68
|
+
"prepublishOnly": "npm run check",
|
|
69
|
+
"docs:sync": "node scripts/sync-product-docs.mjs",
|
|
70
|
+
"storefront:capture": "node scripts/capture-storefront.mjs",
|
|
71
|
+
"storefront:freshness": "node scripts/check-media-freshness.mjs"
|
|
69
72
|
},
|
|
70
73
|
"keywords": [
|
|
71
74
|
"deepseek-harness",
|
package/ui/index.html
CHANGED
|
@@ -389,12 +389,22 @@
|
|
|
389
389
|
/* 页面内确认框(替代原生 confirm)。原生 confirm 在桌面壳里走 Win32 TaskDialog,
|
|
390
390
|
关闭后不会把键盘焦点还给页面,用户必须切一次窗口才能继续输入;因此所有确认
|
|
391
391
|
都改走这里。z-index 高于 .modal(200),因为多处确认是在模态内部触发的。 */
|
|
392
|
-
|
|
392
|
+
/* 遮罩本身可滚动兜底:内容再高也能滚到按钮,不会把确认框顶出视口。 */
|
|
393
|
+
.confirm-mask { position: fixed; inset: 0; background: rgba(0,0,0,0.52); display: none; align-items: center; justify-content: center; z-index: 300; overflow-y: auto; padding: 24px 0; }
|
|
393
394
|
.confirm-mask.show { display: flex; }
|
|
394
|
-
|
|
395
|
-
.confirm-box
|
|
396
|
-
|
|
397
|
-
|
|
395
|
+
/* 弹窗自身限高并内部滚动,操作按钮始终可见(工具清单可能有上百条)。 */
|
|
396
|
+
.confirm-box {
|
|
397
|
+
background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
|
|
398
|
+
padding: 22px 24px; width: 460px; max-width: 92vw; box-shadow: var(--shadow-lg);
|
|
399
|
+
max-height: calc(100vh - 48px); display: flex; flex-direction: column;
|
|
400
|
+
}
|
|
401
|
+
.confirm-box h3 { margin: 0 0 12px; font-size: 15px; flex: 0 0 auto; }
|
|
402
|
+
.confirm-message {
|
|
403
|
+
margin: 0; white-space: pre-wrap; word-break: break-word; color: var(--text-2); font-size: 13px; line-height: 1.6;
|
|
404
|
+
flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain;
|
|
405
|
+
padding-right: 4px;
|
|
406
|
+
}
|
|
407
|
+
.confirm-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 18px; flex: 0 0 auto; }
|
|
398
408
|
|
|
399
409
|
.modal .m-actions {
|
|
400
410
|
position: sticky; bottom: 0; z-index: 2;
|
|
@@ -1372,6 +1382,21 @@
|
|
|
1372
1382
|
pending.resolve(result);
|
|
1373
1383
|
}
|
|
1374
1384
|
|
|
1385
|
+
// 工具清单可能上百条:只列前若干项再补计数,避免确认框里堆一屏工具名。
|
|
1386
|
+
const SCOPE_TOOLS_INLINE_LIMIT = 12;
|
|
1387
|
+
|
|
1388
|
+
function scopeAffectedText(servers) {
|
|
1389
|
+
return (servers || []).map((server) => {
|
|
1390
|
+
const tools = server.tools || [];
|
|
1391
|
+
if (!tools.length) return `${server.serverName}:工具清单尚未观察`;
|
|
1392
|
+
const shown = tools.slice(0, SCOPE_TOOLS_INLINE_LIMIT).join('、');
|
|
1393
|
+
const rest = tools.length > SCOPE_TOOLS_INLINE_LIMIT
|
|
1394
|
+
? `、…等共 ${tools.length} 个`
|
|
1395
|
+
: '';
|
|
1396
|
+
return `${server.serverName}:${shown}${rest}`;
|
|
1397
|
+
}).join('\n');
|
|
1398
|
+
}
|
|
1399
|
+
|
|
1375
1400
|
function confirmDialog(options = {}) {
|
|
1376
1401
|
// 后到的确认先让前一个以"取消"收尾,避免它的 await 永远挂起。
|
|
1377
1402
|
if (activeConfirm) closeConfirm(false);
|
|
@@ -2103,10 +2128,7 @@
|
|
|
2103
2128
|
});
|
|
2104
2129
|
setModalBusy(false);
|
|
2105
2130
|
if (!preview.ok || !preview.detail?.canApply) { showModalError(preview.message); return; }
|
|
2106
|
-
const affected = (preview.detail.impact?.servers
|
|
2107
|
-
const toolText = server.tools?.length ? server.tools.join('、') : '工具清单尚未观察';
|
|
2108
|
-
return `${server.serverName}:${toolText}`;
|
|
2109
|
-
}).join('\n');
|
|
2131
|
+
const affected = scopeAffectedText(preview.detail.impact?.servers);
|
|
2110
2132
|
if (!await confirmDialog({
|
|
2111
2133
|
title: '变更连接范围',
|
|
2112
2134
|
message: `${preview.message}\n${affected}\n\n确认${mode === 'copy' ? '复制到' : '移动到'}所选范围?`,
|
|
@@ -2132,10 +2154,7 @@
|
|
|
2132
2154
|
if (scopeRollbackRevision === null) return;
|
|
2133
2155
|
const preview = await call('previewConnectionScopeRollback', { rollbackRevision: scopeRollbackRevision });
|
|
2134
2156
|
if (!preview.ok) { showToast(preview.message, false); return; }
|
|
2135
|
-
const affected = (preview.detail?.impact?.servers
|
|
2136
|
-
const toolText = server.tools?.length ? server.tools.join('、') : '工具清单尚未观察';
|
|
2137
|
-
return `${server.serverName}:${toolText}`;
|
|
2138
|
-
}).join('\n');
|
|
2157
|
+
const affected = scopeAffectedText(preview.detail?.impact?.servers);
|
|
2139
2158
|
if (!await confirmDialog({
|
|
2140
2159
|
title: '回滚连接范围',
|
|
2141
2160
|
message: `${preview.message}\n${affected}\n\n确认将全部连接范围恢复到 revision=${scopeRollbackRevision}?`,
|