(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,10460,e=>{"use strict";var t=e.i(651681);let r={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};r.node;let a=(0,t.f)(r);e.s(["f",0,a],10460)},134899,e=>{"use strict";var t=e.i(659350),r=e.i(663456);e.i(707060);var a=e.i(387086),n=e.i(497556);let i="curl -fsSL https://openrouter.ai/labs/ori/install.sh | bash",o=[{q:(0,a.b)("what is ori harness?"),a:(0,a.b)("ori harness runs the agent CLI you already use on OpenRouter. `ori claude`, `ori codex`, `ori grok`, `ori hermes`, `ori opencode`, `ori pi`, `ori prime-agent`, `ori cline`, `ori kilo`, `ori omp`, `ori muse`, `ori zcode`, `ori unreal`, `ori crush`, and `ori droid` each launch the real agent with OpenRouter wired in: your models, your org guardrails, one bill. `ori dsh` sets up DeepSeek Harness the same way and launches its web server. the commands stay the same.")},{q:(0,a.b)("do I need an API key?"),a:(0,a.b)("no. ori signs you in with OAuth (PKCE) on your existing OpenRouter login, so there is no new account and no key to copy or paste. your models, credits, and org settings are there immediately.")},{q:(0,a.b)("which agents can I run?"),a:(0,a.b)("Claude Code (`ori claude`), Codex (`ori codex`), Grok Build (`ori grok`), Hermes (`ori hermes`), OpenCode (`ori opencode`), Pi (`ori pi`), Prime Agent (`ori prime-agent`), Cline (`ori cline`), Kilo Code (`ori kilo`), omp (`ori omp`), Muse Code (`ori muse`), ZCode (`ori zcode`), Unreal Agent (`ori unreal`), Crush (`ori crush`), Factory Droid (`ori droid`), and DeepSeek Harness (`ori dsh`) today, with more harnesses on the way.")},{q:(0,a.b)("do I have to install the agents myself?"),a:(0,a.b)("ori runs the agent CLI that's already on your PATH. if it isn't installed, ori prompts you with how to install it and offers to do it for you right away.")},{q:(0,a.b)("how does ori dsh work?"),a:(0,a.b)("DeepSeek Harness runs as a web server rather than a TUI, so `ori dsh` configures your DeepSeek Harness under `$DSH_HOME` to serve OpenRouter, then launches `dsh web` and prints its URL. the OpenRouter credential reaches only that server, so a `dsh web` you start yourself needs its own key.")},{q:(0,a.b)("can I use any model?"),a:(0,a.b)("yes. pass `--model` with any OpenRouter model id. Grok Build, Crush, and Factory Droid take their own model flag instead: `ori grok -m`, `ori crush run -m`, and `ori droid exec -m`, or their model picker. everything after the flags is forwarded to the agent untouched, so your usual commands still work.")},{q:(0,a.b)("do I have to change my workflow?"),a:(0,a.b)("no. keep the same agent and the same commands and flags you know. ori sits underneath and adds model choice, guardrails, and one bill.")},{q:(0,a.b)("how does ori enforce my org's policies?"),a:(0,a.b)("allowlists, budgets, and per-workspace permissions live on your OpenRouter org and apply on every request. a model or spend outside policy is blocked before it runs, whichever agent made the call.")},{q:(0,a.b)("how do I install ori?"),a:(0,a.b)("run: {cmd}",{cmd:i})},{q:(0,a.b)("can I install ori through my agent?"),a:(0,a.b)("yes. if you use OpenRouter MCP, run /install-ori-harness in your agent to get started, or ask it to run curl -fsSL {skillUrl} and follow the instructions in its output.",{skillUrl:"https://openrouter.ai/skills/install-ori-harness"})},{q:(0,a.b)("how do I upgrade ori?"),a:(0,a.b)("run: ori update")}],s=[{title:(0,a.b)("Bring your own agent"),desc:(0,a.b)("One command runs the agent CLI you already have, with OpenRouter credentials, models, and environment set up for you. Your workflow does not change."),steps:[{kind:"harness",rows:[{cmd:"ori claude",label:(0,a.b)("Claude Code, on OpenRouter")},{cmd:"ori codex",label:(0,a.b)("Codex, on OpenRouter")},{cmd:"ori grok",label:(0,a.b)("Grok Build, on OpenRouter")},{cmd:"ori hermes",label:(0,a.b)("Hermes, on OpenRouter")},{cmd:"ori opencode",label:(0,a.b)("OpenCode, on OpenRouter")},{cmd:"ori pi",label:(0,a.b)("Pi, on OpenRouter")},{cmd:"ori prime-agent",label:(0,a.b)("Prime Agent, on OpenRouter")},{cmd:"ori cline",label:(0,a.b)("Cline, on OpenRouter")},{cmd:"ori kilo",label:(0,a.b)("Kilo Code, on OpenRouter")},{cmd:"ori omp",label:(0,a.b)("omp, on OpenRouter")},{cmd:"ori muse",label:(0,a.b)("Muse Code, on OpenRouter")},{cmd:"ori zcode",label:(0,a.b)("ZCode, on OpenRouter")},{cmd:"ori unreal",label:(0,a.b)("Unreal Agent, on OpenRouter")},{cmd:"ori crush",label:(0,a.b)("Crush, on OpenRouter")},{cmd:"ori droid",label:(0,a.b)("Factory Droid, on OpenRouter")},{cmd:"ori dsh",label:(0,a.b)("DeepSeek Harness web server, on OpenRouter")}]},{kind:"shell",text:"ori claude"},{kind:"boot",app:"Claude Code",model:"~anthropic/claude-opus-latest"},{kind:"user",text:"add a loading state to the export button"},{kind:"tool",name:"Edit",arg:"src/components/ExportButton.tsx",result:"updated 2 locations"},{kind:"diff",rows:[{no:24,kind:"del",text:"