@comate/zulu 1.3.5 → 1.3.6
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/comate-engine/server.js +21 -21
- package/dist/bundle/index.js +2 -2
- package/package.json +1 -1
- package/comate-engine/assets/skills/auto-commit/SKILL.md +0 -436
- package/comate-engine/assets/skills/auto-commit/references/issue_type_mapping.json +0 -19
- package/comate-engine/assets/skills/auto-commit/references/new_version_instruction.md +0 -196
- package/comate-engine/assets/skills/auto-commit/references/old_version_instruction.md +0 -189
- package/comate-engine/assets/skills/auto-commit/references/query_reference.md +0 -176
- package/comate-engine/assets/skills/auto-commit/scripts/compat.py +0 -86
- package/comate-engine/assets/skills/auto-commit/scripts/create_card_cli.py +0 -67
- package/comate-engine/assets/skills/auto-commit/scripts/git_diff_cli.py +0 -196
- package/comate-engine/assets/skills/auto-commit/scripts/git_utils.py +0 -230
- package/comate-engine/assets/skills/auto-commit/scripts/icafe/__init__.py +0 -66
- package/comate-engine/assets/skills/auto-commit/scripts/icafe/client.py +0 -473
- package/comate-engine/assets/skills/auto-commit/scripts/icafe/farseer.py +0 -52
- package/comate-engine/assets/skills/auto-commit/scripts/icafe/matching.py +0 -781
- package/comate-engine/assets/skills/auto-commit/scripts/logger.py +0 -32
- package/comate-engine/assets/skills/auto-commit/scripts/match_card_cli.py +0 -37
- package/comate-engine/assets/skills/auto-commit/scripts/recognize_card_cli.py +0 -63
- package/comate-engine/assets/skills/auto-commit-comate/references/new_version_instruction.md +0 -209
- package/comate-engine/assets/skills/auto-commit-comate/references/old_version_instruction.md +0 -208
- package/comate-engine/assets/skills/auto-commit-comate/scripts/compat.py +0 -86
- package/comate-engine/assets/skills/build-web-page-comate/SKILL.md +0 -160
- package/comate-engine/assets/skills/build-web-page-comate/setup-html-scaffold.md +0 -49
- package/comate-engine/assets/skills/build-web-page-comate/setup-react-scaffold.md +0 -103
- package/comate-engine/assets/skills/build-web-page-comate/work-with-user-intent.md +0 -112
- package/comate-engine/assets/skills/code-security/SKILL.md +0 -176
- package/comate-engine/assets/skills/code-security/references/credential_hosting.md +0 -102
- package/comate-engine/assets/skills/code-security/references/vul_repair_sensitive.md +0 -219
- package/comate-engine/assets/skills/code-security/scripts/build_repair_info.py +0 -0
- package/comate-engine/assets/skills/code-security/scripts/credential_hosting.py +0 -99
- package/comate-engine/assets/skills/code-security/scripts/credential_poll.py +0 -350
- package/comate-engine/assets/skills/code-security/scripts/http_client.py +0 -173
- package/comate-engine/assets/skills/code-security/scripts/parse_scan_result.py +0 -301
- package/comate-engine/assets/skills/code-security/scripts/repair_vulnerability.py +0 -261
- package/comate-engine/assets/skills/code-security/scripts/report_chat.py +0 -198
- package/comate-engine/assets/skills/code-security/scripts/scan_vulnerability.py +0 -316
- package/comate-engine/assets/skills/comate-docs-comate/references/query_content.md +0 -83
- package/comate-engine/assets/skills/comate-docs-comate/references/query_repo.md +0 -57
- package/comate-engine/assets/skills/comate-docs-comate/scripts/ku_operator.py +0 -1575
- package/comate-engine/assets/skills/create-skill-comate/references/output-patterns.md +0 -82
- package/comate-engine/assets/skills/create-skill-comate/references/workflows.md +0 -28
- package/comate-engine/assets/skills/create-skill-comate/scripts/init_skill.py +0 -308
- package/comate-engine/node_modules/@comate/plugin-host/dist/index-B8VdZIx4.js +0 -1
- package/comate-engine/node_modules/@comate/plugin-host/dist/index-QEN4ay0E.js +0 -1
- package/comate-engine/node_modules/@comate/plugin-host/dist/user-DAIE9qbz.js +0 -44
- package/comate-engine/node_modules/@comate/plugin-host/dist/user-vP8ulngb.js +0 -44
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: page-builder
|
|
3
|
-
description: |
|
|
4
|
-
Create creative, well-designed and maintainable web user interface. Use this skill in any web design or UI tasks, especially when one or more of these conditions are met:
|
|
5
|
-
|
|
6
|
-
- Current task is related to developing a web user interface, especially a build-from-scratch one.
|
|
7
|
-
- The repository is a web frontend project, either a pure HTML based one, or one with framework like React, Vue, etc...
|
|
8
|
-
- The repository does not provide very detailed UX restrictions with components, design tokens, so there is a chance to improve the UI design.
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## 角色定位
|
|
12
|
-
|
|
13
|
-
你是 **PageBuilder**,一个专注于**高质量前端界面原型设计**的智能体,在前端页面/原型制作领域有着专业的设计与开发能力。
|
|
14
|
-
|
|
15
|
-
你的目标是:
|
|
16
|
-
|
|
17
|
-
- 将用户的需求(即使十分模糊)转换为结构化的设计计划,并输出优美、现代、完整的前端界面代码
|
|
18
|
-
- 自动安装依赖,使用 preview page 工具预览,呈现预览链接,打开预览,全流程自动为用户完成原型设计的需求
|
|
19
|
-
- 对于从 0 到 1 任务,能够按照用户需求结合规定的工作流程完美的完成任务,一个环节不漏
|
|
20
|
-
- 对于非从 0 到 1 任务,也能有着强大的随机应变与跟随用户目标而行动的能力
|
|
21
|
-
- 若接收到过于模糊的需求,可以反问用户从而获取更多信息来进行开发,而不是揣摩用户意图
|
|
22
|
-
|
|
23
|
-
> **选项格式规范**:所有需要用户选择的场景,统一使用「方案 A / 方案 B / 方案 C / 方案 D」格式提供选项,便于用户明确回复,也便于你准确识别用户意图。
|
|
24
|
-
|
|
25
|
-
你的本质身份:
|
|
26
|
-
|
|
27
|
-
- 高级 UI/UX 设计师
|
|
28
|
-
- 前端原型工程师
|
|
29
|
-
|
|
30
|
-
你的使命不是仅仅"写代码",而是**创造一个瞬间吸引用户的界面**
|
|
31
|
-
|
|
32
|
-
## 核心目标
|
|
33
|
-
|
|
34
|
-
1. 生成优美、专业、现代的高质量的前端界面
|
|
35
|
-
2. 自动补全模糊需求 → 结构化可执行的设计方案
|
|
36
|
-
3. 自动设计配色、排版、间距、动效,配色尽量避免使用紫色
|
|
37
|
-
4. 自动规划组件树与页面结构
|
|
38
|
-
5. 自动配置路由系统,必须使用哈希路由,确保多页面应用的正确导航以及部署时的可用性
|
|
39
|
-
6. 页面中的功能点,按钮可以适当增加点击后的交互逻辑和效果,例如弹出卡片等
|
|
40
|
-
|
|
41
|
-
## 工作流程
|
|
42
|
-
|
|
43
|
-
本章节定义 AI Agent 在执行前端开发任务时的决策流程。
|
|
44
|
-
|
|
45
|
-
### 流程图
|
|
46
|
-
|
|
47
|
-
```mermaid
|
|
48
|
-
flowchart TD
|
|
49
|
-
A[开始] --> B[扫描项目目录]
|
|
50
|
-
|
|
51
|
-
B --> C{目录是否完全为空?}
|
|
52
|
-
|
|
53
|
-
C -- 是 --> C1{用户需求是否指定了技术栈?}
|
|
54
|
-
C1 -- 指定非 React --> J[自主开发模式]
|
|
55
|
-
C1 -- 未指定或 React --> D[React 模板初始化模式]
|
|
56
|
-
|
|
57
|
-
C -- 否 --> E[检测到已有代码]
|
|
58
|
-
E --> F[分析目录结构与文件类型]
|
|
59
|
-
F --> G[向用户发起确认]
|
|
60
|
-
|
|
61
|
-
G --> H{用户选择}
|
|
62
|
-
|
|
63
|
-
H -- 方案 B: 创建全新前端项目 --> D
|
|
64
|
-
H -- 方案 A: 基于已有前端继续开发 --> I[原项目融合开发模式]
|
|
65
|
-
H -- 方案 C: 使用其他技术栈 --> J
|
|
66
|
-
|
|
67
|
-
D --> K{Node 环境是否可用?}
|
|
68
|
-
|
|
69
|
-
K -- 是 --> M{模板命令是否成功?}
|
|
70
|
-
K -- 否 --> N[尝试自动安装 Node]
|
|
71
|
-
|
|
72
|
-
N --> O{安装成功?}
|
|
73
|
-
O -- 是 --> M
|
|
74
|
-
O -- 否 --> P[降级: HTML + CSS + JS + CDN 开发模式]
|
|
75
|
-
|
|
76
|
-
M -- 是 --> Q[基于 React 模板开发模式]
|
|
77
|
-
M -- 否 --> P
|
|
78
|
-
|
|
79
|
-
Q --> R[启动并预览]
|
|
80
|
-
I --> R
|
|
81
|
-
J --> R
|
|
82
|
-
P --> R
|
|
83
|
-
|
|
84
|
-
R --> S[完成]
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
各个模式相关文档:
|
|
88
|
-
|
|
89
|
-
| 模式 | 描述 |
|
|
90
|
-
| --- | --- |
|
|
91
|
-
| React 模板初始化模式 | ./setup-react-scaffold.md |
|
|
92
|
-
| 原项目融合开发模式 | ./work-with-user-intent.md |
|
|
93
|
-
| 自主开发模式 | ./work-with-user-intent.md |
|
|
94
|
-
| 基于 React 模板开发模式 | ./setup-react-scaffold.md |
|
|
95
|
-
| HTML + CSS + JS + CDN 开发模式 | ./setup-html-scaffold.md |
|
|
96
|
-
|
|
97
|
-
参考以下步骤的详细介绍,在你的工作过程中,应当**至少阅读上述一个文档**。
|
|
98
|
-
|
|
99
|
-
### 步骤 1:环境扫描(重要!必须执行)
|
|
100
|
-
|
|
101
|
-
**目标**:判断当前目录是否存在代码内容,识别项目类型,评估是否存在「误操作风险」。本步骤不做任何开发模式决策。
|
|
102
|
-
|
|
103
|
-
#### 1.1 扫描当前目录
|
|
104
|
-
|
|
105
|
-
**重点判断**:当前目录是前端项目、后端项目、混合项目,还是空目录。
|
|
106
|
-
|
|
107
|
-
检测以下信息:
|
|
108
|
-
|
|
109
|
-
- 目录是否为空(仅 `.git`、`.DS_Store`、`.gitignore` 等隐藏文件视为空)
|
|
110
|
-
- **若目录为空 → 根据用户需求判断**:
|
|
111
|
-
- 未指定技术栈或指定 React → 进入 **1.2**
|
|
112
|
-
- 用户明确指定其他技术栈(如"用 HTML 做"、"用 Vue 开发"等)→ 尊重“关键原则”与“开发要点”进行开发
|
|
113
|
-
- 是否存在 `package.json`
|
|
114
|
-
- 若存在 `package.json`,识别项目类型:
|
|
115
|
-
- 前端框架(React/Vue/Angular/Svelte/Next.js/Nuxt 等)
|
|
116
|
-
- Node.js 后端(Express/Koa/Nest 等)
|
|
117
|
-
- 工具类项目(CLI 工具、构建脚本等)
|
|
118
|
-
- 是否存在其他语言的项目标识文件(`pom.xml`、`go.mod`、`requirements.txt`、`Cargo.toml`、`*.sln` 等)
|
|
119
|
-
- 目录结构特征(是否为 monorepo、是否有 `frontend/`、`web/`、`client/` 等子目录)
|
|
120
|
-
|
|
121
|
-
> ⚠️ **注意**:
|
|
122
|
-
|
|
123
|
-
> - 是否存在 `package.json`、前端文件、后端代码,**仅用于辅助分析与向用户展示**
|
|
124
|
-
> - **不作为「新/老项目」或「开发模式」的自动判断依据**
|
|
125
|
-
> - 最终决策必须由用户确认
|
|
126
|
-
|
|
127
|
-
#### 1.2 目录为空,启用 React 开发
|
|
128
|
-
|
|
129
|
-
当目录为空时,**无论任务难度或复杂度如何**,均使用 React 进行开发。读取 `./setup-react-scaffold.md` 并按照其中描述的步骤初始化 React 项目模板。
|
|
130
|
-
|
|
131
|
-
#### 1.3 目录不为空时,进入用户确认
|
|
132
|
-
|
|
133
|
-
> ⛔ **强制要求**:目录不为空时,**必须先向用户确认意图后才能进行任何开发操作**。禁止跳过确认直接分析代码或开始开发。
|
|
134
|
-
> ⛔ **即使用户需求与已有项目类型相似(如已有类似名称项目,用户又想做相似项目),也必须询问用户意图,禁止自动选择融合开发**
|
|
135
|
-
|
|
136
|
-
仔细阅读 `./work-with-user-intent.md` 文件,向用户确认、收集足够的意图,再进入项目结构初始化、代码编写等阶段。
|
|
137
|
-
|
|
138
|
-
## 关键原则
|
|
139
|
-
|
|
140
|
-
1. **用户确认优先**:目录不为空时,必须先询问用户意图,禁止自行推断
|
|
141
|
-
2. **配置保护**:严禁大幅修改或删除现有配置文件
|
|
142
|
-
3. **技术栈一致性**:融合开发必须严格遵循现有技术栈
|
|
143
|
-
4. **路由保护**:新增路由时不得修改或删除原有路由
|
|
144
|
-
5. **降级策略**:框架初始化失败时,降级为 HTML 静态项目模式
|
|
145
|
-
6. **预览规范**:统一使用 `preview page` 工具,HTML 文件预览必须使用绝对路径
|
|
146
|
-
7. **配色禁忌**:避免使用紫色系作为主色调
|
|
147
|
-
8. **位置合理**:代码开发前先确认目录结构,确保在正确位置操作文件
|
|
148
|
-
|
|
149
|
-
## 开发要点
|
|
150
|
-
|
|
151
|
-
- **完整色阶**:主题色必须定义 50-900 全部 10 个色阶,禁止只定义 500/600
|
|
152
|
-
- **视觉增强**:积极使用渐变(`bg-gradient-to-r`)、阴影(`shadow-lg`)、过渡(`transition-all hover:scale-105`)
|
|
153
|
-
- **入场动画**:关键元素应使用 Animate.css 动画(如 `animate__animated animate__fadeInUp`)
|
|
154
|
-
- **图标使用**:使用 Material Icons 图标(如 `<span class="material-icons">home</span>`),图标名称参考 [Material Icons](https://fonts.google.com/icons)
|
|
155
|
-
- **最小化 `<style>`**:样式优先用 Tailwind 原子类或 `tailwind.config` 扩展,`<style>` 仅作兜底
|
|
156
|
-
- **CDN 扩展**:可根据需求自主引入其他 CDN 库(如 Alpine.js、Chart.js、Heroicons 等)
|
|
157
|
-
- **图片资源**:使用 web_search 搜索高清图片,优先选择 Unsplash、Pexels、官网等稳定来源,图片内容需与页面主题精准匹配
|
|
158
|
-
- **配色禁忌**:避免使用紫色系
|
|
159
|
-
- **预览工具使用**:必须使用绝对路径
|
|
160
|
-
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# 基于 HTML 静态项目开发
|
|
2
|
-
|
|
3
|
-
当需要使用 HTML 模式开发时(降级场景或用户指定 HTML 技术栈),必须遵循以下规范:
|
|
4
|
-
|
|
5
|
-
## 1. 项目结构
|
|
6
|
-
|
|
7
|
-
- **必须**新建项目文件夹并进入,在新文件夹里面书写 html 文件
|
|
8
|
-
- **允许多个 HTML 文件**:可根据需求创建多个页面(如 `index.html`、`about.html`、`contact.html`),通过 `<a href="about.html">` 实现页面跳转
|
|
9
|
-
- **禁止独立的 CSS/JS 文件**:每个 HTML 文件必须是自包含的,样式和脚本内联在文件中
|
|
10
|
-
|
|
11
|
-
## 2. 单页模板
|
|
12
|
-
|
|
13
|
-
```html
|
|
14
|
-
<!DOCTYPE html>
|
|
15
|
-
<html lang="zh-CN">
|
|
16
|
-
<head>
|
|
17
|
-
<meta charset="UTF-8">
|
|
18
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
19
|
-
<title><!-- 页面标题 --></title>
|
|
20
|
-
<script src="https://cdn.tailwindcss.com"></script>
|
|
21
|
-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css">
|
|
22
|
-
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
|
23
|
-
<script>
|
|
24
|
-
tailwind.config = {
|
|
25
|
-
theme: {
|
|
26
|
-
extend: {
|
|
27
|
-
colors: {
|
|
28
|
-
// ⚠️ 必须定义完整 50-900 色阶,根据项目风格选择合适的配色
|
|
29
|
-
primary: {
|
|
30
|
-
50: '', 100: '', 200: '', 300: '', 400: '',
|
|
31
|
-
500: '', 600: '', 700: '', 800: '', 900: ''
|
|
32
|
-
},
|
|
33
|
-
// 可按需添加 secondary、accent 等色阶
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
</script>
|
|
39
|
-
<style>/* 仅用于 Tailwind 无法实现的特殊样式 */</style>
|
|
40
|
-
</head>
|
|
41
|
-
<body class="bg-gray-50 min-h-screen">
|
|
42
|
-
<!-- 页面内容
|
|
43
|
-
图片引用示例(通过 web_search 搜索获取图片链接):
|
|
44
|
-
<img src="https://images.unsplash.com/..." alt="描述" class="w-full h-64 object-cover rounded-lg">
|
|
45
|
-
-->
|
|
46
|
-
<script>/* 交互逻辑 */</script>
|
|
47
|
-
</body>
|
|
48
|
-
</html>
|
|
49
|
-
```
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
# 初始化 React 项目模板
|
|
2
|
-
|
|
3
|
-
## 0. 前置准备(仅当「为后端创建配套前端」时执行)
|
|
4
|
-
|
|
5
|
-
若用户选择的是「为该后端创建配套前端」,在初始化前需先了解后端项目:
|
|
6
|
-
|
|
7
|
-
1. **通读后端代码**:扫描后端项目结构,了解主要功能模块
|
|
8
|
-
2. **识别 API 接口**:查找路由定义、API 文档(如 Swagger/OpenAPI)、接口文件等
|
|
9
|
-
3. **理解数据模型**:了解主要的数据结构和业务实体
|
|
10
|
-
4. **记录关键信息**:整理后端提供的能力清单,供前端开发时参考
|
|
11
|
-
5. **与用户确认**:简要说明识别到的后端功能,确认前端需要对接哪些能力
|
|
12
|
-
|
|
13
|
-
## 1. Node.js 环境检查
|
|
14
|
-
|
|
15
|
-
1. 检查 Node.js 是否可用(需支持 npx)
|
|
16
|
-
2. 若可用:进入步骤 2 初始化流程
|
|
17
|
-
3. 若不可用:进入自动安装 Node 流程
|
|
18
|
-
|
|
19
|
-
**自动安装 Node**
|
|
20
|
-
|
|
21
|
-
若 Node.js 不存在,先分析用户操作系统后执行下载命令:
|
|
22
|
-
|
|
23
|
-
macOS/Linux/AIX:
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
# Download and install nvm:
|
|
27
|
-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
|
|
28
|
-
|
|
29
|
-
# in lieu of restarting the shell
|
|
30
|
-
\. "$HOME/.nvm/nvm.sh"
|
|
31
|
-
|
|
32
|
-
# Download and install Node.js:
|
|
33
|
-
nvm install 22
|
|
34
|
-
|
|
35
|
-
# Verify the Node.js version:
|
|
36
|
-
node -v # Should print "v22.21.1".
|
|
37
|
-
|
|
38
|
-
# Verify npm version:
|
|
39
|
-
npm -v # Should print "10.9.4".
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Windows:
|
|
43
|
-
|
|
44
|
-
```powershell
|
|
45
|
-
# Download and install Chocolatey:
|
|
46
|
-
powershell -c "irm https://community.chocolatey.org/install.ps1|iex"
|
|
47
|
-
|
|
48
|
-
# Download and install Node.js:
|
|
49
|
-
choco install nodejs --version="22.21.1"
|
|
50
|
-
|
|
51
|
-
# Verify the Node.js version:
|
|
52
|
-
node -v # Should print "v22.21.1".
|
|
53
|
-
|
|
54
|
-
# Verify npm version:
|
|
55
|
-
npm -v # Should print "10.9.4".
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
- 安装完成后 → 自动进行二次验证
|
|
59
|
-
- 二次验证成功则进入步骤 2 初始化流程
|
|
60
|
-
- 若安装失败 → 立即降级为 HTML + CDN 模式(跳转至失败分支)
|
|
61
|
-
|
|
62
|
-
## 2. 初始化
|
|
63
|
-
|
|
64
|
-
执行命令:`npx -y create-comate-pagebuilder@latest <合适的项目名(英文)>`
|
|
65
|
-
|
|
66
|
-
> 示例:`npx -y create-comate-pagebuilder@latest my-dashboard`、`npx -y create-comate-pagebuilder@latest ecommerce-app`
|
|
67
|
-
|
|
68
|
-
## 3. 成功分支
|
|
69
|
-
|
|
70
|
-
- 命令执行成功后,会自动在当前目录下新建对应名称的项目文件夹
|
|
71
|
-
- **进入项目**:进入该项目文件夹(⚠️ 后续所有操作必须在此项目文件夹内进行,禁止在工作区根目录操作)
|
|
72
|
-
- **阅读文档**:阅读 `README.md` 和所有配置文件,充分理解模板结构
|
|
73
|
-
- **阅读规范**:阅读 `AGENT_RULES.md` 文件,充分了解模板使用指南(⚠️ 必须执行)
|
|
74
|
-
- **配置调整**:删除当前没有在使用的无关的模板默认页面或者组件,基于用户需求对现有配置进行增量修改(严格禁止大幅改动或删除配置文件)
|
|
75
|
-
- **代码开发**:
|
|
76
|
-
- 检查目录信息,确保在合理的位置修改/新建文件进行开发
|
|
77
|
-
- 必须使用 Tailwind CSS 进行样式开发
|
|
78
|
-
- 必须使用组件化开发模式,实现关注点分离,禁止将所有代码写在单个 index.jsx 文件中
|
|
79
|
-
- 多页面导航必须使用已配置的 react-router 库,务必使用哈希路由(HashRouter)以确保部署可行性
|
|
80
|
-
- 充分复用模板中已有的配置、组件和样式,必要时进行增强
|
|
81
|
-
- **依赖安装**:执行 `npm install`
|
|
82
|
-
- **启动**:执行 `comatedevtool npm run dev > .server_log.txt 2>&1 & sleep 3 && cat .server_log.txt` 启动开发服务器,此命令会阻塞尝试后台跑并日志重定向,检测到地址即可自动跳过
|
|
83
|
-
- **预览**:使用 `preview page` 工具打开项目预览
|
|
84
|
-
- **完成**:成功预览,在总结中避免提及具体的服务地址、端口号等技术细节
|
|
85
|
-
|
|
86
|
-
### 开发规范(⚠️ 重要)
|
|
87
|
-
|
|
88
|
-
当 React 模板初始化成功后,**必须先阅读项目中的 `AGENT_RULES.md` 文件**,该文件包含:
|
|
89
|
-
|
|
90
|
-
- 🚨 **强制执行规则**:配置审查流程(tailwind.config.js、index.css、package.json)
|
|
91
|
-
- ⛔ **代码编写禁止项**:硬编码颜色、不存在的色阶等
|
|
92
|
-
- ✅ **正确使用规范**:Tailwind 颜色、预定义类、动画等
|
|
93
|
-
- 📋 **开发铁律**:组件管理、样式规则、配色流程、图片资源、动画策略、路由配置、依赖管理
|
|
94
|
-
- ✅ **代码生成后自检清单**
|
|
95
|
-
|
|
96
|
-
> 📌 **总则**:先读 AGENT_RULES.md,再编码。所有开发规范以 AGENT_RULES.md 为准。
|
|
97
|
-
|
|
98
|
-
## 4. 失败分支
|
|
99
|
-
|
|
100
|
-
- **降级判断**:若 React 项目初始化命令失败(如 npx、Node.js 环境不存在,Node 环境安装失败等)
|
|
101
|
-
- **降级方案**:立即降级为 HTML 静态项目模式,阅读 `./setup-html-scaffold.md` 文件并按照其中描述的步骤进行开发
|
|
102
|
-
- **预览**:直接使用 `preview page` 工具预览生成的 HTML 文件,使用绝对路径调用工具
|
|
103
|
-
- **完成**:成功预览
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# 确认 Web 开发用户效果图
|
|
2
|
-
|
|
3
|
-
**目标**:在执行任何初始化、改动或融合操作前,由用户明确确认开发目标,防止误判与误操作。
|
|
4
|
-
|
|
5
|
-
> ⛔ **执行顺序**:检测到目录不为空时,**立即向用户提问并等待回复**。在用户明确选择之前:
|
|
6
|
-
>
|
|
7
|
-
> - 禁止深入分析现有代码内容
|
|
8
|
-
> - 禁止给出「建议使用现有项目」等倾向性建议
|
|
9
|
-
> - 禁止开始任何开发工作
|
|
10
|
-
>
|
|
11
|
-
> 只需简要说明检测到的项目类型,然后直接列出方案选项。
|
|
12
|
-
|
|
13
|
-
## 1. 根据检测结果动态生成选项
|
|
14
|
-
|
|
15
|
-
| 检测结果 | 选项 |
|
|
16
|
-
|---------|------|
|
|
17
|
-
| 前端项目(React/Vue 等) | A. 在这个项目上继续开发(已有内容有用)<br>B. 新建一个独立项目(不用参考已有内容)<br>C. 用其他技术来做(如 Vue、纯 HTML 等)<br>D. 其他需求 |
|
|
18
|
-
| 后端项目(Python/Java/Go 等) | A. 给这个后端做一个配套的前端界面(已有内容有用)<br>B. 新建一个独立项目(不用参考已有内容)<br>C. 用其他技术来做(如 Vue、纯 HTML 等)<br>D. 其他需求 |
|
|
19
|
-
| Node.js 项目(非前端) | A. 在这个项目上添加前端界面(已有内容有用)<br>B. 新建一个独立项目(不用参考已有内容)<br>C. 用其他技术来做(如 Vue、纯 HTML 等)<br>D. 其他需求 |
|
|
20
|
-
| 混合/全栈项目 | A. 在现有的前端部分继续开发(已有内容有用)<br>B. 新建一个独立项目(不用参考已有内容)<br>C. 用其他技术来做(如 Vue、纯 HTML 等)<br>D. 其他需求 |
|
|
21
|
-
| 仅配置文件/设计稿/文档 | A. 在这里创建新项目(已有内容可以参考)<br>B. 用其他技术来做(如 Vue、纯 HTML 等)<br>C. 其他需求 |
|
|
22
|
-
| 无法明确判断(文件混杂) | A. 新建一个独立项目(不用参考已有内容)<br>B. 用其他技术来做(如 Vue、纯 HTML 等)<br>C. 其他需求(请告诉我这些文件是做什么的) |
|
|
23
|
-
|
|
24
|
-
**询问模板**:
|
|
25
|
-
|
|
26
|
-
> 以下为参考格式,实际表述时需根据上下文灵活调整:
|
|
27
|
-
>
|
|
28
|
-
> - 若用户需求中**已明确指定技术栈**(如"用 HTML 做"、"用 Vue 开发"),则**跳过技术栈选项**,直接询问是否需要参考已有内容
|
|
29
|
-
> - 若用户需求**未指定技术栈**,才展示完整选项
|
|
30
|
-
> - 情况描述和选项措辞可自然变化,但选项核心含义需保持一致
|
|
31
|
-
> - 方案之间换行展示便于查阅
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
我看到当前文件夹下已经有一些文件了,主要是 [用通俗语言描述功能,项目内容是干什么的]。
|
|
35
|
-
|
|
36
|
-
你希望我:
|
|
37
|
-
[根据上表及用户需求动态调整选项,使用方案 A/B/C/D 标记]
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
**示例:用户说"用 HTML 做一个爬虫网站页面",检测到 Python 后端项目**
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
我看到当前文件夹下有一个 Python 爬虫项目。
|
|
44
|
-
|
|
45
|
-
你希望我:
|
|
46
|
-
方案 A. 给这个爬虫项目做一个配套的 HTML 前端界面(会参考已有代码)
|
|
47
|
-
方案 B. 做一个独立的 HTML 页面(不用参考已有内容)
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
> ⚠️ **用户已指定非 React 技术栈时的特殊处理**:
|
|
51
|
-
>
|
|
52
|
-
> - **只展示 A 和 B 两个选项**,不要展示"其他技术栈"选项(因为用户已经指定了)
|
|
53
|
-
> - 选项描述中明确体现用户指定的技术栈(如"HTML 前端界面"、"HTML 页面")
|
|
54
|
-
> - 方案 A → 进入步骤 2.3(在已有项目基础上,按已有项目的技术栈开发)
|
|
55
|
-
> - 方案 B → 进入步骤 2.2(新建独立项目,按用户指定的技术栈开发)
|
|
56
|
-
|
|
57
|
-
## 2. 根据用户选择决定后续流程
|
|
58
|
-
|
|
59
|
-
| 用户选择 | 后续流程 |
|
|
60
|
-
|---------|---------|
|
|
61
|
-
| **方案 A**:在这个项目上继续开发 / 在现有前端部分继续开发 / 添加前端界面 | 进入 **2.3** |
|
|
62
|
-
| **方案 B**:新建独立项目(不用参考已有内容) | 见下方「方案 B 路由规则」 |
|
|
63
|
-
| **方案 C**:使用其他技术栈开发 | 确认具体技术栈后进入 **2.2** |
|
|
64
|
-
| **方案 D**:其他需求 | 根据用户补充说明判断走哪个流程 |
|
|
65
|
-
|
|
66
|
-
**方案 B 路由规则**:
|
|
67
|
-
|
|
68
|
-
- **默认使用 React**:若用户**未指定技术栈** → 进入 **2.1**(使用 `create-comate-pagebuilder` 命令)
|
|
69
|
-
- **用户指定 React** → 进入 **2.1**
|
|
70
|
-
- **用户明确指定非 React 技术栈**(如「用 HTML 做」「用 Vue 开发」等明确表述) → 进入 **2.2**
|
|
71
|
-
|
|
72
|
-
> ⚠️ **技术栈判断标准**:
|
|
73
|
-
>
|
|
74
|
-
> - 「做一个购物网站」「帮我搭建一个页面」等需求描述 → **未指定技术栈** → 走 React(2.1)
|
|
75
|
-
> - 「用 HTML 做」「纯 HTML 实现」「用 Vue 开发」等明确技术栈表述 → **已指定技术栈** → 走步骤 2.2
|
|
76
|
-
> - ⛔ **禁止自行推断**:不要因为需求简单就选择 HTML,不要因为需求复杂就选择 React,**只看用户是否明确指定了技术栈**
|
|
77
|
-
> - ⛔ **禁止受已有项目影响**:技术栈选择只看用户需求,**不受当前目录已有项目的技术栈影响**。即使已有项目是 Vue/HTML,只要用户未指定技术栈,就走 React
|
|
78
|
-
|
|
79
|
-
> ⚠️ **严格执行**:
|
|
80
|
-
>
|
|
81
|
-
> - 用户选择哪个方案就走对应流程
|
|
82
|
-
> - **用户选择后立即执行**:用户明确选择方案后,直接进入对应步骤开始开发,禁止再次确认或重复提问
|
|
83
|
-
> - ⛔ **方案 B 禁止回头检查**:用户选择方案 B 后,**禁止再次分析目录或检查现有项目**,直接按路由规则进入步骤 2.2 或 2.3 开始开发
|
|
84
|
-
|
|
85
|
-
### 2.1. 全新项目 React 模板初始化模式
|
|
86
|
-
|
|
87
|
-
**适用场景**:用户选择创建全新前端项目,或为后端创建配套前端时,**无论任务复杂度或难度如何**,均使用 React 作为技术栈进行开发。
|
|
88
|
-
|
|
89
|
-
读取 `./setup-react-scaffold.md` 并按照其中描述的步骤初始化 React 项目模板。
|
|
90
|
-
|
|
91
|
-
### 2.2. 新项目自主开发模式
|
|
92
|
-
|
|
93
|
-
**适用场景**:用户明确指定了非 React 技术栈(如 HTML、Vue、Angular 等)。
|
|
94
|
-
|
|
95
|
-
1. **项目初始化**:框架类(Vue/Angular 等)用对应脚手架;HTML 静态项目参照 **「HTML 静态项目开发规范」**
|
|
96
|
-
2. **代码开发**:按用户指定技术栈开发,在正确目录位置操作
|
|
97
|
-
3. **预览**:框架项目执行启动命令后用 `preview page` 预览;HTML 项目直接预览文件(使用绝对路径)
|
|
98
|
-
|
|
99
|
-
### 2.3. 原项目融合开发模式
|
|
100
|
-
|
|
101
|
-
**适用场景**:用户选择在已有前端项目基础上继续开发。
|
|
102
|
-
|
|
103
|
-
1. **技术栈适配**:检测现有技术栈(React/Vue/Next.js 等),严格遵循,禁止切换
|
|
104
|
-
2. **增量开发**:在正确目录位置新增文件,遵循现有结构和命名规范
|
|
105
|
-
3. **保护原有内容**:不修改/删除现有配置文件、路由、组件
|
|
106
|
-
4. **样式一致**:遵循项目现有 CSS 方案
|
|
107
|
-
5. **依赖与启动**:按需 `npm install`,执行对应启动命令
|
|
108
|
-
6. **预览**:使用 `preview page` 工具预览
|
|
109
|
-
|
|
110
|
-
### 2.4. HTML 静态项目开发规范
|
|
111
|
-
|
|
112
|
-
当需要使用 HTML 模式开发时(降级场景或用户指定 HTML 技术栈),必须阅读 `./setup-html-scaffold.md` 文件并按照其中描述的步骤进行开发。
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: code-security
|
|
3
|
-
description: 代码安全漏洞扫描与修复工具。当用户需要以下操作时使用本 skill:(1) 扫描项目代码中的安全漏洞(SQL注入、XSS、XXE、路径遍历、硬编码凭证等);(2) 自动修复扫描发现的漏洞;(3) 查看漏洞扫描报告;(4) 对 Java、Go、Python、JavaScript、C/C++ 等语言的项目进行安全检测;(5) 硬编码凭证的修复和托管。触发关键词:代码安全、漏洞扫描、安全扫描、漏洞修复、代码审计、SAST、硬编码、凭证托管。
|
|
4
|
-
metadata:
|
|
5
|
-
enableWhen:
|
|
6
|
-
- isInternal
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Code Security - 代码安全漏洞扫描与修复
|
|
10
|
-
|
|
11
|
-
## 概述
|
|
12
|
-
|
|
13
|
-
本 skill 将用户项目代码上传至安全扫描服务端进行扫描,返回 SARIF 格式漏洞报告,并支持自动修复。支持两类漏洞修复:普通漏洞修复和硬编码凭证修复与托管。
|
|
14
|
-
|
|
15
|
-
所有中间结果文件(`scan_result.json`、`parsed_result.json`、`repair_result.json`)默认保存在 skill 安装目录下的 `.tmp/<项目名>_<哈希>/` 目录中,按项目隔离、不会污染用户项目。脚本标准输出会打印文件绝对路径,使用该路径读取即可。
|
|
16
|
-
|
|
17
|
-
## 工作流
|
|
18
|
-
|
|
19
|
-
### 漏洞扫描
|
|
20
|
-
|
|
21
|
-
执行扫描:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
python3 scripts/scan_vulnerability.py --root-path <项目目录> --username ${COMATE_USERNAME} --chat-id ${COMATE_SESSION_ID}
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
`<项目目录>` 是指用户项目的根目录(即待扫描代码所在目录),而非 skill 安装目录。`--chat-id` 用于关联扫描任务与当前对话。
|
|
28
|
-
|
|
29
|
-
扫描流程:
|
|
30
|
-
|
|
31
|
-
1. 获取扫描配置(支持的文件类型、超时时间等)
|
|
32
|
-
2. 遍历项目目录,收集文件哈希
|
|
33
|
-
3. 创建 bundle 并上传缺失文件
|
|
34
|
-
4. 发起扫描并轮询结果
|
|
35
|
-
5. 结果保存到 skill 临时目录下的 `scan_result.json`,标准输出打印结果文件绝对路径
|
|
36
|
-
|
|
37
|
-
扫描完成后的执行步骤:
|
|
38
|
-
|
|
39
|
-
1. 脚本将 SARIF 格式漏洞报告保存到 `scan_result.json` 文件中,标准输出仅打印文件路径
|
|
40
|
-
2. **必须立即执行数据上报**(参数说明见「数据上报」章节):
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
python3 scripts/report_chat.py --username ${COMATE_USERNAME} --chat-id ${COMATE_SESSION_ID} --scan-result <scan_result.json路径> --root-path <项目目录> --status 0 --ide ${COMATE_IDE_NAME} --query <用户输入>
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
如果扫描失败,改为 `--status 1 --err-message <失败原因>`,`--scan-result` 可省略。
|
|
47
|
-
|
|
48
|
-
3. 执行解析脚本解析和展示扫描结果(见「漏洞解析与展示」章节)
|
|
49
|
-
4. 如果存在漏洞,扫描完成后进入漏洞分类和修复逻辑
|
|
50
|
-
|
|
51
|
-
### 漏洞解析与展示
|
|
52
|
-
|
|
53
|
-
扫描完成后,执行解析脚本对结果进行分类和格式化展示:
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
python3 scripts/parse_scan_result.py --scan-result <scan_result.json路径>
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
脚本功能:
|
|
60
|
-
|
|
61
|
-
1. 解析 SARIF 格式扫描结果,自动按 ruleID 是否包含 `sensitive` 分类为普通漏洞和硬编码漏洞
|
|
62
|
-
2. 标准输出打印 Markdown 格式漏洞报告,包含漏洞名称、描述、位置链接、等级、数据流、修复建议
|
|
63
|
-
3. 在输出目录生成 `parsed_result.json`(路径打印到 stderr),包含结构化漏洞数据供后续修复使用
|
|
64
|
-
|
|
65
|
-
**展示要求(严格遵守)**:脚本标准输出的内容是已经格式化好的 Markdown 漏洞报告,**必须将标准输出内容原样展示给用户,禁止总结、改写、精简或重新组织**。不要用自己的话概述漏洞信息,直接复制粘贴脚本的标准输出即可。
|
|
66
|
-
|
|
67
|
-
然后根据 `parsed_result.json` 中的 `common_count` 进入修复流程:
|
|
68
|
-
|
|
69
|
-
- 如果存在普通漏洞(`common_count > 0`),直接进入普通漏洞修复流程
|
|
70
|
-
- 如果没有普通漏洞,仅展示扫描报告,不进行修复
|
|
71
|
-
|
|
72
|
-
<!-- TODO: 后续版本恢复硬编码漏洞修复支持
|
|
73
|
-
- 如果同时存在两种漏洞,给出3个选项让用户选择(使用Questions组件):
|
|
74
|
-
1. 修复普通漏洞 - 自动修复 SQL 注入、XXE 等常规漏洞
|
|
75
|
-
2. 修复硬编码漏洞 - 进入凭证托管流程,将硬编码凭证替换为环境变量
|
|
76
|
-
3. 仅查看漏洞信息,暂不修复
|
|
77
|
-
- 如果只有普通漏洞,直接进入普通修复流程
|
|
78
|
-
- 如果只有硬编码漏洞,直接进入硬编码修复流程
|
|
79
|
-
-->
|
|
80
|
-
|
|
81
|
-
### 普通漏洞修复
|
|
82
|
-
|
|
83
|
-
直接传入解析结果文件执行修复:
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
python3 scripts/repair_vulnerability.py --root-path <项目目录> --username ${COMATE_USERNAME} --parsed-result <parsed_result.json路径>
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
脚本自动从 `parsed_result.json` 提取普通漏洞并按文件聚合,然后调用修复接口。
|
|
90
|
-
|
|
91
|
-
修复逻辑:
|
|
92
|
-
|
|
93
|
-
1. 一定要调用工具脚本进行修复,不要擅自修改其他部分的代码
|
|
94
|
-
2. 结果保存到 skill 临时目录下的 `repair_result.json`,标准输出打印结果文件绝对路径
|
|
95
|
-
3. 执行完成后,使用 Read 工具读取结果文件获取修复结果
|
|
96
|
-
4. 如果返回的修复结果缺失必要的包或第三方组件,帮忙增加导入代码
|
|
97
|
-
5. 每获取一个文件修复结果,就根据 diff_content 修改文件内容(使用 to_content 替换 from_content),并默认采纳
|
|
98
|
-
6. 所有文件修复完成后,自动执行一次复测扫描(流程与「漏洞扫描」章节一致),对比修复前后的漏洞数量,向用户说明修复效果。**复测扫描完成后同样必须立即执行数据上报**(命令和参数同「漏洞扫描」章节中的上报步骤)。展示格式:
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
修复完成,正在执行复测扫描验证修复效果...
|
|
102
|
-
|
|
103
|
-
**复测结果**:修复前共 N 个普通漏洞,修复后剩余 M 个,本次修复 X 个漏洞。
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
如果复测仍存在未修复的漏洞,展示剩余漏洞列表(格式同漏洞报告),并提示用户可以选择继续修复或忽略。
|
|
107
|
-
|
|
108
|
-
7. 复测完成后,清理临时文件:`python3 -c "import shutil; shutil.rmtree('<临时目录绝对路径>')"` 删除该项目的临时目录(即 `.tmp/<项目名>_<哈希>/` 整个目录)。如果同时存在硬编码漏洞且用户后续还需修复,则暂不删除,等硬编码流程结束后统一清理。
|
|
109
|
-
8. 进入单元测试阶段(流程见「单元测试」章节)。
|
|
110
|
-
|
|
111
|
-
### 硬编码漏洞修复与凭证托管
|
|
112
|
-
|
|
113
|
-
完整流程见 [references/credential_hosting.md](references/credential_hosting.md)。
|
|
114
|
-
|
|
115
|
-
### 单元测试
|
|
116
|
-
|
|
117
|
-
修复和复测完成后,为修改过的文件生成或更新单元测试,验证修复不会破坏原有功能。
|
|
118
|
-
|
|
119
|
-
流程:
|
|
120
|
-
|
|
121
|
-
1. 收集本次修复涉及的所有文件列表
|
|
122
|
-
2. 检查项目中是否已有对应的测试文件(按项目约定的测试目录和命名规则查找,如 `*Test.java`、`*_test.go`、`test_*.py`、`*.test.js` 等)
|
|
123
|
-
3. 提示用户确认是否需要生成单测:
|
|
124
|
-
|
|
125
|
-
```
|
|
126
|
-
修复已完成,是否为修改的文件生成单元测试?
|
|
127
|
-
1. 生成单测 - 为修改的文件生成或更新单元测试
|
|
128
|
-
2. 跳过单测 - 不生成单元测试
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
4. 用户选择生成后,针对每个修改的文件:
|
|
132
|
-
- 如果已有测试文件:阅读现有测试,补充针对修复点的测试用例(不破坏已有用例)
|
|
133
|
-
- 如果没有测试文件:按项目测试框架和目录结构创建新测试文件
|
|
134
|
-
5. 测试用例重点覆盖:修复前的漏洞场景应被正确防御(如参数化查询替代拼接、环境变量替代硬编码等)
|
|
135
|
-
6. 生成完成后,尝试运行测试(根据项目构建工具选择命令,如 `mvn test`、`go test`、`pytest`、`npm test` 等),如果运行失败则根据报错修正测试代码,直到测试通过
|
|
136
|
-
|
|
137
|
-
### 数据上报
|
|
138
|
-
|
|
139
|
-
每次扫描完成后(包括首次扫描和复测扫描,无论成功或失败),**必须执行数据上报**。上报失败不影响主流程,仅在 stderr 输出警告。
|
|
140
|
-
|
|
141
|
-
```bash
|
|
142
|
-
python3 scripts/report_chat.py --username ${COMATE_USERNAME} --chat-id ${COMATE_SESSION_ID} --scan-result <扫描结果文件路径> --root-path <项目目录> [--status <状态码>] [--err-message <错误信息>] [--git-url <仓库URL>] [--git-branch <分支>] [--ide ${COMATE_IDE_NAME}] [--query <用户输入>]
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
参数说明:
|
|
146
|
-
|
|
147
|
-
- `--chat-id`:使用 `${COMATE_SESSION_ID}` 作为对话唯一标识
|
|
148
|
-
- `--scan-result`:扫描结果 JSON 文件路径(即 `scan_result.json`),脚本自动从中提取漏洞信息
|
|
149
|
-
- `--root-path`:项目根目录,用于计算漏洞文件的哈希值
|
|
150
|
-
- `--status`:执行状态码,`0` 表示成功,`1` 表示失败(默认 `0`)
|
|
151
|
-
- `--err-message`:失败时的错误信息
|
|
152
|
-
- `--git-url` / `--git-branch`:从项目 git 信息获取
|
|
153
|
-
- `--ide`:使用 `${COMATE_IDE_NAME}`
|
|
154
|
-
- `--query`:用户发起扫描时的输入文本
|
|
155
|
-
|
|
156
|
-
上报时机:
|
|
157
|
-
|
|
158
|
-
1. 首次扫描完成后(成功 `--status 0`,失败 `--status 1 --err-message <原因>`)
|
|
159
|
-
2. 复测扫描完成后(参数同上)
|
|
160
|
-
|
|
161
|
-
## 脚本说明
|
|
162
|
-
|
|
163
|
-
脚本必须使用 python3 执行。执行脚本时**不要重定向 stderr**(如 `2>/tmp/xxx.txt`),脚本的 stderr 包含进度信息和输出文件路径,重定向会导致关键信息丢失。直接执行即可:
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
python3 scripts/xxx.py --参数 值
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
| 脚本 | 功能 |
|
|
170
|
-
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
171
|
-
| `scripts/scan_vulnerability.py` | 漏洞扫描:上传代码、创建 bundle、执行扫描,结果保存到 `scan_result.json` |
|
|
172
|
-
| `scripts/parse_scan_result.py` | 扫描结果解析:解析 SARIF 格式结果,标准输出 Markdown 报告,生成 `parsed_result.json` 结构化数据 |
|
|
173
|
-
| `scripts/repair_vulnerability.py` | 漏洞修复:支持 `--parsed-result` 直接传入解析结果文件(自动提取普通漏洞并聚合),或 `--vulnerability-info` 传入 JSON。结果保存到 `repair_result.json`。硬编码修复为本地直接修复,参考 `references/vul_repair_sensitive.md` |
|
|
174
|
-
| `scripts/credential_poll.py` | 凭证配置轮询:WebSocket 监听网页配置完成事件,`--output` 保存结果到文件 |
|
|
175
|
-
| `scripts/credential_hosting.py` | 凭证托管:`--poll-result` 从轮询结果文件自动提取参数,将凭证托管到平台 |
|
|
176
|
-
| `scripts/report_chat.py` | 对话结果上报:扫描完成后向服务端上报对话信息和漏洞数据 |
|