ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

orx隐藏的4条命令:plan-gate、mcp-gate、remote-host、publish-branch揭秘

orx隐藏的4条命令:plan-gate、mcp-gate、remote-host、publish-branch揭秘 orx隐藏的4条命令plan-gate、mcp-gate、remote-host、publish-branch揭秘【免费下载链接】OpenResearchTurn your coding agents into research agents项目地址: https://gitcode.com/GitHub_Trending/op/OpenResearchOpenResearchorx是一款本地优先的研究智能体工作区能把 Claude Code、Codex、OpenCode、Cursor 等编码智能体升级为可查文献、做假设、跑实验、产论文的研究智能体。除了orx up、orx runs这些常用命令它的 CLI 里还藏着 4 条被标记为hide true的隐藏命令plan-gate、mcp-gate、remote-host、publish-branch。它们不面向手动调用却是 OpenResearch 在计划模式审批、无头权限桥接、远程 GPU 托管和 GitHub 静默同步四个关键场景下的幕后功臣。本文带你逐一揭秘。为什么这4条命令藏在--help背后在命令定义文件 src/main.rs 中这 4 条命令都带有#[command(hide true)]标记源码注释也直白地写着 Not a user command不是用户命令。它们的定位是内部协作组件plan-gate计划模式的 PreToolUse 钩子执行体由 Claude Code 自动拉起mcp-gate计划模式的权限桥由 Claude 以 stdio MCP 子进程身份启动remote-host持久 SSH 远程主机的控制面由orx up --remote链路调用publish-branchGitHub 分支发布的后台 worker由实验创建/算力提交动作派生。换句话说普通用户永远不需要敲出它们的名字但 OpenResearch 的计划→执行安全闭环全靠它们支撑。1️⃣ plan-gate计划模式的只读安检门智能体在计划模式plan mode下最擅长先观察、再规划——但计划模式默认会把所有 Bash 调用当成危险写操作拦截连orx runs | head -50这种纯查看命令都跑不了。plan-gate就是为此而生的钩子它从标准输入读取 Claude Code 传来的钩子 JSON识别出只读命令后打印一条allow决策放行其余情况保持沉默、交还给计划模式默认拦截并且永远以退出码 0 结束——钩子出任何错都不能阻塞智能体的一轮对话见 src/commands/plan_gate.rs。它的分类逻辑是严格的白名单制src/local/harness/plan_gate.rs✅ 放行orx runs、orx logs、orx paper等全只读动词orx exp status、orx project view等只读子命令git log、git ls-tree等只读 git 动词以及head、grep、tail这类纯流消费者支持;、串联和管道组合 拦截orx exp run、orx instance create、git push等一切写操作以及重定向、反引号、$()、后台等元字符——只读前缀也绝无可能夹带写操作 特殊处理ExitPlanMode退出计划模式一律返回ask防止无头模式下智能体自批自跑直接开始改代码——退出计划必须由你本人在审批卡片上点确认。一句话总结看不看的随便看动手的必须批。2️⃣ mcp-gate把无头审批搬回桌面卡片计划模式下plan-gate放行了只读操作但退出计划、执行实验这类关键动作需要人来批准。问题是无头headless的 Claude 进程根本没法弹交互提示框。mcp-gate解决的就是这个断点。它的角色是一个手写的 stdio MCP 服务器Claude Code 通过--mcp-config拉起它并在每次权限决策时调用名为approve的工具。mcp-gate拿到请求后立刻转发到本机正在运行的orx up的127.0.0.1内部接口见 src/commands/mcp_gate.rs而桌面端会弹出一张审批卡片并阻塞等待直到你在界面上点下允许或拒绝决策再原路传回 Claude。这套设计有两个值得称道的细节长轮询阻塞 桌面式体验那个被按住不放的调用正是无头计划模式获得桌面版中途审批体验的关键失败姿态是宁拒不误放任何传输或orx up侧错误都会返回deny并附带原因环境变量契约缺失则直接非零退出计划模式优雅降级为默认拦截。连接本身限时 3 秒但等待你思考的时长不设限。3️⃣ remote-host持久远程主机的遥控器用orx up --remote userhost时OpenResearch 会把工作区部署到远程 GPU 机器上你在笔记本浏览器里操作。remote-host就是管理这台持久远程主机的控制面提供 4 个子命令src/commands/remote_host.rs子命令作用ensure幂等地确保主机在跑已运行则复用未运行则拉起一个后台分离的orx up --no-browser --remote-host实例并等待就绪60 秒超时status查询主机描述符实例 ID、主机名、端口、协议版本与当前活动快照attach凭令牌挂接到指定实例之后以心跳保活防止远端会话被误清理stop先对比活动快照进行中对话、排队消息、待审批卡片、运行中实验、挂接数若与预期不符则拒绝停止避免误杀正在跑的实验安全性设计相当严谨控制通道走Unix 域套接字文件权限0o600且用peer_cred校验连接方必须是同一 uid——其他本机用户一律碰不到令牌校验用常量时间比较防时序攻击连 Windows 因无 Unix 套接字会直接拒绝而非裸奔启动src/commands/remote_host.rs。4️⃣ publish-branch静默同步实验分支到 GitHubOpenResearch 的每个实验变体都跑在独立的orx/前缀 git 分支上。当你为项目开启 GitHub 同步后实验创建或算力提交orx exp run一成功系统就会派生一个分离后台进程运行publish-branch把实验分支推送到远端——主流程完全不等待推送结果推送失败也只是打印一条警告绝不影响本地实验的创建和运行调用点见 src/compute.rs。它的寻远逻辑也很讲究src/local/git.rs按github→origin→upstream的顺序查找与owner/repo匹配的远端找到才推找不到就明确报错提示先为该项目启用 GitHub 同步。实际推送动作在 src/local/git.rs 的push_branch中完成。这也呼应了 OpenResearch 的核心理念发布仓库不是必需的同步只是可选项的锦上添花。新手需要记住的3件事不用学、直接受益这 4 条命令由orx up、计划模式、远程模式、GitHub 同步在背后自动编排你在界面上点批准计划、连远程机器、开 GitHub 同步时它们都在替你干活安全模型是默认拦截、显式放行plan-gate 白名单制、mcp-gate 失败即 deny、remote-host 同 uid 校验处处体现宁紧勿松想动手研究源码从 src/main.rs 的命令定义出发顺着src/commands/下的 plan_gate.rs、mcp_gate.rs、remote_host.rs 三个文件读一两个小时就能摸清 OpenResearch 的权限与远程架构。下次当你的研究智能体在计划模式里看了一圈证据、弹出一张审批卡片、然后安静地把实验分支同步到远端——现在你知道背后正是这 4 条隐藏命令在协作。【免费下载链接】OpenResearchTurn your coding agents into research agents项目地址: https://gitcode.com/GitHub_Trending/op/OpenResearch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表