From 6560576f4932e47c987bc47cd29c7fb1cfbe8073 Mon Sep 17 00:00:00 2001 From: Devin Date: Sat, 29 Aug 2026 08:41:39 -0400 Subject: [PATCH] docs: add Canvas extension installation visual Co-authored-by: openhands --- .../static/img/agent-canvas-add-extension.png | Bin 0 -> 27173 bytes .../usage/agent-canvas/canvas-extensions.mdx | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 openhands/static/img/agent-canvas-add-extension.png diff --git a/openhands/static/img/agent-canvas-add-extension.png b/openhands/static/img/agent-canvas-add-extension.png new file mode 100644 index 0000000000000000000000000000000000000000..f0a281c150ae28157f9c16d9c655b139f632bf0d GIT binary patch literal 27173 zcmbsRWmJ{Xw>JzUCEeW}(%m2-0wPE#tkRFDj+GKl!SC6-Q6WE_00W0 z@A>eK`;2Fdb3dOPAbam?Uu&&7e>JbDM;iBWv8b?+kdSayRg|=mkdXP2kZz4*Aj5B_ z?e3`|ArT;{D#`15Wo~EP_97iQIq}3&<={NhP#`BD)Iud`3L)jaGfqm#{h8x66VsEs zd{4Q@k+4NcIMouE@`eaeQBgPQlO8ExGLkmT$z0SPX5OgwG2*6mT=@Q7POs?CmhnC5 zDe^4&zSbk zmzll2^LVn#ekzKX{i|L{!;4`y+sUvbcFn)`>4KJ3j&pRBlm_J%omoTNZhLtv9Sfo{U6U~BGn3$Lo71sFOAJyL8 z(aJ;3c>a6n+4@qOWyS=4?lc zI!8AW2@7uH9poxTL=z}1rw!E9h)0W;H$_}soHC<#s6To%(DdrIkdROrCkOGJMGWQV zu{07PKi}hWOZ8e=STI;sDpx#Vx4{j2PlXkn#z;C*6&L@W_vkjJd_blLgJMo=8Ntbd}qJ0MfKKUu06IJ>#gE1q&g?bvk$%A zzk#oSAx3E1ClD|8S5rCDDvg&U(wrw$+!I4oArpOHEh?FcF|2Mm^d^%{4iMi zmzap|=SR5~or&`D@-J=_s(o6gR>beu@i7zPJ_x^G!o zS+TLP!R;ZqadVQ33@$dQCF^#?3JEzk>n!ZsRDdf+4c@(B7ZDx46nCgQE zg~mVrHuzttUw7=;&yjLHQPTsz+G|3!V&C9PYv50aNVd)k#BaU$Mp8u6^K>gx%u=t-l z*5>*W<-dN#DJ^Xr!U9{)3-yc5U>+O&@|L{oa>Fv9DAXWhCc?hbgVj^OSipkqg28AU{9h~d|F<;%=Zi9lbxWSsd+baabZ`CnLQGC> zZ5)JnVISse5>A&UG;(2^fnT-zmxuk1|2y6y%s%Xs;^W|0 z-)p=Pr4#vTRJ{u;b=Fmbgt($iE`3^sP*}?-?y^$&jK_sfC_NDu8R?2qsCuS)*)HZ1 zM@9LcKYeN8^PG{Hxupj4KR+st*Ac2RD|p~i31eVlI>#mHuJ4uCo=m=kvSso?88?vh zr^k+3m|uhbsh#s-uUO#mh~7w{o)~O*$IM!aC*O>JnEl2gi=5H2nGU8#<78qA;aE%I zG5YDY;nLN`V^p<0T5L4(_3_o?8u$iZesTXIp?UmO_r++D!9=-b?~BzGBZnW0ueo@C zEEB=9oqzZi@%`o4q;TTFa?$_`7Thay;~;9ZFAp6Pg8XK8*9A&z0RSdH3GT23+juD35%r``ZO|5n6!PVrx{r&++T1D1q$A={UJ- zajPDRtr@MOZeJC!d-z`RWnUq(qsLu`D7kXgA@$91jmYW+jpdJs>$jM4Tz-`T!pcgod%3x2=!Vf2m@UNuuFfkT^nh}-Z(F;Y(L<$|1mcXEN(3C#ERQ|cP) zZ>}$%!B^|%YxG;|%W`&ho(s4r?%%=b(2t{&83->ns($L)E0PmyGb27`ckWM4MyH0{XwG zRl;{Io}Z>v-n<=xc2@T7!yEs9NAid36hn_2{Jeigh(iNhv*3bL=wi&S!Z85d^pj?e zM$O^av%ue9pE@<6op2So&NcWC4-HAWt=|=~c(Fc^%VSvSG-^Ngjke7nt}XSc59f>Q zH@rVN7#VMU>F`iweUNfF{|cXonAl)tA%fm&24C)yz$lKJGOlz`BbC==9qC6NZ0$s0 z!_w!$2a!y>B-qdV4$!*Y-deu9^Z4r@<~ZpP6wkf-(;%*Lz0sABT zha%ZZ$yb}PQoDEY_I|8o2VDJg-x}RHU(30lLM7&~J#4z1WF_V}J6&W@@y(>R{6buH zd&#w5CN-%TN^Q4uDg&XX?PMkAY$ue8dvr}9Lk<6y~mC%<>6FsRrt(mt19Wesz8mil+PceD70udTiP=3?&V zWK6fr?6-}5XCiCsmR;xeM8(a&Ek32+KW6++cV{$2J2nlz+m3AC{}Xv*Hx@qD7DpfV z)gbE-omPq!1Ckx4Foww^UBb2E)*%T_hHUn8pG)Fr#bZA3| z%liv0$@8P*?6%@3GC@=l57TdaiQm|Fc?;g|WDhLtPZx?PWel!;Qfx>lq4d^y(kZcs z?qWNue|JA&c2PXr<-fKgiwYF5Z+a!!2d&eY3fv;uw-mw{CVYwg1AeVsC1B}(LTzkH zAy7X|RVy!H#hyEs!tng>%FZ3VXa3($v*xOr;Rst*2=4#U(LAr+OQ(rDkjA<-Sk9`YrDaD; zSWZ89FEh?M+dF((`*?FC%SA;~Q|zhQD|V&7;qh6gQxtHLqkf^*wD%Jc5rrTh@6Js5 zNK_skk3Fl1cfU8aaGTz5VB!N}8%rj>2qnndUt+@VoL!KypA_CxP|)_G^TN@4>dpGh zvV6>uH#*mfgeg=^LDvlohN$Gw@>fCYCQ6VcBP`uiHF%24K3PU-n`I zzWT*ZbrRdd$y!f7wa(3@wwMaBu-gnmLKRSA#!Ng-uKpdrpf^yk;^_b9JASa#J_p5f z`|o&}dDPzo{+Gj_aFIow=I=u52&1p|Qi-7!`)2rkv+FIF=kD~z;oH-C4}d}R5-uzb zP5#h1CM;9yFaLJGA?Ne3CDQgi8oY1alSW8R9ubhtW0Z1p5?gE6bnFd(i0LPDbu=t4 z9C^z&^he2~+~&i6xkksi2Iwj}JUl!*-^ZS|7&Tj$H;^NX+Wz7A8H{3WQi+C5CVjq~ z6iMTA-i*!nNQEU{Ssm~Bu*$}7@@JPhH<#AGf^G>vsJ8CU-qFF`Xg2~=TX57#A7xMG-bw-PT(I_Z{JfM?f4J9DU48Hepp2Jdyy06%U0fwN`1oQ>fuU4m1BH4eA}>eP zv!y4N6JaCBv9emiPQA5h?9$1a$-6aLT==ATvR7=b&S^m*2TMOjBTKS3LyV7wr8V>M zx+%1^m!n1Az!^I_IvQ`TeOn_5Bk*V!x$=c&WU{o(egI0~-kximi`3Do^E!CISMPSR zJpq8XZOekcAOgA=f4Y91SJ{;p;0C~4JhHO0nO1e4LI6D{UzV)csj8^(pMQGR7_hAi z9Z_9=$J*d}&=fCcSBwMFpnx&#(4{^R2FI@;h!v<7i*>`7sU|3U5#(A+7-h!Wp zCuVEEYRX}2s(KHbuP(@$Qr53VC&@)tE#5@|iU%~^*}1?QnZgk%+W7zzj|t0IhAe?P zPoU4C+M55Z1$4eJ$3nJJAtWShBR1jKKjit9D<1=BBm#@Fz zg5eJrR%$b|jz^yB1Hn$jMz9^^4%-2|0hsv>H{jSIxNrC|?~JJZWGRygtN`i?s0TGc zm4N`!hQwni`ak||=uZ=9`8JiWN}O2%M}ETOknWc9nJoSh&Bw|@>bPq8ilTdAuzw^{ zKZ^mDwq6Ix!|1#1<5k=u4bvQ1e}3VkwQse%?Yd*w38yRgml@dnI6eznt%7{yz`;nBoj27N$+$LkdwEErcU7a&jR5bbr53y zK2Hf|N>jWzI=qH1vYz)w z-{TwAor;Xi5ghT_dG()~-p%_7jF#&d_yh9`EfE#FY>c-xsDHLIuKs*Z<~X(kd?t#B zwaQ_pi*adu5RZN67CxKQIPHlUKqa@tH+^J+L3UX(KUd$q9QUd9*bzV2Hb}6qn20qR zmGyN@O?n-Pc4d(+lv0>cEQHa2a)1?uUE2??eT2D+&o>k{Z(W?f3h$%1hW564CV`GFD}^cwa#o8v`o zjC<3`o-Y&ksc2YgICquh(;V|PUJ}u#SM;J2G+gXTEn|J86tqw=Gh<>GQ+_REKL0DY zb){5Xzfi{^A#FSyml{y6GIQpD(oT&u|9iRXv!&Cyz_=j>p>={QN-+l-cCzMQhE-G^ zH*insq&&C6JD)t485X* jD6y6yMhm^N!C9RI&pe!UR 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 Extensions` reports that the feature is unavailable, update the Open `Customize > Extensions`, then select `Add extension`. +![Agent Canvas Add extension dialog with synthetic source, ref, and repository path fields](/openhands/static/img/agent-canvas-add-extension.png) + 1. Enter the Git source, such as `github:owner/repository`.