
【免费下载链接】OpenShellOpenShell is the safe, private runtime for autonomous AI agents.项目地址https://gitcode.com/gh_mirrors/op/OpenShell点击查看免费下载本文围绕 OpenShell 仓库内置的运维技能文档 launch-openshell-gator/SKILL.md 展开讲解如何围绕 scripts/agents/run.sh 这一清单驱动的启动器完成 gator 代理沙箱的启动前检查Preflight、输入归一化、标准启动、模型/镜像实验、运行监控与故障排查。读完本文你将掌握一套可复制的完整运维流程从确认 GitHub 与 Codex 凭据、验证网关存活到构建不可变载荷镜像、解读OPENSHELL_AGENT_RESULT哨兵状态再到重启卡住的 gator 并遵守同 SHA 重复评论防护规则。Gator 是什么一个 manifest 驱动的无头沙箱代理Gator 是 OpenShell 仓库的“守门人”代理它在一个隔离沙箱内加载gator-gate技能对 GitHub 上的 issue 和 PR 执行分诊、代码评审与持续监控直到目标 PR 合并、关闭或需要人工介入。它本身没有独立的 harness 实现而是由共享启动器把 agent.yaml 清单渲染成一次 OpenShell 沙箱运行。当前清单的关键字段来自 scripts/agents/gator/agent.yaml字段当前值含义id/display_namegator/Gator Gate Agent代理标识payload_version9不可变载荷版本号每轮 watch 周期会与默认分支上发布的版本比对过期即停止sandbox.name_prefixgtr未显式指定--name时的沙箱名默认前缀sandbox.gatewaydocker-dev默认网关harness.defaultcodex唯一支持的 harnessharness.supported.codex.modelgpt-5.6-solreasoning: medium默认模型与推理强度runtimewatch模式轮询间隔 900 秒max_transient_failures: 5沙箱保持存活supervisor 在限界周期之间睡眠profile_pathsproviders按顺序扫描的 provider profile 目录settingsagent_policy_proposals_enabled: true、proposal_approval_mode: auto启动前应用到网关的全局设置两个 provider 实例也在清单中声明github-gator凭据模式explicitGITHUB_TOKEN来自主机命令gh auth tokencodex-gator凭据模式from_existingaccess token 与 account id 从~/.codex/auth.json的tokens.*字段读取并配置了oauth2-refresh-token策略的 gateway 托管刷新刷新材料client_id、refresh_token由网关独占保存。对应的端点策略定义在 providers/codex-gator.yaml 中限定api.openai.com、auth.openai.com等 443 端口 REST 端点。沙箱内文件系统与进程约束由 gator/policy.yaml 定义/usr、/etc、/var/log等只读仅/sandbox、/tmp、/dev/null可写进程以sandbox用户运行Landlock 兼容性为best_effort。启动器与载荷的完整文件清单见原文档的 Key Paths 表核心条目为路径用途scripts/agents/run.sh清单驱动的 OpenShell 代理启动器scripts/agents/gator/agent.yamlGator 清单不可变载荷版本、默认网关、harness、providers、runtime、skills 与 subagentsscripts/agents/gator/DockerfileGator 沙箱镜像源本地启动时构建到网关的 Docker 或 Podman 镜像库scripts/agents/gator/policy.yaml沙箱策略scripts/agents/gator/skills/gator-gate/SKILL.md沙箱内运行的 gator 状态机技能scripts/agents/runtime/entrypoint.sh沙箱内入口启动supervisor.sh不可协商的规则Non-Negotiable Rules技能文档首先给运维者划定了硬性边界这些规则贯穿整个启动流程常规启动必须带--watch并处于监督之下让沙箱内的 supervisor 负责睡眠与有限周期bounded cycle的重启而不是靠操作员会话“盯梢”。禁止在操作员会话中添加被动sleep循环等待 gator查一次日志或状态即可需要长时监视时应在模型会话之外启动真正的 watcher且仅在操作者明确要求时。不要为实验修改 agent.yaml 里的默认 gator 模型使用CODEX_MODEL...环境变量必要时用临时--fromDocker 上下文或--codex-bin覆盖。未获操作者明确授权不得向贡献者分支推送、批准、合并、发布/ok to test也不得扩大 gator 作用范围。每次启动的 prompt 必须限定在请求的 issue/PR 集合除非操作者明确要求全仓库处理否则避免仓库级 gator 扫描。不碰无关本地文件包括.opencode/产物和旧的 gator 日志除非用户要求清理。Preflight启动前的六步检查除非操作者要求尽力启动best-effort launch启动前必须依次完成以下检查。第 1 步确认仓库根目录git rev-parse --show-toplevel git status --short --branch以仓库根目录作为所有命令的工作目录。允许 worktree 有未提交改动但不要暂存或修改无关文件。第 2 步验证必需的主机工具command -v openshell command -v gh command -v jq command -v ruby本地openshell包装器可能重新编译 CLI如果编译失败先修本地构建或询问操作者不要顺手改无关源码。ruby的依赖来自 run.sh 的require_cmd ruby第 167 行——启动器用嵌入式 Ruby 解析agent.yaml并渲染 prompt 模板因此它是硬性依赖。第 3 步验证 GitHub 认证以gh api user作为健康检查它与 gator 自身的认证指引一致也兼容 provider 作用域令牌gh api user --jq .login gh api repos/NVIDIA/OpenShell --jq {full_name,default_branch}如果失败先在主机上刷新gh认证再启动。不要在 provider 支撑的沙箱里单独依赖gh auth status——作用域令牌可能以openshell:resolve:env:*占位符暴露gh auth status探测的端点在 gator 策略之外会造成“令牌无效”的假报告这一说明同样出自 gator-gate/SKILL.md 的前置条件。第 4 步为 Codex harness 验证 Codex 认证gator 默认 harness 是 Codex需要确认主机上存在可用的 Codex 认证材料jq -e .tokens.access_token and .tokens.refresh_token and .tokens.account_id $HOME/.codex/auth.json /dev/null失败时在 gator 启动流程之外先跑本地 Codex 登录流程。如果 Codex 最近重新认证过、而之后网关刷新失败重启一次并带上--reset-refresh。第 5 步验证目标网关已注册且存活使用操作者请求中的网关名或当前会话上下文中的网关名不要假设网关名。如果操作者没指定先列出已注册网关在目标不明确时询问后再启动openshell gateway list gateway_nameselected-gateway-name [[ $gateway_name ~ ^[A-Za-z0-9_.-]$ ]] || { echo invalid gateway name 2; exit 1; } openshell --gateway $gateway_name status openshell --gateway $gateway_name sandbox list期望结果status正常返回、沙箱列表可以完成。若网关不可达、runtime 无法创建沙箱或沙箱列表挂起切到debug-openshell-cluster技能先修好网关再启动 gator。这里还有一个容易踩坑的点启动器会查询网关的 compute driver并强制本地镜像构建引擎与网关驱动一致。从 run.sh 的实现看它先用openshell gateway info --output json读出恰好一个 compute driverdocker或podman若环境变量CONTAINER_ENGINE已设置且与网关驱动冲突则直接失败。这解释了 SKILL 中“CONTAINER_ENGINE若设置必须匹配网关 driver”的规则否则自动探测可能选中 Podman 而网关用的是 Docker镜像就不可见。第 6 步检查已有的 gator 沙箱除非有意替换卡住或过期的沙箱避免对同一个 PR 启动重复 gatorgateway_nameselected-gateway-name [[ $gateway_name ~ ^[A-Za-z0-9_.-]$ ]] || { echo invalid gateway name 2; exit 1; } openshell --gateway $gateway_name sandbox list查找形如gator-pr-number-supervised的名称若已存在先检查其日志再删除或重启。输入归一化绝不把原始文本直接粘进命令行原文档强调不要把操作者的原始文本直接粘贴到--gateway、--name、--from、issue 号或 PR 号等 shell 参数中先归一化再构造启动命令。网关名来自操作者指定或openshell gateway list的选择gateway_nameselected-gateway-name [[ $gateway_name ~ ^[A-Za-z0-9_.-]$ ]] || { echo invalid gateway name 2; exit 1; }issue/PR 号只允许纯数字pr_numberdigits-only [[ $pr_number ~ ^[0-9]$ ]] || { echo invalid PR number 2; exit 1; }沙箱名即使当前网关的 driver 使用其他命名格式也统一采用可移植的 Kubernetes DNS-1123 小写格式sandbox_namegator-pr-${pr_number}-supervised [ $sandbox_name ~ ^[a-z0-9?$ ]] || { echo invalid sandbox name 2; exit 1; }本地镜像上下文传给--from的本地路径应使用mktemp -d创建的代理自管目录不要直接把用户提供的原始路径传进去除非已验证它是预期的本地 Dockerfile 上下文。这与 run.sh 中prepare_immutable_sandbox_source的行为对应它要求--from是 Dockerfile 路径或包含Dockerfile的目录然后在临时构建上下文里剔除gator/logs等本地产物再把渲染好的不可变载荷拷贝为openshell-agent-payload/并追加到 Dockerfile 末尾最终COPY进镜像的/etc/openshell/agent-payload并递归设为只读chmod -R a-w。标准启动启动 PR Watcher使用稳定的、作用域明确的名称并在 prompt 中精确说明 gator 该做什么gateway_nameselected-gateway-name pr_numberdigits-only [[ $gateway_name ~ ^[A-Za-z0-9_.-]$ ]] || { echo invalid gateway name 2; exit 1; } [[ $pr_number ~ ^[0-9]$ ]] || { echo invalid PR number 2; exit 1; } sandbox_namegator-pr-${pr_number}-supervised [ $sandbox_name ~ ^[a-z0-9?$ ]] || { echo invalid sandbox name 2; exit 1; } ./scripts/agents/run.sh \ --agent gator \ --gateway $gateway_name \ --name $sandbox_name \ --watch \ Review and monitor PR #${pr_number} through the gator-gate workflow. Scope this invocation only to PR #${pr_number}.启动器在背后完成的事与 scripts/agents/README.md 的 21 步 Launch Order 一致查询网关所选 compute driver在匹配的 Docker 或 Podman 镜像库中构建 gator 镜像暂存不可变载荷渲染后的 prompt、gator-gate技能、principal-engineer-reviewersubagent 定义、共享 runtime 脚本导入 provider profiles配置 provider 凭据与 gateway 托管的 Codex 令牌刷新以 agent supervisor 作为沙箱的规范主进程canonical main process启动。从源码看主进程被 detach 后独立存活--detach启动见 run.sh 中的sandbox create命令构造因此宿主 CLI 连接丢失不会影响沙箱内工作负载网关重启后也能重连。除非设置--keep沙箱被标记为 ephemeralsupervisor 退出后由网关删除。启动器会把镜像构建与供应输出流式打印到终端直到 detach 工作负载就绪后退出。运行期输出用openshell logs sandbox-name或 TUI 查看。启动 Issue 或 Issue/PR 对单个 issuegateway_nameselected-gateway-name issue_numberdigits-only [[ $gateway_name ~ ^[A-Za-z0-9_.-]$ ]] || { echo invalid gateway name 2; exit 1; } [[ $issue_number ~ ^[0-9]$ ]] || { echo invalid issue number 2; exit 1; } sandbox_namegator-issue-${issue_number}-supervised [ $sandbox_name ~ ^[a-z0-9?$ ]] || { echo invalid sandbox name 2; exit 1; } ./scripts/agents/run.sh \ --agent gator \ --gateway $gateway_name \ --name $sandbox_name \ --watch \ Run gator on issue #${issue_number}. Scope this invocation only to issue #${issue_number}.关联的 issue/PR 对以 PR 为作用域主体gateway_nameselected-gateway-name pr_numberdigits-only issue_numberdigits-only [[ $gateway_name ~ ^[A-Za-z0-9_.-]$ ]] || { echo invalid gateway name 2; exit 1; } [[ $pr_number ~ ^[0-9]$ ]] || { echo invalid PR number 2; exit 1; } [[ $issue_number ~ ^[0-9]$ ]] || { echo invalid issue number 2; exit 1; } sandbox_namegator-pr-${pr_number}-supervised [ $sandbox_name ~ ^[a-z0-9?$ ]] || { echo invalid sandbox name 2; exit 1; } ./scripts/agents/run.sh \ --agent gator \ --gateway $gateway_name \ --name $sandbox_name \ --watch \ Review and monitor PR #${pr_number} with linked issue #${issue_number} through the gator-gate workflow. Scope this invocation only to PR #${pr_number} and issue #${issue_number}.带显式维护者授权的启动只有当操作者明确给出授权时才把授权写进 promptgateway_nameselected-gateway-name pr_numberdigits-only [[ $gateway_name ~ ^[A-Za-z0-9_.-]$ ]] || { echo invalid gateway name 2; exit 1; } [[ $pr_number ~ ^[0-9]$ ]] || { echo invalid PR number 2; exit 1; } sandbox_namegator-pr-${pr_number}-supervised [ $sandbox_name ~ ^[a-z0-9?$ ]] || { echo invalid sandbox name 2; exit 1; } ./scripts/agents/run.sh \ --agent gator \ --gateway $gateway_name \ --name $sandbox_name \ --watch \ Review and monitor PR #${pr_number} through the gator-gate workflow. Scope this invocation only to PR #${pr_number}. The operator explicitly authorizes applying the test:e2e label, posting /ok to test for the current head SHA, and rerunning the relevant current-head workflow when the E2E Label Help bot says that is required.这与 gator-gate/SKILL.md 中的 Authority Rules 相呼应/ok to test等维护者专属动作要求当前 GitHub 用户具有维护者权限openshell-maintainers团队成员、CODEOWNER 或admin/maintain/write仓库权限授权只能来自操作者 prompt 或维护者的 GitHub 评论指令。模型与镜像实验用环境变量覆盖而不是改清单临时实验一律使用环境覆盖不要为实验编辑agent.yaml。run.sh对 Codex harness 会注入CODEX_MODEL${CODEX_MODEL:-manifest 默认}与CODEX_REASONING见 run.sh所以模型覆盖就是设环境变量gateway_nameselected-gateway-name pr_numberdigits-only [[ $gateway_name ~ ^[A-Za-z0-9_.-]$ ]] || { echo invalid gateway name 2; exit 1; } [[ $pr_number ~ ^[0-9]$ ]] || { echo invalid PR number 2; exit 1; } sandbox_namegator-pr-${pr_number}-gpt56sol-supervised [ $sandbox_name ~ ^[a-z0-9?$ ]] || { echo invalid sandbox name 2; exit 1; } CODEX_MODELgpt-5.6-sol \ ./scripts/agents/run.sh \ --agent gator \ --gateway $gateway_name \ --name $sandbox_name \ --watch \ Review and monitor PR #${pr_number} through the gator-gate workflow. Scope this invocation only to PR #${pr_number}. This launch is intentionally testing Codex model gpt-5.6-sol via the CLI launcher.如果已安装的 Codex CLI 对目标模型太旧就复制一份 scripts/agents/gator/ 到临时目录只调整临时副本里的 Dockerfile基础镜像为nvcr.io/nvidia/base/ubuntu:noble-20251013通过npm install -g openai/codex${CODEX_VERSION}安装CODEX_VERSION默认为latest再用--from指向该上下文启动。除非版本升级本身就是预期的代码变更否则不要改动仓库中的 Dockerfile。示例形态gateway_nameselected-gateway-name pr_numberdigits-only [[ $gateway_name ~ ^[A-Za-z0-9_.-]$ ]] || { echo invalid gateway name 2; exit 1; } [[ $pr_number ~ ^[0-9]$ ]] || { echo invalid PR number 2; exit 1; } sandbox_namegator-pr-${pr_number}-gpt56sol-supervised [ $sandbox_name ~ ^[a-z0-9?$ ]] || { echo invalid sandbox name 2; exit 1; } tmp_context$(mktemp -d ${TMPDIR:-/tmp}/gator-codex-XXXXXX) cp -R scripts/agents/gator/. $tmp_context/ CODEX_MODELgpt-5.6-sol \ ./scripts/agents/run.sh \ --agent gator \ --gateway $gateway_name \ --name $sandbox_name \ --from $tmp_context \ --watch \ Review and monitor PR #${pr_number} through the gator-gate workflow. Scope this invocation only to PR #${pr_number}.另一条实验路径是--codex-bin PATH把宿主机 Codex 可执行文件上传进沙箱run.sh 会校验它是可执行文件且仅配合 codex harness 使用。gator/README.md 提醒只有当宿主机可执行文件与沙箱 OS/架构兼容时才应使用。完整的启动器参数集来自 run.sh 的 usage--agent、--gateway、--name、--from、--harness、--github-provider、--codex-provider、--codex-access-key、--codex-bin、--once、--watch、--poll-interval、--reset-refresh、--keep。监控读懂启动输出与哨兵读取启动结果启动器把镜像构建与供应输出流式打到终端重要标记包括Built image ...本地镜像构建完成Created sandbox: nameOpenShell 接受了沙箱openshell-agent: starting watch cycle沙箱内 supervisor 开始一个有限周期OpenAI Codex v...加上model: ...确认实际使用的 Codex CLI 与模型OPENSHELL_AGENT_RESULT {...}有限周期哨兵。watch 模式下 supervisor 在这行之后睡眠并重启下一个周期/sandbox/.openshell-agent/status.json原子的当前状态快照其中result.notes是 Gator 对该周期的自然语言诊断与下一步动作supervisor 将 notes 截断到 2048 字符/sandbox/.openshell-agent/history.jsonl最近 100 条 supervisor 状态迁移包括活动周期开始与已完成周期结果openshell-agent: still running watch cycle ...长活动模型周期中的心跳默认每 60 秒可用OPENSHELL_AGENT_HEARTBEAT_SECONDS调整或置 0 关闭review_feedback_lookup_failedGator 无法构建必需的跨 SHA 反馈账本因此有意跳过了无上下文评审。这些文件与哨兵语义在 scripts/agents/README.md 的 Runtime Modes 一节有完整定义支持的 status 为complete、waiting、blocked、transient_failure、terminal_failurewatch 模式下哨兵缺失或损坏、以及 harness 传输故障会以有限退避无限重试只有complete与terminal_failure会终止 supervisor。检查活动沙箱gateway_nameselected-gateway-name sandbox_namesafe-sandbox-name [[ $gateway_name ~ ^[A-Za-z0-9_.-]$ ]] || { echo invalid gateway name 2; exit 1; } [ $sandbox_name ~ ^[a-z0-9?$ ]] || { echo invalid sandbox name 2; exit 1; } openshell --gateway $gateway_name sandbox list openshell --gateway $gateway_name sandbox get $sandbox_name若本地 CLI 形态不支持sandbox get用openshell sandbox --help查看当前命令帮助再操作。解读常见哨兵状态Sentinel含义操作者动作statuswaiting正常 watch 等待让沙箱继续运行statusblocked人工/流程阻塞阅读原因判断是否需要人工动作statustransient_failure可重试的基础设施/认证/传输问题让 supervisor 自动重试除非重复失败达到配置上限默认 5 次见 agent.yaml 的max_transient_failuresstatusterminal_failure不可恢复或不可变载荷过期检查原因stale_gator_payload时重建/重启statuscomplete目标已关闭、合并或一次性完成不再需要时删除沙箱优先用状态快照而不是刮/tmp下的瞬态周期输出用历史文件判断失败是否在重复、或 supervisor 是否已开启新周期。运行时日志依然有用适合看完整命令输出与传输诊断。关于stale_gator_payload每个 watch 周期开始时prompt 模板要求 gator 通过 GitHub contents API 读取默认分支上 agent.yaml 的payload_version若发布的整数大于沙箱内烘焙的版本prompts/gator.md 中的{{PAYLOAD_VERSION}}占位符gator 不做任何 GitHub 写入、不运行 reviewer直接以terminal_failure哨兵停止等待操作者重启。重启 Gator以下情况需要重启载荷必须变更、沙箱卡住且无哨兵、模型/工具版本变化、或瞬态失败超过有用的重试点。载荷版本规则只要合入的变更改变了 Gator prompt、gate 技能、reviewer 契约、写守卫、账本、线程解析器或捆绑校验器就应递增 agent.yaml 中的payload_version当前为 9。已有的不可变 watcher 无法替换自己的载荷新版本 watcher 会检测到之后发布的更高版本并以stale_gator_payload停止——所以在版本号发布后需要重启每一个仍然活跃的旧 watcher。删除前判断先确认沙箱确实过期、或操作者要求重启。如果一个有限评审周期正在活跃运行且仍产生有用输出优先保留它。gateway_nameselected-gateway-name sandbox_namesafe-sandbox-name [[ $gateway_name ~ ^[A-Za-z0-9_.-]$ ]] || { echo invalid gateway name 2; exit 1; } [ $sandbox_name ~ ^[a-z0-9?$ ]] || { echo invalid sandbox name 2; exit 1; } openshell --gateway $gateway_name sandbox delete $sandbox_name ./scripts/agents/run.sh \ --agent gator \ --gateway $gateway_name \ --name $sandbox_name \ --watch \ same scoped operator prompt, updated only with the reason for relaunch重启 prompt 的措辞有讲究因同 SHA 基础设施故障重启时说明上一次尝试在产生有效评审结论前就失败了因 draft-only 阻塞解除后重启时说明之前的同 SHA 结论只是 draft 阻塞PR 现已可评审。这对应 gator-gate 技能里的抑制规则旧的“reviewer 子代理失败”标记评论是遗留的基础设施故障报告不是有效评审结论应忽略并重试旧的“仅因 draft 而 Blocked”结论在 PR 转 ready 后同样不再抑制评审。故障排查网关不可达症状openshell status失败、sandbox list失败、沙箱一直 pending、镜像构建从未开始。动作加载debug-openshell-cluster技能诊断网关/driver不要对着死掉的网关反复重试 gator 启动。镜像构建失败症状Dockerfile 步骤失败、缺包、Codex CLI 不兼容、registry 拉取失败。动作确认构建上下文是 scripts/agents/gator/ 或预期的临时--from上下文确认 Docker 或所选网关 runtime 能拉取nvcr.io/nvidia/base/ubuntu:noble-20251013Codex CLI 版本实验先调整临时 Docker 上下文除非仓库本就要永久使用该版本否则不要把 Dockerfile 版本变更提交。Provider 或凭据故障症状主机gh认证失败、Codex 刷新失败、沙箱内 GitHub 调用报认证失败、reviewer_subagent_failed因 Codex 认证反复出现。动作重跑 GitHub 与 Codex 前置检查已有 refresh 托管的 provider 会复用而非常规更新凭据——启动器改为轮转其 gateway 托管凭据run.sh 中若已存在 refresh 状态则跳过重新配置直接 rotaterotate 失败且非--reset-refresh时用主机认证材料重置并自动重试一次如果主机 Codex 认证变过带--reset-refresh重启一次。--reset-refresh会先移除旧的 refresh 归属再重新发现主机凭据然后配置并轮转替换后的 refresh 状态gator 的默认 provider 是 GitHub 与 Codex若未来 provider 涉及 Entra 或 Microsoft 认证使用相应认证技能。不支持的gh pr view --json字段Gator 可能用受支持的gh pr view字段加 REST 调用自行恢复若不能修复 gator prompt 或技能以避开该不支持字段验证、提交再用更新后的载荷重启。同 SHA 重复防护拦住了必要的评论gator/bin/gh 包装器镜像中替换/usr/local/bin/gh有意阻止同 head-SHA 的重复 gator 结论。除非满足以下之一重启后不应为同一 SHA 再次发帖维护者明确要求同 SHA 公开响应PR 已合并或关闭需要终态清理之前尝试在发帖前就失败了之前标记的结论只是 reviewer 基础设施故障之前标记的结论只是 draft 阻塞且 PR 现已可评审状态特定的 TTL 提醒在 48 个工作小时后到期。提醒可以请求待办的人工动作但不得重复评审结论或触发另一次 reviewer 运行。除非操作者明确确认维护者覆盖不要用OPENSHELL_GATOR_ALLOW_SAME_SHA_COMMENT1绕过。汇报规范每次启动或检查 gator 后向操作者汇报沙箱名网关名目标 issue/PR 作用域相关的 harness 与模型镜像构建与沙箱创建是否成功最新哨兵或心跳状态需要的人工动作如有。保持汇报简洁只有当精确命令有助于操作者复现或继续工作流时才附上命令。小结gator 的运维模型可以概括为三层分工操作员层本文主体完成 preflight、输入归一化、带--watch的受监督启动以及基于哨兵状态的检查与重启启动器层run.sh解析 manifest、渲染 prompt、构建含不可变载荷的镜像、管理 provider 与 gateway 托管的凭据刷新、创建 detach 沙箱沙箱内层entrypoint.sh → supervisor → gator-gate/SKILL.mdsupervisor 以限界周期驱动 Codex 无头执行用OPENSHELL_AGENT_RESULT哨兵汇报五态状态并以status.json/history.jsonl提供可审计的状态快照。记住三条核心纪律启动永远带--watch且作用域限定到具体 issue/PR实验走CODEX_MODEL/临时--from上下文而不改 agent.yaml任何写 GitHub 的破坏性动作推送、批准、/ok to test必须来自操作者的显式授权。赞分享【免费下载链接】OpenShellOpenShell is the safe, private runtime for autonomous AI agents.项目地址https://gitcode.com/gh_mirrors/op/OpenShell点击查看免费下载相关推荐终极安全方案3种格式快速导出浏览器Cookie的本地处理工具终极安全方案3种格式快速导出浏览器Cookie的本地处理工具 在数据安全日益重要的今天你是否担心浏览器Cookie导出工具会泄露你的登录信息Get cooNemoClaw 沙箱策略体系以 OpenShell 为唯一事实来源的预设化网络策略管理NemoClaw 沙箱策略体系以 OpenShell 为唯一事实来源的预设化网络策略管理 导读 NemoClaw 在 NVIDIA OpenShell 之上为Rook 的 AI 辅助贡献指南以透明与人工监督为核心的协作规范Rook 的 AI 辅助贡献指南以透明与人工监督为核心的协作规范 本指南基于 Rook 仓库中 Documentation/Contributing/ai g云原生存储容器编排运维上一篇WxJava 多租户小程序 Solon 插件 wx-java-miniapp-multi-solon-plugin 集成实战指南下一篇探索知识管理的新境界DokuWiki深度剖析与推荐创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考