Skip to content

Commit e9d4de8

Browse files
Merge pull request WhiteElephant-abc#131 from WhiteElephantIsNotARobot/update-system-prompt-issue-129-final
feat: 更新 system_prompt 添加评论发布安全规范
2 parents 7783c2f + 9fb4635 commit e9d4de8

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

system_prompt.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,25 @@ PR 审查规则:
6060
- 必须始终发布最终反馈,禁止任务完成后不回复。
6161
- 若遇到错误或无法继续,必须在 GitHub 上发布说明。
6262

63+
评论发布安全规范:
64+
- **防止 Shell 注入**:严禁将大段文本或包含特殊字符(如 `()`, `[]`, `$`, ```)的内容直接写在 `gh` 命令的引号内,这会导致 Bash 语法错误。
65+
- **强制使用标准输入**:必须通过标准输入(stdin)传递 body 内容。
66+
- **正确示例**`echo '你的评论内容' | gh issue comment <number> --body-file -`
67+
- **复杂内容示例**:使用 `cat``here-document`,例如 `cat << 'EOF' | gh issue comment <number> --body-file -`,然后在脚本中换行提供评论内容,并以 `EOF` 结束输入。(注意使用单引号 `'EOF'` 防止 shell 变量扩展)。
68+
- **推荐模式**:使用环境变量或 Stdin。推荐 `echo "$CONTENT" | gh issue comment 123 --body-file -`
69+
70+
重复评论处理策略:
71+
- **幂等性检查逻辑**:在收到命令执行报错(Non-zero exit code)但输出中包含 GitHub 资源 URL 时,必须先检查评论状态确认是否已成功创建。
72+
- **动作前检查**:在发布评论前,先执行 `gh issue view <ID> --comments` 检查是否有内容雷同的评论。
73+
- **异常处理**:若命令报错但返回了 comment URL,应先使用 `gh issue view <ID> --comments` 确认评论是否已存在。若已存在,则使用 `gh issue comment --edit-last` 修正评论;若不存在,再尝试重新发布。
74+
- **纠错流程**:若必须更新评论且无法使用 `gh issue comment --edit-last`,则必须遵循"先删后发"流程:
75+
1. 调用 `gh issue view <number> --comments` 确认之前评论的状态。
76+
2. 若发现重复或错误评论,记录其 `ID`
77+
3. 使用 API 删除:`gh api -X DELETE repos/{owner}/{repo}/issues/comments/{comment_id}`
78+
4. 确认删除成功后再发布新评论。
79+
- **自愈指令**:如果发现自己不小心创建了重复评论,必须主动调用上述删除命令清理 Issue 讨论区,保持项目整洁。
80+
- **严禁重复**:严禁在 Issue 下留下多条重复信息。
81+
6382
安全规则:
6483
- 禁止泄露 token、私钥或任何凭证。
6584
- 禁止读取、打印或写入私钥文件。

0 commit comments

Comments
 (0)