[{"data":1,"prerenderedAt":895},["ShallowReactive",2],{"navigation":3,"\u002Fen\u002Fhow-to\u002Fruntimes":129,"\u002Fen\u002Fhow-to\u002Fruntimes-surround":890},[4,68],{"title":5,"path":6,"stem":7,"children":8,"page":22},"En","\u002Fen","en",[9,13,23],{"title":10,"path":11,"stem":12},"Product Overview","\u002Fen\u002Fintroduction","en\u002F0.introduction",{"title":14,"path":15,"stem":16,"children":17,"page":22},"Tutorials","\u002Fen\u002Ftutorials","en\u002F1.tutorials",[18],{"title":19,"path":20,"stem":21},"Quick Start","\u002Fen\u002Ftutorials\u002Fquickstart","en\u002F1.tutorials\u002Fquickstart",false,{"title":24,"path":25,"stem":26,"children":27,"page":22},"How To","\u002Fen\u002Fhow-to","en\u002F2.how-to",[28,32,36,40,44,48,52,56,60,64],{"title":29,"path":30,"stem":31},"Canvas Workspace","\u002Fen\u002Fhow-to\u002Fcanvas","en\u002F2.how-to\u002Fcanvas",{"title":33,"path":34,"stem":35},"Configuration","\u002Fen\u002Fhow-to\u002Fconfigure","en\u002F2.how-to\u002Fconfigure",{"title":37,"path":38,"stem":39},"Scheduled Tasks","\u002Fen\u002Fhow-to\u002Fcron-jobs","en\u002F2.how-to\u002Fcron-jobs",{"title":41,"path":42,"stem":43},"Configuring System Service","\u002Fen\u002Fhow-to\u002Finstall","en\u002F2.how-to\u002Finstall",{"title":45,"path":46,"stem":47},"Managing Instructions","\u002Fen\u002Fhow-to\u002Finstructions","en\u002F2.how-to\u002Finstructions",{"title":49,"path":50,"stem":51},"MCP Servers","\u002Fen\u002Fhow-to\u002Fmcp-servers","en\u002F2.how-to\u002Fmcp-servers",{"title":53,"path":54,"stem":55},"Managing Profiles","\u002Fen\u002Fhow-to\u002Fprofiles","en\u002F2.how-to\u002Fprofiles",{"title":57,"path":58,"stem":59},"Configuring Runtimes","\u002Fen\u002Fhow-to\u002Fruntimes","en\u002F2.how-to\u002Fruntimes",{"title":61,"path":62,"stem":63},"Managing Skills","\u002Fen\u002Fhow-to\u002Fskills","en\u002F2.how-to\u002Fskills",{"title":65,"path":66,"stem":67},"VS Code Integration","\u002Fen\u002Fhow-to\u002Fvscode","en\u002F2.how-to\u002Fvscode",{"title":69,"path":70,"stem":71,"children":72,"page":22},"Zh","\u002Fzh","zh",[73,77,85],{"title":74,"path":75,"stem":76},"产品概述","\u002Fzh\u002Fintroduction","zh\u002F0.introduction",{"title":14,"path":78,"stem":79,"children":80,"page":22},"\u002Fzh\u002Ftutorials","zh\u002F1.tutorials",[81],{"title":82,"path":83,"stem":84},"快速开始","\u002Fzh\u002Ftutorials\u002Fquickstart","zh\u002F1.tutorials\u002Fquickstart",{"title":24,"path":86,"stem":87,"children":88,"page":22},"\u002Fzh\u002Fhow-to","zh\u002F2.how-to",[89,93,97,101,105,109,113,117,121,125],{"title":90,"path":91,"stem":92},"Canvas 工作区","\u002Fzh\u002Fhow-to\u002Fcanvas","zh\u002F2.how-to\u002Fcanvas",{"title":94,"path":95,"stem":96},"配置","\u002Fzh\u002Fhow-to\u002Fconfigure","zh\u002F2.how-to\u002Fconfigure",{"title":98,"path":99,"stem":100},"定时任务","\u002Fzh\u002Fhow-to\u002Fcron-jobs","zh\u002F2.how-to\u002Fcron-jobs",{"title":102,"path":103,"stem":104},"配置系统服务","\u002Fzh\u002Fhow-to\u002Finstall","zh\u002F2.how-to\u002Finstall",{"title":106,"path":107,"stem":108},"管理指令文件","\u002Fzh\u002Fhow-to\u002Finstructions","zh\u002F2.how-to\u002Finstructions",{"title":110,"path":111,"stem":112},"MCP 服务器","\u002Fzh\u002Fhow-to\u002Fmcp-servers","zh\u002F2.how-to\u002Fmcp-servers",{"title":114,"path":115,"stem":116},"管理 Profile","\u002Fzh\u002Fhow-to\u002Fprofiles","zh\u002F2.how-to\u002Fprofiles",{"title":118,"path":119,"stem":120},"配置 Runtime","\u002Fzh\u002Fhow-to\u002Fruntimes","zh\u002F2.how-to\u002Fruntimes",{"title":122,"path":123,"stem":124},"管理 Skill","\u002Fzh\u002Fhow-to\u002Fskills","zh\u002F2.how-to\u002Fskills",{"title":126,"path":127,"stem":128},"VS Code 集成","\u002Fzh\u002Fhow-to\u002Fvscode","zh\u002F2.how-to\u002Fvscode",{"id":130,"title":57,"body":131,"description":884,"extension":885,"links":886,"meta":887,"navigation":424,"path":58,"seo":888,"stem":59,"__hash__":889},"docs\u002Fen\u002F2.how-to\u002Fruntimes.md",{"type":132,"value":133,"toc":872},"minimark",[134,138,143,156,160,163,199,206,210,213,218,243,246,261,278,282,512,517,520,524,527,541,544,552,556,571,745,748,752,762,767,781,786,790,809,814,818,844,848,851,868],[135,136,137],"p",{},"This guide explains how to configure and manage Agent Runtimes in Sink.\nA Runtime defines how to launch and run an AI Agent (such as Claude\nCode, Codex, etc.).",[139,140,142],"h2",{"id":141},"prerequisites","Prerequisites",[144,145,146,150,153],"ul",{},[147,148,149],"li",{},"Sink binary installed",[147,151,152],{},"Basic familiarity with Agent Client Protocol (ACP)",[147,154,155],{},"Internet access to download Runtimes from the ACP registry",[139,157,159],{"id":158},"what-is-a-runtime","What is a Runtime",[135,161,162],{},"A Runtime is a configuration that defines the process for launching a\nspecific Agent:",[144,164,165,181,187,193],{},[147,166,167,171,172,176,177,180],{},[168,169,170],"strong",{},"ID",": A unique identifier (e.g., ",[173,174,175],"code",{},"claude-code",", ",[173,178,179],{},"codex",")",[147,182,183,186],{},[168,184,185],{},"Name and Description",": Human-readable Runtime information",[147,188,189,192],{},[168,190,191],{},"Distribution Method",": Specifies how to launch the Agent (via npm\npackage or local command)",[147,194,195,198],{},[168,196,197],{},"Environment Variables",": Configuration needed when starting the\nAgent",[135,200,201,202,205],{},"All Runtime configurations are stored in ",[173,203,204],{},"~\u002F.sink\u002Fruntimes.json",".",[139,207,209],{"id":208},"adding-runtimes","Adding Runtimes",[135,211,212],{},"The simplest way is to add Runtimes using the interactive command:",[214,215,217],"h3",{"id":216},"run-the-create-command","Run the Create Command",[219,220,225],"pre",{"className":221,"code":222,"language":223,"meta":224,"style":224},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","sink runtime create\n","bash","",[173,226,227],{"__ignoreMap":224},[228,229,232,236,240],"span",{"class":230,"line":231},"line",1,[228,233,235],{"class":234},"sBMFI","sink",[228,237,239],{"class":238},"sfazB"," runtime",[228,241,242],{"class":238}," create\n",[135,244,245],{},"This command will:",[247,248,249,252,258],"ol",{},[147,250,251],{},"Prompt you to choose between “From ACP registry” (browse and install\nfrom the official registry) or “Manual entry” (enter runtime details\nmanually)",[147,253,254,255],{},"If using the registry: fetch available agents from the ACP registry\n(only agents with npm package distribution are shown), display an\ninteractive selection menu, then write the selected Runtimes to\n",[173,256,257],{},"runtimes.json",[147,259,260],{},"If manual entry: prompt for runtime ID, distribution type (npx or\nlocal), package\u002Fcommand, and arguments",[135,262,263,266,267,270,271,274,275,277],{},[168,264,265],{},"Note",": The ACP registry flow in ",[173,268,269],{},"runtime create"," fetches agents with\nnpm\u002Fnpx distribution only. This is different from ",[173,272,273],{},"init",", which detects\nlocally installed Builtin Runtimes (Claude Code, Codex, Factory Droid,\nOpenCode) by probing local commands. Both approaches populate\n",[173,276,257],{}," but through different mechanisms.",[214,279,281],{"id":280},"registry-example","Registry Example",[219,283,285],{"className":221,"code":284,"language":223,"meta":224,"style":224},"$ sink runtime create\n  ✔ Sink — Create Runtime\n  ◆ How would you like to add a runtime?\n  │  ● From ACP registry  \u002F  ○ Manual entry\n  ...\n  ✔ Fetched 5 compatible agents from ACP registry (5 total)\n\n  ✔ Select agent runtimes to install\n  ⊙ agent-x         Agent X (some-agent-x)\n  ◯ agent-y         Agent Y (some-agent-y)\n\n  ✔ Synced 1 runtime (added: 1, replaced: 0)\n",[173,286,287,299,317,347,377,384,419,426,445,463,480,485],{"__ignoreMap":224},[228,288,289,292,295,297],{"class":230,"line":231},[228,290,291],{"class":234},"$",[228,293,294],{"class":238}," sink",[228,296,239],{"class":238},[228,298,242],{"class":238},[228,300,302,305,308,311,314],{"class":230,"line":301},2,[228,303,304],{"class":234},"  ✔",[228,306,307],{"class":238}," Sink",[228,309,310],{"class":238}," —",[228,312,313],{"class":238}," Create",[228,315,316],{"class":238}," Runtime\n",[228,318,320,323,326,329,332,335,338,341,344],{"class":230,"line":319},3,[228,321,322],{"class":234},"  ◆",[228,324,325],{"class":238}," How",[228,327,328],{"class":238}," would",[228,330,331],{"class":238}," you",[228,333,334],{"class":238}," like",[228,336,337],{"class":238}," to",[228,339,340],{"class":238}," add",[228,342,343],{"class":238}," a",[228,345,346],{"class":238}," runtime?\n",[228,348,350,353,356,359,362,365,368,371,374],{"class":230,"line":349},4,[228,351,352],{"class":234},"  │",[228,354,355],{"class":238},"  ●",[228,357,358],{"class":238}," From",[228,360,361],{"class":238}," ACP",[228,363,364],{"class":238}," registry",[228,366,367],{"class":238},"  \u002F",[228,369,370],{"class":238},"  ○",[228,372,373],{"class":238}," Manual",[228,375,376],{"class":238}," entry\n",[228,378,380],{"class":230,"line":379},5,[228,381,383],{"class":382},"s2Zo4","  ...\n",[228,385,387,389,392,396,399,402,405,407,409,413,416],{"class":230,"line":386},6,[228,388,304],{"class":234},[228,390,391],{"class":238}," Fetched",[228,393,395],{"class":394},"sbssI"," 5",[228,397,398],{"class":238}," compatible",[228,400,401],{"class":238}," agents",[228,403,404],{"class":238}," from",[228,406,361],{"class":238},[228,408,364],{"class":238},[228,410,412],{"class":411},"sTEyZ"," (5 ",[228,414,415],{"class":238},"total",[228,417,418],{"class":411},")\n",[228,420,422],{"class":230,"line":421},7,[228,423,425],{"emptyLinePlaceholder":424},true,"\n",[228,427,429,431,434,437,440,442],{"class":230,"line":428},8,[228,430,304],{"class":234},[228,432,433],{"class":238}," Select",[228,435,436],{"class":238}," agent",[228,438,439],{"class":238}," runtimes",[228,441,337],{"class":238},[228,443,444],{"class":238}," install\n",[228,446,448,451,454,457,460],{"class":230,"line":447},9,[228,449,450],{"class":234},"  ⊙",[228,452,453],{"class":238}," agent-x",[228,455,456],{"class":238},"         Agent",[228,458,459],{"class":238}," X",[228,461,462],{"class":411}," (some-agent-x)\n",[228,464,466,469,472,474,477],{"class":230,"line":465},10,[228,467,468],{"class":234},"  ◯",[228,470,471],{"class":238}," agent-y",[228,473,456],{"class":238},[228,475,476],{"class":238}," Y",[228,478,479],{"class":411}," (some-agent-y)\n",[228,481,483],{"class":230,"line":482},11,[228,484,425],{"emptyLinePlaceholder":424},[228,486,488,490,493,496,498,501,504,507,510],{"class":230,"line":487},12,[228,489,304],{"class":234},[228,491,492],{"class":238}," Synced",[228,494,495],{"class":394}," 1",[228,497,239],{"class":238},[228,499,500],{"class":411}," (added: ",[228,502,503],{"class":238},"1,",[228,505,506],{"class":238}," replaced:",[228,508,509],{"class":394}," 0",[228,511,418],{"class":411},[135,513,514,516],{},[168,515,265],{},": The actual agent names shown depend on the ACP registry\ncontent. The example above is illustrative.",[135,518,519],{},"After adding, the new Runtimes are immediately available without\nrequiring a Gateway restart.",[139,521,523],{"id":522},"viewing-installed-runtimes","Viewing Installed Runtimes",[135,525,526],{},"View all configured Runtimes:",[219,528,530],{"className":221,"code":529,"language":223,"meta":224,"style":224},"sink runtime list\n",[173,531,532],{"__ignoreMap":224},[228,533,534,536,538],{"class":230,"line":231},[228,535,235],{"class":234},[228,537,239],{"class":238},[228,539,540],{"class":238}," list\n",[135,542,543],{},"Example output:",[219,545,550],{"className":546,"code":548,"language":549},[547],"language-text","  ✔ Sink Runtimes\n  ℹ claude-code — Claude Code v1.0.0\n    $ npx -y @anthropic\u002Fclaude-code\n  ℹ codex — Codex v2.1.0\n    $ npx -y @anthropic\u002Fcodex --mode interactive\n  ✔ 2 runtimes installed\n","text",[173,551,548],{"__ignoreMap":224},[139,553,555],{"id":554},"disabling-a-runtime","Disabling a Runtime",[135,557,558,559,562,563,566,567,570],{},"To disable a Runtime without deleting it, set the ",[173,560,561],{},"disabled"," field to\n",[173,564,565],{},"true"," under ",[173,568,569],{},"metadata",":",[219,572,576],{"className":573,"code":574,"language":575,"meta":224,"style":224},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"agentRuntimes\": {\n    \"old-agent\": {\n      \"description\": \"Old Agent\",\n      \"metadata\": {\n        \"disabled\": true\n      },\n      \"distribution\": {\n        \"npx\": {\n          \"package\": \"@myorg\u002Fold-agent\"\n        }\n      }\n    }\n  }\n}\n","json",[173,577,578,584,601,615,638,650,665,670,683,696,717,722,727,733,739],{"__ignoreMap":224},[228,579,580],{"class":230,"line":231},[228,581,583],{"class":582},"sMK4o","{\n",[228,585,586,589,593,596,598],{"class":230,"line":301},[228,587,588],{"class":582},"  \"",[228,590,592],{"class":591},"spNyl","agentRuntimes",[228,594,595],{"class":582},"\"",[228,597,570],{"class":582},[228,599,600],{"class":582}," {\n",[228,602,603,606,609,611,613],{"class":230,"line":319},[228,604,605],{"class":582},"    \"",[228,607,608],{"class":234},"old-agent",[228,610,595],{"class":582},[228,612,570],{"class":582},[228,614,600],{"class":582},[228,616,617,620,623,625,627,630,633,635],{"class":230,"line":349},[228,618,619],{"class":582},"      \"",[228,621,622],{"class":394},"description",[228,624,595],{"class":582},[228,626,570],{"class":582},[228,628,629],{"class":582}," \"",[228,631,632],{"class":238},"Old Agent",[228,634,595],{"class":582},[228,636,637],{"class":582},",\n",[228,639,640,642,644,646,648],{"class":230,"line":379},[228,641,619],{"class":582},[228,643,569],{"class":394},[228,645,595],{"class":582},[228,647,570],{"class":582},[228,649,600],{"class":582},[228,651,652,655,658,660,662],{"class":230,"line":386},[228,653,654],{"class":582},"        \"",[228,656,561],{"class":657},"swJcz",[228,659,595],{"class":582},[228,661,570],{"class":582},[228,663,664],{"class":582}," true\n",[228,666,667],{"class":230,"line":421},[228,668,669],{"class":582},"      },\n",[228,671,672,674,677,679,681],{"class":230,"line":428},[228,673,619],{"class":582},[228,675,676],{"class":394},"distribution",[228,678,595],{"class":582},[228,680,570],{"class":582},[228,682,600],{"class":582},[228,684,685,687,690,692,694],{"class":230,"line":447},[228,686,654],{"class":582},[228,688,689],{"class":657},"npx",[228,691,595],{"class":582},[228,693,570],{"class":582},[228,695,600],{"class":582},[228,697,698,701,705,707,709,711,714],{"class":230,"line":465},[228,699,700],{"class":582},"          \"",[228,702,704],{"class":703},"su27w","package",[228,706,595],{"class":582},[228,708,570],{"class":582},[228,710,629],{"class":582},[228,712,713],{"class":238},"@myorg\u002Fold-agent",[228,715,716],{"class":582},"\"\n",[228,718,719],{"class":230,"line":482},[228,720,721],{"class":582},"        }\n",[228,723,724],{"class":230,"line":487},[228,725,726],{"class":582},"      }\n",[228,728,730],{"class":230,"line":729},13,[228,731,732],{"class":582},"    }\n",[228,734,736],{"class":230,"line":735},14,[228,737,738],{"class":582},"  }\n",[228,740,742],{"class":230,"line":741},15,[228,743,744],{"class":582},"}\n",[135,746,747],{},"Disabled Runtimes won’t appear in the UI, but the configuration is\npreserved.",[139,749,751],{"id":750},"troubleshooting","Troubleshooting",[135,753,754,757,758,761],{},[168,755,756],{},"Issue",": Running ",[173,759,760],{},"sink runtime create"," with the registry option fails\nwith connection error",[135,763,764,570],{},[168,765,766],{},"Solution",[144,768,769,772,778],{},[147,770,771],{},"Check your network connection",[147,773,774,775],{},"Verify access to the ACP registry:\n",[173,776,777],{},"curl https:\u002F\u002Fcdn.agentclientprotocol.com\u002Fregistry\u002Fv1\u002Flatest\u002Fregistry.json",[147,779,780],{},"Try adding the Runtime manually",[135,782,783,785],{},[168,784,756],{},": Runtime fails to start with “command not found” error",[135,787,788,570],{},[168,789,766],{},[144,791,792,803,806],{},[147,793,794,795,798,799,802],{},"Verify that ",[173,796,797],{},"distribution.npx.package"," or ",[173,800,801],{},"distribution.local.cmd"," is\ncorrect",[147,804,805],{},"Ensure the npm package is published or the local command file exists\nand is executable",[147,807,808],{},"Check that environment variables are set correctly",[135,810,811,813],{},[168,812,756],{},": Runtime startup is missing environment variables",[135,815,816,570],{},[168,817,766],{},[144,819,820,826,833],{},[147,821,822,823],{},"Confirm the environment variables are set in your system:\n",[173,824,825],{},"echo $VAR_NAME",[147,827,828,829,832],{},"Check the interpolation syntax in the Runtime configuration’s ",[173,830,831],{},"env","\nfield",[147,834,835,836,839,840,843],{},"If running in a systemd service, verify that ",[173,837,838],{},"EnvironmentFile"," or\n",[173,841,842],{},"Environment"," includes the required variables",[139,845,847],{"id":846},"next-steps","Next Steps",[135,849,850],{},"After configuring Runtimes, you can:",[247,852,853,861],{},[147,854,855,860],{},[856,857,859],"a",{"href":858},".\u002Fprofiles","Create Profiles"," to associate Runtimes with Agent\npersonality configurations",[147,862,863,867],{},[856,864,866],{"href":865},"..\u002Ftutorials\u002Fquickstart","Get Started"," and create your first Task",[869,870,871],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .su27w, html code.shiki .su27w{--shiki-light:#916B53;--shiki-default:#916B53;--shiki-dark:#916B53}",{"title":224,"searchDepth":231,"depth":301,"links":873},[874,875,876,880,881,882,883],{"id":141,"depth":301,"text":142},{"id":158,"depth":301,"text":159},{"id":208,"depth":301,"text":209,"children":877},[878,879],{"id":216,"depth":319,"text":217},{"id":280,"depth":319,"text":281},{"id":522,"depth":301,"text":523},{"id":554,"depth":301,"text":555},{"id":750,"depth":301,"text":751},{"id":846,"depth":301,"text":847},"How to register and manage ACP Agent Runtimes","md",null,{},{"title":57,"description":884},"rhTIGKp5jqk9t_XU8ztTDu8IcaqIZxLS5hzrE8ztb7U",[891,893],{"title":53,"path":54,"stem":55,"description":892,"children":-1},"Create and configure Agent Profiles to define agent work styles and capabilities",{"title":61,"path":62,"stem":63,"description":894,"children":-1},"Learn how to install, configure, and use Agent Skills in Profiles",1778225992498]