@visualization-hub/dev-mcp 1.0.1 → 1.0.2
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.
|
@@ -2,17 +2,20 @@ export interface IDeveloperGuideArgs {
|
|
|
2
2
|
stage?: 'init' | 'scaffold' | 'coding' | 'build' | 'compliance' | 'upload' | 'all';
|
|
3
3
|
}
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* VisualizationHub_get_developer_guide: 全流程阶段性开发指引与红线导航工具
|
|
6
|
+
* 融合【新建项目】与【二次开发】标准工程化闭环路径
|
|
6
7
|
*/
|
|
7
8
|
export declare function handleGetDeveloperGuide(args: IDeveloperGuideArgs): Promise<{
|
|
8
9
|
success: boolean;
|
|
9
10
|
current_stage: "init" | "scaffold" | "coding" | "build" | "compliance" | "upload";
|
|
10
11
|
stage_detail: any;
|
|
11
12
|
workflow_overview?: undefined;
|
|
13
|
+
mandatory_agent_instruction?: undefined;
|
|
12
14
|
lifecycle_stages?: undefined;
|
|
13
15
|
} | {
|
|
14
16
|
success: boolean;
|
|
15
17
|
workflow_overview: string;
|
|
18
|
+
mandatory_agent_instruction: string;
|
|
16
19
|
lifecycle_stages: {
|
|
17
20
|
init: {
|
|
18
21
|
stage_name: string;
|
|
@@ -54,26 +57,61 @@ export declare function handleGetDeveloperGuide(args: IDeveloperGuideArgs): Prom
|
|
|
54
57
|
current_stage?: undefined;
|
|
55
58
|
stage_detail?: undefined;
|
|
56
59
|
}>;
|
|
60
|
+
/**
|
|
61
|
+
* VisualizationHub_get_project_rule: 获取组件开发规范与 13 项沙箱合规硬性约束
|
|
62
|
+
*/
|
|
57
63
|
export declare function handleGetProjectRule(args?: {
|
|
58
64
|
section?: string;
|
|
59
65
|
}): Promise<{
|
|
60
66
|
success: boolean;
|
|
61
67
|
section: string;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
rule_content: any;
|
|
69
|
+
rules_overview?: undefined;
|
|
70
|
+
rules?: undefined;
|
|
71
|
+
} | {
|
|
72
|
+
success: boolean;
|
|
73
|
+
rules_overview: string;
|
|
74
|
+
rules: {
|
|
75
|
+
standard_framework_requirement: {
|
|
76
|
+
title: string;
|
|
77
|
+
rule: string;
|
|
78
|
+
file_structure: string[];
|
|
79
|
+
};
|
|
80
|
+
four_coding_red_lines: {
|
|
81
|
+
title: string;
|
|
82
|
+
red_lines: string[];
|
|
83
|
+
};
|
|
84
|
+
sandbox_13_rules: {
|
|
85
|
+
title: string;
|
|
86
|
+
rules: {
|
|
87
|
+
id: string;
|
|
88
|
+
name: string;
|
|
89
|
+
score: number;
|
|
90
|
+
check: string;
|
|
91
|
+
}[];
|
|
92
|
+
};
|
|
93
|
+
local_dev_toolchain: {
|
|
94
|
+
title: string;
|
|
95
|
+
instructions: string[];
|
|
96
|
+
};
|
|
68
97
|
};
|
|
98
|
+
section?: undefined;
|
|
99
|
+
rule_content?: undefined;
|
|
69
100
|
}>;
|
|
101
|
+
/**
|
|
102
|
+
* VisualizationHub_get_global_packages: 获取全局内置引擎与扩展库清单
|
|
103
|
+
*/
|
|
70
104
|
export declare function handleGetGlobalPackages(args?: {
|
|
71
105
|
page_type?: string;
|
|
72
106
|
category?: string;
|
|
73
107
|
}): Promise<{
|
|
74
108
|
success: boolean;
|
|
109
|
+
page_type: string;
|
|
75
110
|
packages: any;
|
|
76
111
|
}>;
|
|
112
|
+
/**
|
|
113
|
+
* VisualizationHub_get_project_url: 获取组件沙箱真实在线预览 URL
|
|
114
|
+
*/
|
|
77
115
|
export declare function handleGetProjectUrl(args: {
|
|
78
116
|
project_name: string;
|
|
79
117
|
name?: string;
|
|
@@ -84,8 +122,19 @@ export declare function handleGetProjectUrl(args: {
|
|
|
84
122
|
version: string;
|
|
85
123
|
preview_url: string;
|
|
86
124
|
}>;
|
|
125
|
+
/**
|
|
126
|
+
* VisualizationHub_get_development_workflow: 获取 10 步标准化研发流程
|
|
127
|
+
*/
|
|
87
128
|
export declare function handleGetDevelopmentWorkflow(): Promise<{
|
|
88
129
|
success: boolean;
|
|
89
|
-
|
|
130
|
+
title: string;
|
|
131
|
+
workflow_principles: string;
|
|
132
|
+
steps: {
|
|
133
|
+
step: number;
|
|
134
|
+
phase: string;
|
|
135
|
+
action: string;
|
|
136
|
+
tool: string;
|
|
137
|
+
description: string;
|
|
138
|
+
}[];
|
|
90
139
|
}>;
|
|
91
140
|
//# sourceMappingURL=environment.tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.tools.d.ts","sourceRoot":"","sources":["../../src/tools/environment.tools.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC;CACpF;AAED
|
|
1
|
+
{"version":3,"file":"environment.tools.d.ts","sourceRoot":"","sources":["../../src/tools/environment.tools.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC;CACpF;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoGtE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsErE;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;;;;GAQ7F;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;GAexG;AAED;;GAEG;AACH,wBAAsB,4BAA4B;;;;;;;;;;;GA8EjD"}
|
|
@@ -8,66 +8,89 @@ exports.handleGetDevelopmentWorkflow = handleGetDevelopmentWorkflow;
|
|
|
8
8
|
const environment_api_1 = require("../client/environment-api");
|
|
9
9
|
const config_1 = require("../config");
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* VisualizationHub_get_developer_guide: 全流程阶段性开发指引与红线导航工具
|
|
12
|
+
* 融合【新建项目】与【二次开发】标准工程化闭环路径
|
|
12
13
|
*/
|
|
13
14
|
async function handleGetDeveloperGuide(args) {
|
|
14
15
|
const stage = args?.stage || 'all';
|
|
15
16
|
const stagesData = {
|
|
16
17
|
init: {
|
|
17
|
-
stage_name: 'Phase 1:
|
|
18
|
-
recommended_tools: [
|
|
18
|
+
stage_name: 'Phase 1: 需求分析与前置资产调研 (init)',
|
|
19
|
+
recommended_tools: [
|
|
20
|
+
'VisualizationHub_search_projects',
|
|
21
|
+
'VisualizationHub_list_categories',
|
|
22
|
+
'VisualizationHub_get_global_packages'
|
|
23
|
+
],
|
|
19
24
|
guidelines: [
|
|
20
|
-
'
|
|
21
|
-
'调用
|
|
25
|
+
'先调用 VisualizationHub_search_projects 检索知识库平台中是否存在相似功能或同技术栈的已有组件',
|
|
26
|
+
'调用 VisualizationHub_get_global_packages 确认目标技术栈(Cesium, Three, OpenLayers 等)全局内置引擎版本及可选扩展库 (/static/libs)',
|
|
27
|
+
'根据用户需求明确研发模式:【全新创建】或【基于已有组件二次开发/迁移】'
|
|
22
28
|
],
|
|
23
29
|
next_stage: 'scaffold'
|
|
24
30
|
},
|
|
25
31
|
scaffold: {
|
|
26
|
-
stage_name: 'Phase 2:
|
|
27
|
-
recommended_tools: [
|
|
32
|
+
stage_name: 'Phase 2: 本地标准工程脚手架就绪 (scaffold)',
|
|
33
|
+
recommended_tools: [
|
|
34
|
+
'VisualizationHub_create_component_project',
|
|
35
|
+
'VisualizationHub_download_component_project'
|
|
36
|
+
],
|
|
28
37
|
guidelines: [
|
|
29
|
-
'
|
|
30
|
-
'
|
|
38
|
+
'【新建组件强制规范】:必须主动调用 VisualizationHub_create_component_project 一键生成标准 Vue 3 + TypeScript + Vite + Less 工程脚手架(严禁手写孤立单文件或非标目录)',
|
|
39
|
+
'【二次开发强制规范】:必须主动调用 VisualizationHub_download_component_project 将远端组件源码包直接拉取并就地解压至本地目标目录,继承标准工程结构',
|
|
40
|
+
'标准工程开箱即具备 project.json、index.vue、index.ts、index.less、util.ts、type.ts 等多文件结构,默认预置 13 项沙箱合规骨架'
|
|
31
41
|
],
|
|
32
42
|
next_stage: 'coding'
|
|
33
43
|
},
|
|
34
44
|
coding: {
|
|
35
|
-
stage_name: 'Phase 3:
|
|
36
|
-
recommended_tools: [
|
|
45
|
+
stage_name: 'Phase 3: 模块化业务编码与红线合规 (coding)',
|
|
46
|
+
recommended_tools: [
|
|
47
|
+
'VisualizationHub_get_project_rule',
|
|
48
|
+
'VisualizationHub_grep_source_code',
|
|
49
|
+
'VisualizationHub_get_file_content'
|
|
50
|
+
],
|
|
37
51
|
guidelines: [
|
|
38
|
-
'
|
|
39
|
-
'【红线
|
|
40
|
-
'【红线
|
|
41
|
-
'【红线
|
|
52
|
+
'【多文件职责分离】:严格遵循 index.vue (主视图模板) + index.ts (入口与装配) + index.less (独立样式) + util.ts (纯函数工具) + type.ts (接口定义) 的模块化结构',
|
|
53
|
+
'【红线 1 · 禁止重复底图容器】:严禁在 template 中创建 #cesiumContainer 或重复 new Cesium.Viewer,直接使用沙箱注入的全局底图对象 (window.viewer / window.cesiumViewer / window.map)',
|
|
54
|
+
'【红线 2 · 杜绝 Unicode Emoji】:严禁使用 🚀, 🛸, 📊 等 emoji 字符,所有界面图标统一使用 Element Plus 官方图标 (@element-plus/icons-vue)',
|
|
55
|
+
'【红线 3 · 数据持久化隔离】:组件增删改查统一使用 localStorage 模拟持久化(加组件名命名空间前缀),严禁直连外部未授权数据库',
|
|
56
|
+
'【红线 4 · 必须清理资源与事件】:必须在 onUnmounted 钩子中彻底销毁定时器、移除 DataSource / Entity / Primitive 图层与释放全局事件监听'
|
|
42
57
|
],
|
|
43
58
|
next_stage: 'build'
|
|
44
59
|
},
|
|
45
60
|
build: {
|
|
46
|
-
stage_name: 'Phase 4:
|
|
47
|
-
recommended_tools: [
|
|
61
|
+
stage_name: 'Phase 4: 本地独立编译构建 (build)',
|
|
62
|
+
recommended_tools: [
|
|
63
|
+
'VisualizationHub_build_component_project'
|
|
64
|
+
],
|
|
48
65
|
guidelines: [
|
|
49
|
-
'
|
|
50
|
-
'
|
|
51
|
-
'
|
|
66
|
+
'编写完成后,必须调用 VisualizationHub_build_component_project 执行本地 Vite 编译打包',
|
|
67
|
+
'编译器将自动化输出沙箱专属的 dist/index.js 与 dist/index.css 构建产物',
|
|
68
|
+
'若存在 TypeScript 类型报错或语法问题,可在本地直接查看精确行号并快速修复,实现零依赖本地闭环'
|
|
52
69
|
],
|
|
53
70
|
next_stage: 'compliance'
|
|
54
71
|
},
|
|
55
72
|
compliance: {
|
|
56
|
-
stage_name: 'Phase 5: 13
|
|
57
|
-
recommended_tools: [
|
|
73
|
+
stage_name: 'Phase 5: 13 项沙箱合规静态扫描 (compliance)',
|
|
74
|
+
recommended_tools: [
|
|
75
|
+
'VisualizationHub_check_sandbox_compliance'
|
|
76
|
+
],
|
|
58
77
|
guidelines: [
|
|
59
|
-
'
|
|
60
|
-
'
|
|
78
|
+
'打包完成后,必须调用 VisualizationHub_check_sandbox_compliance 对工程源码执行 13 项规则静态扫描',
|
|
79
|
+
'合规检查涵盖:project.json 完整性、HUD pointer-events 穿透、底图容器排查、Emoji 排查、onUnmounted 资源清理、HUD 定位、localStorage 隔离、多文件职责分离、Vite External 排除、dist/ 产物就绪等',
|
|
80
|
+
'自检得分达到 100 分(或 >= 75 分且无阻断项)方可准出上传发布'
|
|
61
81
|
],
|
|
62
82
|
next_stage: 'upload'
|
|
63
83
|
},
|
|
64
84
|
upload: {
|
|
65
|
-
stage_name: 'Phase 6:
|
|
66
|
-
recommended_tools: [
|
|
85
|
+
stage_name: 'Phase 6: 物理流秒级发布与沙箱验证 (upload)',
|
|
86
|
+
recommended_tools: [
|
|
87
|
+
'VisualizationHub_upload_component_project',
|
|
88
|
+
'VisualizationHub_get_project_url'
|
|
89
|
+
],
|
|
67
90
|
guidelines: [
|
|
68
|
-
'
|
|
69
|
-
'
|
|
70
|
-
'
|
|
91
|
+
'合规准出后,调用 VisualizationHub_upload_component_project 执行底层 HTTP 物理流秒级直传发布(耗时 < 0.1s,0 Token 消耗)',
|
|
92
|
+
'开发调试阶段使用 uploadType: "test"(快速覆盖测试版);正式定版发布使用 uploadType: "final"(自动归档并触发封面快照)',
|
|
93
|
+
'发布成功后调用 VisualizationHub_get_project_url 获取沉浸式沙箱预览 URL,在浏览器中验证 3D/2D 渲染与交互功能'
|
|
71
94
|
],
|
|
72
95
|
next_stage: 'completed'
|
|
73
96
|
}
|
|
@@ -81,32 +104,97 @@ async function handleGetDeveloperGuide(args) {
|
|
|
81
104
|
}
|
|
82
105
|
return {
|
|
83
106
|
success: true,
|
|
84
|
-
workflow_overview: '
|
|
107
|
+
workflow_overview: '【可视化知识库/前端知识库/低空知识库/Visualization Hub】全生命周期闭环研发标准指引',
|
|
108
|
+
mandatory_agent_instruction: '【Agent 强制规范】:在为用户创建全新组件时,必须主动调用 VisualizationHub_create_component_project 生成标准工程;在二次开发/迁移已有组件时,必须主动调用 VisualizationHub_download_component_project 就地解压工程,并在编码完成后通过 build_component_project 和 check_sandbox_compliance 闭环自检后方可发布。',
|
|
85
109
|
lifecycle_stages: stagesData
|
|
86
110
|
};
|
|
87
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* VisualizationHub_get_project_rule: 获取组件开发规范与 13 项沙箱合规硬性约束
|
|
114
|
+
*/
|
|
88
115
|
async function handleGetProjectRule(args) {
|
|
89
116
|
const section = args?.section || 'all';
|
|
117
|
+
const rulesData = {
|
|
118
|
+
standard_framework_requirement: {
|
|
119
|
+
title: '1. 标准工程框架与目录规范 (强制)',
|
|
120
|
+
rule: '严禁直接创建孤立单文件脚本!必须使用多文件标准工程架构:',
|
|
121
|
+
file_structure: [
|
|
122
|
+
'project.json [必需] 组件元数据清单 (name, version, pageType, entry, title, description, tags, libraries)',
|
|
123
|
+
'index.vue [必需] Vue 3 SFC 单文件组件 (主视图模板,组合式 API <script setup lang="ts">)',
|
|
124
|
+
'index.ts [必需] 组件对外导出入口与核心装配逻辑',
|
|
125
|
+
'index.less [必需] 组件独立作用域样式表',
|
|
126
|
+
'util.ts [推荐] 专用纯函数、空间数学计算、坐标转换工具方法',
|
|
127
|
+
'type.ts [推荐] TypeScript 接口 (IProps, IState) 与数据契约定义',
|
|
128
|
+
'dist/index.js [构建产物] 由 VisualizationHub_build_component_project 编译生成的沙箱专属运行包'
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
four_coding_red_lines: {
|
|
132
|
+
title: '2. 组件开发 4 大红线禁忌 (违规阻断发布)',
|
|
133
|
+
red_lines: [
|
|
134
|
+
'【红线 1】禁止在 template 中创建底图容器:严禁出现 <div id="cesiumContainer"></div> 或 new Cesium.Viewer(),必须直接复用沙箱注入的 window.viewer / window.map',
|
|
135
|
+
'【红线 2】杜绝 Unicode Emoji:严禁在 UI 中使用 🚀, ✅, ⚠️ 等 emoji 字符,统一从 @element-plus/icons-vue 导入图标',
|
|
136
|
+
'【红线 3】数据持久化隔离:增删改查统一使用 localStorage (加组件名作为前缀如 "cesium-drone:routes"),严禁直连外部数据库',
|
|
137
|
+
'【红线 4】必须清理资源:在 onUnmounted 钩子中必须销毁所有定时器、移除图层/实体/Primitive,释放事件监听'
|
|
138
|
+
]
|
|
139
|
+
},
|
|
140
|
+
sandbox_13_rules: {
|
|
141
|
+
title: '3. 13 项沙箱合规自检规则清单 (满分 100 分,准出阈值 >= 75 分)',
|
|
142
|
+
rules: [
|
|
143
|
+
{ id: 'RULE-01', name: 'project.json 清单完备性', score: 10, check: '包含 name, version, title, pageType, entry 等必填项' },
|
|
144
|
+
{ id: 'RULE-02', name: 'HUD 穿透交互 pointer-events', score: 10, check: '面板容器样式声明 pointer-events: auto !important,不阻挡三维地球拖拽' },
|
|
145
|
+
{ id: 'RULE-03', name: '禁止 template 重复创建底图容器', score: 10, check: 'template 中不得包含 #cesiumContainer / #map 等底图标签' },
|
|
146
|
+
{ id: 'RULE-04', name: '禁止 Unicode Emoji 图标', score: 10, check: 'UI 必须使用 Element Plus 官方矢量图标库' },
|
|
147
|
+
{ id: 'RULE-05', name: 'onUnmounted 资源与定时器销毁', score: 10, check: 'SFC 必须包含 onUnmounted 销毁钩子' },
|
|
148
|
+
{ id: 'RULE-06', name: 'HUD 主操作面板统一左上角定位', score: 10, check: '面板样式设置 position: absolute; top: 16px; left: 16px;' },
|
|
149
|
+
{ id: 'RULE-07', name: '数据持久化规范 (localStorage 隔离)', score: 10, check: '数据持久化采用 localStorage,禁止直连外部 DB' },
|
|
150
|
+
{ id: 'RULE-08', name: '多文件工程职责分离', score: 10, check: 'Vue / TS / Less / Util 职责清晰分离' },
|
|
151
|
+
{ id: 'RULE-09', name: 'Vite External 排除全局可视化引擎', score: 10, check: '打包排除 vue, element-plus, cesium, three, echarts 等全局库' },
|
|
152
|
+
{ id: 'RULE-10', name: '本地构建产物 dist/ 就绪状态', score: 10, check: '工程包含有效的 dist/index.js 产物' },
|
|
153
|
+
{ id: 'RULE-11', name: '扩展三方库规范声明', score: 5, check: '引用的第三方库在 project.json 的 libraries 中显式声明' },
|
|
154
|
+
{ id: 'RULE-12', name: '样式作用域与防污染', score: 5, check: '样式必须使用 scoped 或独立的 Less 命名空间' },
|
|
155
|
+
{ id: 'RULE-13', name: '异步资源防崩与优雅降级', score: 5, check: 'Cesium / Three 异步加载 API 必须有 try-catch 容错' }
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
local_dev_toolchain: {
|
|
159
|
+
title: '4. 本地闭环研发工具链调用指令',
|
|
160
|
+
instructions: [
|
|
161
|
+
'【创建脚手架】: VisualizationHub_create_component_project({ projectName, pageType, title, description })',
|
|
162
|
+
'【下载二次开发】: VisualizationHub_download_component_project({ projectName, targetDir })',
|
|
163
|
+
'【本地编译打包】: VisualizationHub_build_component_project({ projectDir })',
|
|
164
|
+
'【沙箱合规自检】: VisualizationHub_check_sandbox_compliance({ projectDir })',
|
|
165
|
+
'【物理流直传发布】: VisualizationHub_upload_component_project({ projectDir, uploadType: "test"|"final" })',
|
|
166
|
+
'【获取预览地址】: VisualizationHub_get_project_url({ project_name, version })'
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
if (section !== 'all' && rulesData[section]) {
|
|
171
|
+
return {
|
|
172
|
+
success: true,
|
|
173
|
+
section,
|
|
174
|
+
rule_content: rulesData[section]
|
|
175
|
+
};
|
|
176
|
+
}
|
|
90
177
|
return {
|
|
91
178
|
success: true,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
hud_style: 'HUD 控制面板必须设置 position: absolute; top: 16px; left: 16px; pointer-events: auto !important;',
|
|
95
|
-
icons: '禁止使用 Unicode emoji (如 🚀, ✅),统一使用 Element Plus 官方图标库 @element-plus/icons-vue',
|
|
96
|
-
lifecycle: '在 onUnmounted 钩子中必须销毁定时器、移除实体图层与释放事件监听',
|
|
97
|
-
persistence: '数据增删改查统一使用 localStorage 模拟持久化,严禁直连外部数据库',
|
|
98
|
-
external_libs: 'vite.config.ts 必须配置 external 排除 vue, element-plus, cesium, three, echarts 等全局引擎'
|
|
99
|
-
}
|
|
179
|
+
rules_overview: '【可视化知识库/前端知识库/低空知识库/Visualization Hub】完整开发与沙箱约束规范',
|
|
180
|
+
rules: rulesData
|
|
100
181
|
};
|
|
101
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* VisualizationHub_get_global_packages: 获取全局内置引擎与扩展库清单
|
|
185
|
+
*/
|
|
102
186
|
async function handleGetGlobalPackages(args) {
|
|
103
187
|
const pageType = args?.page_type || args?.category;
|
|
104
188
|
const result = await (0, environment_api_1.getGlobalPackages)(pageType);
|
|
105
189
|
return {
|
|
106
190
|
success: true,
|
|
191
|
+
page_type: pageType || 'cesium',
|
|
107
192
|
packages: result
|
|
108
193
|
};
|
|
109
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* VisualizationHub_get_project_url: 获取组件沙箱真实在线预览 URL
|
|
197
|
+
*/
|
|
110
198
|
async function handleGetProjectUrl(args) {
|
|
111
199
|
const name = args.project_name || args.name;
|
|
112
200
|
if (!name) {
|
|
@@ -122,18 +210,85 @@ async function handleGetProjectUrl(args) {
|
|
|
122
210
|
preview_url: previewUrl
|
|
123
211
|
};
|
|
124
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* VisualizationHub_get_development_workflow: 获取 10 步标准化研发流程
|
|
215
|
+
*/
|
|
125
216
|
async function handleGetDevelopmentWorkflow() {
|
|
126
217
|
return {
|
|
127
218
|
success: true,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
219
|
+
title: '【可视化知识库/前端知识库/低空知识库/Visualization Hub】10 步标准化研发流程',
|
|
220
|
+
workflow_principles: 'Agent 必须遵循标准工程化流程,严禁直接手写孤立非标文件,必须使用脚手架创建或拉取源码后进行多文件模块化开发,并经过本地构建与合规自检后发布。',
|
|
221
|
+
steps: [
|
|
222
|
+
{
|
|
223
|
+
step: 1,
|
|
224
|
+
phase: 'init',
|
|
225
|
+
action: '需求拆解与资产调研',
|
|
226
|
+
tool: 'VisualizationHub_search_projects',
|
|
227
|
+
description: '检索知识库中是否有同类型或同技术栈的已有组件可供参考或复用'
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
step: 2,
|
|
231
|
+
phase: 'init',
|
|
232
|
+
action: '确认全局依赖与扩展库',
|
|
233
|
+
tool: 'VisualizationHub_get_global_packages',
|
|
234
|
+
description: '查询目标技术栈内置引擎版本及 /static/libs 扩展库清单 (如 turf, tween.js)'
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
step: 3,
|
|
238
|
+
phase: 'scaffold',
|
|
239
|
+
action: '本地标准工程就绪 (双分支)',
|
|
240
|
+
tool: 'VisualizationHub_create_component_project 或 VisualizationHub_download_component_project',
|
|
241
|
+
description: '新建组件调用 VisualizationHub_create_component_project 生成标准脚手架;二次开发调用 VisualizationHub_download_component_project 下载并解压'
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
step: 4,
|
|
245
|
+
phase: 'coding',
|
|
246
|
+
action: '多文件模块化编码',
|
|
247
|
+
tool: 'VisualizationHub_get_project_rule',
|
|
248
|
+
description: '遵循 index.vue + index.ts + index.less + util.ts + type.ts 模块化结构编写业务逻辑'
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
step: 5,
|
|
252
|
+
phase: 'coding',
|
|
253
|
+
action: '遵守 4 大红线禁忌',
|
|
254
|
+
tool: 'VisualizationHub_get_project_rule',
|
|
255
|
+
description: '禁止重复底图容器、杜绝 emoji 图标、localStorage 持久化隔离、onUnmounted 资源清理'
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
step: 6,
|
|
259
|
+
phase: 'build',
|
|
260
|
+
action: '本地 Vite 独立编译打包',
|
|
261
|
+
tool: 'VisualizationHub_build_component_project',
|
|
262
|
+
description: '调用本地内置编译器打包输出 dist/index.js 与 dist/index.css,捕获并修复语法报错'
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
step: 7,
|
|
266
|
+
phase: 'compliance',
|
|
267
|
+
action: '13 项沙箱合规静态扫描',
|
|
268
|
+
tool: 'VisualizationHub_check_sandbox_compliance',
|
|
269
|
+
description: '执行 13 项合规扫描,确保自检得分达到 100 分(或 >= 75 分且无阻断项)'
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
step: 8,
|
|
273
|
+
phase: 'upload',
|
|
274
|
+
action: '物理流秒级直传发布',
|
|
275
|
+
tool: 'VisualizationHub_upload_component_project',
|
|
276
|
+
description: '通过底层 HTTP 物理流将工程秒级发布至平台 (测试使用 uploadType: "test",正式定版使用 uploadType: "final")'
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
step: 9,
|
|
280
|
+
phase: 'upload',
|
|
281
|
+
action: '获取沙箱预览链接验证',
|
|
282
|
+
tool: 'VisualizationHub_get_project_url',
|
|
283
|
+
description: '获取组件真实沙箱预览 URL,验证三维/二维图形渲染、交互响应与图层销毁表现'
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
step: 10,
|
|
287
|
+
phase: 'completed',
|
|
288
|
+
action: '版本定版与资产归档',
|
|
289
|
+
tool: 'VisualizationHub_upload_component_project',
|
|
290
|
+
description: '测试无误后以 uploadType: "final" 固化正式版本,自动生成封面快照'
|
|
291
|
+
}
|
|
137
292
|
]
|
|
138
293
|
};
|
|
139
294
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.tools.js","sourceRoot":"","sources":["../../src/tools/environment.tools.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"environment.tools.js","sourceRoot":"","sources":["../../src/tools/environment.tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visualization-hub/dev-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Visualization Hub Developer MCP Toolkit - Full-Lifecycle Local Dev, Build, Compliance Checking & Instant Upload",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|