@comate/zulu 1.2.1-beta.1 → 1.3.0
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/assets/skills/auto-commit-comate/SKILL.md +260 -0
- package/comate-engine/assets/skills/auto-commit-comate/references/data_structures.md +189 -0
- package/comate-engine/assets/skills/auto-commit-comate/references/new_version_instruction.md +209 -0
- package/comate-engine/assets/skills/auto-commit-comate/references/old_version_instruction.md +208 -0
- package/comate-engine/assets/skills/auto-commit-comate/scripts/git_diff_cli.py +196 -0
- package/comate-engine/assets/skills/{smart-commit → auto-commit-comate}/scripts/git_utils.py +20 -10
- package/comate-engine/assets/skills/{smart-commit → auto-commit-comate}/scripts/icafe/client.py +69 -40
- package/comate-engine/assets/skills/{smart-commit → auto-commit-comate}/scripts/icafe/farseer.py +8 -9
- package/comate-engine/assets/skills/{smart-commit → auto-commit-comate}/scripts/icafe/matching.py +65 -9
- package/comate-engine/assets/skills/auto-commit-comate/scripts/match_card_cli.py +37 -0
- package/comate-engine/assets/skills/cnap-comate/SKILL.md +157 -0
- package/comate-engine/assets/skills/cnap-comate/references/cases.md +198 -0
- package/comate-engine/assets/skills/cnap-comate/references/deploy-troubleshoot.md +15 -0
- package/comate-engine/assets/skills/cnap-comate/references/install.md +43 -0
- package/comate-engine/assets/skills/cnap-comate/references/kubectl.md +55 -0
- package/comate-engine/assets/skills/cnap-comate/references/login.md +125 -0
- package/comate-engine/assets/skills/cnap-comate/references/oncall.md +24 -0
- package/comate-engine/assets/skills/cnap-comate/scripts/install_cnap_cli.sh +36 -0
- package/comate-engine/assets/skills/code-security/SKILL.md +176 -0
- package/comate-engine/assets/skills/code-security/references/credential_hosting.md +102 -0
- package/comate-engine/assets/skills/code-security/references/vul_repair_sensitive.md +219 -0
- 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 +99 -0
- package/comate-engine/assets/skills/code-security/scripts/credential_poll.py +350 -0
- package/comate-engine/assets/skills/code-security/scripts/http_client.py +173 -0
- package/comate-engine/assets/skills/code-security/scripts/parse_scan_result.py +301 -0
- package/comate-engine/assets/skills/code-security/scripts/repair_vulnerability.py +261 -0
- package/comate-engine/assets/skills/code-security/scripts/report_chat.py +198 -0
- package/comate-engine/assets/skills/code-security/scripts/scan_vulnerability.py +316 -0
- package/comate-engine/assets/skills/code-security-comate/SKILL.md +219 -0
- package/comate-engine/assets/skills/code-security-comate/references/credential_hosting.md +102 -0
- package/comate-engine/assets/skills/code-security-comate/references/vul_repair-go_sql_injection.md +399 -0
- package/comate-engine/assets/skills/code-security-comate/references/vul_repair-java_sql_injection.md +591 -0
- package/comate-engine/assets/skills/code-security-comate/references/vul_repair-php_sql_injection.md +318 -0
- package/comate-engine/assets/skills/code-security-comate/references/vul_repair-python_sql_injection.md +198 -0
- package/comate-engine/assets/skills/code-security-comate/references/vul_repair_sensitive.md +219 -0
- package/comate-engine/assets/skills/code-security-comate/scripts/credential_hosting.py +87 -0
- package/comate-engine/assets/skills/code-security-comate/scripts/credential_poll.py +345 -0
- package/comate-engine/assets/skills/code-security-comate/scripts/http_client.py +173 -0
- package/comate-engine/assets/skills/code-security-comate/scripts/parse_scan_result.py +392 -0
- package/comate-engine/assets/skills/code-security-comate/scripts/repair_vulnerability.py +245 -0
- package/comate-engine/assets/skills/code-security-comate/scripts/report_chat.py +145 -0
- package/comate-engine/assets/skills/code-security-comate/scripts/scan_vulnerability.py +444 -0
- package/comate-engine/assets/skills/code-security-comate/scripts/utils.py +153 -0
- package/comate-engine/assets/skills/comate-docs-comate/SKILL.md +148 -0
- package/comate-engine/assets/skills/comate-docs-comate/references/doc-map-extended.md +78 -0
- package/comate-engine/assets/skills/comate-docs-comate/references/models-and-billing.md +51 -0
- package/comate-engine/assets/skills/comate-docs-comate/references/product-overview.md +73 -0
- package/comate-engine/assets/skills/comate-docs-comate/references/query_content.md +83 -0
- package/comate-engine/assets/skills/comate-docs-comate/references/query_repo.md +57 -0
- package/comate-engine/assets/skills/comate-docs-comate/scripts/ku_operator.py +1575 -0
- package/comate-engine/assets/skills/create-image-comate/SKILL.md +278 -0
- package/comate-engine/assets/skills/create-skill-comate/SKILL.md +308 -217
- package/comate-engine/assets/skills/create-skill-comate/agents/analyzer.md +274 -0
- package/comate-engine/assets/skills/create-skill-comate/agents/comparator.md +202 -0
- package/comate-engine/assets/skills/create-skill-comate/agents/grader.md +223 -0
- package/comate-engine/assets/skills/create-skill-comate/assets/eval_review.html +146 -0
- package/comate-engine/assets/skills/create-skill-comate/eval-viewer/generate_review.py +489 -0
- package/comate-engine/assets/skills/create-skill-comate/eval-viewer/viewer.html +1325 -0
- package/comate-engine/assets/skills/create-skill-comate/references/schemas.md +430 -0
- package/comate-engine/assets/skills/create-skill-comate/scripts/__init__.py +0 -0
- package/comate-engine/assets/skills/create-skill-comate/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
- package/comate-engine/assets/skills/create-skill-comate/scripts/__pycache__/aggregate_benchmark.cpython-311.pyc +0 -0
- package/comate-engine/assets/skills/create-skill-comate/scripts/aggregate_benchmark.py +412 -0
- package/comate-engine/assets/skills/create-skill-comate/scripts/generate_report.py +334 -0
- package/comate-engine/assets/skills/create-skill-comate/scripts/package_skill.py +140 -0
- package/comate-engine/assets/skills/create-skill-comate/scripts/utils.py +53 -0
- package/comate-engine/assets/skills/find-skills-comate/SKILL.md +15 -12
- package/comate-engine/assets/skills/find-skills-comate/scripts/fetch_skills.py +32 -3
- package/comate-engine/assets/skills/get-ugate-token-comate/SKILL.md +159 -0
- package/comate-engine/assets/skills/get-ugate-token-comate/getUgateToken.py +150 -0
- package/comate-engine/assets/skills/icafe-comate/SKILL.md +240 -0
- package/comate-engine/assets/skills/icafe-comate/references/ai-workflows.md +233 -0
- package/comate-engine/assets/skills/icafe-comate/references/commands.md +1147 -0
- package/comate-engine/assets/skills/icafe-comate/references/error-handling.md +164 -0
- package/comate-engine/assets/skills/icafe-comate/references/git-auto-bindcard-workflow.md +201 -0
- package/comate-engine/assets/skills/icafe-comate/references/git-bindcard-workflow.md +327 -0
- package/comate-engine/assets/skills/icafe-comate/references/iql-syntax.md +327 -0
- package/comate-engine/assets/skills/icafe-comate/references/platform-concepts.md +317 -0
- package/comate-engine/assets/skills/icafe-comate/references/smart-create-workflow.md +171 -0
- package/comate-engine/assets/skills/icafe-comate/references/smart-find-workflow.md +127 -0
- package/comate-engine/assets/skills/icafe-comate/references/smart-update-workflow.md +118 -0
- package/comate-engine/assets/skills/icode-comate/SKILL.md +366 -0
- package/comate-engine/assets/skills/icode-comate/references/api/add_reviewers.md +44 -0
- package/comate-engine/assets/skills/icode-comate/references/api/build_fetch_command.md +89 -0
- package/comate-engine/assets/skills/icode-comate/references/api/check_repo_permission.md +89 -0
- package/comate-engine/assets/skills/icode-comate/references/api/create_branch.md +79 -0
- package/comate-engine/assets/skills/icode-comate/references/api/create_draft_comment.md +109 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_ai_cr_result.md +190 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_ai_review.md +97 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_diff_content.md +92 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_diff_file.md +88 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_machine_check.md +73 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_my_reviews.md +115 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_person_commit.md +89 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_person_repo.md +63 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_repo_branch.md +62 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_repo_config.md +91 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_repo_members.md +118 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_repo_reviews.md +91 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_review_comments.md +87 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_review_info.md +81 -0
- package/comate-engine/assets/skills/icode-comate/references/api/get_submit_settings.md +105 -0
- package/comate-engine/assets/skills/icode-comate/references/api/icode-api.md +86 -0
- package/comate-engine/assets/skills/icode-comate/references/api/publish_comments.md +72 -0
- package/comate-engine/assets/skills/icode-comate/references/api/set_review_score.md +58 -0
- package/comate-engine/assets/skills/icode-comate/references/api/start_ai_review.md +77 -0
- package/comate-engine/assets/skills/icode-comate/references/api/submit_review.md +50 -0
- package/comate-engine/assets/skills/icode-comate/references/api/trigger_ai_cr.md +63 -0
- package/comate-engine/assets/skills/icode-comate/references/feature/add-reviewer.md +92 -0
- package/comate-engine/assets/skills/icode-comate/references/feature/fix-machine-check.md +144 -0
- package/comate-engine/assets/skills/icode-comate/references/feature/merge-cr.md +100 -0
- package/comate-engine/assets/skills/icode-comate/references/feature/ssh-setup.md +106 -0
- package/comate-engine/assets/skills/icode-comate/references/feature/submit-acr.md +135 -0
- package/comate-engine/assets/skills/icode-comate/references/feature/submit-cr.md +123 -0
- package/comate-engine/assets/skills/icode-comate/references/git/clone.md +67 -0
- package/comate-engine/assets/skills/icode-comate/references/git/icode-git.md +68 -0
- package/comate-engine/assets/skills/icode-comate/references/git/push.md +64 -0
- package/comate-engine/assets/skills/icode-comate/references/git/push_cr.md +103 -0
- package/comate-engine/assets/skills/icode-comate/references/install.md +144 -0
- package/comate-engine/assets/skills/icode-comate/references/login.md +111 -0
- package/comate-engine/assets/skills/icode-comate/scripts/add-reviewer.sh +154 -0
- package/comate-engine/assets/skills/icode-comate/scripts/common.sh +145 -0
- package/comate-engine/assets/skills/icode-comate/scripts/fix-machine-check.sh +131 -0
- package/comate-engine/assets/skills/icode-comate/scripts/merge-cr.sh +105 -0
- package/comate-engine/assets/skills/icode-comate/scripts/ssh-setup.sh +159 -0
- package/comate-engine/assets/skills/icode-comate/scripts/submit-acr.sh +236 -0
- package/comate-engine/assets/skills/icode-comate/scripts/submit-cr.sh +104 -0
- package/comate-engine/assets/skills/icode-comate/scripts/test-preflight.sh +89 -0
- package/comate-engine/assets/skills/ku-operator-comate/SKILL.md +121 -0
- package/comate-engine/assets/skills/ku-operator-comate/examples.md +190 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/add_member.md +49 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/change_scope.md +38 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/copy_doc.md +50 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/create_doc.md +61 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/delete_doc.md +31 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/edit_content.md +568 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/move_doc.md +45 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/query_comment.md +79 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/query_content.md +83 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/query_flowchart.md +84 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/query_permission.md +38 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/query_recent_view.md +67 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/query_repo.md +57 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/query_user_info.md +37 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/update_member.md +41 -0
- package/comate-engine/assets/skills/ku-operator-comate/references/upload_attachment.md +52 -0
- package/comate-engine/assets/skills/ku-operator-comate/scripts/ku_operator.py +1575 -0
- package/comate-engine/node_modules/better-sqlite3/node_modules/.bin/prebuild-install +2 -2
- package/comate-engine/node_modules/tree-sitter-bash/node_modules/.bin/node-gyp-build +2 -2
- package/comate-engine/node_modules/tree-sitter-bash/node_modules/.bin/node-gyp-build-optional +2 -2
- package/comate-engine/node_modules/tree-sitter-bash/node_modules/.bin/node-gyp-build-test +2 -2
- package/comate-engine/package.json +2 -0
- package/comate-engine/server.js +263 -79
- package/dist/bundle/index.js +8 -8
- package/package.json +1 -1
- package/comate-engine/assets/skills/figma2code-comate/codeConnect.md +0 -37
- package/comate-engine/assets/skills/figma2code-comate/designToken.md +0 -3
- package/comate-engine/assets/skills/figma2code-comate/f2cMcp.md +0 -59
- package/comate-engine/assets/skills/smart-commit/SKILL.md +0 -646
- package/comate-engine/node_modules/@comate/plugin-host/dist/index-AZIho4HV.js +0 -1
- package/comate-engine/node_modules/@comate/plugin-host/dist/user-BIpzRUfb.js +0 -44
- /package/comate-engine/assets/skills/{smart-commit → auto-commit-comate}/references/issue_type_mapping.json +0 -0
- /package/comate-engine/assets/skills/{smart-commit → auto-commit-comate}/references/query_reference.md +0 -0
- /package/comate-engine/assets/skills/{smart-commit → auto-commit-comate}/scripts/compat.py +0 -0
- /package/comate-engine/assets/skills/{smart-commit → auto-commit-comate}/scripts/create_card_cli.py +0 -0
- /package/comate-engine/assets/skills/{smart-commit → auto-commit-comate}/scripts/icafe/__init__.py +0 -0
- /package/comate-engine/assets/skills/{smart-commit → auto-commit-comate}/scripts/logger.py +0 -0
- /package/comate-engine/assets/skills/{smart-commit → auto-commit-comate}/scripts/recognize_card_cli.py +0 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# AI 卡片预审与代码生成工作流
|
|
2
|
+
|
|
3
|
+
本文档包含使用 AI 预审卡片内容和根据卡片自动生成代码的完整交互流程。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 场景1: AI 卡片预审
|
|
8
|
+
|
|
9
|
+
使用 AI 对卡片内容进行质量检查。异步操作:先发起,等待处理,再查结果。
|
|
10
|
+
|
|
11
|
+
### 确定目标卡片
|
|
12
|
+
|
|
13
|
+
按以下优先级确定要预审的卡片:
|
|
14
|
+
|
|
15
|
+
**用户明确指定了卡片** (如 "预审一下 cloud-iCafe-22229")
|
|
16
|
+
→ 直接解析 space 和 sequence,跳到"发起预审"
|
|
17
|
+
|
|
18
|
+
**用户指定了空间但没指定卡片** (如 "预审 cloud-iCafe 的卡片")
|
|
19
|
+
→ 查询该空间用户的活跃卡片,列出候选:
|
|
20
|
+
```bash
|
|
21
|
+
icafe-cli card query --space cloud-iCafe \
|
|
22
|
+
--iql "负责人 = currentUser AND 流程状态 != 已关闭" --brief
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**用户什么都没指定** (如 "帮我预审卡片")
|
|
26
|
+
→ 用 smart-find 获取用户的活跃卡片和空间:
|
|
27
|
+
```bash
|
|
28
|
+
icafe-cli card smart-find
|
|
29
|
+
```
|
|
30
|
+
从结果中列出候选卡片(优先显示未关闭的、最近修改的),让用户选择。
|
|
31
|
+
|
|
32
|
+
### 检查评审规则(可选)
|
|
33
|
+
|
|
34
|
+
确定卡片后,检查该空间是否配置了预审规则:
|
|
35
|
+
```bash
|
|
36
|
+
icafe-cli ai-pre-review rules --space <space>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
- 如果 `data` 为空数组 → 该空间没有配置规则,跳过,不传 `--rules`
|
|
40
|
+
- 如果有规则 → 默认全部带上(规则是空间管理员配置的评审标准),或列出让用户选择
|
|
41
|
+
- 注意:不传规则时 AI 使用默认评审维度,也能正常工作
|
|
42
|
+
|
|
43
|
+
### 发起预审
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# 不带规则
|
|
47
|
+
icafe-cli ai-pre-review start --space <space> --sequence <sequence>
|
|
48
|
+
|
|
49
|
+
# 带规则 (规则 ID 从 ai-pre-review rules 获取)
|
|
50
|
+
icafe-cli ai-pre-review start --space <space> --sequence <sequence> --rules 65,84
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
成功返回:
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"status": "OK",
|
|
57
|
+
"data": { "conversationId": "abc123..." }
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
验证:检查 `status` 为 `"OK"` 且 `data.conversationId` 非空。
|
|
62
|
+
|
|
63
|
+
### 查询预审结果
|
|
64
|
+
|
|
65
|
+
发起后 AI 需要处理时间(通常 20 秒 ~ 1 分钟),**等待 20-40 秒后再查询**:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# 通过空间+序列号查 (推荐,issueId 有缓存不会额外调接口)
|
|
69
|
+
icafe-cli ai-pre-review result --space <space> --sequence <sequence>
|
|
70
|
+
|
|
71
|
+
# 或通过 conversationId 查
|
|
72
|
+
icafe-cli ai-pre-review result --conversation-id <conversationId>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**状态处理**:
|
|
76
|
+
| `data.status` | 含义 | 处理 |
|
|
77
|
+
|---------------|------|------|
|
|
78
|
+
| `RUNNING` | AI 正在处理中 | 等待 20-40 秒后重试,**最多重试 3 次** |
|
|
79
|
+
| `FINISHED` | 处理完成 | 提取 `data.content` 展示给用户 |
|
|
80
|
+
| `FAIL` | 处理失败 | 告知用户失败,建议重新发起 |
|
|
81
|
+
| `TIMEOUT` | 处理超时 | 告知用户超时,建议重新发起 |
|
|
82
|
+
|
|
83
|
+
> **重试 3 次仍为 RUNNING**: 告知用户"预审仍在处理中,请稍后手动查询",并给出查询命令让用户自行检查。
|
|
84
|
+
|
|
85
|
+
**结果解析**:`data.content` 是 JSON 字符串,需要二次解析:
|
|
86
|
+
```json
|
|
87
|
+
{
|
|
88
|
+
"content": "{\"elements\":[{\"type\":\"text\",\"content\":\"评审意见...\"}]}"
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
提取 `elements[].content` 中 `type=text` 的文本展示给用户。
|
|
92
|
+
|
|
93
|
+
### 多用户提示
|
|
94
|
+
|
|
95
|
+
如果返回的 `data.user` 不是当前用户,说明这是其他人发起的预审结果。CLI 会在 stderr 提示。如需只查自己的结果:
|
|
96
|
+
```bash
|
|
97
|
+
icafe-cli ai-pre-review result --space <space> --sequence <sequence> --mine
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 决策流程图
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
用户要求预审卡片
|
|
104
|
+
│
|
|
105
|
+
├─ 确定目标卡片
|
|
106
|
+
│ ├─ 用户指定了 space+sequence? → 直接用
|
|
107
|
+
│ ├─ 指定了 space? → card query 查用户活跃卡片 → 选择
|
|
108
|
+
│ └─ 都没指定? → card smart-find → 选择
|
|
109
|
+
│
|
|
110
|
+
├─ 检查评审规则 (可选)
|
|
111
|
+
│ ├─ ai-pre-review rules 查规则
|
|
112
|
+
│ ├─ 有规则 → 默认全带上,或让用户选
|
|
113
|
+
│ └─ 无规则 → 不传 --rules
|
|
114
|
+
│
|
|
115
|
+
├─ 发起预审
|
|
116
|
+
│ └─ ai-pre-review start --space --sequence [--rules]
|
|
117
|
+
│ └─ 检查 status="OK" + conversationId 非空
|
|
118
|
+
│
|
|
119
|
+
└─ 查询结果 (等待 20-40s 后)
|
|
120
|
+
└─ ai-pre-review result --space --sequence
|
|
121
|
+
├─ RUNNING → 等 20-40s 重试 (最多 3 次)
|
|
122
|
+
│ └─ 3 次后仍 RUNNING → 提示用户稍后手动查询
|
|
123
|
+
├─ FINISHED → 解析 content 展示给用户
|
|
124
|
+
└─ FAIL/TIMEOUT → 告知用户,建议重试
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 场景2: AI 卡片代码生成
|
|
130
|
+
|
|
131
|
+
根据卡片内容让 AI 自动生成代码。需要指定代码仓库,AI 会分析卡片需求并生成对应代码。
|
|
132
|
+
|
|
133
|
+
### 确定目标卡片
|
|
134
|
+
|
|
135
|
+
与预审流程相同 — 用户明确指定、查询选择、或 smart-find。
|
|
136
|
+
|
|
137
|
+
### 确定代码仓库
|
|
138
|
+
|
|
139
|
+
**在 git 仓库目录下执行** → CLI 自动检测 repo 和 branch:
|
|
140
|
+
- `--repo`: 从 `git remote get-url origin` 解析仓库路径(如 `baidu/icafe/luigi-service`)
|
|
141
|
+
- `--branch`: 从 `git rev-parse --abbrev-ref HEAD` 获取当前分支
|
|
142
|
+
|
|
143
|
+
**不在 git 目录下** → 必须手动指定 `--repo`:
|
|
144
|
+
```bash
|
|
145
|
+
icafe-cli ai-codegen start --space <space> --sequence <sequence> --repo baidu/myrepo
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
如果 `--repo` 不传且自动检测失败,CLI 会报错并提示手动指定。
|
|
149
|
+
`--branch` 不传时不报错,服务端会使用默认分支。
|
|
150
|
+
|
|
151
|
+
### 发起代码生成
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# 在 git 仓库目录下 (自动检测 repo 和 branch)
|
|
155
|
+
icafe-cli ai-codegen start --space <space> --sequence <sequence>
|
|
156
|
+
|
|
157
|
+
# 手动指定 repo 和 branch
|
|
158
|
+
icafe-cli ai-codegen start --space <space> --sequence <sequence> \
|
|
159
|
+
--repo baidu/myrepo --branch master
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
成功返回与预审相同:`status="OK"` + `data.conversationId`。
|
|
163
|
+
|
|
164
|
+
### 查询代码生成结果
|
|
165
|
+
|
|
166
|
+
代码生成时间通常比预审长(1 ~ 几分钟),**等待 30-50 秒后再查询**:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
icafe-cli ai-codegen result --space <space> --sequence <sequence>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
状态处理与预审一致(RUNNING/FINISHED/FAIL/TIMEOUT)。
|
|
173
|
+
RUNNING 时每次等待 30-50 秒,**最多重试 4 次**。
|
|
174
|
+
|
|
175
|
+
> **重试 4 次仍为 RUNNING**: 告知用户"代码生成仍在处理中,请稍后手动查询",并给出查询命令让用户自行检查。
|
|
176
|
+
|
|
177
|
+
### 结果解析
|
|
178
|
+
|
|
179
|
+
`data.content` 包含 AI 生成的分析和代码,结构与预审类似(JSON 字符串中的 elements 数组)。
|
|
180
|
+
内容通常包含:
|
|
181
|
+
- 需求分析和技术方案
|
|
182
|
+
- 涉及的文件和改动说明
|
|
183
|
+
- 生成的代码(可能已自动提交到仓库的 CR)
|
|
184
|
+
- 如果 CR 推送失败,会说明原因(如仓库不存在、无权限等)
|
|
185
|
+
|
|
186
|
+
### 决策流程图
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
用户要求根据卡片生成代码
|
|
190
|
+
│
|
|
191
|
+
├─ 确定目标卡片 (同预审流程)
|
|
192
|
+
│
|
|
193
|
+
├─ 确定代码仓库
|
|
194
|
+
│ ├─ 在 git 目录下? → 自动检测 repo + branch
|
|
195
|
+
│ └─ 不在? → 必须手动 --repo,或询问用户
|
|
196
|
+
│
|
|
197
|
+
├─ 发起代码生成
|
|
198
|
+
│ └─ ai-codegen start --space --sequence [--repo --branch]
|
|
199
|
+
│ └─ 检查 status="OK" + conversationId 非空
|
|
200
|
+
│
|
|
201
|
+
└─ 查询结果 (等待 30-50s 后)
|
|
202
|
+
└─ ai-codegen result --space --sequence
|
|
203
|
+
├─ RUNNING → 等 30-50s 重试 (最多 4 次)
|
|
204
|
+
│ └─ 4 次后仍 RUNNING → 提示用户稍后手动查询
|
|
205
|
+
├─ FINISHED → 解析 content 展示给用户
|
|
206
|
+
└─ FAIL/TIMEOUT → 告知用户,建议重试
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## 通用注意事项
|
|
212
|
+
|
|
213
|
+
### 成功判断
|
|
214
|
+
|
|
215
|
+
预审和代码生成的 start/result 接口都使用 macross BaseResponse 格式:
|
|
216
|
+
- 成功标识:`status` 字段值为字符串 `"OK"`(不是数字 200)
|
|
217
|
+
- 数据在 `data` 字段中
|
|
218
|
+
- 与 iCafe 卡片接口的 `code: 200` 判断方式不同
|
|
219
|
+
|
|
220
|
+
### issueId 缓存
|
|
221
|
+
|
|
222
|
+
`ai-pre-review start` 和 `ai-codegen start` 内部会调 `card get` 获取卡片信息,同时缓存 issueId 映射(1 天)。后续 `result` 查询通过 `--space --sequence` 时会优先读缓存,不再重复调 `card get`。
|
|
223
|
+
|
|
224
|
+
所以典型流程 `start → result` 中,只有 start 调一次 `card get`,result 直接用缓存。
|
|
225
|
+
|
|
226
|
+
### 错误处理
|
|
227
|
+
|
|
228
|
+
| 错误 | 原因 | 处理 |
|
|
229
|
+
|------|------|------|
|
|
230
|
+
| start 返回 `status` 非 `"OK"` | 参数错误、卡片内容为空等 | 检查 message 字段的错误信息 |
|
|
231
|
+
| result 返回 HTTP 错误 | conversationId 不存在、服务异常 | 提示用户重新发起 |
|
|
232
|
+
| FAIL/TIMEOUT | AI 处理失败或超时 | 建议用户重新发起,可能是卡片内容不够详细 |
|
|
233
|
+
| 代码生成 CR 推送失败 | 仓库不存在、无 MEMBER 权限 | 检查 --repo 是否正确,确认用户有仓库权限 |
|