尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Orca orca-cli 发现桩:如何解析正确的 CLI 可执行文件并获取版本匹配的命令参考

Orca orca-cli 发现桩:如何解析正确的 CLI 可执行文件并获取版本匹配的命令参考 Orca orca-cli 发现桩如何解析正确的 CLI 可执行文件并获取版本匹配的命令参考【免费下载链接】orcaOrca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and VPS.项目地址: https://gitcode.com/GitHub_Trending/orca48/orca本文以 skill-stubs/orca-cli.md 为主体拆解 Orca 的 CLI “发现桩”discovery stub设计它不罗列子命令而是教 Agent 判断何时该用 Orca CLI、如何在一次会话内锁定正确的可执行文件以及如何用orca skills get orca-cli拉取与当前二进制严格同版本的完整命令参考。读完本文你将在 POSIX shell、PowerShell、cmd.exe 下都能安全地调用 Orca 管理的 worktree、终端、自动化与内置浏览器且不再担心文档与二进制命令面漂移或在 Linux 上误触 GNOME 读屏器。1. 发现桩的定位为什么参考文档要从文件里拿掉原文档开篇即声明This file is a discovery stub, not the usage guide. The full, version-matched Orca CLI reference is served by theorcabinary itself — kept out of this file on purpose so it can never drift from the binary that will actually run your commands.也就是说skill-stubs/orca-cli.md 只是一个“入口指引”完整的、与版本匹配的 Orca CLI 参考由orca二进制自身提供。这个设计的收益是结构性的命令子命令与 flag 会随 Orca 版本演进若把参考固化在静态文档里文档必然落后于实际运行的二进制而桩文件刻意不再列出任何子命令从根本上消除了“缓存副本/凭记忆猜命令”这一类错误。从源码结构看这一承诺是真实落地的随二进制分发的完整指南表位于 src/cli/bundled-skill-guides.ts文件头注明它由 config/scripts/generate-bundled-skill-guides.mjs 生成Do not edit其中ORCA_CLI_MARKDOWN常量就是orca-cli话题的完整指南正文该指南在仓库中的源头是 skills/orca-cli/SKILL.md构建时被打进 CLI 包内因此“指南随二进制走”——skills get输出的一定是当前这个构建里携带的参考而不是某次发布时的快照。2. 何时应触发 Orca CLIOrca 状态是唯一事实来源桩文件给出的启用条件是只要 Orca 的运行中编辑器/运行时是事实来源source of truth就应介入覆盖这些对象Orca 管理的 worktrees工作树folder contexts文件夹上下文terminals终端repos仓库automations自动化任务worktree comments工作树状态评论内嵌在 Orca 应用里的浏览器。原文列出的触发短语包括$orca-cli、Orca worktree、child worktree、spawn codex/claude in a worktree、read/wait/send Orca terminal、full handoff/handover/give this to another agent以及control the browser inside Orca。对应的反向规则同样明确当 Orca 状态无关紧要时使用普通 shell 工具即可不要绕道 CLI。3. 会话级可执行文件解析四档判定一次锁定这是桩文件的运营核心。原文规则是“为当前会话选择一个可执行文件之后所有命令都复用它”判定顺序如下若设置了ORCA_CLI_COMMAND环境变量使用它的值。Orca 会为受管的 WSL 会话导出这个变量否则在会话暴露了ORCA_DEV_REPO_ROOT的开发检出dev checkout中使用orca-dev否则在 Orca 受管终端之外的 Linux 上使用orca-ide。在那里永远不要直接运行裸orca——在 Orca 终端之外它通常解析为 GNOME Orca 读屏器/usr/bin/orca会在用户机器上启动语音朗读否则使用orca。ORCA占位符约定原文对命令块的书写方式有硬约束下文所有命令中的ORCA是可执行文件的占位符运行前必须替换为你解析出的具体命令不要创建 shell 变量、也不要字面运行ORCA。这套替换在 POSIX shell、PowerShell 和 cmd.exe 中写法一致因此命令块对三种 shell 都是中立的。失败即停禁止“兜底换号”原文强调如果选定的可执行文件无法运行报告它的确切错误并停下不要顺延到另一个可执行文件——那可能悄悄指向另一个 Orca 构建。从源码看这条规则的针对性很强开发包装器 config/scripts/orca-dev.mjs 会在out/cli/index.js不存在时直接以 “Run pnpm run build:cli first.” 退出并把ORCA_USER_DATA_PATH指到独立的orca-dev用户数据目录、打上ORCA_DEV_CLI_INVOCATION1标记。换言之orca-dev连的是本检出的运行时和配置画像一旦在开发会话里回退到裸orca请求就会打到生产安装版状态互不可见——这正是“换号即出错”的具体形态。同理Linux 上回退到裸orca的代价不是报错而是读屏器接管机器。4. 运行任何 Orca 命令前加载版本匹配的完整指南原文给出的标准动作是ORCA skills get orca-cli该命令会打印恰好服务于你下一条命令的那个二进制的完整指南——worktrees、handoffs、terminals、automations 与内置浏览器全覆盖。原文的操作顺序是先读它再运行你真正需要的那条具体命令不要凭记忆、也不要凭这份桩的缓存副本去猜子命令或 flag它们在不同 Orca 发布版之间会变。源码印证指南是本地读取不依赖运行时在线skills get的实现与声明可以逐条对上命令面定义在 src/cli/specs/skills.tsorca skills get topic [--full] [--json]带skills show别名notes 明确写着 “Reads bundled guide content locally without contacting the Orca runtime.”——即拉指南不需要 Orca 应用在运行处理逻辑在 src/cli/handlers/skills.ts惰性加载BUNDLED_SKILL_GUIDES大表避免无关命令承担模块加载成本按规范名与别名解析 topic输出 Markdown或--json时输出{ name, full, markdown }结构另可用orca skills list [--json]先枚举本机 CLI 携带的全部指南话题同一 spec 文件中有定义确认orca-cli是否可用。确认应用在线并统一使用--json原文对首次动作的约定是用ORCA status --json确认应用已启动必要时先用ORCA open --json拉起并且代理驱动的调用一律优先--json以获得机器可解析的输出。5. 老版本二进制不认识skills get时的受控回退这是原文最有工程味道的部分回退路径只在选定二进制明确报告skills get是未知命令时才启用。其它任何失败都不构成“二进制太老”的证据——应如实报告而不是猜测或更换可执行文件。对“确认是前指南版本pre-guide binary”的情况原文允许且只允许这样一个有界、只读的定向引导bounded, read-only bootstrapORCA status --json ORCA worktree ps --json ORCA terminal list --json随后要做两件事告诉用户更新 Orca 后ORCA skills get orca-cli会重新提供完整的版本匹配指南在这三条命令之外向用户提问而不是猜测——不要发明这个较老二进制可能并不支持的命令面也不要死胡同式地干等。6. 版本匹配指南覆盖什么以桩为起点能拿到什么能力ORCA skills get orca-cli打印的完整指南仓库内对应源文件 skill-guides/orca-cli.md按能力域组织要点摘录如下供你预判读完后能执行哪类任务——权威内容以skills get的输出为准本节只是地图Worktreesid 是两段式地址repoId::worktreePath必须整值拷贝worktree create支持--agent id --prompt text把指定 TUI agent 放进第一个终端、--no-parent只控制 Orca 谱系不决定 Git base、--setup run|skip|inherit等Full Handoffs把所有权移交给另一个 agent/worktree 后原 agent 停止监控典型序列是worktree create --no-parent→terminal create --command ...→terminal wait --for tui-idle --timeout-ms 60000→terminal send --text ... --enterTerminalslist / show / read / send / wait / create / split / close长输出用游标分页读取agent CLI 用--for tui-idle且必须带--timeout-msAutomationshourly/daily/weekdays/weekly/ 5 段 cron / RRULE 触发--repo与--workspace互斥调试期建议--disabledArtifacts经已登录 Orca 账号发布 HTML/Markdown 公开链接发布权限默认关闭且只能由人类在桌面端 Settings → Artifacts 打开Skill Sharing把显式选定的已安装技能打包成未列出链接分享同样默认关闭Built-In Browsergoto / snapshot / click / wait / tab ...的“快照-交互-再快照”循环e1类 ref 由snapshot分配、导航后失效Mobile EmulatoriOS 模拟器的list / attach / tap / type / gesture / kill按 worktree 作用域解析“当前激活设备”。7. 设计要点速查把桩文件的规则收敛成可执行的自检清单规则内容违反后果桩/指南分离子命令参考只认orca skills get orca-cli的输出凭记忆/缓存副本猜命令随版本漂移一次解析四档判定选定可执行文件后全会话复用开发会话打到生产 CLILinux 误触读屏器占位符替换ORCA是书写占位符替换后再运行不建 shell 变量在 POSIX/PowerShell/cmd.exe 下行为不一致失败即停可执行文件跑不起来时报告确切错误并停止兜底换号静默指向另一个构建先指南后命令先读版本匹配指南再跑具体命令agent 调用带--json用旧命令面输出不可解析受控回退仅当明确报skills get未知时用三条只读命令定向其余问用户发明老二进制不支持的命令这一套“桩文件 二进制内置指南 受控回退”的组合本质上是把“文档与运行时永远同版本”做成了构建约束而非人工纪律指南表在打包时生成、随二进制分发、离线可读而桩文件只负责在入口把 Agent 引到正确的可执行文件和正确的命令来源上。【免费下载链接】orcaOrca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and VPS.项目地址: https://gitcode.com/GitHub_Trending/orca48/orca创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表