[{"data":1,"prerenderedAt":1409},["ShallowReactive",2],{"navigation":3,"\u002Fen\u002Fhow-to\u002Fconfigure":129,"\u002Fen\u002Fhow-to\u002Fconfigure-surround":1404},[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":33,"body":131,"description":1398,"extension":1399,"links":1400,"meta":1401,"navigation":656,"path":34,"seo":1402,"stem":35,"__hash__":1403},"docs\u002Fen\u002F2.how-to\u002Fconfigure.md",{"type":132,"value":133,"toc":1368},"minimark",[134,138,143,147,160,163,167,170,181,195,199,204,219,283,289,293,338,344,348,354,402,413,416,442,446,450,453,508,515,538,541,545,549,580,583,626,630,633,681,685,691,834,838,842,848,851,935,937,971,975,985,995,999,1166,1234,1238,1242,1245,1267,1270,1274,1277,1295,1299,1310,1314,1339,1343,1364],[135,136,33],"h1",{"id":137},"configuration",[139,140,142],"h2",{"id":141},"overview","Overview",[144,145,146],"p",{},"The Sink gateway is the main interface between users and the platform.\nThrough gateway configuration, you can control:",[148,149,150,154,157],"ul",{},[151,152,153],"li",{},"The port and address the service listens on",[151,155,156],{},"Logging level and frontend feature toggles",[151,158,159],{},"Optional AI capability settings",[144,161,162],{},"This guide covers common gateway configuration tasks.",[139,164,166],{"id":165},"configuration-file-location","Configuration File Location",[144,168,169],{},"The gateway configuration file is located at:",[171,172,177],"pre",{"className":173,"code":175,"language":176},[174],"language-text","~\u002F.sink\u002Fgateway.json\n","text",[178,179,175],"code",{"__ignoreMap":180},"",[144,182,183,184,187,188,191,192,194],{},"Here ",[178,185,186],{},"~\u002F.sink"," corresponds to ",[178,189,190],{},"SINK_HOME\u002F.sink",", with a default value of\n",[178,193,186],{},".",[139,196,198],{"id":197},"quick-start-basic-configuration","Quick Start: Basic Configuration",[200,201,203],"h3",{"id":202},"scenario-1-change-the-service-port","Scenario 1: Change the Service Port",[171,205,209],{"className":206,"code":207,"language":208,"meta":180,"style":180},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Edit ~\u002F.sink\u002Fgateway.json\n","bash",[178,210,211],{"__ignoreMap":180},[212,213,216],"span",{"class":214,"line":215},"line",1,[212,217,207],{"class":218},"sHwdD",[171,220,224],{"className":221,"code":222,"language":223,"meta":180,"style":180},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"port\": 8080,\n  \"host\": \"127.0.0.1\"\n}\n","json",[178,225,226,232,255,277],{"__ignoreMap":180},[212,227,228],{"class":214,"line":215},[212,229,231],{"class":230},"sMK4o","{\n",[212,233,235,238,242,245,248,252],{"class":214,"line":234},2,[212,236,237],{"class":230},"  \"",[212,239,241],{"class":240},"spNyl","port",[212,243,244],{"class":230},"\"",[212,246,247],{"class":230},":",[212,249,251],{"class":250},"sbssI"," 8080",[212,253,254],{"class":230},",\n",[212,256,258,260,263,265,267,270,274],{"class":214,"line":257},3,[212,259,237],{"class":230},[212,261,262],{"class":240},"host",[212,264,244],{"class":230},[212,266,247],{"class":230},[212,268,269],{"class":230}," \"",[212,271,273],{"class":272},"sfazB","127.0.0.1",[212,275,276],{"class":230},"\"\n",[212,278,280],{"class":214,"line":279},4,[212,281,282],{"class":230},"}\n",[144,284,285,286,194],{},"The change takes effect after restarting the gateway. Access the Web UI\nat ",[178,287,288],{},"http:\u002F\u002F127.0.0.1:8080",[200,290,292],{"id":291},"scenario-2-allow-remote-access","Scenario 2: Allow Remote Access",[171,294,296],{"className":221,"code":295,"language":223,"meta":180,"style":180},"{\n  \"port\": 5000,\n  \"host\": \"0.0.0.0\"\n}\n",[178,297,298,302,317,334],{"__ignoreMap":180},[212,299,300],{"class":214,"line":215},[212,301,231],{"class":230},[212,303,304,306,308,310,312,315],{"class":214,"line":234},[212,305,237],{"class":230},[212,307,241],{"class":240},[212,309,244],{"class":230},[212,311,247],{"class":230},[212,313,314],{"class":250}," 5000",[212,316,254],{"class":230},[212,318,319,321,323,325,327,329,332],{"class":214,"line":257},[212,320,237],{"class":230},[212,322,262],{"class":240},[212,324,244],{"class":230},[212,326,247],{"class":230},[212,328,269],{"class":230},[212,330,331],{"class":272},"0.0.0.0",[212,333,276],{"class":230},[212,335,336],{"class":214,"line":279},[212,337,282],{"class":230},[144,339,340,341,194],{},"This allows other machines to access via ",[178,342,343],{},"http:\u002F\u002F\u003Cyour-ip>:5000",[200,345,347],{"id":346},"scenario-3-configure-port-using-environment-variables","Scenario 3: Configure Port Using Environment Variables",[144,349,350,351,247],{},"Use environment variable interpolation syntax in ",[178,352,353],{},"gateway.json",[171,355,357],{"className":221,"code":356,"language":223,"meta":180,"style":180},"{\n  \"port\": \"${PORT:-5000}\",\n  \"host\": \"127.0.0.1\"\n}\n",[178,358,359,363,382,398],{"__ignoreMap":180},[212,360,361],{"class":214,"line":215},[212,362,231],{"class":230},[212,364,365,367,369,371,373,375,378,380],{"class":214,"line":234},[212,366,237],{"class":230},[212,368,241],{"class":240},[212,370,244],{"class":230},[212,372,247],{"class":230},[212,374,269],{"class":230},[212,376,377],{"class":272},"${PORT:-5000}",[212,379,244],{"class":230},[212,381,254],{"class":230},[212,383,384,386,388,390,392,394,396],{"class":214,"line":257},[212,385,237],{"class":230},[212,387,262],{"class":240},[212,389,244],{"class":230},[212,391,247],{"class":230},[212,393,269],{"class":230},[212,395,273],{"class":272},[212,397,276],{"class":230},[212,399,400],{"class":214,"line":279},[212,401,282],{"class":230},[144,403,404,405,408,409,412],{},"This means: use the ",[178,406,407],{},"PORT"," environment variable, or default to ",[178,410,411],{},"5000"," if\nnot set.",[144,414,415],{},"On startup:",[171,417,419],{"className":206,"code":418,"language":208,"meta":180,"style":180},"PORT=8080 sink gateway start\n",[178,420,421],{"__ignoreMap":180},[212,422,423,426,429,432,436,439],{"class":214,"line":215},[212,424,407],{"class":425},"sTEyZ",[212,427,428],{"class":230},"=",[212,430,431],{"class":272},"8080",[212,433,435],{"class":434},"sBMFI"," sink",[212,437,438],{"class":272}," gateway",[212,440,441],{"class":272}," start\n",[139,443,445],{"id":444},"authentication-configuration","Authentication Configuration",[200,447,449],{"id":448},"static-bearer-token-additional-authentication","Static Bearer Token (Additional Authentication)",[144,451,452],{},"In addition to the primary authentication method, you can configure\nadditional Bearer tokens:",[171,454,456],{"className":221,"code":455,"language":223,"meta":180,"style":180},"{\n  \"authTokens\": [\n    \"token-1\",\n    \"token-2\"\n  ]\n}\n",[178,457,458,462,476,488,497,503],{"__ignoreMap":180},[212,459,460],{"class":214,"line":215},[212,461,231],{"class":230},[212,463,464,466,469,471,473],{"class":214,"line":234},[212,465,237],{"class":230},[212,467,468],{"class":240},"authTokens",[212,470,244],{"class":230},[212,472,247],{"class":230},[212,474,475],{"class":230}," [\n",[212,477,478,481,484,486],{"class":214,"line":257},[212,479,480],{"class":230},"    \"",[212,482,483],{"class":272},"token-1",[212,485,244],{"class":230},[212,487,254],{"class":230},[212,489,490,492,495],{"class":214,"line":279},[212,491,480],{"class":230},[212,493,494],{"class":272},"token-2",[212,496,276],{"class":230},[212,498,500],{"class":214,"line":499},5,[212,501,502],{"class":230},"  ]\n",[212,504,506],{"class":214,"line":505},6,[212,507,282],{"class":230},[144,509,510,511,514],{},"Use them in the ",[178,512,513],{},"Authorization"," header when sending requests:",[171,516,518],{"className":206,"code":517,"language":208,"meta":180,"style":180},"curl -H \"Authorization: Bearer token-1\" http:\u002F\u002Flocalhost:5000\u002Fapi\u002Fconfig\n",[178,519,520],{"__ignoreMap":180},[212,521,522,525,528,530,533,535],{"class":214,"line":215},[212,523,524],{"class":434},"curl",[212,526,527],{"class":272}," -H",[212,529,269],{"class":230},[212,531,532],{"class":272},"Authorization: Bearer token-1",[212,534,244],{"class":230},[212,536,537],{"class":272}," http:\u002F\u002Flocalhost:5000\u002Fapi\u002Fconfig\n",[144,539,540],{},"This is useful for integration scripts or CI\u002FCD pipelines.",[139,542,544],{"id":543},"logging-configuration","Logging Configuration",[200,546,548],{"id":547},"log-level","Log Level",[171,550,552],{"className":221,"code":551,"language":223,"meta":180,"style":180},"{\n  \"logLevel\": \"info\"\n}\n",[178,553,554,558,576],{"__ignoreMap":180},[212,555,556],{"class":214,"line":215},[212,557,231],{"class":230},[212,559,560,562,565,567,569,571,574],{"class":214,"line":234},[212,561,237],{"class":230},[212,563,564],{"class":240},"logLevel",[212,566,244],{"class":230},[212,568,247],{"class":230},[212,570,269],{"class":230},[212,572,573],{"class":272},"info",[212,575,276],{"class":230},[212,577,578],{"class":214,"line":257},[212,579,282],{"class":230},[144,581,582],{},"Possible values:",[148,584,585,591,597,603,608,614,620],{},[151,586,587,590],{},[178,588,589],{},"fatal"," - Only fatal errors",[151,592,593,596],{},[178,594,595],{},"error"," - Errors only",[151,598,599,602],{},[178,600,601],{},"warn"," - Warnings and above",[151,604,605,607],{},[178,606,573],{}," - General information (default)",[151,609,610,613],{},[178,611,612],{},"debug"," - Detailed debug information",[151,615,616,619],{},[178,617,618],{},"trace"," - All logs (most verbose)",[151,621,622,625],{},[178,623,624],{},"silent"," - Disable all log output",[200,627,629],{"id":628},"viewing-logs","Viewing Logs",[144,631,632],{},"Logs are printed to standard output. When running the gateway, you can:",[171,634,636],{"className":206,"code":635,"language":208,"meta":180,"style":180},"# View logs directly\nsink gateway start\n\n# Or redirect to a file\nsink gateway start > sink.log 2>&1\n",[178,637,638,643,652,658,663],{"__ignoreMap":180},[212,639,640],{"class":214,"line":215},[212,641,642],{"class":218},"# View logs directly\n",[212,644,645,648,650],{"class":214,"line":234},[212,646,647],{"class":434},"sink",[212,649,438],{"class":272},[212,651,441],{"class":272},[212,653,654],{"class":214,"line":257},[212,655,657],{"emptyLinePlaceholder":656},true,"\n",[212,659,660],{"class":214,"line":279},[212,661,662],{"class":218},"# Or redirect to a file\n",[212,664,665,667,669,672,675,678],{"class":214,"line":499},[212,666,647],{"class":434},[212,668,438],{"class":272},[212,670,671],{"class":272}," start",[212,673,674],{"class":230}," >",[212,676,677],{"class":272}," sink.log",[212,679,680],{"class":230}," 2>&1\n",[139,682,684],{"id":683},"frontend-feature-toggles","Frontend Feature Toggles",[144,686,687,688,247],{},"Control which feature menus are visible in the Web UI through\n",[178,689,690],{},"uiConfig",[171,692,694],{"className":221,"code":693,"language":223,"meta":180,"style":180},"{\n  \"uiConfig\": {\n    \"showProfiles\": true,\n    \"showRuntimes\": true,\n    \"showSkills\": true,\n    \"showMcp\": true,\n    \"showInstructions\": true,\n    \"showVscode\": true,\n    \"showCanvas\": true,\n    \"simpleMode\": false\n  }\n}\n",[178,695,696,700,713,727,740,753,766,780,794,808,823,829],{"__ignoreMap":180},[212,697,698],{"class":214,"line":215},[212,699,231],{"class":230},[212,701,702,704,706,708,710],{"class":214,"line":234},[212,703,237],{"class":230},[212,705,690],{"class":240},[212,707,244],{"class":230},[212,709,247],{"class":230},[212,711,712],{"class":230}," {\n",[212,714,715,717,720,722,724],{"class":214,"line":257},[212,716,480],{"class":230},[212,718,719],{"class":434},"showProfiles",[212,721,244],{"class":230},[212,723,247],{"class":230},[212,725,726],{"class":230}," true,\n",[212,728,729,731,734,736,738],{"class":214,"line":279},[212,730,480],{"class":230},[212,732,733],{"class":434},"showRuntimes",[212,735,244],{"class":230},[212,737,247],{"class":230},[212,739,726],{"class":230},[212,741,742,744,747,749,751],{"class":214,"line":499},[212,743,480],{"class":230},[212,745,746],{"class":434},"showSkills",[212,748,244],{"class":230},[212,750,247],{"class":230},[212,752,726],{"class":230},[212,754,755,757,760,762,764],{"class":214,"line":505},[212,756,480],{"class":230},[212,758,759],{"class":434},"showMcp",[212,761,244],{"class":230},[212,763,247],{"class":230},[212,765,726],{"class":230},[212,767,769,771,774,776,778],{"class":214,"line":768},7,[212,770,480],{"class":230},[212,772,773],{"class":434},"showInstructions",[212,775,244],{"class":230},[212,777,247],{"class":230},[212,779,726],{"class":230},[212,781,783,785,788,790,792],{"class":214,"line":782},8,[212,784,480],{"class":230},[212,786,787],{"class":434},"showVscode",[212,789,244],{"class":230},[212,791,247],{"class":230},[212,793,726],{"class":230},[212,795,797,799,802,804,806],{"class":214,"line":796},9,[212,798,480],{"class":230},[212,800,801],{"class":434},"showCanvas",[212,803,244],{"class":230},[212,805,247],{"class":230},[212,807,726],{"class":230},[212,809,811,813,816,818,820],{"class":214,"line":810},10,[212,812,480],{"class":230},[212,814,815],{"class":434},"simpleMode",[212,817,244],{"class":230},[212,819,247],{"class":230},[212,821,822],{"class":230}," false\n",[212,824,826],{"class":214,"line":825},11,[212,827,828],{"class":230},"  }\n",[212,830,832],{"class":214,"line":831},12,[212,833,282],{"class":230},[200,835,837],{"id":836},"available-feature-toggles","Available Feature Toggles",[200,839,841],{"id":840},"use-case","Use Case",[144,843,844],{},[845,846,847],"strong",{},"Scenario: Present different UI to different users",[144,849,850],{},"You can dynamically control feature toggles using environment variables:",[171,852,854],{"className":221,"code":853,"language":223,"meta":180,"style":180},"{\n  \"uiConfig\": {\n    \"showProfiles\": \"${SHOW_PROFILES:-true}\",\n    \"showVscode\": \"${SHOW_VSCODE:-false}\",\n    \"simpleMode\": \"${SIMPLE_MODE:-false}\"\n  }\n}\n",[178,855,856,860,872,891,910,927,931],{"__ignoreMap":180},[212,857,858],{"class":214,"line":215},[212,859,231],{"class":230},[212,861,862,864,866,868,870],{"class":214,"line":234},[212,863,237],{"class":230},[212,865,690],{"class":240},[212,867,244],{"class":230},[212,869,247],{"class":230},[212,871,712],{"class":230},[212,873,874,876,878,880,882,884,887,889],{"class":214,"line":257},[212,875,480],{"class":230},[212,877,719],{"class":434},[212,879,244],{"class":230},[212,881,247],{"class":230},[212,883,269],{"class":230},[212,885,886],{"class":272},"${SHOW_PROFILES:-true}",[212,888,244],{"class":230},[212,890,254],{"class":230},[212,892,893,895,897,899,901,903,906,908],{"class":214,"line":279},[212,894,480],{"class":230},[212,896,787],{"class":434},[212,898,244],{"class":230},[212,900,247],{"class":230},[212,902,269],{"class":230},[212,904,905],{"class":272},"${SHOW_VSCODE:-false}",[212,907,244],{"class":230},[212,909,254],{"class":230},[212,911,912,914,916,918,920,922,925],{"class":214,"line":499},[212,913,480],{"class":230},[212,915,815],{"class":434},[212,917,244],{"class":230},[212,919,247],{"class":230},[212,921,269],{"class":230},[212,923,924],{"class":272},"${SIMPLE_MODE:-false}",[212,926,276],{"class":230},[212,928,929],{"class":214,"line":505},[212,930,828],{"class":230},[212,932,933],{"class":214,"line":768},[212,934,282],{"class":230},[144,936,415],{},[171,938,940],{"className":206,"code":939,"language":208,"meta":180,"style":180},"# Hide VS Code menu and enable simple mode\nSHOW_VSCODE=false SIMPLE_MODE=true sink gateway start\n",[178,941,942,947],{"__ignoreMap":180},[212,943,944],{"class":214,"line":215},[212,945,946],{"class":218},"# Hide VS Code menu and enable simple mode\n",[212,948,949,952,954,957,960,962,965,967,969],{"class":214,"line":234},[212,950,951],{"class":425},"SHOW_VSCODE",[212,953,428],{"class":230},[212,955,956],{"class":272},"false",[212,958,959],{"class":425}," SIMPLE_MODE",[212,961,428],{"class":230},[212,963,964],{"class":272},"true",[212,966,435],{"class":434},[212,968,438],{"class":272},[212,970,441],{"class":272},[139,972,974],{"id":973},"settings-configuration","Settings Configuration",[144,976,977,978,980,981,984],{},"In addition to ",[178,979,353],{},", Sink has a global ",[178,982,983],{},"settings.json","\nconfiguration that supports three layers.",[144,986,987,988,991,992],{},"Location: ",[178,989,990],{},"~\u002F.sink\u002Fsettings.json"," and ",[178,993,994],{},"\u003Cworkspace>\u002F.sink\u002Fsettings.json",[200,996,998],{"id":997},"common-configuration-items","Common Configuration Items",[171,1000,1002],{"className":221,"code":1001,"language":223,"meta":180,"style":180},"{\n  \"env\": {\n    \"ANTHROPIC_API_KEY\": \"sk-...\",\n    \"CUSTOM_VAR\": \"value\"\n  },\n  \"logLevel\": \"info\",\n  \"agentLifecycle\": {\n    \"maxConcurrent\": 4,\n    \"idleSwapOutMs\": 300000\n  },\n  \"sandbox\": {\n    \"enabled\": true\n  }\n}\n",[178,1003,1004,1008,1021,1041,1059,1064,1082,1095,1111,1125,1129,1142,1156,1161],{"__ignoreMap":180},[212,1005,1006],{"class":214,"line":215},[212,1007,231],{"class":230},[212,1009,1010,1012,1015,1017,1019],{"class":214,"line":234},[212,1011,237],{"class":230},[212,1013,1014],{"class":240},"env",[212,1016,244],{"class":230},[212,1018,247],{"class":230},[212,1020,712],{"class":230},[212,1022,1023,1025,1028,1030,1032,1034,1037,1039],{"class":214,"line":257},[212,1024,480],{"class":230},[212,1026,1027],{"class":434},"ANTHROPIC_API_KEY",[212,1029,244],{"class":230},[212,1031,247],{"class":230},[212,1033,269],{"class":230},[212,1035,1036],{"class":272},"sk-...",[212,1038,244],{"class":230},[212,1040,254],{"class":230},[212,1042,1043,1045,1048,1050,1052,1054,1057],{"class":214,"line":279},[212,1044,480],{"class":230},[212,1046,1047],{"class":434},"CUSTOM_VAR",[212,1049,244],{"class":230},[212,1051,247],{"class":230},[212,1053,269],{"class":230},[212,1055,1056],{"class":272},"value",[212,1058,276],{"class":230},[212,1060,1061],{"class":214,"line":499},[212,1062,1063],{"class":230},"  },\n",[212,1065,1066,1068,1070,1072,1074,1076,1078,1080],{"class":214,"line":505},[212,1067,237],{"class":230},[212,1069,564],{"class":240},[212,1071,244],{"class":230},[212,1073,247],{"class":230},[212,1075,269],{"class":230},[212,1077,573],{"class":272},[212,1079,244],{"class":230},[212,1081,254],{"class":230},[212,1083,1084,1086,1089,1091,1093],{"class":214,"line":768},[212,1085,237],{"class":230},[212,1087,1088],{"class":240},"agentLifecycle",[212,1090,244],{"class":230},[212,1092,247],{"class":230},[212,1094,712],{"class":230},[212,1096,1097,1099,1102,1104,1106,1109],{"class":214,"line":782},[212,1098,480],{"class":230},[212,1100,1101],{"class":434},"maxConcurrent",[212,1103,244],{"class":230},[212,1105,247],{"class":230},[212,1107,1108],{"class":250}," 4",[212,1110,254],{"class":230},[212,1112,1113,1115,1118,1120,1122],{"class":214,"line":796},[212,1114,480],{"class":230},[212,1116,1117],{"class":434},"idleSwapOutMs",[212,1119,244],{"class":230},[212,1121,247],{"class":230},[212,1123,1124],{"class":250}," 300000\n",[212,1126,1127],{"class":214,"line":810},[212,1128,1063],{"class":230},[212,1130,1131,1133,1136,1138,1140],{"class":214,"line":825},[212,1132,237],{"class":230},[212,1134,1135],{"class":240},"sandbox",[212,1137,244],{"class":230},[212,1139,247],{"class":230},[212,1141,712],{"class":230},[212,1143,1144,1146,1149,1151,1153],{"class":214,"line":831},[212,1145,480],{"class":230},[212,1147,1148],{"class":434},"enabled",[212,1150,244],{"class":230},[212,1152,247],{"class":230},[212,1154,1155],{"class":230}," true\n",[212,1157,1159],{"class":214,"line":1158},13,[212,1160,828],{"class":230},[212,1162,1164],{"class":214,"line":1163},14,[212,1165,282],{"class":230},[1167,1168,1169,1182],"table",{},[1170,1171,1172],"thead",{},[1173,1174,1175,1179],"tr",{},[1176,1177,1178],"th",{},"Field",[1176,1180,1181],{},"Description",[1183,1184,1185,1195,1204,1214,1224],"tbody",{},[1173,1186,1187,1192],{},[1188,1189,1190],"td",{},[178,1191,1014],{},[1188,1193,1194],{},"Environment variable injection (injected into Agent processes)",[1173,1196,1197,1201],{},[1188,1198,1199],{},[178,1200,564],{},[1188,1202,1203],{},"Workspace-level logging level",[1173,1205,1206,1211],{},[1188,1207,1208],{},[178,1209,1210],{},"agentLifecycle.maxConcurrent",[1188,1212,1213],{},"Maximum number of concurrently running Agents",[1173,1215,1216,1221],{},[1188,1217,1218],{},[178,1219,1220],{},"agentLifecycle.idleSwapOutMs",[1188,1222,1223],{},"Time in milliseconds before idle Agents can be suspended",[1173,1225,1226,1231],{},[1188,1227,1228],{},[178,1229,1230],{},"sandbox.enabled",[1188,1232,1233],{},"Whether to enable sandbox isolation",[139,1235,1237],{"id":1236},"troubleshooting","Troubleshooting",[200,1239,1241],{"id":1240},"gateway-startup-failure","Gateway Startup Failure",[144,1243,1244],{},"Check for JSON syntax errors in the configuration file:",[171,1246,1248],{"className":206,"code":1247,"language":208,"meta":180,"style":180},"cat ~\u002F.sink\u002Fgateway.json | jq .\n",[178,1249,1250],{"__ignoreMap":180},[212,1251,1252,1255,1258,1261,1264],{"class":214,"line":215},[212,1253,1254],{"class":434},"cat",[212,1256,1257],{"class":272}," ~\u002F.sink\u002Fgateway.json",[212,1259,1260],{"class":230}," |",[212,1262,1263],{"class":434}," jq",[212,1265,1266],{"class":272}," .\n",[144,1268,1269],{},"If there’s an error, fix the JSON format and retry.",[200,1271,1273],{"id":1272},"environment-variable-interpolation-not-working","Environment Variable Interpolation Not Working",[144,1275,1276],{},"Check:",[1278,1279,1280,1286,1289],"ol",{},[151,1281,1282,1283],{},"If the environment variable is actually set: ",[178,1284,1285],{},"echo $VAR_NAME",[151,1287,1288],{},"If the configuration file is being read correctly: startup logs\nshould show configuration loading information",[151,1290,1291,1292,1294],{},"If the interpolation syntax in ",[178,1293,353],{}," is correct",[200,1296,1298],{"id":1297},"authentication-issues","Authentication Issues",[148,1300,1301],{},[151,1302,1303,1306,1307,1309],{},[845,1304,1305],{},"403 Unauthorized",": Check if the Bearer token is correct (if\n",[178,1308,468],{}," is configured)",[200,1311,1313],{"id":1312},"performance-issues","Performance Issues",[148,1315,1316,1322,1327],{},[151,1317,1318,1319,1321],{},"Increase ",[178,1320,1210],{}," to allow more Agents to run in\nparallel",[151,1323,1318,1324,1326],{},[178,1325,1220],{}," to reduce Agent suspension\nfrequency",[151,1328,1329,1330,1332,1333,1335,1336,1338],{},"Adjust ",[178,1331,564],{}," to ",[178,1334,601],{}," or ",[178,1337,595],{}," to reduce logging I\u002FO",[139,1340,1342],{"id":1341},"next-steps","Next Steps",[148,1344,1345,1352,1358],{},[151,1346,1347,1351],{},[1348,1349,53],"a",{"href":1350},".\u002Fprofiles",": Define Agent personas",[151,1353,1354,1357],{},[1348,1355,57],{"href":1356},".\u002Fruntimes",": Set up Agent runtimes",[151,1359,1360,1363],{},[1348,1361,61],{"href":1362},".\u002Fskills",": Add capabilities to Agents",[1365,1366,1367],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}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 .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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":180,"searchDepth":215,"depth":234,"links":1369},[1370,1371,1372,1377,1380,1384,1388,1391,1397],{"id":141,"depth":234,"text":142},{"id":165,"depth":234,"text":166},{"id":197,"depth":234,"text":198,"children":1373},[1374,1375,1376],{"id":202,"depth":257,"text":203},{"id":291,"depth":257,"text":292},{"id":346,"depth":257,"text":347},{"id":444,"depth":234,"text":445,"children":1378},[1379],{"id":448,"depth":257,"text":449},{"id":543,"depth":234,"text":544,"children":1381},[1382,1383],{"id":547,"depth":257,"text":548},{"id":628,"depth":257,"text":629},{"id":683,"depth":234,"text":684,"children":1385},[1386,1387],{"id":836,"depth":257,"text":837},{"id":840,"depth":257,"text":841},{"id":973,"depth":234,"text":974,"children":1389},[1390],{"id":997,"depth":257,"text":998},{"id":1236,"depth":234,"text":1237,"children":1392},[1393,1394,1395,1396],{"id":1240,"depth":257,"text":1241},{"id":1272,"depth":257,"text":1273},{"id":1297,"depth":257,"text":1298},{"id":1312,"depth":257,"text":1313},{"id":1341,"depth":234,"text":1342},"Configure Sink gateway port, authentication, logging, and core parameters","md",null,{},{"title":33,"description":1398},"T2dGNXy-j0jk-x4d32Ob6ElLrd7oaZayYdvuq-HLrvM",[1405,1407],{"title":29,"path":30,"stem":31,"description":1406,"children":-1},"Use the Canvas whiteboard for visual multi-task management",{"title":37,"path":38,"stem":39,"description":1408,"children":-1},"Configure and manage periodic automated tasks for AI agents",1778225992498]