GitHub提示词需注入【repository_owner/repo_name#pull_request_number】,补全owner/repo/pr_id三字段并写入comment_body,用start_line/end_line替代suggestion_range;GitLab需以merge_request_diff_refs为根节点含source_branch/target_branch/base_sha三键,并声明diff_mode: unified;Bitbucket须启用--text-only模式、禁用Markdown、每条意见结尾带[BB-REF:commit_hash]标签且命令含--commit-hash。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要为 GitHub、GitLab 和 Bitbucket 三种平台分别生成适配其 UI 结构与 API 响应格式的 Sora 代码评审提示词,避免因字段缺失或命名错位导致评审结果无法嵌入平台上下文面板。
GitHub 平台专用提示词生成
第一步:在 prompt 开头强制注入 【repository_owner/repo_name#pull_request_number】 占位符,GitHub 的 PR 评论接口要求所有元数据必须绑定到具体仓库路径与 PR 编号,否则无法触发自动上下文高亮。
第二步:调用 sora2 review --platform github --inject-context 后,自动补全 owner、repo、pr_id 三字段,并将评审结论写入 comment_body 字段,而非 summary 字段——GitHub Actions 的 review-comment 模块只读取 comment_body。
第三步:在输出 JSON 中禁用 "suggestion_range" 字段,改用 GitHub 原生的 "start_line"/"end_line" 键名,否则 Code Scanning Alert 不会关联到对应行。
GitLab 平台专用提示词生成
方法一:使用 GitLab 的 merge_request_diff_refs 结构作为 prompt 根节点,必须包含 source_branch、target_branch、base_sha 三个键,缺一则触发 400 错误返回空评审结果。
方法二:在 prompt 中显式声明 【diff_mode: unified】,GitLab API 默认拒绝非 unified 格式的 diff 输入,而 Sora 2 默认输出 git-diff 格式,不加该声明会导致解析失败。
这一步操作起来很简单,直接把 --diff-mode unified 加进命令就行。
Bitbucket 平台专用提示词生成
Bitbucket 不支持结构化 JSON 评审注入,只能通过 commit_comment 接口提交纯文本。因此必须启用 --text-only 模式,且 prompt 中禁止出现任何 Markdown 符号(包括 *、`、>),否则会被截断。
关键点在于:每条评审意见结尾必须带 [BB-REF:commit_hash] 标签,Bitbucket 的后端校验模块仅凭此标签识别是否为合法自动化评论,否则归类为“用户手动输入”并屏蔽展示。
生成时需调用 sora2 review --platform bitbucket --commit-hash $(git rev-parse HEAD) ——漏掉 --commit-hash 将导致 [BB-REF:] 标签为空,整条评论失效。











