<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>编程技术记录</title><link>https://5if.com.cn/</link><description>Good Luck To You!</description><item><title>vercel地址</title><link>https://5if.com.cn/?id=40</link><description>&lt;p&gt;vercel地址&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://vercel.com/&quot; _src=&quot;https://vercel.com/&quot;&gt;https://vercel.com/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;上面有自己的几个项目 应该是github绑定的&lt;/p&gt;</description><pubDate>Fri, 26 Jan 2024 18:45:32 +0800</pubDate></item><item><title>转neo大佬的文章</title><link>https://5if.com.cn/?id=39</link><description>&lt;div class=&quot;hero-section&quot; data-type=&quot;type-1&quot; style=&quot;box-sizing: border-box; margin-left: auto; margin-right: auto; width: var(--block-width, var(--container-width)); max-width: var(--block-max-width, var(--normal-container-max-width)); margin-bottom: var(--margin-bottom, 40px); color: rgb(58, 79, 102); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(250, 251, 252);&quot;&gt;&lt;header class=&quot;entry-header&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;h1 class=&quot;page-title&quot; title=&quot;我们也要用Gemini Pro&quot; itemprop=&quot;headline&quot; style=&quot;box-sizing: border-box; --fontWeight: 700; --fontSize: 30px; --lineHeight: 1.5; margin: 0px; padding: 0px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); color: var(--heading-color, var(--heading-1-color, var(--headings-color))); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;文章地址:&lt;a href=&quot;https://zhile.io/2023/12/24/gemini-pro-proxy.html#more-587&quot;&gt;我们也要用Gemini Pro – 知了 (zhile.io)&lt;/a&gt;&lt;/h1&gt;&lt;h1 class=&quot;page-title&quot; title=&quot;我们也要用Gemini Pro&quot; itemprop=&quot;headline&quot; style=&quot;box-sizing: border-box; --fontWeight: 700; --fontSize: 30px; --lineHeight: 1.5; margin: 0px; padding: 0px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); color: var(--heading-color, var(--heading-1-color, var(--headings-color))); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;我们也要用Gemini Pro&lt;/h1&gt;&lt;ul class=&quot;entry-meta list-paddingleft-2&quot; data-type=&quot;simple:slash&quot; style=&quot;list-style-type: var(--listStyleType, disc);&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a class=&quot;ct-meta-element-author&quot; href=&quot;https://zhile.io/author/neo&quot; title=&quot;由 Neo 发布&quot; rel=&quot;author&quot; itemprop=&quot;url&quot; style=&quot;box-sizing: border-box; transition: var(--transition); text-decoration: var(--has-link-decoration, var(--textDecoration, none));&quot;&gt;NEO&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;time class=&quot;ct-meta-element-date&quot; datetime=&quot;2023-12-24T15:44:21+08:00&quot; style=&quot;box-sizing: border-box;&quot;&gt;2023-12-24&lt;/time&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://zhile.io/categories/gemini&quot; rel=&quot;tag&quot; class=&quot;ct-term-70&quot; style=&quot;box-sizing: border-box; transition: var(--transition); text-decoration: var(--has-link-decoration, var(--textDecoration, none));&quot;&gt;GEMINI&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;https://zhile.io/categories/questions&quot; rel=&quot;tag&quot; class=&quot;ct-term-5&quot; style=&quot;box-sizing: border-box; transition: var(--transition); text-decoration: var(--has-link-decoration, var(--textDecoration, none));&quot;&gt;问题随记&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://zhile.io/2023/12/24/gemini-pro-proxy.html#comments&quot; style=&quot;box-sizing: border-box; transition: var(--transition); text-decoration: var(--has-link-decoration, var(--textDecoration, none));&quot;&gt;21 评论&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/header&gt;&lt;/div&gt;&lt;div class=&quot;entry-content&quot; style=&quot;box-sizing: border-box; counter-reset: footnotes 0; color: rgb(58, 79, 102); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(250, 251, 252);&quot;&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;谷歌新一代AI：Gemini发布有一段日子了，&lt;strong style=&quot;box-sizing: border-box;&quot;&gt;免费1分钟能调用60次&lt;/strong&gt;，很慷慨了。&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;谷歌不像某些班子（你知道我说的是谁），其实没什么限制。就在我以为大家都能顺顺利利用上它的时候，却经常能在群里看到群友说自己访问不了、梯子某个节点无法访问Gemini。&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;听到这些，我知道我水文章的机会来了：跟大家说说怎么更好地白嫖Gemini。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;span id=&quot;more-587&quot; style=&quot;box-sizing: border-box; scroll-margin-top: calc(var(--admin-bar, 0px) + var(--frame-size, 0px) + var(--scroll-margin-top-offset, 0px));&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;今天继续用我们的大善人cloudflare（简称cf）来达成我们的目的。如果你看过我&lt;a class=&quot;wp-editor-md-post-content-link&quot; href=&quot;https://zhile.io/2023/12/09/pandoranext-introduction.html&quot; target=&quot;_blank&quot; style=&quot;box-sizing: border-box; transition: var(--transition); text-decoration: var(--has-link-decoration, var(--textDecoration, none)); background-position: var(--has-link-decoration, 0% 100%); background-repeat: var(--has-link-decoration, no-repeat); background-size: var(--has-link-decoration, 0% 1px); background-image: var(--has-link-decoration, linear-gradient(currentColor, currentColor));&quot;&gt;之前的文章&lt;/a&gt;，你应该已经有个域名在cf了。那就跟着文章的步骤开始吧。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;首先打开&amp;nbsp;&lt;a class=&quot;wp-editor-md-post-content-link&quot; href=&quot;https://dash.cloudflare.com/&quot; target=&quot;_blank&quot; style=&quot;box-sizing: border-box; transition: var(--transition); text-decoration: var(--has-link-decoration, var(--textDecoration, none)); background-position: var(--has-link-decoration, 0% 100%); background-repeat: var(--has-link-decoration, no-repeat); background-size: var(--has-link-decoration, 0% 1px); background-image: var(--has-link-decoration, linear-gradient(currentColor, currentColor));&quot;&gt;https://dash.cloudflare.com&lt;/a&gt;&amp;nbsp;在左侧菜单点击&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;Workers 和 Pages&lt;/code&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://zhile.io/wp-content/uploads/2023/12/111.png&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; height: auto; max-width: 100%; vertical-align: middle;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;点击&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;创建应用程序&lt;/code&gt;按钮&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://zhile.io/wp-content/uploads/2023/12/222-1.png&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; height: auto; max-width: 100%; vertical-align: middle; width: 903px;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;点击&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;创建Worker&lt;/code&gt;按钮&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://zhile.io/wp-content/uploads/2023/12/333-1.png&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; height: auto; max-width: 100%; vertical-align: middle; width: 903px;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;给你的worker起个名字，我们这里就叫&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;gemini-pro-proxy&lt;/code&gt;吧，不重要。然后点击&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;部署&lt;/code&gt;按钮即可。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://zhile.io/wp-content/uploads/2023/12/444-1.png&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; height: auto; max-width: 100%; vertical-align: middle; width: 903px;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;你会看到一个部署成功的页面。页面中包含一个域名，这是你worker的默认域名。如果你自己没有域名，之后你可以直接用这个域名，但应该需要梯子（对梯子质量要求不高）。我们到这一步直接点击&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;编辑代码&lt;/code&gt;按钮。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://zhile.io/wp-content/uploads/2023/12/555-1.png&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; height: auto; max-width: 100%; vertical-align: middle; width: 903px;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;在出来的代码编辑页面，填入以下几行代码：&lt;/p&gt;&lt;div class=&quot;code-toolbar&quot; style=&quot;box-sizing: border-box; margin-bottom: var(--content-spacing); position: relative; margin-left: var(--default-editor, auto); margin-right: var(--default-editor, auto); width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;pre class=&quot; line-numbers language-js&quot; style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; tab-size: 4; border-radius: 2px; background-color: rgb(245, 242, 240); overflow: auto; padding: 1em 1em 1em 3.8em; font-family: Consolas, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 1em; font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); line-height: 1.5; letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration); color: black; text-shadow: white 0px 1px; word-spacing: normal; word-break: normal; overflow-wrap: normal; hyphens: none; position: relative; counter-reset: linenumber 0;&quot;&gt;export&amp;nbsp;default&amp;nbsp;{
&amp;nbsp;&amp;nbsp;async&amp;nbsp;fetch(request,&amp;nbsp;env)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;url&amp;nbsp;=&amp;nbsp;new&amp;nbsp;URL(request.url);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url.host&amp;nbsp;=&amp;nbsp;&amp;#39;generativelanguage.googleapis.com&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;fetch(new&amp;nbsp;Request(url,&amp;nbsp;request))
&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;div class=&quot;toolbar&quot; style=&quot;box-sizing: border-box; position: absolute; top: 0.3em; right: 0.2em; transition: opacity 0.3s ease-in-out 0s; opacity: 0;&quot;&gt;&lt;div class=&quot;toolbar-item&quot; style=&quot;box-sizing: border-box; display: inline-block;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: #BBBBBB; font-size: 0.8em; padding: 0px 0.5em; background: rgba(224, 224, 224, 0.2); box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 0px 0px; border-radius: 0.5em;&quot;&gt;JavaScript&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;toolbar-item&quot; style=&quot;box-sizing: border-box; display: inline-block;&quot;&gt;&lt;button style=&quot;margin: 0px; padding: 0px 0.5em; border-width: 0px; border-style: initial; border-color: initial; font-size: 0.8em; text-align: inherit; background: rgba(224, 224, 224, 0.2); color: rgb(187, 187, 187); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; overflow: visible; user-select: none; box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 0px 0px; border-radius: 0.5em;&quot;&gt;Copy&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;点击右上角的&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;保存并部署&lt;/code&gt;按钮即可。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://zhile.io/wp-content/uploads/2023/12/666-1.png&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; height: auto; max-width: 100%; vertical-align: middle; width: 903px;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;点击左上角你worker的名字，这里是&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;gemini-pro-proxy&lt;/code&gt;就可以看到你部署worker的详细信息。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;完成以上步骤，其实你的gemini代理就已经就绪了。你已经可以直接使用你worker的默认地址来替换gemini的api地址，不会再有谷歌阻止你访问。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://zhile.io/wp-content/uploads/2023/12/777-1.png&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; height: auto; max-width: 100%; vertical-align: middle; width: 903px;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;但如我所说，此时你还是需要梯子去访问你的worker地址，因为gfw默认封禁了这个域名后缀。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;接下来我们进一步设置，用自己的域名去访问。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;转到自己在cf上域名的控制面板，点击左侧菜单&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;DNS&lt;/code&gt;来添加域名解析。&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;这里我使用自己的域名&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;baipiao.io&lt;/code&gt;，给它增加了子域名A记录：&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;gemini.baipiao.io&lt;/code&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://zhile.io/wp-content/uploads/2023/12/888-1.png&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; height: auto; max-width: 100%; vertical-align: middle; width: 903px;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;这里有两个要点：&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;1. 不要开启小黄云。&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;2. ip地址可以使用cf的优选工具选出来的高质量ip。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;我这里用了两个我觉得还不错的ip，你们可以直接用，也可以自己去优选。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;DNS解析记录操作完毕之后，点击左侧菜单&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;Workers路由&lt;/code&gt;来让我们设置的域名和worker的路由关系。&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;在&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;Workers路由&lt;/code&gt;界面，点击&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;添加路由&lt;/code&gt;按钮，参考如下填写：&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://zhile.io/wp-content/uploads/2023/12/999.png&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; height: auto; max-width: 100%; vertical-align: middle; width: 903px;&quot;/&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;这里域名换成你刚才设置的那个，Worker也选择你之前创建的。点击&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;保存&lt;/code&gt;即可。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;完成这一步你就可以用你自己的域名来请求gemini了。比如我这个域名：&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;Gemini官方给的例子是：&lt;/p&gt;&lt;div class=&quot;code-toolbar&quot; style=&quot;box-sizing: border-box; margin-bottom: var(--content-spacing); position: relative; margin-left: var(--default-editor, auto); margin-right: var(--default-editor, auto); width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;pre class=&quot; line-numbers language-bash&quot; style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; tab-size: 4; border-radius: 2px; background-color: rgb(245, 242, 240); overflow: auto; padding: 1em 1em 1em 3.8em; font-family: Consolas, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 1em; font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); line-height: 1.5; letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration); color: black; text-shadow: white 0px 1px; word-spacing: normal; word-break: normal; overflow-wrap: normal; hyphens: none; position: relative; counter-reset: linenumber 0;&quot;&gt;curl&amp;nbsp;\
&amp;nbsp;&amp;nbsp;-H&amp;nbsp;&amp;#39;Content-Type:&amp;nbsp;application/json&amp;#39;&amp;nbsp;\
&amp;nbsp;&amp;nbsp;-d&amp;nbsp;&amp;#39;{&amp;quot;contents&amp;quot;:[{&amp;quot;parts&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Write&amp;nbsp;a&amp;nbsp;story&amp;nbsp;about&amp;nbsp;a&amp;nbsp;magic&amp;nbsp;backpack&amp;quot;}]}]}&amp;#39;&amp;nbsp;\
&amp;nbsp;&amp;nbsp;-X&amp;nbsp;POST&amp;nbsp;https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=YOUR_API_KEY&lt;/pre&gt;&lt;div class=&quot;toolbar&quot; style=&quot;box-sizing: border-box; position: absolute; top: 0.3em; right: 0.2em; transition: opacity 0.3s ease-in-out 0s; opacity: 0;&quot;&gt;&lt;div class=&quot;toolbar-item&quot; style=&quot;box-sizing: border-box; display: inline-block;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: #BBBBBB; font-size: 0.8em; padding: 0px 0.5em; background: rgba(224, 224, 224, 0.2); box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 0px 0px; border-radius: 0.5em;&quot;&gt;Bash&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;toolbar-item&quot; style=&quot;box-sizing: border-box; display: inline-block;&quot;&gt;&lt;button style=&quot;margin: 0px; padding: 0px 0.5em; border-width: 0px; border-style: initial; border-color: initial; font-size: 0.8em; text-align: inherit; background: rgba(224, 224, 224, 0.2); color: rgb(187, 187, 187); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; overflow: visible; user-select: none; box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 0px 0px; border-radius: 0.5em;&quot;&gt;Copy&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;我们替换&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;generativelanguage.googleapis.com&lt;/code&gt;部分到我们的域名&lt;code style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; margin: 0px; padding: 3px 6px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); tab-size: 4; border-radius: 2px; background: var(--paletteColor6); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration);&quot;&gt;gemini.baipiao.io&lt;/code&gt;&lt;/p&gt;&lt;div class=&quot;code-toolbar&quot; style=&quot;box-sizing: border-box; margin-bottom: var(--content-spacing); position: relative; margin-left: var(--default-editor, auto); margin-right: var(--default-editor, auto); width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;pre class=&quot; line-numbers language-bash&quot; style=&quot;box-sizing: border-box; --fontFamily: monospace; --fontWeight: 400; --fontSize: 16px; tab-size: 4; border-radius: 2px; background-color: rgb(245, 242, 240); overflow: auto; padding: 1em 1em 1em 3.8em; font-family: Consolas, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 1em; font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); line-height: 1.5; letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration); color: black; text-shadow: white 0px 1px; word-spacing: normal; word-break: normal; overflow-wrap: normal; hyphens: none; position: relative; counter-reset: linenumber 0;&quot;&gt;curl&amp;nbsp;\
&amp;nbsp;&amp;nbsp;-H&amp;nbsp;&amp;#39;Content-Type:&amp;nbsp;application/json&amp;#39;&amp;nbsp;\
&amp;nbsp;&amp;nbsp;-d&amp;nbsp;&amp;#39;{&amp;quot;contents&amp;quot;:[{&amp;quot;parts&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Write&amp;nbsp;a&amp;nbsp;story&amp;nbsp;about&amp;nbsp;a&amp;nbsp;magic&amp;nbsp;backpack&amp;quot;}]}]}&amp;#39;&amp;nbsp;\
&amp;nbsp;&amp;nbsp;-X&amp;nbsp;POST&amp;nbsp;https://gemini.baipiao.io/v1beta/models/gemini-pro:generateContent?key=YOUR_API_KEY&lt;/pre&gt;&lt;div class=&quot;toolbar&quot; style=&quot;box-sizing: border-box; position: absolute; top: 0.3em; right: 0.2em; transition: opacity 0.3s ease-in-out 0s; opacity: 0;&quot;&gt;&lt;div class=&quot;toolbar-item&quot; style=&quot;box-sizing: border-box; display: inline-block;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: #BBBBBB; font-size: 0.8em; padding: 0px 0.5em; background: rgba(224, 224, 224, 0.2); box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 0px 0px; border-radius: 0.5em;&quot;&gt;Bash&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;toolbar-item&quot; style=&quot;box-sizing: border-box; display: inline-block;&quot;&gt;&lt;button style=&quot;margin: 0px; padding: 0px 0.5em; border-width: 0px; border-style: initial; border-color: initial; font-size: 0.8em; text-align: inherit; background: rgba(224, 224, 224, 0.2); color: rgb(187, 187, 187); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; overflow: visible; user-select: none; box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 0px 0px; border-radius: 0.5em;&quot;&gt;Copy&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;对了，附一下Gemini Pro的api key获取地址：&lt;a class=&quot;wp-editor-md-post-content-link&quot; href=&quot;https://makersuite.google.com/app/apikey&quot; target=&quot;_blank&quot; style=&quot;box-sizing: border-box; transition: var(--transition); text-decoration: var(--has-link-decoration, var(--textDecoration, none)); background-position: var(--has-link-decoration, 0% 100%); background-repeat: var(--has-link-decoration, no-repeat); background-size: var(--has-link-decoration, 0% 1px); background-image: var(--has-link-decoration, linear-gradient(currentColor, currentColor));&quot;&gt;https://makersuite.google.com/app/apikey&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;和沉浸式翻译的Gemini设置：&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: var(--content-spacing); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://zhile.io/wp-content/uploads/2023/12/0000-1.png&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; height: auto; max-width: 100%; vertical-align: middle; width: 903px;&quot;/&gt;&lt;/p&gt;&lt;h3 style=&quot;box-sizing: border-box; --fontWeight: 700; --fontSize: 30px; --lineHeight: 1.5; margin-top: var(--content-spacing); margin-right: var(--default-editor, auto); margin-bottom: calc(var(--has-content-spacing, 1)*(.3em + 10px)); margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: var(--fontSize); text-align: inherit; line-height: var(--lineHeight); color: var(--heading-color, var(--heading-3-color, var(--headings-color))); font-family: var(--fontFamily); font-weight: var(--fontWeight); font-style: var(--fontStyle, inherit); letter-spacing: var(--letterSpacing); text-transform: var(--textTransform); text-decoration: var(--textDecoration); width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;总结步骤&lt;/h3&gt;&lt;ol style=&quot;list-style-type: var(--listStyleType, decimal);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;添加一个cf的worker，代理gemini的api地址。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;优选ip，设置自己的域名解析（防墙、提速）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;绑定自己的域名和worker。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;你要是实在不会弄，你就用我搭的那个吧。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-right: var(--default-editor, auto); margin-bottom: 0px; margin-left: var(--default-editor, auto); padding: 0px; border: none; font-size: inherit; text-align: inherit; line-height: inherit; width: var(--default-editor, var(--block-width)); max-width: var(--default-editor, var(--block-max-width));&quot;&gt;最后祝大家平安夜快乐平安！&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 26 Jan 2024 18:43:38 +0800</pubDate></item><item><title>宝藏程序员潘多拉gpt的作者</title><link>https://5if.com.cn/?id=38</link><description>&lt;p&gt;&lt;a href=&quot;https://linux.do/u/neo/summary&quot;&gt;总结 - neo - LINUX DO&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://zhile.io/&quot;&gt;知了 – 朝闻道，夕可眠矣。 (zhile.io)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 26 Jan 2024 18:41:46 +0800</pubDate></item><item><title>gemini备忘录</title><link>https://5if.com.cn/?id=37</link><description>&lt;h1 tabindex=&quot;-1&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid var(--borderColor-muted, var(--color-border-muted)); color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; text-wrap: wrap; background-color: rgb(255, 255, 255); margin-top: 0px !important;&quot;&gt;GeminiProChat&lt;/h1&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md&quot;&gt;GeminiProChat/README_cn.md at main · babaohuang/GeminiProChat (github.com)&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README.md&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;English&lt;/a&gt;&amp;nbsp;| 中文 |&amp;nbsp;&lt;a href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_it.md&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;Italiano&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;与 Gemini Pro 聊天的最简 WebUI。&lt;/p&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;体验网址：&amp;nbsp;&lt;a href=&quot;https://www.geminiprochat.com/&quot; rel=&quot;nofollow&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;Gemini Pro Chat&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;markdown-alert markdown-alert-warning&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; padding: var(--base-size-8) var(--base-size-16); margin-bottom: 16px; color: rgb(31, 35, 40); border-left-color: var(--borderColor-attention-emphasis, var(--color-attention-emphasis)); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;p class=&quot;markdown-alert-title&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; display: flex; font-weight: var(--base-text-weight-medium, 500); align-items: center; line-height: 1; color: var(--fgColor-attention, var(--color-attention-fg));&quot;&gt;&lt;svg class=&quot;octicon octicon-alert mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Warning&lt;/p&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px;&quot;&gt;本项目为开源项目，使用者必须在遵循 GOOGLE 的&lt;a href=&quot;https://ai.google.dev/terms&quot; rel=&quot;nofollow&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;使用条款&lt;/a&gt;以及&lt;span style=&quot;box-sizing: border-box; font-weight: var(--base-text-weight-semibold, 600);&quot;&gt;法律法规&lt;/span&gt;的情况下使用，不得用于非法用途。&lt;/p&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 0px;&quot;&gt;根据&lt;a href=&quot;http://www.cac.gov.cn/2023-07/13/c_1690898327029107.htm&quot; rel=&quot;nofollow&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;《生成式人工智能服务管理暂行办法》&lt;/a&gt;的要求，请勿对中国地区公众提供一切未经备案的生成式人工智能服务。&lt;/p&gt;&lt;/div&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a href=&quot;https://www.geminiprochat.com/&quot; rel=&quot;nofollow&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;&lt;img src=&quot;https://private-user-images.githubusercontent.com/559171/290971922-d02fd440-401a-410d-a112-4b10935624c6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDYxNTI4NzYsIm5iZiI6MTcwNjE1MjU3NiwicGF0aCI6Ii81NTkxNzEvMjkwOTcxOTIyLWQwMmZkNDQwLTQwMWEtNDEwZC1hMTEyLTRiMTA5MzU2MjRjNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwMTI1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDEyNVQwMzE2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zOTE0ZDQ2YTEzNmU4MDZjNWVmOWUxYzNmY2RmOGE1NDRmN2MzNTgwOTk1Njk3YzE3NmUyYmYwZTJkMGEyZmVlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.vvTc1MEHFS5gTnixUxbfzB7_gzkNhgrMDhHOdui0E-o&quot; alt=&quot;image&quot; secured-asset-link=&quot;&quot; style=&quot;box-sizing: content-box; border-style: none; max-width: 100%; background-color: var(--bgColor-default, var(--color-canvas-default));&quot;/&gt;&lt;/a&gt;&lt;/p&gt;&lt;h2 tabindex=&quot;-1&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid var(--borderColor-muted, var(--color-border-muted)); color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a id=&quot;user-content-部署&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md#%E9%83%A8%E7%BD%B2&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1; position: absolute; text-underline-offset: 0.2rem;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;部署&lt;/h2&gt;&lt;h3 tabindex=&quot;-1&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; font-size: 1.25em; font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a id=&quot;user-content-使用-vercel-部署推荐&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md#%E4%BD%BF%E7%94%A8-vercel-%E9%83%A8%E7%BD%B2%E6%8E%A8%E8%8D%90&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1; position: absolute; text-underline-offset: 0.2rem;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;使用 Vercel 部署（推荐）&lt;/h3&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a href=&quot;https://vercel.com/new/clone?repository-url=https://github.com/babaohuang/GeminiProChat&amp;env=GEMINI_API_KEY&amp;envDescription=Google%20API%20Key%20for%20GeminiProChat&amp;envLink=https://makersuite.google.com/app/apikey&amp;project-name=gemini-pro-chat&amp;repository-name=gemini-pro-chat&amp;demo-title=Gemini%20Pro%20Chat&amp;demo-description=Minimal%20web%20UI%20for%20Gemini%20Pro.&amp;demo-url=https%3A%2F%2Fgeminiprochat.com&amp;demo-image=https%3A%2F%2Fgeminiprochat.com%2Ficon.svg&quot; rel=&quot;nofollow&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;&lt;img src=&quot;https://camo.githubusercontent.com/0d115430c1db17132964386282927e5e313543c7d868fc06bc9a7c65d7ec974e/68747470733a2f2f76657263656c2e636f6d2f627574746f6e&quot; alt=&quot;Deploy with Vercel&quot; data-canonical-src=&quot;https://vercel.com/button&quot; style=&quot;box-sizing: content-box; border-style: none; max-width: 100%; background-color: var(--bgColor-default, var(--color-canvas-default));&quot;/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;只需点击上面的按钮，并按照说明操作，即可部署自己的副本。&lt;/p&gt;&lt;div class=&quot;markdown-alert markdown-alert-note&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; padding: var(--base-size-8) var(--base-size-16); margin-bottom: 16px; color: rgb(31, 35, 40); border-left-color: var(--borderColor-accent-emphasis, var(--color-accent-emphasis)); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;p class=&quot;markdown-alert-title&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; display: flex; font-weight: var(--base-text-weight-medium, 500); align-items: center; line-height: 1; color: var(--fgColor-accent, var(--color-accent-fg));&quot;&gt;&lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Note&lt;/p&gt;&lt;h4 tabindex=&quot;-1&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; font-size: 1em; font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25;&quot;&gt;&lt;a id=&quot;user-content-关于-api-使用过程中-user-location-is-not-supported-for-the-api-use-的解决方案&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md#%E5%85%B3%E4%BA%8E-api-%E4%BD%BF%E7%94%A8%E8%BF%87%E7%A8%8B%E4%B8%AD-user-location-is-not-supported-for-the-api-use-%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1; position: absolute; text-underline-offset: 0.2rem;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;关于 API 使用过程中 “User location is not supported for the API use” 的解决方案&lt;/h4&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px;&quot;&gt;如果你遇到了&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: var(--base-text-weight-semibold, 600);&quot;&gt;“User location is not supported for the API use”&lt;/span&gt;&amp;nbsp;的问题，请按照以下步骤进行解决：&lt;/p&gt;&lt;ol dir=&quot;auto&quot; style=&quot;box-sizing: border-box; padding-left: 2em; margin-bottom: 16px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;前往&amp;nbsp;&lt;a href=&quot;https://github.com/antergone/palm-netlify-proxy&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: var(--base-text-weight-semibold, 600);&quot;&gt;palm-netlify-proxy&lt;/span&gt;&lt;/a&gt;&amp;nbsp;仓库并点击其中的&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: var(--base-text-weight-semibold, 600);&quot;&gt;“Deploy With Netlify&lt;/span&gt;。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;部署完成后，你将收到 Netlify 分配的域名 （例如&amp;nbsp;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;https://xxx.netlify.app&lt;/code&gt;）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;在你的&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: var(--base-text-weight-semibold, 600);&quot;&gt;Gemini Pro Chat&lt;/span&gt;&amp;nbsp;项目中，设置名为&amp;nbsp;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;API_BASE_URL&lt;/code&gt;&amp;nbsp;的环境变量，其值为部署 palm-proxy 时获得的域名 (&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;https://xxx.netlify.app&lt;/code&gt;)。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;重新部署你的&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: var(--base-text-weight-semibold, 600);&quot;&gt;Gemini Pro Chat&lt;/span&gt;&amp;nbsp;项目来完成配置。这应该可以解决问题。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 0px;&quot;&gt;感谢&amp;nbsp;&lt;a href=&quot;https://github.com/antergone/palm-netlify-proxy&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: var(--base-text-weight-semibold, 600);&quot;&gt;antergone&lt;/span&gt;&lt;/a&gt;&amp;nbsp;提供解决方案。&lt;/p&gt;&lt;/div&gt;&lt;h3 tabindex=&quot;-1&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; font-size: 1.25em; font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a id=&quot;user-content-使用-railway-部署&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md#%E4%BD%BF%E7%94%A8-railway-%E9%83%A8%E7%BD%B2&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1; position: absolute; text-underline-offset: 0.2rem;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;使用 Railway 部署&lt;/h3&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a href=&quot;https://railway.app/template/v9QL5u?referralCode=tSzmIe&quot; rel=&quot;nofollow&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;&lt;img src=&quot;https://camo.githubusercontent.com/d07713342bc583232f8752c33a6a24e5f367d73725183a63f2f5fdd7c00606a3/68747470733a2f2f7261696c7761792e6170702f627574746f6e2e737667&quot; alt=&quot;Deploy on Railway&quot; data-canonical-src=&quot;https://railway.app/button.svg&quot; style=&quot;box-sizing: content-box; border-style: none; max-width: 100%; background-color: var(--bgColor-default, var(--color-canvas-default));&quot;/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;只需点击上面的按钮，然后按照说明在 Railway 上进行部署。&lt;/p&gt;&lt;h3 tabindex=&quot;-1&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; font-size: 1.25em; font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a id=&quot;user-content-使用-zeabur-部署&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md#%E4%BD%BF%E7%94%A8-zeabur-%E9%83%A8%E7%BD%B2&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1; position: absolute; text-underline-offset: 0.2rem;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;使用 Zeabur 部署&lt;/h3&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a href=&quot;https://zeabur.com/templates/1103PJ&quot; rel=&quot;nofollow&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;&lt;img src=&quot;https://camo.githubusercontent.com/7bbd819d76b4e67c04fe4d8a0d9cc7220e691f3d2177f6e54f84689ba380184e/68747470733a2f2f7a65616275722e636f6d2f627574746f6e2e737667&quot; alt=&quot;Deploy on Zeabur&quot; data-canonical-src=&quot;https://zeabur.com/button.svg&quot; style=&quot;box-sizing: content-box; border-style: none; max-width: 100%; background-color: var(--bgColor-default, var(--color-canvas-default));&quot;/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;只需点击上面的按钮，然后按照说明在 Zeabur 上进行部署。&lt;/p&gt;&lt;h3 tabindex=&quot;-1&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; font-size: 1.25em; font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a id=&quot;user-content-使用-docker-部署&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md#%E4%BD%BF%E7%94%A8-docker-%E9%83%A8%E7%BD%B2&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1; position: absolute; text-underline-offset: 0.2rem;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;使用 Docker 部署&lt;/h3&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;要使用 Docker 进行部署，可以使用以下命令：&lt;/p&gt;&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-bottom: 16px; display: flex; justify-content: space-between; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; position: relative !important; overflow: auto !important;&quot;&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 0px; overflow-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; color: var(--fgColor-default, var(--color-fg-default)); background-color: var(--bgColor-muted, var(--color-canvas-subtle)); border-radius: 6px; word-break: normal; min-height: 52px;&quot;&gt;docker&amp;nbsp;run&amp;nbsp;--name&amp;nbsp;geminiprochat&amp;nbsp;\
--restart&amp;nbsp;always&amp;nbsp;\
-p&amp;nbsp;3000:3000&amp;nbsp;\
-itd&amp;nbsp;\
-e&amp;nbsp;GEMINI_API_KEY=your_api_key_here&amp;nbsp;\
babaohuang/geminiprochat:latest&lt;/pre&gt;&lt;clipboard-copy aria-label=&quot;Copy&quot; class=&quot;ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 tooltipped-no-delay d-flex flex-justify-center flex-items-center&quot; data-copy-feedback=&quot;Copied!&quot; data-tooltip-direction=&quot;w&quot; value=&quot;docker run --name geminiprochat \
--restart always \
-p 3000:3000 \
-itd \
-e GEMINI_API_KEY=your_api_key_here \
babaohuang/geminiprochat:latest&quot; tabindex=&quot;0&quot; role=&quot;button&quot; style=&quot;box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; height=&quot;16&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; data-view-component=&quot;true&quot; class=&quot;octicon octicon-copy js-clipboard-copy-icon&quot;&gt;&lt;path d=&quot;M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/clipboard-copy&gt;&lt;/div&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;请确保将&amp;nbsp;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;your_api_key_here&lt;/code&gt;&amp;nbsp;替换为你自己的 Gemini API 密钥。&lt;/p&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;这将启动&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: var(--base-text-weight-semibold, 600);&quot;&gt;geminiprochat&lt;/span&gt;&amp;nbsp;服务，访问地址为 “&lt;a href=&quot;http://localhost:3000%E2%80%9D%E3%80%82/&quot; rel=&quot;nofollow&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;http://localhost:3000”。&lt;/a&gt;&lt;/p&gt;&lt;h2 tabindex=&quot;-1&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid var(--borderColor-muted, var(--color-border-muted)); color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a id=&quot;user-content-环境变量&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md#%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1; position: absolute; text-underline-offset: 0.2rem;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;环境变量&lt;/h2&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;你可以通过环境变量来控制网站。&lt;/p&gt;&lt;table width=&quot;NaN&quot;&gt;&lt;thead style=&quot;box-sizing: border-box;&quot;&gt;&lt;tr style=&quot;box-sizing: border-box; background-color: var(--bgColor-default, var(--color-canvas-default)); border-top: 1px solid var(--borderColor-muted, var(--color-border-muted));&quot; class=&quot;firstRow&quot;&gt;&lt;th style=&quot;box-sizing: border-box; padding: 6px 13px; font-weight: var(--base-text-weight-semibold, 600); border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;名称&lt;/th&gt;&lt;th style=&quot;box-sizing: border-box; padding: 6px 13px; font-weight: var(--base-text-weight-semibold, 600); border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;说明&lt;/th&gt;&lt;th style=&quot;box-sizing: border-box; padding: 6px 13px; font-weight: var(--base-text-weight-semibold, 600); border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;必填&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style=&quot;box-sizing: border-box;&quot;&gt;&lt;tr style=&quot;box-sizing: border-box; background-color: var(--bgColor-default, var(--color-canvas-default)); border-top: 1px solid var(--borderColor-muted, var(--color-border-muted));&quot;&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;GEMINI_API_KEY&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;你的 Gemini API 密钥。可以从&lt;a href=&quot;https://makersuite.google.com/app/apikey&quot; rel=&quot;nofollow&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem; margin-bottom: 0px;&quot;&gt;此处&lt;/a&gt;&amp;nbsp;获取。&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: var(--base-text-weight-semibold, 600); margin-bottom: 0px;&quot;&gt;✔&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: border-box; background-color: var(--bgColor-muted, var(--color-canvas-subtle)); border-top: 1px solid var(--borderColor-muted, var(--color-border-muted));&quot;&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;API_BASE_URL&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;Gemini API 的自定义基本 URL。点击&lt;a href=&quot;https://github.com/babaohuang/GeminiProChat/README_cn.md#solution-for-user-location-is-not-supported-for-the-api-use&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem; margin-bottom: 0px;&quot;&gt;此处&lt;/a&gt;查看何时使用这个。&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: border-box; background-color: var(--bgColor-default, var(--color-canvas-default)); border-top: 1px solid var(--borderColor-muted, var(--color-border-muted));&quot;&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;HEAD_SCRIPTS&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;在页面的“”之前注入分析或其他脚本&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: border-box; background-color: var(--bgColor-muted, var(--color-canvas-subtle)); border-top: 1px solid var(--borderColor-muted, var(--color-border-muted));&quot;&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;PUBLIC_SECRET_KEY&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;项目的密文字符串。用于为 API 调用生成签名&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: border-box; background-color: var(--bgColor-default, var(--color-canvas-default)); border-top: 1px solid var(--borderColor-muted, var(--color-border-muted));&quot;&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;SITE_PASSWORD&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;为网站设置密码，支持用逗号分隔的多个密码。如果不设置，网站将允许公开访问&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 13px; border: 1px solid var(--borderColor-default, var(--color-border-default));&quot;&gt;❌&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2 tabindex=&quot;-1&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid var(--borderColor-muted, var(--color-border-muted)); color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a id=&quot;user-content-本地运行&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md#%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1; position: absolute; text-underline-offset: 0.2rem;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;本地运行&lt;/h2&gt;&lt;h3 tabindex=&quot;-1&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; font-size: 1.25em; font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a id=&quot;user-content-前期环境&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md#%E5%89%8D%E6%9C%9F%E7%8E%AF%E5%A2%83&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1; position: absolute; text-underline-offset: 0.2rem;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;前期环境&lt;/h3&gt;&lt;ol dir=&quot;auto&quot; style=&quot;box-sizing: border-box; padding-left: 2em; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: var(--base-text-weight-semibold, 600);&quot;&gt;Node&lt;/span&gt;: 检查你的开发环境和部署环境是否都在使用&amp;nbsp;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;Node v18&lt;/code&gt;&amp;nbsp;或更高版本。你可以使用&amp;nbsp;&lt;a href=&quot;https://github.com/nvm-sh/nvm&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;nvm&lt;/a&gt;&amp;nbsp;在本地管理多个&amp;nbsp;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;node&lt;/code&gt;&amp;nbsp;版本。&lt;/p&gt;&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; position: relative !important; overflow: auto !important; margin-bottom: 16px; display: flex; justify-content: space-between; background-color: var(--bgColor-muted, var(--color-canvas-subtle));&quot;&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 0px; overflow-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; color: var(--fgColor-default, var(--color-fg-default)); background-color: var(--bgColor-muted, var(--color-canvas-subtle)); border-radius: 6px; word-break: normal; min-height: 52px;&quot;&gt;&amp;nbsp;node&amp;nbsp;-v&lt;/pre&gt;&lt;clipboard-copy aria-label=&quot;Copy&quot; class=&quot;ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 tooltipped-no-delay d-flex flex-justify-center flex-items-center&quot; data-copy-feedback=&quot;Copied!&quot; data-tooltip-direction=&quot;w&quot; value=&quot; node -v&quot; tabindex=&quot;0&quot; role=&quot;button&quot; style=&quot;box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); background-color: transparent; box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; height=&quot;16&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; data-view-component=&quot;true&quot; class=&quot;octicon octicon-copy js-clipboard-copy-icon&quot;&gt;&lt;path d=&quot;M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/clipboard-copy&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: var(--base-text-weight-semibold, 600);&quot;&gt;PNPM&lt;/span&gt;: 我们建议使用&amp;nbsp;&lt;a href=&quot;https://pnpm.io/&quot; rel=&quot;nofollow&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;pnpm&lt;/a&gt;&amp;nbsp;来管理依赖关系。如果从未安装过 pnpm，可以使用以下命令进行安装：&lt;/p&gt;&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; position: relative !important; overflow: auto !important; margin-bottom: 16px; display: flex; justify-content: space-between; background-color: var(--bgColor-muted, var(--color-canvas-subtle));&quot;&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 0px; overflow-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; color: var(--fgColor-default, var(--color-fg-default)); background-color: var(--bgColor-muted, var(--color-canvas-subtle)); border-radius: 6px; word-break: normal; min-height: 52px;&quot;&gt;&amp;nbsp;npm&amp;nbsp;i&amp;nbsp;-g&amp;nbsp;pnpm&lt;/pre&gt;&lt;clipboard-copy aria-label=&quot;Copy&quot; class=&quot;ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 tooltipped-no-delay d-flex flex-justify-center flex-items-center&quot; data-copy-feedback=&quot;Copied!&quot; data-tooltip-direction=&quot;w&quot; value=&quot; npm i -g pnpm&quot; tabindex=&quot;0&quot; role=&quot;button&quot; style=&quot;box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); background-color: transparent; box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; height=&quot;16&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; data-view-component=&quot;true&quot; class=&quot;octicon octicon-copy js-clipboard-copy-icon&quot;&gt;&lt;path d=&quot;M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/clipboard-copy&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: var(--base-text-weight-semibold, 600);&quot;&gt;GEMINI_API_KEY&lt;/span&gt;: 在运行此应用程序之前，你需要从 Google 获取 API 密钥。你可以前往&amp;nbsp;&lt;a href=&quot;https://makersuite.google.com/app/apikey&quot; rel=&quot;nofollow&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;https://makersuite.google.com/app/apikey&lt;/a&gt;，申请 API 密钥。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 tabindex=&quot;-1&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; font-size: 1.25em; font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a id=&quot;user-content-部署-1&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md#%E9%83%A8%E7%BD%B2-1&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1; position: absolute; text-underline-offset: 0.2rem;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;部署&lt;/h3&gt;&lt;ol dir=&quot;auto&quot; style=&quot;box-sizing: border-box; padding-left: 2em; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;&quot;&gt;安装依赖&lt;/p&gt;&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; position: relative !important; overflow: auto !important; margin-bottom: 16px; display: flex; justify-content: space-between; background-color: var(--bgColor-muted, var(--color-canvas-subtle));&quot;&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 0px; overflow-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; color: var(--fgColor-default, var(--color-fg-default)); background-color: var(--bgColor-muted, var(--color-canvas-subtle)); border-radius: 6px; word-break: normal; min-height: 52px;&quot;&gt;&amp;nbsp;pnpm&amp;nbsp;install&lt;/pre&gt;&lt;clipboard-copy aria-label=&quot;Copy&quot; class=&quot;ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 tooltipped-no-delay d-flex flex-justify-center flex-items-center&quot; data-copy-feedback=&quot;Copied!&quot; data-tooltip-direction=&quot;w&quot; value=&quot; pnpm install&quot; tabindex=&quot;0&quot; role=&quot;button&quot; style=&quot;box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); background-color: transparent; box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; height=&quot;16&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; data-view-component=&quot;true&quot; class=&quot;octicon octicon-copy js-clipboard-copy-icon&quot;&gt;&lt;path d=&quot;M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/clipboard-copy&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;&quot;&gt;复制&amp;nbsp;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;.env.example&lt;/code&gt;&amp;nbsp;文件并重命名为&amp;nbsp;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;.env&lt;/code&gt;，并在&amp;nbsp;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;.env&lt;/code&gt;&amp;nbsp;文件中添加&amp;nbsp;&lt;a href=&quot;https://makersuite.google.com/app/apikey&quot; rel=&quot;nofollow&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;GEMINI_API_KEY&lt;/code&gt;&lt;/a&gt;。&lt;/p&gt;&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; position: relative !important; overflow: auto !important; margin-bottom: 16px; display: flex; justify-content: space-between; background-color: var(--bgColor-muted, var(--color-canvas-subtle));&quot;&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 0px; overflow-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; color: var(--fgColor-default, var(--color-fg-default)); background-color: var(--bgColor-muted, var(--color-canvas-subtle)); border-radius: 6px; word-break: normal; min-height: 52px;&quot;&gt;&amp;nbsp;GEMINI_API_KEY=AIzaSy...&lt;/pre&gt;&lt;clipboard-copy aria-label=&quot;Copy&quot; class=&quot;ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 tooltipped-no-delay d-flex flex-justify-center flex-items-center&quot; data-copy-feedback=&quot;Copied!&quot; data-tooltip-direction=&quot;w&quot; value=&quot; GEMINI_API_KEY=AIzaSy...&quot; tabindex=&quot;0&quot; role=&quot;button&quot; style=&quot;box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); background-color: transparent; box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; height=&quot;16&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; data-view-component=&quot;true&quot; class=&quot;octicon octicon-copy js-clipboard-copy-icon&quot;&gt;&lt;path d=&quot;M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/clipboard-copy&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;&quot;&gt;运行应用程序，项目会在&amp;nbsp;&lt;code style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; padding: 0.2em 0.4em; margin: 0px; white-space-collapse: break-spaces; background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted)); border-radius: 6px;&quot;&gt;http://localhost:3000/&lt;/code&gt;&amp;nbsp;上运行。&lt;/p&gt;&lt;div class=&quot;highlight highlight-source-shell notranslate position-relative overflow-auto&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; position: relative !important; overflow: auto !important; margin-bottom: 16px; display: flex; justify-content: space-between; background-color: var(--bgColor-muted, var(--color-canvas-subtle));&quot;&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 0px; overflow-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; color: var(--fgColor-default, var(--color-fg-default)); background-color: var(--bgColor-muted, var(--color-canvas-subtle)); border-radius: 6px; word-break: normal; min-height: 52px;&quot;&gt;&amp;nbsp;pnpm&amp;nbsp;run&amp;nbsp;dev&lt;/pre&gt;&lt;clipboard-copy aria-label=&quot;Copy&quot; class=&quot;ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 tooltipped-no-delay d-flex flex-justify-center flex-items-center&quot; data-copy-feedback=&quot;Copied!&quot; data-tooltip-direction=&quot;w&quot; value=&quot; pnpm run dev&quot; tabindex=&quot;0&quot; role=&quot;button&quot; style=&quot;box-sizing: border-box; position: relative; font-size: 14px; font-weight: var(--base-text-weight-medium, 500); line-height: 20px; text-wrap: nowrap; vertical-align: middle; cursor: pointer; user-select: none; border: 0px; border-radius: 6px; appearance: none; color: var(--fgColor-accent, var(--color-accent-fg)); background-color: transparent; box-shadow: none; transition: color 80ms cubic-bezier(0.33, 1, 0.68, 1) 0s, background-color 0s ease 0s, box-shadow 0s ease 0s, border-color 0s ease 0s; width: var(--control-small-size, 28px); height: var(--control-small-size, 28px); display: flex !important; padding: 0px !important; justify-content: center !important; align-items: center !important; margin: var(--base-size-8, 8px) !important;&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; height=&quot;16&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; data-view-component=&quot;true&quot; class=&quot;octicon octicon-copy js-clipboard-copy-icon&quot;&gt;&lt;path d=&quot;M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/clipboard-copy&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2 tabindex=&quot;-1&quot; dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid var(--borderColor-muted, var(--color-border-muted)); color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a id=&quot;user-content-鸣谢&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md#%E9%B8%A3%E8%B0%A2&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-decoration-line: none; float: left; padding-right: 4px; margin-left: -20px; line-height: 1; position: absolute; text-underline-offset: 0.2rem;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;鸣谢&lt;/h2&gt;&lt;p dir=&quot;auto&quot; style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;本项目受到以下开源项目的启发，并以其为基础：&lt;/p&gt;&lt;ul dir=&quot;auto&quot; style=&quot;box-sizing: border-box; padding-left: 2em; margin-bottom: 16px; color: rgb(31, 35, 40); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Noto Sans&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/anse-app/chatgpt-demo&quot; style=&quot;box-sizing: border-box; background-color: transparent; text-underline-offset: 0.2rem;&quot;&gt;ChatGPT-Demo&lt;/a&gt;&amp;nbsp;- 基础代码库和功能。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 26 Jan 2024 18:39:51 +0800</pubDate></item><item><title>Netlify Edge上的Google PaLM API代理</title><link>https://5if.com.cn/?id=36</link><description>&lt;h1 tabindex=&quot;-1&quot; dir=&quot;auto&quot; data-immersive-translate-walked=&quot;8f41de47-b58b-493d-b038-9baac9fbffe1&quot; data-immersive-translate-paragraph=&quot;1&quot; style=&quot;box-sizing: border-box;margin-right: 0px;margin-bottom: 16px;margin-left: 0px;font-weight: var(--base-text-weight-semibold, 600);line-height: 1.25;padding-bottom: 0.3em;border-bottom: 1px solid var(--borderColor-muted, var(--color-border-muted));color: rgb(31, 35, 40);font-family: -apple-system, BlinkMacSystemFont, &amp;#39;Segoe UI&amp;#39;, &amp;#39;Noto Sans&amp;#39;, Helvetica, Arial, sans-serif, &amp;#39;Apple Color Emoji&amp;#39;, &amp;#39;Segoe UI Emoji&amp;#39;;text-wrap: wrap;background-color: rgb(255, 255, 255);margin-top: 0px !important&quot;&gt;palm-netlify-proxy&lt;/h1&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/antergone/palm-netlify-proxy?tab=readme-ov-file&quot;&gt;antergone/palm-netlify-proxy --- antergone/palm-netlify-proxy (github.com)&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;auto&quot; data-immersive-translate-walked=&quot;8f41de47-b58b-493d-b038-9baac9fbffe1&quot; data-immersive-translate-paragraph=&quot;1&quot; style=&quot;box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(31, 35, 40);font-family: -apple-system, BlinkMacSystemFont, &amp;#39;Segoe UI&amp;#39;, &amp;#39;Noto Sans&amp;#39;, Helvetica, Arial, sans-serif, &amp;#39;Apple Color Emoji&amp;#39;, &amp;#39;Segoe UI Emoji&amp;#39;;font-size: 16px;text-wrap: wrap;background-color: rgb(255, 255, 255)&quot;&gt;Google PaLM API proxy on Netlify Edge&lt;span style=&quot;box-sizing: border-box&quot;&gt;&lt;br style=&quot;box-sizing: border-box&quot;/&gt;&lt;span style=&quot;box-sizing: border-box;display: inline-block;margin: 8px 0px !important&quot;&gt;&lt;span style=&quot;box-sizing: border-box;border-bottom: 1px solid var(--immersive-translate-theme-underline-borderColor) !important;font-family: inherit&quot;&gt;Netlify Edge上的Google PaLM API代理&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 tabindex=&quot;-1&quot; dir=&quot;auto&quot; data-immersive-translate-walked=&quot;8f41de47-b58b-493d-b038-9baac9fbffe1&quot; data-immersive-translate-paragraph=&quot;1&quot; style=&quot;box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-weight: var(--base-text-weight-semibold, 600);line-height: 1.25;padding-bottom: 0.3em;border-bottom: 1px solid var(--borderColor-muted, var(--color-border-muted));color: rgb(31, 35, 40);font-family: -apple-system, BlinkMacSystemFont, &amp;#39;Segoe UI&amp;#39;, &amp;#39;Noto Sans&amp;#39;, Helvetica, Arial, sans-serif, &amp;#39;Apple Color Emoji&amp;#39;, &amp;#39;Segoe UI Emoji&amp;#39;;text-wrap: wrap;background-color: rgb(255, 255, 255)&quot;&gt;&lt;a id=&quot;user-content-deploy&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/antergone/palm-netlify-proxy?tab=readme-ov-file#deploy&quot; style=&quot;box-sizing: border-box;background-color: transparent;float: left;padding-right: 4px;line-height: 1;position: absolute;text-underline-offset: 0.2rem&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Deploy&lt;/h2&gt;&lt;h3 tabindex=&quot;-1&quot; dir=&quot;auto&quot; data-immersive-translate-walked=&quot;8f41de47-b58b-493d-b038-9baac9fbffe1&quot; data-immersive-translate-paragraph=&quot;1&quot; style=&quot;box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-size: 1.25em;font-weight: var(--base-text-weight-semibold, 600);line-height: 1.25;color: rgb(31, 35, 40);font-family: -apple-system, BlinkMacSystemFont, &amp;#39;Segoe UI&amp;#39;, &amp;#39;Noto Sans&amp;#39;, Helvetica, Arial, sans-serif, &amp;#39;Apple Color Emoji&amp;#39;, &amp;#39;Segoe UI Emoji&amp;#39;;text-wrap: wrap;background-color: rgb(255, 255, 255)&quot;&gt;&lt;a id=&quot;user-content-deploy-with-netlify&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/antergone/palm-netlify-proxy?tab=readme-ov-file#deploy-with-netlify&quot; style=&quot;box-sizing: border-box;background-color: transparent;float: left;padding-right: 4px;line-height: 1;position: absolute;text-underline-offset: 0.2rem&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Deploy With Netlify&lt;span style=&quot;box-sizing: border-box&quot;&gt;&lt;br style=&quot;box-sizing: border-box&quot;/&gt;&lt;span style=&quot;box-sizing: border-box;display: inline-block;margin: 8px 0px !important&quot;&gt;&lt;span style=&quot;box-sizing: border-box;border-bottom: 1px solid var(--immersive-translate-theme-underline-borderColor) !important;font-family: inherit&quot;&gt;使用Netlify部署&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;span style=&quot;box-sizing: border-box&quot;&gt;&lt;span style=&quot;box-sizing: border-box;display: inline-block;margin: 8px 0px !important&quot;&gt;&lt;span style=&quot;box-sizing: border-box;border-bottom: 1px solid var(--immersive-translate-theme-underline-borderColor) !important;font-family: inherit&quot;&gt;&lt;a href=&quot;https://app.netlify.com/start/deploy?repository=https://github.com/antergone/palm-netlify-proxy&quot;&gt;Netlify App&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;auto&quot; data-immersive-translate-walked=&quot;8f41de47-b58b-493d-b038-9baac9fbffe1&quot; style=&quot;box-sizing: border-box;margin-top: 0px;margin-bottom: 16px;color: rgb(31, 35, 40);font-family: -apple-system, BlinkMacSystemFont, &amp;#39;Segoe UI&amp;#39;, &amp;#39;Noto Sans&amp;#39;, Helvetica, Arial, sans-serif, &amp;#39;Apple Color Emoji&amp;#39;, &amp;#39;Segoe UI Emoji&amp;#39;;font-size: 16px;text-wrap: wrap;background-color: rgb(255, 255, 255)&quot;&gt;&lt;a href=&quot;https://app.netlify.com/start/deploy?repository=https://github.com/antergone/palm-netlify-proxy&quot; rel=&quot;nofollow&quot; data-immersive-translate-walked=&quot;8f41de47-b58b-493d-b038-9baac9fbffe1&quot; style=&quot;box-sizing: border-box;background-color: transparent;text-underline-offset: 0.2rem&quot;&gt;&lt;img src=&quot;https://camo.githubusercontent.com/5b6a0d20f6dd7e28daf146c3aa6493836efc7334c8f9675bbbb1c3750368c3f6/68747470733a2f2f7777772e6e65746c6966792e636f6d2f696d672f6465706c6f792f627574746f6e2e737667&quot; alt=&quot;Deploy to Netlify&quot; data-canonical-src=&quot;https://www.netlify.com/img/deploy/button.svg&quot; width=&quot;179&quot; height=&quot;32&quot; data-immersive-translate-walked=&quot;8f41de47-b58b-493d-b038-9baac9fbffe1&quot; style=&quot;box-sizing: content-box;border-style: none;max-width: 100%;background-color: var(--bgColor-default, var(--color-canvas-default))&quot;/&gt;&lt;/a&gt;&lt;/p&gt;&lt;h2 tabindex=&quot;-1&quot; dir=&quot;auto&quot; data-immersive-translate-walked=&quot;8f41de47-b58b-493d-b038-9baac9fbffe1&quot; data-immersive-translate-paragraph=&quot;1&quot; style=&quot;box-sizing: border-box;margin-top: 24px;margin-bottom: 16px;font-weight: var(--base-text-weight-semibold, 600);line-height: 1.25;padding-bottom: 0.3em;border-bottom: 1px solid var(--borderColor-muted, var(--color-border-muted));color: rgb(31, 35, 40);font-family: -apple-system, BlinkMacSystemFont, &amp;#39;Segoe UI&amp;#39;, &amp;#39;Noto Sans&amp;#39;, Helvetica, Arial, sans-serif, &amp;#39;Apple Color Emoji&amp;#39;, &amp;#39;Segoe UI Emoji&amp;#39;;text-wrap: wrap;background-color: rgb(255, 255, 255)&quot;&gt;&lt;a id=&quot;user-content-discussion&quot; aria-hidden=&quot;true&quot; tabindex=&quot;-1&quot; href=&quot;https://github.com/antergone/palm-netlify-proxy?tab=readme-ov-file#discussion&quot; style=&quot;box-sizing: border-box;background-color: transparent;float: left;padding-right: 4px;line-height: 1;position: absolute;text-underline-offset: 0.2rem&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Discussion&lt;span style=&quot;box-sizing: border-box&quot;&gt;&lt;br style=&quot;box-sizing: border-box&quot;/&gt;&lt;span style=&quot;box-sizing: border-box;display: inline-block;margin: 8px 0px !important&quot;&gt;&lt;span style=&quot;box-sizing: border-box;border-bottom: 1px solid var(--immersive-translate-theme-underline-borderColor) !important;font-family: inherit&quot;&gt;讨论&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p dir=&quot;auto&quot; data-immersive-translate-walked=&quot;8f41de47-b58b-493d-b038-9baac9fbffe1&quot; data-immersive-translate-paragraph=&quot;1&quot; style=&quot;box-sizing: border-box;margin-top: 0px;color: rgb(31, 35, 40);font-family: -apple-system, BlinkMacSystemFont, &amp;#39;Segoe UI&amp;#39;, &amp;#39;Noto Sans&amp;#39;, Helvetica, Arial, sans-serif, &amp;#39;Apple Color Emoji&amp;#39;, &amp;#39;Segoe UI Emoji&amp;#39;;font-size: 16px;text-wrap: wrap;background-color: rgb(255, 255, 255);margin-bottom: 0px !important&quot;&gt;Please Visit Simon&amp;#39;s Blog.&amp;nbsp;&lt;a href=&quot;https://simonmy.com/posts/%E4%BD%BF%E7%94%A8netlify%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86google-palm-api.html&quot; rel=&quot;nofollow&quot; data-immersive-translate-walked=&quot;8f41de47-b58b-493d-b038-9baac9fbffe1&quot; style=&quot;box-sizing: border-box;background-color: transparent;text-underline-offset: 0.2rem&quot;&gt;https://simonmy.com/posts/使用netlify反向代理google-palm-api.html&lt;/a&gt;&lt;span style=&quot;box-sizing: border-box&quot;&gt;&lt;br style=&quot;box-sizing: border-box&quot;/&gt;&lt;span style=&quot;box-sizing: border-box;display: inline-block;margin: 8px 0px !important&quot;&gt;&lt;span style=&quot;box-sizing: border-box;border-bottom: 1px solid var(--immersive-translate-theme-underline-borderColor) !important;font-family: inherit&quot;&gt;请访问西蒙的博客。https：//simonmy.com/posts/使用netlify反向代理google-palm-API.html&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;auto&quot; data-immersive-translate-walked=&quot;8f41de47-b58b-493d-b038-9baac9fbffe1&quot; data-immersive-translate-paragraph=&quot;1&quot; style=&quot;box-sizing: border-box;margin-top: 0px;color: rgb(31, 35, 40);font-family: -apple-system, BlinkMacSystemFont, &amp;#39;Segoe UI&amp;#39;, &amp;#39;Noto Sans&amp;#39;, Helvetica, Arial, sans-serif, &amp;#39;Apple Color Emoji&amp;#39;, &amp;#39;Segoe UI Emoji&amp;#39;;font-size: 16px;text-wrap: wrap;background-color: rgb(255, 255, 255);margin-bottom: 0px !important&quot;&gt;&lt;span style=&quot;box-sizing: border-box&quot;&gt;&lt;span style=&quot;box-sizing: border-box;display: inline-block;margin: 8px 0px !important&quot;&gt;&lt;span style=&quot;box-sizing: border-box;border-bottom: 1px solid var(--immersive-translate-theme-underline-borderColor) !important;font-family: inherit&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;不能说的秘密&amp;nbsp;&lt;a href=&quot;https://main--lambent-sunflower-18269f.netlify.app/&quot;&gt;Google PaLM API proxy on Netlify Edge (main--lambent-sunflower-18269f.netlify.app)&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 26 Jan 2024 18:33:51 +0800</pubDate></item><item><title>转csdn-图片编辑器的库</title><link>https://5if.com.cn/?id=35</link><description>&lt;h1 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 22px; color: rgb(79, 79, 79); line-height: 32px; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a href=&quot;https://blog.csdn.net/weixin_47605601/article/details/115553807&quot;&gt;(17条消息) 安利一个js/vue/react图片编辑器filerobot-image-editor_vue3 image-editor_weixin_47605601的博客-CSDN博客&lt;/a&gt;&lt;/h1&gt;&lt;h1 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 22px; color: rgb(79, 79, 79); line-height: 32px; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;引入 + 初始化 + 调用 = 可以使用了&lt;/h1&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; box-sizing: border-box; outline: 0px; margin-top: 0px; margin-bottom: 16px; padding: 0px; font-size: 16px; color: rgb(77, 77, 77); line-height: 26px; overflow: auto hidden; overflow-wrap: break-word; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-variant-ligatures: no-common-ligatures; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;先上名字 filerobot-image-editor&lt;br style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; box-sizing: border-box; outline: 0px; overflow-wrap: break-word;&quot;/&gt;来自&lt;a href=&quot;https://so.csdn.net/so/search?q=gitHub&amp;spm=1001.2101.3001.7020&quot; target=&quot;_blank&quot; class=&quot;hl hl-1&quot; data-report-click=&quot;{&amp;quot;spm&amp;quot;:&amp;quot;1001.2101.3001.7020&amp;quot;,&amp;quot;dest&amp;quot;:&amp;quot;https://so.csdn.net/so/search?q=gitHub&amp;amp;spm=1001.2101.3001.7020&amp;quot;,&amp;quot;extra&amp;quot;:&amp;quot;{\&amp;quot;searchword\&amp;quot;:\&amp;quot;gitHub\&amp;quot;}&amp;quot;}&quot; data-tit=&quot;gitHub&quot; data-pretit=&quot;github&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; box-sizing: border-box; outline: none; margin: 0px 3px 0px 0px; padding: 0px 14px 0px 3px; text-decoration-line: none; cursor: pointer; background: url(&amp;quot;../img/iconHighlight.svg&amp;quot;) right top / 12px 14px no-repeat transparent; color: rgb(252, 85, 49); overflow-wrap: break-word; border-radius: 3px; box-shadow: none;&quot;&gt;gitHub&lt;/a&gt;&lt;br style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; box-sizing: border-box; outline: 0px; overflow-wrap: break-word;&quot;/&gt;&lt;a href=&quot;https://github.com/scaleflex/filerobot-image-editor&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; box-sizing: border-box; outline: none; margin: 0px; padding: 0px; text-decoration-line: none; cursor: pointer; background-color: transparent; color: rgb(78, 161, 219); overflow-wrap: break-word;&quot;&gt;github地址: https://github.com/scaleflex/filerobot-image-editor&lt;/a&gt;&lt;/p&gt;&lt;h2 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; box-sizing: border-box; outline: 0px; margin: 24px 0px 8px; padding: 0px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, SimHei, Arial, SimSun; font-size: 20px; color: rgb(79, 79, 79); line-height: 30px; overflow-wrap: break-word; font-variant-ligatures: no-common-ligatures; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;引入方式&lt;/h2&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; box-sizing: border-box; outline: 0px; margin-top: 0px; margin-bottom: 16px; padding: 0px; font-size: 16px; color: rgb(77, 77, 77); line-height: 26px; overflow: auto hidden; overflow-wrap: break-word; font-family: -apple-system, &amp;quot;SF UI Text&amp;quot;, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-variant-ligatures: no-common-ligatures; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;在html中直接使用&lt;/p&gt;&lt;pre data-index=&quot;0&quot; class=&quot;prettyprint&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; box-sizing: border-box; outline: 0px; margin-top: 0px; margin-bottom: 24px; padding: 8px 16px 6px 56px; position: relative; font-family: &amp;quot;Source Code Pro&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;Anonymous Pro&amp;quot;, &amp;quot;Droid Sans Mono&amp;quot;, Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, sans-serif; overflow: auto hidden; border: none; line-height: 22px; overflow-wrap: break-word; background-color: rgb(40, 44, 52); font-variant-ligatures: no-common-ligatures;&quot;&gt;&amp;lt;script&amp;nbsp;src=&amp;quot;https://cdn.scaleflex.it/plugins/filerobot-image-editor/3.12.17/filerobot-image-editor.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;1&lt;/pre&gt;&lt;pre data-index=&quot;1&quot; class=&quot;prettyprint&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; box-sizing: border-box; outline: 0px; margin-top: 0px; margin-bottom: 24px; padding: 8px 16px 6px 56px; position: relative; font-family: &amp;quot;Source Code Pro&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;Anonymous Pro&amp;quot;, &amp;quot;Droid Sans Mono&amp;quot;, Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, sans-serif; overflow: auto hidden; border: none; line-height: 22px; overflow-wrap: break-word; background-color: rgb(40, 44, 52); font-variant-ligatures: no-common-ligatures;&quot;&gt;const&amp;nbsp;ImageEditor&amp;nbsp;=&amp;nbsp;new&amp;nbsp;FilerobotImageEditor();1&lt;/pre&gt;&lt;pre data-index=&quot;2&quot; class=&quot;prettyprint&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; box-sizing: border-box; outline: 0px; margin-top: 0px; margin-bottom: 24px; padding: 8px 16px 6px 56px; position: relative; font-family: &amp;quot;Source Code Pro&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;Anonymous Pro&amp;quot;, &amp;quot;Droid Sans Mono&amp;quot;, Menlo, Monaco, Consolas, Inconsolata, Courier, monospace, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, sans-serif; overflow: auto hidden; border: none; line-height: 22px; overflow-wrap: break-word; background-color: rgb(40, 44, 52); font-variant-ligatures: no-common-ligatures;&quot;&gt;ImageEditor.open(&amp;#39;https://scaleflex.airstore.io/demo/stephen-walker-unsplash.jpg&amp;#39;);
//这里打开你要进行编辑的图片地址&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;img src=&quot;http://qiniu.gzyanlian.com/202306171046709.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Sat, 17 Jun 2023 10:45:57 +0800</pubDate></item><item><title>转掘金---个图片压缩前和压缩后的画质对比用到的库</title><link>https://5if.com.cn/?id=34</link><description>&lt;h1 class=&quot;article-title&quot; data-v-7383b867=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; font-size: 2.667rem; margin: 0px 0px 1.667rem; line-height: 1.31; color: var(--juejin-font-1); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, Arial; text-wrap: wrap;&quot;&gt;vue图片编辑插件tui-image-editor&lt;/h1&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; line-height: inherit; margin-top: 22px; margin-bottom: 22px; color: rgb(37, 41, 51); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, Arial; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;官方文档链接:&lt;a href=&quot;https://link.juejin.cn/?target=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Ftui-image-editor&quot; target=&quot;_blank&quot; title=&quot;https://www.npmjs.com/package/tui-image-editor&quot; ref=&quot;nofollow noopener noreferrer&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; background-color: transparent; margin: initial; text-decoration-line: none; cursor: pointer; color: rgb(2, 105, 200); border-bottom: 1px solid rgb(209, 233, 255);&quot;&gt;www.npmjs.com/package/tui…&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; line-height: inherit; margin-top: 22px; margin-bottom: 22px; color: rgb(37, 41, 51); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, Arial; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;API链接：&lt;a href=&quot;https://link.juejin.cn/?target=https%3A%2F%2Fnhn.github.io%2Ftui.image-editor%2Flatest%2F&quot; target=&quot;_blank&quot; title=&quot;https://nhn.github.io/tui.image-editor/latest/&quot; ref=&quot;nofollow noopener noreferrer&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; background-color: transparent; margin: initial; text-decoration-line: none; cursor: pointer; color: rgb(2, 105, 200); border-bottom: 1px solid rgb(209, 233, 255);&quot;&gt;nhn.github.io/tui.image-e…&lt;/a&gt;（纯英文预警）&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://qiniu.gzyanlian.com/202306171041199.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://juejin.cn/post/7021730508627247112&quot;&gt;vue图片编辑插件tui-image-editor踩坑记录 - 掘金 (juejin.cn)&lt;/a&gt;&lt;/p&gt;</description><pubDate>Sat, 17 Jun 2023 10:30:22 +0800</pubDate></item><item><title>win10安装wsl2的ubunan</title><link>https://5if.com.cn/?id=33</link><description>&lt;div class=&quot;Post-RichTextContainer&quot; style=&quot;position: relative; margin: 0px auto; overflow: visible; width: 690px; color: rgb(18, 18, 18); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;css-1yuhvjn&quot; style=&quot;margin-top: 16px;&quot;&gt;&lt;div class=&quot;css-376mun&quot; style=&quot;position: relative; display: inline;&quot;&gt;&lt;div class=&quot;RichText ztext Post-RichText css-1g0fqss&quot; options=&quot;[object Object]&quot; style=&quot;line-height: 1.6; word-break: break-word;&quot;&gt;&lt;p data-pid=&quot;ykp16LlJ&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;如果您想在最新的 Windows 版本中尝试经过改进的&amp;nbsp;&lt;a href=&quot;https://link.zhihu.com/?target=https%3A//docs.microsoft.com/zh-cn/windows/wsl/wsl2-index&quot; class=&quot; wrap external&quot; target=&quot;_blank&quot; rel=&quot;nofollow noreferrer&quot; data-za-detail-view-id=&quot;1043&quot; style=&quot;text-decoration-line: none; border-bottom: 1px solid rgb(128, 128, 128); cursor: pointer;&quot;&gt;Windows 子系统 Linux 2&lt;/a&gt;&amp;nbsp;(即 WSL 2) ，要怎么做呢？我们在本文中介绍了安装它所需要做的所有事情。&lt;/p&gt;&lt;figure data-size=&quot;normal&quot; style=&quot;margin: 1.4em 0px;&quot;&gt;&lt;img src=&quot;https://pic3.zhimg.com/80/v2-1b8529312470f0a8396621a602cf809e_720w.webp&quot; data-caption=&quot;&quot; data-size=&quot;normal&quot; data-rawwidth=&quot;1400&quot; data-rawheight=&quot;802&quot; class=&quot;origin_image zh-lightbox-thumb lazy&quot; width=&quot;1400&quot; data-original=&quot;https://pic3.zhimg.com/v2-1b8529312470f0a8396621a602cf809e_r.jpg&quot; data-actualsrc=&quot;https://pic3.zhimg.com/v2-1b8529312470f0a8396621a602cf809e_b.jpg&quot; height=&quot;802&quot; data-lazy-status=&quot;ok&quot; style=&quot;display: block; margin: 0px auto; max-width: 100%; height: auto; cursor: zoom-in; background-color: transparent; animation: 0.5s ease-in 0s 1 normal none running animation-1yvu044;&quot;/&gt;&lt;/figure&gt;&lt;p data-pid=&quot;cXdyPTgT&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;WSL 2 是微软早在 2017 年推出的&amp;nbsp;&lt;a href=&quot;https://link.zhihu.com/?target=https%3A//www.omgubuntu.co.uk/2017/07/windows-subsystem-linux-left-beta&quot; class=&quot; wrap external&quot; target=&quot;_blank&quot; rel=&quot;nofollow noreferrer&quot; data-za-detail-view-id=&quot;1043&quot; style=&quot;text-decoration-line: none; border-bottom: 1px solid rgb(128, 128, 128); cursor: pointer;&quot;&gt;WSL 的原始版本&lt;/a&gt;的重大升级。WSL 2 不仅仅是版本的升级。它更快、更通用，并且使用&lt;span style=&quot;font-synthesis: style; font-weight: 600;&quot;&gt;真正的 Linux 内核&lt;/span&gt;。未来的 Linux 内核更新甚至会以 Windows 10 软件更新的形式发布——想想看，这有点疯狂!&lt;/p&gt;&lt;p data-pid=&quot;PUInbu2E&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;微软创建 WSL 2 的目的是为了提高性能。最好的方法是什么？添加完整的系统调用兼容性，即以真正的 Linux 内核为核心。&lt;/p&gt;&lt;p data-pid=&quot;GEHxyJJG&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;“添加 WSL 2 为新架构，为 WSL 团队提供了一个更好的平台来提供一些特性，使 WSL 成为在 Windows 中运行 Linux 环境的一种令人惊叹的方式。”&amp;nbsp;&lt;a href=&quot;https://link.zhihu.com/?target=https%3A//docs.microsoft.com/en-us/windows/wsl/wsl2-faq&quot; class=&quot; wrap external&quot; target=&quot;_blank&quot; rel=&quot;nofollow noreferrer&quot; data-za-detail-view-id=&quot;1043&quot; style=&quot;text-decoration-line: none; border-bottom: 1px solid rgb(128, 128, 128); cursor: pointer;&quot;&gt;微软表示&lt;/a&gt;。&lt;/p&gt;&lt;p data-pid=&quot;TUj8Af9B&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;微软还计划让用户&lt;a href=&quot;https://link.zhihu.com/?target=https%3A//www.omgubuntu.co.uk/2020/05/run-linux-apps-on-windows-10-wsl-2&quot; class=&quot; wrap external&quot; target=&quot;_blank&quot; rel=&quot;nofollow noreferrer&quot; data-za-detail-view-id=&quot;1043&quot; style=&quot;text-decoration-line: none; border-bottom: 1px solid rgb(128, 128, 128); cursor: pointer;&quot;&gt;在 Windows 10 上运行桌面 Linux 应用程序&lt;/a&gt;，并使用 GPU 加强的任务，因此这种疯狂尚没有减弱的迹象。它还使得&lt;a href=&quot;https://link.zhihu.com/?target=https%3A//www.omgubuntu.co.uk/2020/06/microsoft-wsl-install-command&quot; class=&quot; wrap external&quot; target=&quot;_blank&quot; rel=&quot;nofollow noreferrer&quot; data-za-detail-view-id=&quot;1043&quot; style=&quot;text-decoration-line: none; border-bottom: 1px solid rgb(128, 128, 128); cursor: pointer;&quot;&gt;用单条命令安装 WSL&lt;/a&gt;&amp;nbsp;成为可能。&lt;/p&gt;&lt;p data-pid=&quot;O5u1Acid&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;目前，除非您使用的是最新的内部版本，否则 WSL 2 的设置工作需要一点点的努力——但是，为了在 Windows 中调用和指挥一个完整的 Linux 系统，难道不值得吗？&lt;/p&gt;&lt;h2 style=&quot;font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; font-synthesis: style;&quot;&gt;在 Windows 10 上 安装 WSL 2&lt;/h2&gt;&lt;p class=&quot;ztext-empty-paragraph&quot; style=&quot;margin-top: -0.8em; margin-bottom: -0.8em;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure data-size=&quot;normal&quot; style=&quot;margin: 1.4em 0px;&quot;&gt;&lt;img src=&quot;https://pic1.zhimg.com/80/v2-3ac4569f9a6b904d6eeb51949e8b52c8_720w.webp&quot; data-caption=&quot;&quot; data-size=&quot;normal&quot; data-rawwidth=&quot;1024&quot; data-rawheight=&quot;546&quot; class=&quot;origin_image zh-lightbox-thumb lazy&quot; width=&quot;1024&quot; data-original=&quot;https://pic1.zhimg.com/v2-3ac4569f9a6b904d6eeb51949e8b52c8_r.jpg&quot; data-actualsrc=&quot;https://pic1.zhimg.com/v2-3ac4569f9a6b904d6eeb51949e8b52c8_b.jpg&quot; height=&quot;546&quot; data-lazy-status=&quot;ok&quot; style=&quot;display: block; margin: 0px auto; max-width: 100%; height: auto; cursor: zoom-in; background-color: transparent; animation: 0.5s ease-in 0s 1 normal none running animation-1yvu044;&quot;/&gt;&lt;/figure&gt;&lt;p class=&quot;ztext-empty-paragraph&quot; style=&quot;margin-top: -0.8em; margin-bottom: -0.8em;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 style=&quot;font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 1.1em; line-height: 1.5; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: calc(1.90909em) 0px calc(1.27273em); clear: left; font-synthesis: style;&quot;&gt;必要条件&lt;/h3&gt;&lt;p data-pid=&quot;OtUL5FJJ&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;要在 Windows 10 上安装 WSL 2，您需要以下东西：&lt;/p&gt;&lt;ul style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; padding: 0px; width: 690px; display: table;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;Windows 10 2020年5月(2004) 版, Windows 10 2019年5月(1903) 版，或者 Windows 10 2019年11月(1909) 版&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;一台支持 Hyper-V 虚拟化的计算机&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p data-pid=&quot;kYr1uSzv&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;Windows 10 2020年5月更新已于 2020年5月发布（显然），但并非每个设备都能立即升级。要查看您的计算机上是否有 Windows 10 2020年5月更新，请转至“设置” &amp;gt; “更新和安全性” &amp;gt; “Windows 更新”。&lt;/p&gt;&lt;p data-pid=&quot;6eAmzqeO&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;在 8 月，&lt;a href=&quot;https://link.zhihu.com/?target=https%3A//devblogs.microsoft.com/commandline/wsl-2-support-is-coming-to-windows-10-versions-1903-and-1909/&quot; class=&quot; wrap external&quot; target=&quot;_blank&quot; rel=&quot;nofollow noreferrer&quot; data-za-detail-view-id=&quot;1043&quot; style=&quot;text-decoration-line: none; border-bottom: 1px solid rgb(128, 128, 128); cursor: pointer;&quot;&gt;微软将 WSL 2 向后移植&lt;/a&gt;到 Windows 10 的较早版本。版本号为 1903 或 1909 的任何人也可以安装WSL 2 —— 但必须首先安装&amp;nbsp;&lt;a href=&quot;https://link.zhihu.com/?target=https%3A//support.microsoft.com/zh-cn/help/4566116/windows-10-update-kb4566116&quot; class=&quot; wrap external&quot; target=&quot;_blank&quot; rel=&quot;nofollow noreferrer&quot; data-za-detail-view-id=&quot;1043&quot; style=&quot;text-decoration-line: none; border-bottom: 1px solid rgb(128, 128, 128); cursor: pointer;&quot;&gt;Windows 更新 KB4566116&lt;/a&gt;。&lt;/p&gt;&lt;p data-pid=&quot;j0V4KRZn&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;高级（和心急）的 Windows 用户可以强制安装 Windows 10 2020年5月更新，但请记住，如果按照这种方法操作，您可能会遭遇缺失驱动程序、GUI 故障或其他硬件故障。&lt;/p&gt;&lt;p data-pid=&quot;wlImHP1z&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;从技术上来讲，您可以在 Windows 10 build 18917 或更高版本的“内部”版本上安装 WSL 2。我不太熟悉“内部”版本系统是如何工作的，所以请注意，本文的其余部分都基于在稳定版的 Windows 上使用该功能。&lt;/p&gt;&lt;p data-pid=&quot;9vibVF3l&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;为了运行 WSL 2，您的计算机还需要支持 Hyper-V 虚拟化。您可以&lt;a href=&quot;https://link.zhihu.com/?target=https%3A//www.zdnet.com/article/windows-10-tip-find-out-if-your-pc-can-run-hyper-v/&quot; class=&quot; wrap external&quot; target=&quot;_blank&quot; rel=&quot;nofollow noreferrer&quot; data-za-detail-view-id=&quot;1043&quot; style=&quot;text-decoration-line: none; border-bottom: 1px solid rgb(128, 128, 128); cursor: pointer;&quot;&gt;检查您的计算机确认对 Hyper-V 的支持&lt;/a&gt;&amp;nbsp;。&lt;/p&gt;&lt;p data-pid=&quot;DZAF0FCC&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;如果您不能同时满足这两个必要条件，则无法安装或启用 WSL 2——但可以使用 WSL 1。&lt;/p&gt;&lt;p data-pid=&quot;ybYFxlZ8&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;在 Windows 10 上安装 WSL 2 的过程如下：&lt;/p&gt;&lt;ol style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; padding: 0px; width: 690px; counter-reset: ol 0; display: table;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;启用 WSL 2&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;启用“虚拟机平台”&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;设置 WSL 2 为默认值&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;安装 Linux 发行版&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p data-pid=&quot;dDnCZ35f&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;我将使用 PowerShell 应用程序依次介绍每个步骤，您需要以管理员身份运行此应用程序。您可以在 Windows “开始” 菜单中找到 PowerShell。&lt;/p&gt;&lt;blockquote data-pid=&quot;OeEp0EPI&quot; style=&quot;border-left: 3px solid rgb(211, 211, 211); color: rgb(100, 100, 100); margin: 1.4em 0px; padding-left: 1em;&quot;&gt;注意：也可以使用 GUI 安装 WSL 1，但使用命令行安装的速度要快得多，而且由于 WSL 是 CLI 工具，这也比较讲得通！&lt;br/&gt;&lt;/blockquote&gt;&lt;h3 style=&quot;font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 1.1em; line-height: 1.5; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: calc(1.90909em) 0px calc(1.27273em); clear: left; font-synthesis: style;&quot;&gt;第 1 步，启用 WSL&lt;/h3&gt;&lt;p data-pid=&quot;IrBB6m-q&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;不管您想要使用哪个版本的 WSL，都首先需要启用它。为此，请&lt;span style=&quot;font-synthesis: style; font-weight: 600;&quot;&gt;以管理员身份打开 PowerShell 工具并运行以下命令&lt;/span&gt;。小心不要在命令中输入错误或遗漏任何字符：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;margin: 1em 0px;&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(246, 246, 246); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;dism.exe&amp;nbsp;/online&amp;nbsp;/enable-feature&amp;nbsp;/featurename:Microsoft-Windows-Subsystem-Linux&amp;nbsp;/all&amp;nbsp;/norestart&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;OWzghCvH&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;如果只想使用 WSL 1，您可以跳到第 4 步。&lt;/p&gt;&lt;h3 style=&quot;font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 1.1em; line-height: 1.5; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: calc(1.90909em) 0px calc(1.27273em); clear: left; font-synthesis: style;&quot;&gt;第 2 步，启用“虚拟机平台”&lt;/h3&gt;&lt;p data-pid=&quot;XaOd8SgP&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;WSL 2 需要启用 Windows 10 的 “虚拟机平台” 特性。它独立于 Hyper-V，并提供了一些在 Linux 的 Windows 子系统新版本中可用的更有趣的平台集成。&lt;/p&gt;&lt;p data-pid=&quot;V-RDuTcZ&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;要在 Windows 10（2004）上启用虚拟机平台，请以管理员身份打开 PowerShell 并运行：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;margin: 1em 0px;&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(246, 246, 246); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;dism.exe&amp;nbsp;/online&amp;nbsp;/enable-feature&amp;nbsp;/featurename:VirtualMachinePlatform&amp;nbsp;/all&amp;nbsp;/norestart&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;HoK8B0tO&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;要在 Windows 10（1903，1909）上启用虚拟机平台，请以管理员身份打开 PowerShell 并运行：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;margin: 1em 0px;&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(246, 246, 246); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;Enable-WindowsOptionalFeature&amp;nbsp;-Online&amp;nbsp;-FeatureName&amp;nbsp;VirtualMachinePlatform&amp;nbsp;-NoRestart&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;ABs7hnQ0&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;为了确保所有相关部件都整齐到位，您应该在&lt;span style=&quot;font-synthesis: style; font-weight: 600;&quot;&gt;此时重启系统&lt;/span&gt;，否则可能会发现事情没按预期进行。&lt;/p&gt;&lt;h3 style=&quot;font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 1.1em; line-height: 1.5; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: calc(1.90909em) 0px calc(1.27273em); clear: left; font-synthesis: style;&quot;&gt;第 3 步，设置 WSL 2 为默认值&lt;/h3&gt;&lt;p data-pid=&quot;pWo6cEd7&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;以管理员身份打开 PowerShell，然后运行以下命令以将 WSL 2 设置为 WSL 的默认版本：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;margin: 1em 0px;&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(246, 246, 246); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;wsl&amp;nbsp;--set-default-version&amp;nbsp;2&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;vP_5JzXy&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;如果需要，您可以（随时）将发行版配置为以 WSL 1 模式运行。&lt;/p&gt;&lt;h3 style=&quot;font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 1.1em; line-height: 1.5; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: calc(1.90909em) 0px calc(1.27273em); clear: left; font-synthesis: style;&quot;&gt;第 4 步，安装一个 Linux 发行版&lt;/h3&gt;&lt;p data-pid=&quot;_SQjpsmQ&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;有了 WSL 和必要的虚拟化技术，接下来您要做的就是从 Microsoft Store 中选择并安装 Linux 发行版。&lt;/p&gt;&lt;p data-pid=&quot;GiTIRrdN&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;有几种不同的发行版可供选择，包括 OpenSUSE、Pengwin、Fedora Remix 和 Alpine Linux。但是我个人推荐（自然地）Ubuntu 20.04 LTS（尽管也有 18.04 LTS 和 16.04 LTS 可用）。&lt;/p&gt;&lt;p data-pid=&quot;Z4fAJ2bO&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;要在 Windows 10 上安装 Ubuntu，请打开 Microsoft Store 应用，搜索 “Ubuntu 20.04”，然后单击“获取”按钮：&lt;/p&gt;&lt;p class=&quot;ztext-empty-paragraph&quot; style=&quot;margin-top: -0.8em; margin-bottom: -0.8em;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;div class=&quot;RichText-LinkCardContainer&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://link.zhihu.com/?target=https%3A//www.microsoft.com/store/productId/9N6SVWS3RX71&quot; data-draft-node=&quot;block&quot; data-draft-type=&quot;link-card&quot; data-text=&quot;Get Ubuntu 20.04 LTS - Microsoft Store&quot; class=&quot;LinkCard new css-1wr1m8&quot; data-image=&quot;https://pic1.zhimg.com/v2-504abc7972b35e49b3f6681d4b7c9b78_ipico.jpg&quot; data-image-width=&quot;120&quot; data-image-height=&quot;120&quot; data-za-detail-view-id=&quot;172&quot; style=&quot;text-decoration-line: none; -webkit-box-align: center; align-items: center; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; background-color: rgb(246, 246, 246); border-radius: 8px; box-sizing: border-box; flex-direction: row; margin: 16px auto; max-width: 100%; min-height: 84px; overflow: hidden; padding: 12px 12px 9px; position: relative; width: 390px; border: none !important;&quot;&gt;&lt;span class=&quot;LinkCard-contents&quot; style=&quot;-webkit-box-flex: 1; display: block; flex: 1 1 auto; position: relative;&quot;&gt;&lt;span class=&quot;LinkCard-title two-line&quot; style=&quot;-webkit-line-clamp: 2; -webkit-box-orient: vertical; color: #121212; display: -webkit-box; font-size: 15px; line-height: 20px; max-height: 40px; overflow: hidden; text-overflow: ellipsis; margin-bottom: 2px;&quot;&gt;Get Ubuntu 20.04 LTS - Microsoft Store&lt;/span&gt;&lt;span class=&quot;LinkCard-desc&quot; style=&quot;-webkit-line-clamp: 1; -webkit-box-orient: vertical; color: #999999; display: -webkit-box; font-size: 13px; height: 18px; line-height: 18px; overflow: hidden; text-overflow: ellipsis; word-break: break-all;&quot;&gt;&lt;span style=&quot;display: inline-flex; align-items: center;&quot;&gt;&lt;svg width=&quot;14&quot; height=&quot;14&quot; viewbox=&quot;0 0 24 24&quot; class=&quot;Zi Zi--InsertLink&quot; fill=&quot;currentColor&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M5.327 18.883a3.005 3.005 0 0 1 0-4.25l2.608-2.607a.75.75 0 1 0-1.06-1.06l-2.608 2.607a4.505 4.505 0 0 0 6.37 6.37l2.608-2.607a.75.75 0 0 0-1.06-1.06l-2.608 2.607a3.005 3.005 0 0 1-4.25 0Zm5.428-11.799a.75.75 0 0 0 1.06 1.06L14.48 5.48a3.005 3.005 0 0 1 4.25 4.25l-2.665 2.665a.75.75 0 0 0 1.061 1.06l2.665-2.664a4.505 4.505 0 0 0-6.371-6.372l-2.665 2.665Zm5.323 2.117a.75.75 0 1 0-1.06-1.06l-7.072 7.07a.75.75 0 0 0 1.061 1.06l7.071-7.07Z&quot; clip-rule=&quot;evenodd&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;www.microsoft.com/store/productId/9N6SVWS3RX71&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;LinkCard-image&quot; style=&quot;background-color: #EBEBEB; border-radius: inherit; display: block; height: 60px; object-fit: cover; width: 60px; -webkit-box-flex: 0; background-position: center center; background-size: cover; flex: 0 0 auto; margin-left: 20px; overflow: hidden; position: relative;&quot;&gt;&lt;img src=&quot;https://pic1.zhimg.com/v2-504abc7972b35e49b3f6681d4b7c9b78_ipico.jpg&quot; alt=&quot;&quot; style=&quot;height: 60px; object-fit: cover; width: 60px;&quot;/&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;p data-pid=&quot;OHCv0NTU&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;当您在 Microsoft Store 中时，我强烈建议您&lt;span style=&quot;font-synthesis: style; font-weight: 600;&quot;&gt;也安装开源的 Windows Terminal 应用程序&lt;/span&gt;。该工具旨在为您提供最佳的 WSL 体验：&lt;/p&gt;&lt;p class=&quot;ztext-empty-paragraph&quot; style=&quot;margin-top: -0.8em; margin-bottom: -0.8em;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;div class=&quot;RichText-LinkCardContainer&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://link.zhihu.com/?target=https%3A//www.microsoft.com/store/productId/9N0DX20HK701&quot; data-draft-node=&quot;block&quot; data-draft-type=&quot;link-card&quot; data-text=&quot;Get Windows Terminal - Microsoft Store&quot; class=&quot;LinkCard new css-1wr1m8&quot; data-image=&quot;https://pic1.zhimg.com/v2-105b1d31851dbef944c065e0afcc836c_ipico.jpg&quot; data-image-width=&quot;120&quot; data-image-height=&quot;120&quot; data-za-detail-view-id=&quot;172&quot; style=&quot;text-decoration-line: none; -webkit-box-align: center; align-items: center; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; background-color: rgb(246, 246, 246); border-radius: 8px; box-sizing: border-box; flex-direction: row; margin: 16px auto; max-width: 100%; min-height: 84px; overflow: hidden; padding: 12px 12px 9px; position: relative; width: 390px; border: none !important;&quot;&gt;&lt;span class=&quot;LinkCard-contents&quot; style=&quot;-webkit-box-flex: 1; display: block; flex: 1 1 auto; position: relative;&quot;&gt;&lt;span class=&quot;LinkCard-title two-line&quot; style=&quot;-webkit-line-clamp: 2; -webkit-box-orient: vertical; color: #121212; display: -webkit-box; font-size: 15px; line-height: 20px; max-height: 40px; overflow: hidden; text-overflow: ellipsis; margin-bottom: 2px;&quot;&gt;Get Windows Terminal - Microsoft Store&lt;/span&gt;&lt;span class=&quot;LinkCard-desc&quot; style=&quot;-webkit-line-clamp: 1; -webkit-box-orient: vertical; color: #999999; display: -webkit-box; font-size: 13px; height: 18px; line-height: 18px; overflow: hidden; text-overflow: ellipsis; word-break: break-all;&quot;&gt;&lt;span style=&quot;display: inline-flex; align-items: center;&quot;&gt;&lt;svg width=&quot;14&quot; height=&quot;14&quot; viewbox=&quot;0 0 24 24&quot; class=&quot;Zi Zi--InsertLink&quot; fill=&quot;currentColor&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M5.327 18.883a3.005 3.005 0 0 1 0-4.25l2.608-2.607a.75.75 0 1 0-1.06-1.06l-2.608 2.607a4.505 4.505 0 0 0 6.37 6.37l2.608-2.607a.75.75 0 0 0-1.06-1.06l-2.608 2.607a3.005 3.005 0 0 1-4.25 0Zm5.428-11.799a.75.75 0 0 0 1.06 1.06L14.48 5.48a3.005 3.005 0 0 1 4.25 4.25l-2.665 2.665a.75.75 0 0 0 1.061 1.06l2.665-2.664a4.505 4.505 0 0 0-6.371-6.372l-2.665 2.665Zm5.323 2.117a.75.75 0 1 0-1.06-1.06l-7.072 7.07a.75.75 0 0 0 1.061 1.06l7.071-7.07Z&quot; clip-rule=&quot;evenodd&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;www.microsoft.com/store/productId/9N0DX20HK701&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;LinkCard-image&quot; style=&quot;background-color: #EBEBEB; border-radius: inherit; display: block; height: 60px; object-fit: cover; width: 60px; -webkit-box-flex: 0; background-position: center center; background-size: cover; flex: 0 0 auto; margin-left: 20px; overflow: hidden; position: relative;&quot;&gt;&lt;img src=&quot;https://pic1.zhimg.com/v2-105b1d31851dbef944c065e0afcc836c_ipico.jpg&quot; alt=&quot;&quot; style=&quot;height: 60px; object-fit: cover; width: 60px;&quot;/&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;h2 style=&quot;font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; font-synthesis: style;&quot;&gt;第 5 步，使用 WSL 2&lt;/h2&gt;&lt;p data-pid=&quot;Ml5QvSEU&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;当您安装 Ubuntu（或其他 Linux 发行版）时，快捷方式已添加到 Windows “开始”菜单中。使用它可以“打开” Ubuntu（或您选择的任何发行版）。第一次运行发行版时，速度似乎有点慢。这是预料之中的；发行版必须解压缩其所有内容——只是不要中断这个过程。&lt;/p&gt;&lt;p data-pid=&quot;eBYk1ivT&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;还将提示您设置用于发行版的用户名和密码。尝试挑选一些您不会忘记的字符。&lt;/p&gt;&lt;h2 style=&quot;font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; font-synthesis: style;&quot;&gt;将 WSL 1 上的 Ubuntu 转换到 WSL 2&lt;/h2&gt;&lt;p data-pid=&quot;TEYyL_L_&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;如果您使用 WSL 1，则可以将现有的 WSL 1 安装升级到 WSL 2。要将现有的 WSL 1 发行版转换到 WSL 2，请在 PowerShell 中运行以下命令，例如：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;margin: 1em 0px;&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(246, 246, 246); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;wsl.exe&amp;nbsp;--set-version&amp;nbsp;Ubuntu&amp;nbsp;2&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;FPbEWrHI&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;使用时，您应将命令中的 “Ubuntu” 替换为您在 WSL 1 上安装运行的对应发行版的名称。&lt;/p&gt;&lt;h2 style=&quot;font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; font-synthesis: style;&quot;&gt;译者补充&lt;/h2&gt;&lt;p data-pid=&quot;8yvGPNfZ&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;可以在 PowerShell 中运行下面命令显示所有发行版的详细信息：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;margin: 1em 0px;&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(246, 246, 246); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;wsl&amp;nbsp;--list&amp;nbsp;--verbose&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;qSS_kSm4&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;命令&amp;nbsp;&lt;code style=&quot;background-color: rgb(246, 246, 246); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;lucida console&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; margin: 0px 2px; padding: 3px 4px;&quot;&gt;wsl --set-version&lt;/code&gt;&amp;nbsp;可更改指定分发版的版本，其用法为：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;margin: 1em 0px;&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(246, 246, 246); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;wsl&amp;nbsp;--set-version&amp;nbsp;&amp;lt;分发版名称&amp;gt;&amp;nbsp;&amp;lt;版本号&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;4tmnx1MP&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;例如：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;margin: 1em 0px;&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(246, 246, 246); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;wsl&amp;nbsp;--set-version&amp;nbsp;Ubuntu-20.04&amp;nbsp;2&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;LmmeDbr9&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em;&quot;&gt;如果本指南对您有用，请在评论中告诉我！&lt;/p&gt;&lt;p class=&quot;ztext-empty-paragraph&quot; style=&quot;margin-top: -0.8em; margin-bottom: -0.8em;&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;blockquote data-pid=&quot;AjzxtTAQ&quot; style=&quot;border-left: 3px solid rgb(211, 211, 211); color: rgb(100, 100, 100); margin: 1.4em 0px 0px; padding-left: 1em;&quot;&gt;作者 ： Joey Sneddon&lt;br/&gt;译者 ： 技术译民&lt;br/&gt;出品 ：&amp;nbsp;&lt;a href=&quot;https://link.zhihu.com/?target=https%3A//ittranslator.cn/&quot; class=&quot; wrap external&quot; target=&quot;_blank&quot; rel=&quot;nofollow noreferrer&quot; data-za-detail-view-id=&quot;1043&quot; style=&quot;text-decoration-line: none; border-bottom: 1px solid rgb(128, 128, 128); cursor: pointer;&quot;&gt;技术译站&lt;/a&gt;&lt;br/&gt;链接 ：&amp;nbsp;&lt;a href=&quot;https://link.zhihu.com/?target=https%3A//www.omgubuntu.co.uk/how-to-install-wsl2-on-windows-10&quot; class=&quot; wrap external&quot; target=&quot;_blank&quot; rel=&quot;nofollow noreferrer&quot; data-za-detail-view-id=&quot;1043&quot; style=&quot;text-decoration-line: none; border-bottom: 1px solid rgb(128, 128, 128); cursor: pointer;&quot;&gt;英文原文&lt;/a&gt;&lt;br/&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;color: rgb(133, 144, 166); margin: 0px auto; padding: 16px 0px; overflow: hidden; width: 690px; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;编辑于 2020-12-15 22:40&lt;/p&gt;&lt;p style=&quot;color: rgb(133, 144, 166); margin: 0px auto; padding: 16px 0px; overflow: hidden; width: 690px; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(133, 144, 166); margin: 0px auto; padding: 16px 0px; overflow: hidden; width: 690px; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(133, 144, 166); margin: 0px auto; padding: 16px 0px; overflow: hidden; width: 690px; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;如果安装ubunan打开失败，需要更新linux内核&lt;/p&gt;&lt;p style=&quot;color: rgb(133, 144, 166); margin: 0px auto; padding: 16px 0px; overflow: hidden; width: 690px; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a href=&quot;https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package&quot;&gt;旧版 WSL 的手动安装步骤 | Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sat, 22 Apr 2023 08:10:25 +0800</pubDate></item><item><title>gin 框架内置验证器文档</title><link>https://5if.com.cn/?id=32</link><description>&lt;p&gt;&lt;a href=&quot;https://godoc.org/gopkg.in/go-playground/validator.v10&quot;&gt;https://godoc.org/gopkg.in/go-playground/validator.v10&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#ffffff;color:#080808;font-family:&amp;#39;JetBrains Mono&amp;#39;,monospace;font-size:9.8pt;&quot; class=&quot;prism-highlight prism-language-go&quot;&gt;验证器的试用列子&lt;/pre&gt;&lt;pre style=&quot;background-color: rgb(255, 255, 255); color: rgb(8, 8, 8); font-family: &amp;quot;JetBrains Mono&amp;quot;, monospace; font-size: 9.8pt;&quot; class=&quot;prism-highlight prism-language-php&quot;&gt;type&amp;nbsp;Topic2&amp;nbsp;struct&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;TopicId&amp;nbsp;int&amp;nbsp;`json:&amp;quot;topic_id&amp;quot;&amp;nbsp;`&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;TopicTitle&amp;nbsp;string&amp;nbsp;`json:&amp;quot;topic_title&amp;quot;&amp;nbsp;form:&amp;quot;topic_title&amp;quot;&amp;nbsp;binding:&amp;quot;min=4,max=20&amp;quot;`&amp;nbsp;&amp;nbsp;&amp;nbsp;//4-20
&amp;nbsp;&amp;nbsp;&amp;nbsp;TopicShortTitle&amp;nbsp;string&amp;nbsp;`json:&amp;quot;stitle&amp;quot;&amp;nbsp;binding:&amp;quot;required,nefield=TopicTitle&amp;quot;`&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//值不能等于&amp;nbsp;TopicTitle字段的值
&amp;nbsp;&amp;nbsp;&amp;nbsp;UserIp&amp;nbsp;int&amp;nbsp;`json:&amp;quot;ip&amp;quot;&amp;nbsp;binding:&amp;quot;ip&amp;quot;`&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;必须是ip
&amp;nbsp;&amp;nbsp;&amp;nbsp;TopicScore&amp;nbsp;int&amp;nbsp;`json:&amp;quot;score&amp;quot;&amp;nbsp;binding:&amp;quot;gt=10&amp;quot;`&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;必须大于10
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 07 Sep 2020 20:24:51 +0800</pubDate></item><item><title>go get安装失败解决方案</title><link>https://5if.com.cn/?id=31</link><description>&lt;p&gt;D:\go-gin-poject\go-gin\api.xueweijian.com\topic&amp;gt;go get -u github.com/gin-gonic/gin&lt;/p&gt;&lt;p&gt;go get github.com/gin-gonic/gin: module github.com/gin-gonic/gin: Get &amp;quot;https://proxy.golang.org/github.com/gin-gonic/gin/@v/list&amp;quot;: dial tcp 172.217.27.145:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.&lt;/p&gt;&lt;p&gt;的解决方案,因为gfw而安装失败,&lt;/p&gt;&lt;h2 style=&quot;box-sizing: border-box; font-family: &amp;quot;lucida grande&amp;quot;, &amp;quot;lucida sans unicode&amp;quot;, lucida, helvetica, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-weight: normal; line-height: 1.1; color: rgb(51, 51, 51); margin-top: 2.2em; margin-bottom: 2.4rem; font-size: 1.6em; border-bottom: 1px solid rgb(221, 221, 221); padding-bottom: 0.1em; white-space: normal;&quot;&gt;解决办法&lt;/h2&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 10px; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, 微软雅黑, Arial, sans-serif; font-size: 15px; white-space: normal;&quot;&gt;使用国内七牛云的 go module 镜像。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 10px; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, 微软雅黑, Arial, sans-serif; font-size: 15px; white-space: normal;&quot;&gt;参考 https://github.com/goproxy/goproxy.cn。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 10px; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, 微软雅黑, Arial, sans-serif; font-size: 15px; white-space: normal;&quot;&gt;golang 1.13 可以直接执行：&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; overflow: auto; font-family: Inconsolata, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 13px; padding: 9.5px; margin-top: 0px; margin-bottom: 10px; line-height: 1.42857; color: rgb(227, 227, 227); word-break: break-all; overflow-wrap: break-word; background-color: rgb(54, 69, 73); border: 1px solid rgb(41, 41, 41); border-radius: 4px; position: relative;&quot;&gt;go&amp;nbsp;env&amp;nbsp;-w&amp;nbsp;GO111MODULE=on
go&amp;nbsp;env&amp;nbsp;-w&amp;nbsp;GOPROXY=https://goproxy.cn,direct&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 10px; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, 微软雅黑, Arial, sans-serif; font-size: 15px; white-space: normal;&quot;&gt;然后再次使用 go get 下载 gin 依赖就可以了。为&lt;a href=&quot;https://portal.qiniu.com/signup?code=3ldtiuk3qiogi&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; style=&quot;box-sizing: border-box; color: rgb(51, 122, 183); text-decoration-line: none;&quot;&gt;七牛云&lt;/a&gt;点个赞。&lt;/p&gt;&lt;h2 style=&quot;box-sizing: border-box; font-family: &amp;quot;lucida grande&amp;quot;, &amp;quot;lucida sans unicode&amp;quot;, lucida, helvetica, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-weight: normal; line-height: 1.1; color: rgb(51, 51, 51); margin-top: 2.2em; margin-bottom: 2.4rem; font-size: 1.6em; border-bottom: 1px solid rgb(221, 221, 221); padding-bottom: 0.1em; white-space: normal;&quot;&gt;阿里云 Go Module 国内镜像仓库服务&lt;/h2&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 10px; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, 微软雅黑, Arial, sans-serif; font-size: 15px; white-space: normal;&quot;&gt;除了七牛云，还可以使用&lt;a href=&quot;https://www.aliyun.com/sale-season/2020/procurement-new-members?userCode=yxah0nq9&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; style=&quot;box-sizing: border-box; color: rgb(51, 122, 183); text-decoration-line: none;&quot;&gt;阿里云&lt;/a&gt;的 golang 国内镜像。&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 10px; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, 微软雅黑, Arial, sans-serif; font-size: 15px; white-space: normal;&quot;&gt;https://mirrors.aliyun.com/goproxy/&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 10px; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, 微软雅黑, Arial, sans-serif; font-size: 15px; white-space: normal;&quot;&gt;设置方法&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; overflow: auto; font-family: Inconsolata, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 13px; padding: 9.5px; margin-top: 0px; margin-bottom: 10px; line-height: 1.42857; color: rgb(227, 227, 227); word-break: break-all; overflow-wrap: break-word; background-color: rgb(54, 69, 73); border: 1px solid rgb(41, 41, 41); border-radius: 4px; position: relative;&quot;&gt;go&amp;nbsp;env&amp;nbsp;-w&amp;nbsp;GO111MODULE=on
go&amp;nbsp;env&amp;nbsp;-w&amp;nbsp;GOPROXY=https://mirrors.aliyun.com/goproxy/,direct&lt;/pre&gt;&lt;h2 style=&quot;box-sizing: border-box; font-family: &amp;quot;lucida grande&amp;quot;, &amp;quot;lucida sans unicode&amp;quot;, lucida, helvetica, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, sans-serif; font-weight: normal; line-height: 1.1; color: rgb(51, 51, 51); margin-top: 2.2em; margin-bottom: 2.4rem; font-size: 1.6em; border-bottom: 1px solid rgb(221, 221, 221); padding-bottom: 0.1em; white-space: normal;&quot;&gt;golang 版本&lt;/h2&gt;&lt;pre style=&quot;box-sizing: border-box; overflow: auto; font-family: Inconsolata, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 13px; padding: 9.5px; margin-top: 0px; margin-bottom: 10px; line-height: 1.42857; color: rgb(227, 227, 227); word-break: break-all; overflow-wrap: break-word; background-color: rgb(54, 69, 73); border: 1px solid rgb(41, 41, 41); border-radius: 4px; position: relative;&quot;&gt;&amp;gt;&amp;nbsp;go&amp;nbsp;version
go&amp;nbsp;version&amp;nbsp;go1.13&amp;nbsp;linux/amd64&lt;/pre&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/goproxy/goproxy.cn&quot;&gt;https://github.com/goproxy/goproxy.cn&lt;/a&gt;&amp;nbsp;使用链接&lt;/p&gt;</description><pubDate>Thu, 13 Aug 2020 23:06:07 +0800</pubDate></item></channel></rss><!--18.25 ms , 5 query , 1172kb memory , 0 error-->