[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-openai--codex-action":3,"tool-openai--codex-action":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":68,"readme_en":69,"readme_zh":70,"quickstart_zh":71,"use_case_zh":72,"hero_image_url":73,"owner_login":74,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":66,"owner_location":66,"owner_email":66,"owner_twitter":66,"owner_website":78,"owner_url":79,"languages":80,"stars":85,"forks":86,"last_commit_at":87,"license":88,"difficulty_score":32,"env_os":89,"env_gpu":90,"env_ram":90,"env_deps":91,"category_tags":95,"github_topics":66,"view_count":32,"oss_zip_url":66,"oss_zip_packed_at":66,"status":17,"created_at":96,"updated_at":97,"faqs":98,"releases":129},9828,"openai\u002Fcodex-action","codex-action",null,"codex-action 是一款专为 GitHub Actions 设计的开源工具，旨在让开发者在自动化工作流中安全、可控地调用 OpenAI Codex 模型。它主要解决了直接在云端使用 AI 代码服务时权限难以精细管控的痛点，通过安装 Codex 命令行工具并配置安全代理连接 Responses API，确保 AI 在执行代码审查或生成任务时仅拥有必要的最小权限。\n\n这款工具特别适合希望自定义 AI 代码评审流程的后端工程师、DevOps 专家及开源项目维护者。借助 codex-action，用户可以轻松构建个性化的 Pull Request 机器人：当新的代码合并请求产生时，自动克隆仓库、分析差异，并根据预设提示词生成具体的改进建议或潜在漏洞报告，最后将结果作为评论反馈到 PR 中。\n\n其独特的技术亮点在于“沙盒化”的安全设计理念。默认情况下，codex-action 会禁用网络访问以防止数据泄露，同时要求用户通过 GitHub Secrets 管理 API 密钥，从源头保障凭证安全。此外，它还支持灵活对接 Azure OpenAI 等不同提供商，让用户在享受强大代码智能的同时，","codex-action 是一款专为 GitHub Actions 设计的开源工具，旨在让开发者在自动化工作流中安全、可控地调用 OpenAI Codex 模型。它主要解决了直接在云端使用 AI 代码服务时权限难以精细管控的痛点，通过安装 Codex 命令行工具并配置安全代理连接 Responses API，确保 AI 在执行代码审查或生成任务时仅拥有必要的最小权限。\n\n这款工具特别适合希望自定义 AI 代码评审流程的后端工程师、DevOps 专家及开源项目维护者。借助 codex-action，用户可以轻松构建个性化的 Pull Request 机器人：当新的代码合并请求产生时，自动克隆仓库、分析差异，并根据预设提示词生成具体的改进建议或潜在漏洞报告，最后将结果作为评论反馈到 PR 中。\n\n其独特的技术亮点在于“沙盒化”的安全设计理念。默认情况下，codex-action 会禁用网络访问以防止数据泄露，同时要求用户通过 GitHub Secrets 管理 API 密钥，从源头保障凭证安全。此外，它还支持灵活对接 Azure OpenAI 等不同提供商，让用户在享受强大代码智能的同时，牢牢掌握数据隐私与执行环境的控制权，是打造高效、可信自动化研发流水线的理想选择。","# Codex GitHub Action\n\nRun [Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex#codex-exec) from a GitHub Actions workflow while keeping tight control over the privileges available to Codex. This action handles installing the Codex CLI and configuring it with a secure proxy to the [Responses API](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fapi-reference\u002Fresponses).\n\nUsers must provide an API key for their chosen provider (for example, [`OPENAI_API_KEY`](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys) or `AZURE_OPENAI_API_KEY` [if using Azure for OpenAI models](#azure)) as a [GitHub Actions secret](https:\u002F\u002Fdocs.github.com\u002Fen\u002Factions\u002Fhow-tos\u002Fwrite-workflows\u002Fchoose-what-workflows-do\u002Fuse-secrets) to use this action.\n\n## Example: Create Your Own Pull Request Bot\n\nWhile Codex cloud offers a [powerful code review tool](https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcloud\u002Fcode-review) that you can use today, here is an example of how you can build your own code review workflow with `openai\u002Fcodex-action` if you want to have more control over the experience.\n\nIn the following example, we define a workflow that is triggered whenever a user creates a pull request that:\n\n- Creates a shallow clone of the repo.\n- Ensures the `base` and `head` refs for the PR are available locally.\n- Runs Codex with a `prompt` that includes the details specific to the PR.\n- Takes the output from Codex and posts it as a comment on the PR.\n\nSee [`security.md`](.\u002Fdocs\u002Fsecurity.md) for tips on using `openai\u002Fcodex-action` securely.\n\n```yaml\nname: Perform a code review when a pull request is created.\non:\n  pull_request:\n    types: [opened]\n\njobs:\n  codex:\n    runs-on: ubuntu-latest\n    permissions:\n      contents: read\n    outputs:\n      final_message: ${{ steps.run_codex.outputs.final-message }}\n    steps:\n      - uses: actions\u002Fcheckout@v5\n        with:\n          # Explicitly check out the PR's merge commit.\n          ref: refs\u002Fpull\u002F${{ github.event.pull_request.number }}\u002Fmerge\n\n      - name: Pre-fetch base and head refs for the PR\n        env:\n          PR_BASE_REF: ${{ github.event.pull_request.base.ref }}\n          PR_NUMBER: ${{ github.event.pull_request.number }}\n        run: |\n          # Pass GitHub expressions through env and quote shell expansions.\n          git fetch --no-tags origin \\\n            \"$PR_BASE_REF\" \\\n            \"+refs\u002Fpull\u002F$PR_NUMBER\u002Fhead\"\n\n      # If you want Codex to build and run code, install any dependencies that\n      # need to be downloaded before the \"Run Codex\" step because Codex's\n      # default sandbox disables network access.\n\n      - name: Run Codex\n        id: run_codex\n        uses: openai\u002Fcodex-action@v1\n        with:\n          openai-api-key: ${{ secrets.OPENAI_API_KEY }}\n          prompt: |\n            This is PR #${{ github.event.pull_request.number }} for ${{ github.repository }}.\n\n            Review ONLY the changes introduced by the PR, so consider:\n               git log --oneline ${{ github.event.pull_request.base.sha }}...${{ github.event.pull_request.head.sha }}\n\n            Suggest any improvements, potential bugs, or issues.\n            Be concise and specific in your feedback.\n\n            Pull request title and body:\n            ----\n            ${{ github.event.pull_request.title }}\n            ${{ github.event.pull_request.body }}\n\n  post_feedback:\n    runs-on: ubuntu-latest\n    needs: codex\n    if: needs.codex.outputs.final_message != ''\n    permissions:\n      issues: write\n      pull-requests: write\n    steps:\n      - name: Report Codex feedback\n        uses: actions\u002Fgithub-script@v7\n        env:\n          CODEX_FINAL_MESSAGE: ${{ needs.codex.outputs.final_message }}\n        with:\n          github-token: ${{ github.token }}\n          script: |\n            await github.rest.issues.createComment({\n              owner: context.repo.owner,\n              repo: context.repo.repo,\n              issue_number: context.payload.pull_request.number,\n              body: process.env.CODEX_FINAL_MESSAGE,\n            });\n```\n\n## Inputs\n\n| Name                     | Description                                                                                                                                    | Default     |\n| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| `openai-api-key`         | Secret used to start the Responses API proxy when you are using OpenAI (default). Store it in `secrets`.                                       | `\"\"`        |\n| `responses-api-endpoint` | Optional Responses API endpoint override, e.g. `https:\u002F\u002Fexample.openai.azure.com\u002Fopenai\u002Fv1\u002Fresponses`. Leave empty to use the proxy's default. | `\"\"`        |\n| `prompt`                 | Inline prompt text. Provide this or `prompt-file`.                                                                                             | `\"\"`        |\n| `prompt-file`            | Path (relative to the repository root) of a file that contains the prompt. Provide this or `prompt`.                                           | `\"\"`        |\n| `output-file`            | File where the final Codex message is written. Leave empty to skip writing a file.                                                             | `\"\"`        |\n| `working-directory`      | Directory passed to `codex exec --cd`. Defaults to the repository root.                                                                        | `\"\"`        |\n| `sandbox`                | Sandbox mode for Codex. One of `workspace-write` (default), `read-only` or `danger-full-access`.                                               | `\"\"`        |\n| `codex-version`          | Version of `@openai\u002Fcodex` to install.                                                                                                         | `\"\"`        |\n| `codex-args`             | Extra arguments forwarded to `codex exec`. Accepts JSON arrays (`[\"--flag\", \"value\"]`) or shell-style strings.                                 | `\"\"`        |\n| `output-schema`          | Inline schema contents written to a temp file and passed to `codex exec --output-schema`. Mutually exclusive with `output-schema-file`.        | `\"\"`        |\n| `output-schema-file`     | Schema file forwarded to `codex exec --output-schema`. Leave empty to skip passing the option.                                                 | `\"\"`        |\n| `model`                  | Model the agent should use. Leave empty to let Codex pick its default.                                                                         | `\"\"`        |\n| `effort`                 | Reasoning effort the agent should use. Leave empty to let Codex pick its default.                                                              | `\"\"`        |\n| `codex-home`             | Directory to use as the Codex CLI home (config\u002Fcache). Uses the CLI default when empty.                                                        | `\"\"`        |\n| `safety-strategy`        | Controls how the action restricts Codex privileges. See [Safety strategy](#safety-strategy).                                                   | `drop-sudo` |\n| `codex-user`             | Username to run Codex as when `safety-strategy` is `unprivileged-user`.                                                                        | `\"\"`        |\n| `allow-users`            | List of GitHub usernames who can trigger the action in addition to those who have write access to the repo.                                    | `\"\"`        |\n| `allow-bots`             | Allow runs triggered by GitHub Apps\u002Fbot accounts to bypass the write-access check.                                                             | `false`     |\n\n## Safety Strategy\n\nThe `safety-strategy` input determines how much access Codex receives on the runner. Choosing the right option is critical, especially when sensitive secrets (like your OpenAI API key) are present.\n\nSee [Protecting your `OPENAI_API_KEY`](.\u002Fdocs\u002Fsecurity.md#protecting-your-openai_api_key) on the Security page for important details on this topic.\n\n- **`drop-sudo` (default)** — On Linux and macOS runners, the action revokes the default user’s `sudo` membership before invoking Codex. Codex then runs as that user without superuser privileges. This change lasts for the rest of the job, so subsequent steps cannot rely on `sudo`. This is usually the safest choice on GitHub-hosted runners.\n- **`unprivileged-user`** — Runs Codex as the user provided via `codex-user`. Use this if you manage your own runner with a pre-created unprivileged account. Ensure the user can read the repository checkout and any files Codex needs. See [`unprivileged-user.yml`](.\u002Fexamples\u002Funprivileged-user.yml) for an example of how to configure such an account on `ubuntu-latest`.\n- **`read-only`** — Executes Codex in a read-only sandbox. Codex can view files but cannot mutate the filesystem or access the network directly. The OpenAI API key still flows through the proxy, so Codex could read it if it can reach process memory.\n- **`unsafe`** — No privilege reduction. Codex runs as the default `runner` user (which typically has `sudo`). Only use this when you fully trust the prompt. On Windows runners this is the only supported choice and the action will fail if another option is provided.\n\n### Operating system support\n\n- **Windows**: GitHub-hosted Windows runners lack a supported sandbox. Set `safety-strategy: unsafe`. The action validates this and exits early otherwise.\n- **Linux\u002FmacOS**: All options for `safety-strategy` are supported. Again, if you pick `drop-sudo`, remember that later steps in your `job` that rely on `sudo` will fail. If you do need to run code that requires `sudo` after `openai\u002Fcodex-action` has run, one option is to pipe the output of `openai\u002Fcodex-action` to a fresh `job` on a new host and to continue your workflow from there.\n- **GitHub-hosted Linux runners**: The action enables unprivileged user namespaces during setup and clears Ubuntu's AppArmor gate when present. This avoids the `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` failure seen on newer hosted images, including workflows that use the action once to bootstrap Codex and then call `codex` in later steps. Self-hosted Linux runners still need equivalent kernel support configured ahead of time.\n\n## Outputs\n\n| Name            | Description                             |\n| --------------- | --------------------------------------- |\n| `final-message` | Final message returned by `codex exec`. |\n\nAs we saw in the example above, we took the `final-message` output of the `run_codex` step and made it an output of the `codex` job in the workflow:\n\n```yaml\njobs:\n  codex:\n    # ...\n    outputs:\n      final_message: ${{ steps.run_codex.outputs.final-message }}\n```\n\n## Additional tips\n\n- Run this action after `actions\u002Fcheckout@v5` so Codex has access to your repository contents.\n- To use a non-default Responses endpoint (for example Azure OpenAI), set `responses-api-endpoint` to the provider's URL while keeping `openai-api-key` populated; the proxy will still send `Authorization: Bearer \u003Ckey>` upstream.\n- If you want Codex to have access to a narrow set of privileged functionality, consider running a local MCP server that can perform these actions and configure Codex to use it.\n- If you need more control over the CLI invocation, pass flags through `codex-args` or create a `config.toml` in `codex-home`.\n- Once `openai\u002Fcodex-action` is run once with `openai-api-key`, you can also call `codex` from subsequent scripts in your job. (You can omit `prompt` and `prompt-file` from the action in this case.)\n\n## Azure\n\nTo configure the Action to use OpenAI models hosted on Azure, pay close attention to the following:\n\n- The `responses-api-endpoint` must be set to the full URL (including any required query parameters) that Codex will `POST` to for a Responses API request. For Azure, this might look like `https:\u002F\u002FYOUR_PROJECT_NAME.openai.azure.com\u002Fopenai\u002Fv1\u002Fresponses`. Note that [unlike when customizing a model provider in Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex\u002Fblob\u002Fmain\u002Fdocs\u002Fconfig.md#azure-model-provider-example), you must include the `v1\u002Fresponses` suffix to the URL yourself, if appropriate.\n- The `openai-api-key` input must be a valid key that can be used with the `Authorization: Bearer \u003CKEY>` header when making a `POST` request to your Responses API endpoint. (This is also true for the value of the [`env_key`](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex\u002Fblob\u002Fmain\u002Fdocs\u002Fconfig.md#azure-model-provider-example) when setting a custom provider using the Codex CLI.)\n\nUltimately, your configured Action might look something like the following:\n\n```yaml\n- name: Start Codex proxy\n  uses: openai\u002Fcodex-action@v1\n  with:\n    openai-api-key: ${{ secrets.AZURE_OPENAI_API_KEY }}\n    responses-api-endpoint: \"https:\u002F\u002Fbolinfest-7804-resource.cognitiveservices.azure.com\u002Fopenai\u002Fv1\u002Fresponses\"\n    prompt: \"Debug all the things.\"\n```\n\n## Version History\n\nSee the [`CHANGELOG`](.\u002FCHANGELOG.md) for details.\n\n## License\n\nThis project is licensed under the [Apache License 2.0](.\u002FLICENSE).\n","# Codex GitHub Action\n\n在 GitHub Actions 工作流中运行 [Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex#codex-exec)，同时对 Codex 可用的权限进行严格控制。此操作负责安装 Codex CLI，并将其配置为通过安全代理连接到 [Responses API](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fapi-reference\u002Fresponses)。\n\n用户必须为其选择的提供商（例如 [`OPENAI_API_KEY`](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys) 或 [使用 Azure 提供 OpenAI 模型时的 `AZURE_OPENAI_API_KEY`](#azure)）提供 API 密钥，并将其作为 [GitHub Actions 秘密](https:\u002F\u002Fdocs.github.com\u002Fen\u002Factions\u002Fhow-tos\u002Fwrite-workflows\u002Fchoose-what-workflows-do\u002Fuse-secrets) 来使用此操作。\n\n## 示例：创建您自己的拉取请求机器人\n\n虽然 Codex 云服务已经提供了一个[功能强大的代码审查工具](https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcloud\u002Fcode-review)，您可以立即使用，但如果您希望对体验有更多控制，以下示例展示了如何使用 `openai\u002Fcodex-action` 构建您自己的代码审查工作流。\n\n在下面的示例中，我们定义了一个工作流，该工作流会在用户创建拉取请求时触发，具体步骤如下：\n\n- 创建仓库的浅克隆。\n- 确保 PR 的 `base` 和 `head` 引用在本地可用。\n- 使用包含 PR 特定详细信息的 `prompt` 运行 Codex。\n- 将 Codex 的输出作为评论发布到 PR 中。\n\n有关如何安全使用 `openai\u002Fcodex-action` 的提示，请参阅 [`security.md`](.\u002Fdocs\u002Fsecurity.md)。\n\n```yaml\nname: 在创建拉取请求时执行代码审查。\non:\n  pull_request:\n    types: [opened]\n\njobs:\n  codex:\n    runs-on: ubuntu-latest\n    permissions:\n      contents: read\n    outputs:\n      final_message: ${{ steps.run_codex.outputs.final-message }}\n    steps:\n      - uses: actions\u002Fcheckout@v5\n        with:\n          # 显式检出 PR 的合并提交。\n          ref: refs\u002Fpull\u002F${{ github.event.pull_request.number }}\u002Fmerge\n\n      - name: 预先获取 PR 的 base 和 head 引用\n        env:\n          PR_BASE_REF: ${{ github.event.pull_request.base.ref }}\n          PR_NUMBER: ${{ github.event.pull_request.number }}\n        run: |\n          # 通过环境变量传递 GitHub 表达式，并对 shell 展开部分进行转义。\n          git fetch --no-tags origin \\\n            \"$PR_BASE_REF\" \\\n            \"+refs\u002Fpull\u002F$PR_NUMBER\u002Fhead\"\n\n      # 如果您希望 Codex 构建并运行代码，请在“运行 Codex”步骤之前安装所有需要下载的依赖项，因为 Codex 的默认沙盒会禁用网络访问。\n\n      - name: 运行 Codex\n        id: run_codex\n        uses: openai\u002Fcodex-action@v1\n        with:\n          openai-api-key: ${{ secrets.OPENAI_API_KEY }}\n          prompt: |\n            这是 ${{ github.repository }} 的第 ${{ github.event.pull_request.number }} 号拉取请求。\n\n            请仅审查 PR 引入的更改，因此请考虑：\n               git log --oneline ${{ github.event.pull_request.base.sha }}...${{ github.event.pull_request.head.sha }}\n\n            请提出任何改进建议、潜在的 bug 或问题。反馈应简洁明了且具体。\n\n            拉取请求标题和正文：\n            ----\n            ${{ github.event.pull_request.title }}\n            ${{ github.event.pull_request.body }}\n\n  post_feedback:\n    runs-on: ubuntu-latest\n    needs: codex\n    if: needs.codex.outputs.final_message != ''\n    permissions:\n      issues: write\n      pull-requests: write\n    steps:\n      - name: 报告 Codex 的反馈\n        uses: actions\u002Fgithub-script@v7\n        env:\n          CODEX_FINAL_MESSAGE: ${{ needs.codex.outputs.final_message }}\n        with:\n          github-token: ${{ github.token }}\n          script: |\n            await github.rest.issues.createComment({\n              owner: context.repo.owner,\n              repo: context.repo.repo,\n              issue_number: context.payload.pull_request.number,\n              body: process.env.CODEX_FINAL_MESSAGE,\n            });\n```\n\n## 输入\n\n| 名称                     | 描述                                                                                                                                    | 默认值     |\n| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| `openai-api-key`         | 用于在使用 OpenAI 时启动 Responses API 代理的密钥（默认）。请将其存储在 `secrets` 中。                                       | `\"\"`        |\n| `responses-api-endpoint` | 可选的 Responses API 端点覆盖，例如 `https:\u002F\u002Fexample.openai.azure.com\u002Fopenai\u002Fv1\u002Fresponses`。留空则使用代理的默认值。 | `\"\"`        |\n| `prompt`                 | 内联提示文本。提供此参数或 `prompt-file`。                                                                                             | `\"\"`        |\n| `prompt-file`            | 包含提示的文件路径（相对于仓库根目录）。提供此参数或 `prompt`。                                                                           | `\"\"`        |\n| `output-file`            | 最终 Codex 消息将写入的文件。留空则跳过文件写入。                                                                             | `\"\"`        |\n| `working-directory`      | 传递给 `codex exec --cd` 的目录。默认为仓库根目录。                                                                        | `\"\"`        |\n| `sandbox`                | Codex 的沙盒模式。可选值为 `workspace-write`（默认）、`read-only` 或 `danger-full-access`。                                               | `\"\"`        |\n| `codex-version`          | 要安装的 `@openai\u002Fcodex` 版本。                                                                                                         | `\"\"`        |\n| `codex-args`             | 传递给 `codex exec` 的额外参数。接受 JSON 数组（`[\"--flag\", \"value\"]`）或 shell 样式的字符串。                                 | `\"\"`        |\n| `output-schema`          | 写入临时文件并传递给 `codex exec --output-schema` 的内联模式内容。与 `output-schema-file` 互斥。                                        | `\"\"`        |\n| `output-schema-file`     | 传递给 `codex exec --output-schema` 的模式文件。留空则跳过该选项。                                                             | `\"\"`        |\n| `model`                  | 代理应使用的模型。留空则由 Codex 自动选择默认值。                                                                         | `\"\"`        |\n| `effort`                 | 代理应使用的推理力度。留空则由 Codex 自动选择默认值。                                                              | `\"\"`        |\n| `codex-home`             | 用作 Codex CLI 主目录（配置\u002F缓存）的目录。留空时使用 CLI 默认值。                                                        | `\"\"`        |\n| `safety-strategy`        | 控制操作如何限制 Codex 的权限。请参阅 [安全策略](#safety-strategy)。                                                   | `drop-sudo` |\n| `codex-user`             | 当 `safety-strategy` 为 `unprivileged-user` 时，运行 Codex 的用户名。                                                                        | `\"\"`        |\n| `allow-users`            | 除对仓库具有写入权限的人员外，还可以触发该操作的 GitHub 用户名列表。                                    | `\"\"`        |\n| `allow-bots`             | 允许由 GitHub Apps\u002F机器人账户触发的运行绕过写入权限检查。                                                             | `false`     |\n\n## 安全策略\n\n`safety-strategy` 输入决定了 Codex 在运行器上获得的访问权限。选择合适的选项至关重要，尤其是在存在敏感密钥（如您的 OpenAI API 密钥）的情况下。\n\n有关此主题的重要信息，请参阅安全页面上的 [保护您的 `OPENAI_API_KEY`](.\u002Fdocs\u002Fsecurity.md#protecting-your-openai_api_key)。\n\n- **`drop-sudo`（默认）** — 在 Linux 和 macOS 运行器上，该操作会在调用 Codex 之前撤销默认用户的 `sudo` 权限。随后 Codex 将以该用户身份运行，且不具备超级用户权限。此更改将持续到作业结束，因此后续步骤无法依赖 `sudo`。这通常是 GitHub 托管运行器上最安全的选择。\n- **`unprivileged-user`** — 以通过 `codex-user` 提供的用户身份运行 Codex。如果您管理自己的运行器，并已预先创建无特权账户，则可以使用此选项。请确保该用户能够读取仓库检出内容以及 Codex 所需的任何文件。有关如何在 `ubuntu-latest` 上配置此类账户的示例，请参阅 [`unprivileged-user.yml`](.\u002Fexamples\u002Funprivileged-user.yml)。\n- **`read-only`** — 在只读沙盒中执行 Codex。Codex 可以查看文件，但无法修改文件系统或直接访问网络。OpenAI API 密钥仍会通过代理传输，因此如果 Codex 能够访问进程内存，仍可能读取该密钥。\n- **`unsafe`** — 不进行权限降低。Codex 以默认的 `runner` 用户身份运行（通常具有 `sudo` 权限）。仅当您完全信任提示内容时才应使用此选项。在 Windows 运行器上，这是唯一支持的选项；如果提供其他选项，该操作将失败。\n\n### 操作系统支持\n\n- **Windows**：GitHub 托管的 Windows 运行器缺乏受支持的沙盒环境。请设置 `safety-strategy: unsafe`。该操作会验证此设置，否则将提前退出。\n- **Linux\u002FmacOS**：所有 `safety-strategy` 选项均受支持。再次提醒，如果您选择 `drop-sudo`，请记住，作业中后续依赖 `sudo` 的步骤将会失败。如果您确实在 `openai\u002Fcodex-action` 运行后需要执行需要 `sudo` 的代码，一种方法是将 `openai\u002Fcodex-action` 的输出传递给新主机上的新作业，并从那里继续您的工作流。\n- **GitHub 托管的 Linux 运行器**：该操作在设置过程中启用无特权用户命名空间，并在存在时清除 Ubuntu 的 AppArmor 防护。这可以避免在较新的托管镜像中出现的 `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` 错误，包括那些先使用该操作引导 Codex，然后在后续步骤中调用 `codex` 的工作流。自托管的 Linux 运行器仍需提前配置等效的内核支持。\n\n## 输出\n\n| 名称            | 描述                             |\n| --------------- | --------------------------------------- |\n| `final-message` | `codex exec` 返回的最终消息。 |\n\n正如上面的示例所示，我们将 `run_codex` 步骤的 `final-message` 输出作为工作流中 `codex` 作业的输出：\n\n```yaml\njobs:\n  codex:\n    # ...\n    outputs:\n      final_message: ${{ steps.run_codex.outputs.final-message }}\n```\n\n## 其他提示\n\n- 请在 `actions\u002Fcheckout@v5` 之后运行此操作，以便 Codex 能够访问您的仓库内容。\n- 若要使用非默认的 Responses API 端点（例如 Azure OpenAI），请将 `responses-api-endpoint` 设置为提供商的 URL，同时保持 `openai-api-key` 已填写；代理仍将向上游发送 `Authorization: Bearer \u003Ckey>` 请求头。\n- 如果您希望 Codex 只能访问有限的一组特权功能，请考虑运行一个本地 MCP 服务器来执行这些操作，并配置 Codex 使用该服务器。\n- 如果您需要更精细地控制 CLI 调用，可以通过 `codex-args` 传递标志，或在 `codex-home` 目录下创建一个 `config.toml` 文件。\n- 一旦使用 `openai-api-key` 运行过 `openai\u002Fcodex-action`，您也可以在作业中的后续脚本中直接调用 `codex`。（在这种情况下，您可以省略操作中的 `prompt` 和 `prompt-file` 参数。）\n\n## Azure\n\n要配置此操作以使用托管在 Azure 上的 OpenAI 模型，请务必注意以下几点：\n\n- `responses-api-endpoint` 必须设置为完整的 URL（包括任何必需的查询参数），Codex 将向该 URL 发送 POST 请求以获取 Responses API 响应。对于 Azure，这可能类似于 `https:\u002F\u002FYOUR_PROJECT_NAME.openai.azure.com\u002Fopenai\u002Fv1\u002Fresponses`。请注意，[与在 Codex 中自定义模型提供商时不同](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex\u002Fblob\u002Fmain\u002Fdocs\u002Fconfig.md#azure-model-provider-example)，您必须根据需要自行在 URL 中添加 `v1\u002Fresponses` 后缀。\n- `openai-api-key` 输入必须是有效的密钥，可用于在向您的 Responses API 端点发送 POST 请求时附带 `Authorization: Bearer \u003CKEY>` 请求头。（使用 Codex CLI 设置自定义提供商时，[`env_key`](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex\u002Fblob\u002Fmain\u002Fdocs\u002Fconfig.md#azure-model-provider-example) 的值也同样适用。）\n\n最终，您配置的操作可能如下所示：\n\n```yaml\n- name: 启动 Codex 代理\n  uses: openai\u002Fcodex-action@v1\n  with:\n    openai-api-key: ${{ secrets.AZURE_OPENAI_API_KEY }}\n    responses-api-endpoint: \"https:\u002F\u002Fbolinfest-7804-resource.cognitiveservices.azure.com\u002Fopenai\u002Fv1\u002Fresponses\"\n    prompt: \"调试所有内容。\"\n```\n\n## 版本历史\n\n有关详细信息，请参阅 [`CHANGELOG`](.\u002FCHANGELOG.md)。\n\n## 许可证\n\n本项目采用 [Apache License 2.0](.\u002FLICENSE) 许可证授权。","# Codex GitHub Action 快速上手指南\n\n`codex-action` 是一个 GitHub Action，允许你在 GitHub Actions 工作流中安全地运行 OpenAI Codex CLI。它通过安全代理连接 Responses API，并严格控制 Codex 的运行权限，非常适合构建自动化的代码审查机器人或开发辅助流程。\n\n## 环境准备\n\n### 系统要求\n- **运行平台**：GitHub Actions (推荐 `ubuntu-latest`)。\n  - **Linux\u002FmacOS**：支持所有安全策略模式（`drop-sudo`, `unprivileged-user`, `read-only`）。\n  - **Windows**：仅支持 `unsafe` 模式（无权限缩减），因为 GitHub 托管的 Windows Runner 缺乏沙盒支持。\n- **内核支持**：自托管 Linux Runner 需启用非特权用户命名空间（unprivileged user namespaces）并配置 AppArmor，以避免沙盒启动失败。GitHub 托管的 Linux Runner 已默认处理此配置。\n\n### 前置依赖\n1. **OpenAI API Key**：你需要一个有效的 OpenAI API Key（或 Azure OpenAI Key）。\n2. **GitHub Secrets**：必须将 API Key 存储为 GitHub Repository 的 Secret，变量名建议设为 `OPENAI_API_KEY`。\n   - 设置路径：Repository Settings -> Secrets and variables -> Actions -> New repository secret。\n\n## 安装步骤\n\n无需在本地安装任何软件。该工具直接作为 GitHub Action 在工作流中调用。\n\n1. 在你的仓库根目录下创建或编辑 `.github\u002Fworkflows\u002Fcodex-review.yml` 文件。\n2. 确保工作流中先执行了代码检出（`actions\u002Fcheckout`），以便 Codex 能读取代码。\n3. 引用 `openai\u002Fcodex-action@v1`。\n\n## 基本使用\n\n以下是一个最简示例：当有人创建 Pull Request 时，自动触发 Codex 进行代码审查，并将审查结果作为评论发布到 PR 中。\n\n### 工作流配置示例\n\n```yaml\nname: Codex Code Review\n\non:\n  pull_request:\n    types: [opened]\n\njobs:\n  codex-review:\n    runs-on: ubuntu-latest\n    permissions:\n      contents: read\n      pull-requests: write # 需要写入权限以发表评论\n    outputs:\n      review-comment: ${{ steps.run_codex.outputs.final-message }}\n    \n    steps:\n      # 1. 检出代码\n      - uses: actions\u002Fcheckout@v4\n        with:\n          ref: refs\u002Fpull\u002F${{ github.event.pull_request.number }}\u002Fmerge\n\n      # 2. 运行 Codex\n      - name: Run Codex Review\n        id: run_codex\n        uses: openai\u002Fcodex-action@v1\n        with:\n          # 从 GitHub Secrets 获取 API Key\n          openai-api-key: ${{ secrets.OPENAI_API_KEY }}\n          \n          # 设置安全策略：移除 sudo 权限（Linux\u002FmacOS 推荐）\n          safety-strategy: drop-sudo\n          \n          # 编写提示词\n          prompt: |\n            请审查此 Pull Request 的代码变更。\n            关注潜在的 Bug、性能问题及代码规范。\n            请保持回答简洁明了。\n            \n            变更范围：\n            git log --oneline ${{ github.event.pull_request.base.sha }}...${{ github.event.pull_request.head.sha }}\n\n  post-comment:\n    runs-on: ubuntu-latest\n    needs: codex-review\n    if: needs.codex-review.outputs.review-comment != ''\n    permissions:\n      pull-requests: write\n    steps:\n      - name: Post Review Comment\n        uses: actions\u002Fgithub-script@v7\n        env:\n          COMMENT_BODY: ${{ needs.codex-review.outputs.review-comment }}\n        with:\n          github-token: ${{ github.token }}\n          script: |\n            await github.rest.issues.createComment({\n              owner: context.repo.owner,\n              repo: context.repo.repo,\n              issue_number: context.payload.pull_request.number,\n              body: process.env.COMMENT_BODY,\n            });\n```\n\n### 关键参数说明\n\n| 参数名 | 说明 | 推荐值 |\n| :--- | :--- | :--- |\n| `openai-api-key` | OpenAI API 密钥（引用 Secrets） | `${{ secrets.OPENAI_API_KEY }}` |\n| `prompt` | 发送给 Codex 的指令文本 | 见上方示例 |\n| `safety-strategy` | 安全沙盒模式 | `drop-sudo` (Linux\u002FMac), `unsafe` (Windows) |\n| `model` | 指定使用的模型 | 留空则使用默认模型 |\n\n### 注意事项\n- **权限控制**：使用 `safety-strategy: drop-sudo` 后，当前 Job 后续步骤将无法使用 `sudo` 命令。如需提权操作，请在新的 Job 中执行。\n- **网络访问**：Codex 默认沙盒禁止网络访问。若需安装依赖，请在运行 Codex 步骤之前完成。\n- **Azure 支持**：若使用 Azure OpenAI，需额外设置 `responses-api-endpoint` 为你的 Azure 端点 URL。","某电商平台的后端团队在每日数十个功能分支合并时，急需一套自动化且安全的代码审查机制来保障核心交易逻辑的稳定性。\n\n### 没有 codex-action 时\n- **人工审查滞后**：资深工程师需手动逐行检查每个 Pull Request，导致代码合并排队严重，紧急修复往往延迟数小时上线。\n- **安全顾虑重重**：直接在 CI 流程中调用大模型存在密钥泄露风险，团队不敢轻易将生产环境权限开放给自动化工具。\n- **上下文缺失**：通用 AI 助手无法自动获取当前分支与主分支的具体差异（diff），只能提供泛泛而谈的编程建议，缺乏针对性。\n- **流程割裂**：审查意见散落在外部聊天窗口或文档中，开发者需手动复制粘贴回 GitHub 评论區，极易出错且效率低下。\n\n### 使用 codex-action 后\n- **即时自动触发**：一旦开发人员创建 PR，codex-action 立即在后台克隆代码并对比差异，秒级生成包含潜在 Bug 和改进建议的详细报告。\n- **沙箱安全隔离**：通过内置的安全代理和受限权限配置，codex-action 在不暴露核心 API 密钥的前提下运行，彻底消除团队对云模型调用的安全顾虑。\n- **精准上下文感知**：工具自动注入 PR 标题、描述及具体的 Git 变更日志，使生成的反馈紧扣本次修改内容，直接指出具体的逻辑漏洞。\n- **无缝闭环反馈**：审查结果由 codex-action 自动以评论形式发布在 PR 页面，开发者无需切换界面即可看到修改建议，实现“提交即审查”。\n\ncodex-action 通过将强大的代码理解能力安全地嵌入 GitHub 工作流，把原本耗时的人工审查转变为实时、精准且零摩擦的自动化守护过程。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopenai_codex-action_1d105aff.png","openai","OpenAI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fopenai_1960bbf4.png","","https:\u002F\u002Fopenai.com\u002F","https:\u002F\u002Fgithub.com\u002Fopenai",[81],{"name":82,"color":83,"percentage":84},"TypeScript","#3178c6",100,931,108,"2026-04-18T01:10:27","Apache-2.0","Linux, macOS, Windows","未说明",{"notes":92,"python":90,"dependencies":93},"该工具是一个 GitHub Action，运行在 GitHub Actions 的 runner 上（默认 ubuntu-latest）。Windows 环境下仅支持 'unsafe' 安全策略（即不降低权限）；Linux\u002FmacOS 支持多种沙箱模式。若在 Linux 上使用 'drop-sudo' 策略，后续步骤将无法使用 sudo。自托管 Linux runner 需预先配置内核支持（如启用非特权用户命名空间）。需要用户提供 OpenAI API Key 或 Azure OpenAI API Key 作为 Secret。",[94],"@openai\u002Fcodex (CLI)",[35,13],"2026-03-27T02:49:30.150509","2026-04-20T07:16:10.742685",[99,104,109,114,119,124],{"id":100,"question_zh":101,"answer_zh":102,"source_url":103},44130,"Codex Action 无法获取 git log\u002Fdiff，报错 'bwrap: loopback ... Operation not permitted' 怎么办？","该问题通常由沙箱执行权限限制引起。维护者已发布修复版本，请确保使用最新版本的 Action。具体操作是将 Action 版本更新为 `v1.6` 或直接使用 `v1` 标签（已指向 v1.6）。更新后通常不再需要配置 `danger-full-access` 权限即可正常工作。","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex-action\u002Fissues\u002F75",{"id":105,"question_zh":106,"answer_zh":107,"source_url":108},44131,"Codex Action 是否支持连接 Azure OpenAI Service？","是的，目前已支持。该功能已在 PR #47 中修复并合并。请将 Action 版本更新至 `v1.1` 或更高版本（`v1` 标签已自动指向包含此修复的版本），即可在配置中正常使用 Azure OpenAI Service。","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex-action\u002Fissues\u002F28",{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},44132,"运行 Codex Action 时遇到 'Landlock failure' 或 'Permission denied' 错误如何解决？","这通常是由于 Codex CLI 版本更新导致的回归问题（如 0.84.0 版本）。解决方案是等待官方修复或使用特定稳定版本。目前建议使用 Codex CLI 0.86.0 或更高版本，Action 团队已确认该版本修复了相关问题。如果急需解决，可临时设置 `sandbox: danger-full-access`，但这不是推荐的最佳实践。","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex-action\u002Fissues\u002F66",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},44133,"如何在 GitHub Enterprise (GHE) 环境中使用 Codex Action？","早期版本因未正确传递 `baseUrl` 导致在 GHE 上鉴权失败（默认请求 github.com）。该问题已在 `v1.2` 版本中修复。请将 Action 版本更新至 `v1.2` 或使用 `v1` 标签（已指向 v1.2），即可在 GitHub Enterprise Server 上正常运行。","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex-action\u002Fissues\u002F32",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},44134,"如何通过代理（如 vllm）调用 OpenAI API 并修改 Base URL？","Codex Action 现已支持自定义 API Base URL。您可以通过以下方式配置：\n1. 更新 Action 至 `v1.1` 或更高版本（已包含此功能）。\n2. 或者，通过设置 `codex-home` 输入参数，提供包含自定义配置的 `config.toml` 文件来指定 Base URL。","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex-action\u002Fissues\u002F48",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},44135,"遇到 'responses-api-proxy binary missing (ENOENT error)' 错误如何处理？","这是由于特定版本的 Codex CLI 包中缺少二进制文件导致的。最快的解决方法是在 Action 配置中显式指定 `codex-version` 参数，将其锁定为一个已知稳定的 Codex CLI 版本，避免自动拉取包含缺陷的最新版本。","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex-action\u002Fissues\u002F50",[]]