錄:公共證據(jù)與版本新鮮度約束的落地實(shí)踐)
人工智能AI 應(yīng)用桌面應(yīng)用【免費(fèi)下載鏈接】open-codesignOpen-source Claude Design alternative. One-click import your Claude Code / Codex API key. Prompt → prototype / slides / PDF. Multi-model (Claude, GPT, Gemini, Kimi, GLM, Ollama). BYOK, local-first, MIT.項(xiàng)目地址https://gitcode.com/gh_mirrors/op/open-codesign點(diǎn)擊查看免費(fèi)下載導(dǎo)讀本文以 .Codex/workspace/pr_review_bot_update_plan.md 這份內(nèi)部工作計(jì)劃為主體完整還原 open-codesign 倉庫中 Codex PR 審查機(jī)器人的一次關(guān)鍵改造讓面向公眾的 PR 審查評(píng)論不再引用維護(hù)者私有文檔也不再依賴可能過期的模型記憶來斷言版本事實(shí)。讀完本文你將掌握這套公共上下文 / 內(nèi)部上下文分離 版本敏感聲明先查倉庫再查權(quán)威源的審查提示詞設(shè)計(jì)模式以及它在pull_request_target工作流下的安全落地方式可直接遷移到你自己的開源倉庫。一、背景公開審查為何會(huì)引用私有文檔open-codesign 是一個(gè)開源的 AI 設(shè)計(jì)工具Electron 桌面應(yīng)用其 PR 審查機(jī)器人由 .github/workflows/codex-pr-review.yml 配置、核心行為由 .github/prompts/codex-pr-review.md 定義。審查計(jì)劃文檔指出改造前的機(jī)器人存在兩個(gè)問題引用內(nèi)部文檔舊提示詞把docs/下的文件列為 Key docs 并要求機(jī)器人加載、引用它們但docs/目錄是被 gitignore 的內(nèi)部目錄公共貢獻(xiàn)者根本無法訪問。結(jié)果就是公開審查評(píng)論會(huì)指向貢獻(xiàn)者打不開的文件。依賴過期的模型記憶舊提示詞直接陳述 Electron 33 之類的版本事實(shí)。依賴版本會(huì)隨升級(jí)而變動(dòng)模型訓(xùn)練數(shù)據(jù)中的版本信息必然過期導(dǎo)致審查結(jié)論失真。這兩點(diǎn)在倉庫中都有明確佐證CLAUDE.md 與 AGENTS.md 均明確聲明 docs/is gitignoreddocs/已被 git 忽略維護(hù)者本地存在、公共克隆中不存在且 AGENTS.md 直接要求 Do not citedocs/**in public PR review comments unless the file exists in the public checkout除非文件存在于公共檢出中否則不要在公開 PR 審查評(píng)論中引用docs/**。二、更新目標(biāo)與約束讀取計(jì)劃的 Goal 定義得很克制更新 Codex PR 審查機(jī)器人使公開 PR 審查不以內(nèi)部/私有文檔作為證據(jù)也不依賴可能過期的模型知識(shí)來作出版本敏感聲明。改造前維護(hù)者通讀了五份約束文件作為設(shè)計(jì)輸入docs/VISION.md項(xiàng)目愿景內(nèi)部文檔docs/PRINCIPLES.md項(xiàng)目原則內(nèi)部文檔docs/COLLABORATION.md協(xié)作規(guī)范內(nèi)部文檔CLAUDE.md面向 Claude Code 的公共指令A(yù)GENTS.md面向 Codex 等 Agent 的公共指令且被定義為公共事實(shí)源注意一個(gè)細(xì)節(jié)約束清單里同時(shí)出現(xiàn)內(nèi)部文檔與公共指令正是因?yàn)楦脑斓暮诵拿芫褪莾?nèi)部上下文與公共上下文的邊界——機(jī)器人既要用內(nèi)部材料校準(zhǔn)自身行為又不能在輸出中泄露它們。三、核心改動(dòng)一公共上下文與內(nèi)部上下文的顯式分離改造后的提示詞在 .github/prompts/codex-pr-review.md 的 Project Context 一節(jié)中用兩段話劃清了邊界公共上下文Public contextAGENTS.md若存在、CLAUDE.md、.github/PULL_REQUEST_TEMPLATE.md包清單package manifests、鎖文件lockfiles、變更的源碼文件其他已提交到公共倉庫的文件當(dāng)AGENTS.md與CLAUDE.md沖突時(shí)優(yōu)先采納AGENTS.md僅內(nèi)部上下文Internal-only contextdocs/**、.claude/**、.Codex/**在維護(hù)者工作區(qū)可能存在但不保證存在于公共克隆中嚴(yán)禁引用這些文件、要求貢獻(xiàn)者閱讀它們或僅憑它們出具公開結(jié)論若 PR 新增/修改.claude/**、.Codex/**、.env*等本地 Agent/私有配置該 diff 本身是公開的通常應(yīng)標(biāo)記為無關(guān)的私有配置若內(nèi)部文件與公共文件沖突以公共文件為審查依據(jù)最多向維護(hù)者提出一個(gè)內(nèi)部問題這段設(shè)計(jì)的價(jià)值在于它不要求機(jī)器人假裝不知道內(nèi)部文件的存在而是把內(nèi)部文件降級(jí)為行為校準(zhǔn)輸入而非證據(jù)輸出——機(jī)器人可以理解項(xiàng)目約束但引用證據(jù)時(shí)只能用公共倉庫里真實(shí)存在的文件。四、核心改動(dòng)二版本敏感聲明的新鮮度檢查鏈針對(duì)模型記憶過期問題提示詞在 Task 一節(jié)引入了Freshness checks新鮮度檢查規(guī)則對(duì)于依賴、運(yùn)行時(shí)或 API 版本的聲明先對(duì)照倉庫文件核實(shí)。若倉庫文件不足且網(wǎng)絡(luò)可用再使用公共權(quán)威源如 npm 包元數(shù)據(jù)、GitHub Releases、官方文檔。絕不單憑模型記憶報(bào)告版本相關(guān)問題。配套的 Response Guidelines 進(jìn)一步細(xì)化判定 latest / unsupported / deprecated / current stable 時(shí)必須在推理中注明核驗(yàn)來源本次運(yùn)行無法核驗(yàn)的不提交該 finding。引用證據(jù)時(shí)使用path:line格式指向具體公共文件與行號(hào)。嚴(yán)禁引用維護(hù)者本地的docs/**、未跟蹤的.claude/**/.Codex/**、本地絕對(duì)路徑、工作流 runner 臨時(shí)路徑等公共檢出中不存在的文件。提示詞還要求審查前先讀取倉庫元數(shù)據(jù)作為活事實(shí)live factspackage.json、各 workspace 包清單、pnpm-lock.yaml、renovate.json及相關(guān) release 元數(shù)據(jù)——與倉庫根目錄實(shí)際存在的 package.json、pnpm-lock.yaml、renovate.json 一一對(duì)應(yīng)。針對(duì)發(fā)布鏈路提示詞還有獨(dú)立的 Release And Distribution Validation 一節(jié)把版本新鮮度延伸到安裝渠道一致性packaging/update-shas.sh必須從實(shí)際發(fā)布的 release 或當(dāng)前 workflow 輸入推導(dǎo)版本/URL/校驗(yàn)和packaging/homebrew/Casks/open-codesign.rb、packaging/scoop/bucket/open-codesign.json、packaging/winget/**、packaging/flatpak/**必須與當(dāng)前發(fā)布資產(chǎn)和SHA256SUMS.txt一致任何公開安裝渠道的哈希漂移都是Blocker。五、工作流層面的安全護(hù)欄計(jì)劃文檔標(biāo)注的配置入口是 .github/workflows/codex-pr-review.yml該工作流圍繞信任邊界做了三層防護(hù)是這套改造能安全上線的關(guān)鍵pull_request_target 恢復(fù)受信任提示詞工作流在pull_request_target事件下運(yùn)行因此擁有寫權(quán)限、可提交審查但檢出的是 untrusted 的合并 ref在啟動(dòng)帶寫令牌的機(jī)器人前先用git show ${{ github.event.pull_request.base.sha }}:.github/prompts/codex-pr-review.md把提示詞恢復(fù)為基礎(chǔ)分支上的受信任版本防止 PR 通過修改提示詞劫持機(jī)器人。觸發(fā)條件收緊僅審查非 draft、非 bot 賬號(hào)、未打bot-skip標(biāo)簽、且vars.CODEX_BOT_ENABLED true的 PR。審查去重與跟進(jìn)模式通過actions/github-script分頁讀取歷史 review按*Open-CoDesign Bot*簽名與 Bot 賬號(hào)過濾輸出current_head_sha、latest_bot_review_id、is_follow_up_review供機(jī)器人區(qū)分 initial 與 follow-up 兩種審查模式避免同一 commit 重復(fù)審查。模型提供方支持兩條路徑默認(rèn)走openai/codex-action當(dāng)配置的 base URL 命中 DeepSeek 時(shí)切換為 .github/scripts/deepseek-pr-review.mjs配套 .github/scripts/deepseek-common.mjs 與測(cè)試文件 .github/scripts/deepseek-common.test.mjs。模型、effort、API key 均可通過REVIEW_*/DEFAULT_*secrets 與 vars 覆蓋默認(rèn)模型為gpt-5.4、默認(rèn) effort 為high。六、審查行為規(guī)范證據(jù)優(yōu)先、噪聲控制除了公共證據(jù)與版本新鮮度更新后的提示詞還整體規(guī)范了審查的輸出紀(jì)律這組規(guī)則保證了機(jī)器人評(píng)論的高信噪比嚴(yán)重度分級(jí)Blocker可利用的安全問題、疑似數(shù)據(jù)丟失、CI/構(gòu)建/發(fā)布路徑損壞、不兼容許可證/ Major用戶可見回歸、核心流程損壞、持久化/運(yùn)行時(shí)契約錯(cuò)誤、架構(gòu)約束違背/ Minor應(yīng)在合并前后修復(fù)但方向正確的問題/ Nit風(fēng)格與清理絕不可描述為合并阻塞。不提交 finding 的場(chǎng)景偶然的單次 Tailwind 尺寸工具類、錦上添花的可選測(cè)試、Biome 可接受的格式偏好、PR 只是沿襲既有代碼模式。高信號(hào)門檻置信度 80% 不報(bào)告改為提問每個(gè) finding 必須給出具體下一步動(dòng)作只評(píng)論新增/修改行未變更代碼僅作上下文。響應(yīng)格式findings 按嚴(yán)重度排序Summary 必須以Review mode: initial或Review mode: follow-up after new commits開頭以*Open-CoDesign Bot*簽名結(jié)尾語言跟隨 PR 主導(dǎo)語言中/英。Fresh-head 保護(hù)發(fā)布前重新拉取實(shí)時(shí) head SHA若與CURRENT_HEAD_SHA不一致則放棄提交避免發(fā)布過期審查對(duì)應(yīng)提示詞中的gh pr view ... --json headRefOid校驗(yàn)片段。七、Linked Issue 驗(yàn)證不輕信 Closes #xxx計(jì)劃改造還強(qiáng)化了對(duì)PR 聲稱關(guān)閉 Issue的核驗(yàn)提示詞要求區(qū)分弱引用與完成聲明Refs #123、Related #123、part of #123 可視為部分工作Closes、Fixes、Resolves、implements、covers the acceptance criteria 屬于完成聲明必須驗(yàn)證。驗(yàn)證動(dòng)作包括拉取 issue body 與近期公開評(píng)論 → 提取驗(yàn)收標(biāo)準(zhǔn)、聲明范圍與維護(hù)者澄清 → 與實(shí)際 diff、變更文件、測(cè)試逐項(xiàng)對(duì)照 → 檢查是否覆蓋全部相關(guān)運(yùn)行時(shí)路徑對(duì) provider/API 工作通常指連接測(cè)試、模型列表、運(yùn)行時(shí)生成、標(biāo)題生成、agent 運(yùn)行時(shí)、診斷等→ 僅滿足部分時(shí)建議改為Refs #issue并保留跟進(jìn) issue。若 PR 聲稱實(shí)現(xiàn)但 diff 無關(guān)僅 lint / 僅文檔 / 未觸及預(yù)期代碼路徑升級(jí)為Majorfinding。計(jì)劃中給出的示例PR 聲稱關(guān)閉 #207 卻只改了 lint/格式化、未觸及 provider 策略代碼或新增策略測(cè)試可直接照搬為自己的審查模板。八、驗(yàn)證與執(zhí)行狀態(tài)計(jì)劃文檔的執(zhí)行清單逐項(xiàng)打勾展示了這類改造的輕量驗(yàn)證方式完成機(jī)器人工作流與提示詞的上下文掃描 —— 已完成編輯 .github/prompts/codex-pr-review.md加入公共證據(jù)與版本新鮮度規(guī)則 —— 已完成檢查修改后的提示詞與工作流的一致性 —— 已完成對(duì)變更文件做輕量校驗(yàn) —— 已完成git diff --check通過整個(gè)改造過程沒有引入新的自動(dòng)化測(cè)試驗(yàn)證手段是人工上下文掃描 git diff --check這符合提示詞即配置類變更的輕量驗(yàn)證特征Errors 一節(jié)記錄為 None so far。九、可復(fù)用的工程結(jié)論從這份更新計(jì)劃與其落地產(chǎn)物中可以提煉出幾條對(duì)維護(hù)開源倉庫有直接價(jià)值的經(jīng)驗(yàn)審查證據(jù)必須存在于公共檢出中任何 Agent 驅(qū)動(dòng)的公開評(píng)論其引用的文件路徑都應(yīng)能被任何克隆者打開內(nèi)部文檔只作行為校準(zhǔn)不作證據(jù)輸出。版本事實(shí)必須可復(fù)核把活事實(shí)lockfile、manifest、release 元數(shù)據(jù)置于模型記憶之上無法當(dāng)場(chǎng)核驗(yàn)的版本聲明寧可不報(bào)。提示詞本身是攻擊面在pull_request_target下運(yùn)行寫令牌機(jī)器人時(shí)務(wù)必在運(yùn)行前從基礎(chǔ)分支恢復(fù)受信任提示詞并把提示詞/工作流變更當(dāng)作數(shù)據(jù)而非指令來審查。輕量變更配輕量驗(yàn)證git diff --check加人工上下文核對(duì)對(duì)純提示詞改造足夠驗(yàn)證結(jié)論與未發(fā)生錯(cuò)誤要如實(shí)記錄在計(jì)劃文檔中形成可追溯的審計(jì)痕跡。以上全部改動(dòng)已在當(dāng)前倉庫中落地讀者可直接對(duì)照 .github/prompts/codex-pr-review.md、.github/workflows/codex-pr-review.yml 與計(jì)劃文檔 .Codex/workspace/pr_review_bot_update_plan.md 三份文件按本文的章節(jié)順序逐條核對(duì)每條規(guī)則的實(shí)際實(shí)現(xiàn)。贊分享人工智能AI 應(yīng)用桌面應(yīng)用【免費(fèi)下載鏈接】open-codesignOpen-source Claude Design alternative. One-click import your Claude Code / Codex API key. Prompt → prototype / slides / PDF. Multi-model (Claude, GPT, Gemini, Kimi, GLM, Ollama). BYOK, local-first, MIT.項(xiàng)目地址https://gitcode.com/gh_mirrors/op/open-codesign點(diǎn)擊查看免費(fèi)下載相關(guān)推薦sd-webui-reactor高級(jí)技巧面部遮罩校正與多源圖片融合教程sd webui reactor高級(jí)技巧面部遮罩校正與多源圖片融合教程 sd webui reactor是一款強(qiáng)大的AI面部處理工具能夠幫助用戶實(shí)現(xiàn)高質(zhì)量的人工智能計(jì)算機(jī)視覺AI 應(yīng)用Open CoDesign AGENTS.md v2 更新計(jì)劃如何讓 Codex 代理跟隨 v0.2 本地設(shè)計(jì)代理架構(gòu)Open CoDesign AGENTS.md v2 更新計(jì)劃如何讓 Codex 代理跟隨 v0.2 本地設(shè)計(jì)代理架構(gòu) 導(dǎo)讀 AGENTS.md 是 Code人工智能AI 應(yīng)用桌面應(yīng)用1條命令拿全103個(gè)AI項(xiàng)目代碼從克隆到跑通第一個(gè)模型1條命令拿全103個(gè)AI項(xiàng)目代碼從克隆到跑通第一個(gè)模型 想學(xué)AI的人最頭疼的是找不到能直接跑起來的代碼。這個(gè)倉庫干的就是這件事把機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、計(jì)算機(jī)文檔教程人工智能機(jī)器學(xué)習(xí)上一篇Vibe Kanban顯示對(duì)話條目如何高效管理AI編碼代理的對(duì)話歷史下一篇Debian APT 包管理終極指南從新手到專家的完整教程創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考