<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>huyangpahuo</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://funingna-wakawaka.github.io/</id>
  <link href="https://funingna-wakawaka.github.io/" rel="alternate"/>
  <link href="https://funingna-wakawaka.github.io/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, huyangpahuo</rights>
  <title>huyangpahuo</title>
  <updated>2026-09-04T14:50:07.180Z</updated>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <content>
      <![CDATA[<p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a href="https://hexo.io/docs/troubleshooting.html">troubleshooting</a> or you can ask me on <a href="https://github.com/hexojs/hexo/issues">GitHub</a>.</p><h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">$ hexo new <span class="string">&quot;My New Post&quot;</span></span><br></code></pre></div></div><p>More info: <a href="https://hexo.io/docs/writing.html">Writing</a></p><h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">$ hexo server</span><br></code></pre></div></div><p>More info: <a href="https://hexo.io/docs/server.html">Server</a></p><h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">$ hexo generate</span><br></code></pre></div></div><p>More info: <a href="https://hexo.io/docs/generating.html">Generating</a></p><h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">$ hexo deploy</span><br></code></pre></div></div><p>More info: <a href="https://hexo.io/docs/one-command-deployment.html">Deployment</a></p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/24/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/hello-world/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/24/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/hello-world/"/>
    <published>2026-09-24T02:42:33.849Z</published>
    <summary>
      <![CDATA[<p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/">documentation</a> for]]>
    </summary>
    <title>Hello World</title>
    <updated>2026-09-04T14:50:07.180Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="日记" scheme="https://funingna-wakawaka.github.io/categories/%E6%97%A5%E8%AE%B0/"/>
    <category term="diary" scheme="https://funingna-wakawaka.github.io/tags/diary/"/>
    <content>
      <![CDATA[<h1 id="随着网站内容越来越多-不过也越来越卡"><a href="#随着网站内容越来越多-不过也越来越卡" class="headerlink" title="随着网站内容越来越多,不过也越来越卡"></a>随着网站内容越来越多,不过也越来越卡</h1><p>​<style>.ncijyojixojn{zoom:25%;}</style><img src="/2026/09/15/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E5%85%B3%E4%BA%8E%E7%BD%91%E7%AB%99%E5%8D%A1%E9%A1%BF/image-20260915144134858.webp" class="ncijyojixojn" alt="image-20260915144134858"></p><p>​<style>.phpixnowpsen{zoom:25%;}</style><img src="/2026/09/15/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E5%85%B3%E4%BA%8E%E7%BD%91%E7%AB%99%E5%8D%A1%E9%A1%BF/image-20260915144412380.webp" class="phpixnowpsen" alt="image-20260915144412380"></p><p>虽然实现了pjax,但是没有从根本上解决网站卡的问题</p><p>一方面是图片数量较多(主要是我比较爱截屏),约2300张</p><p>另一方面就是给网站添加的几种效果例如鼠标点击效果,桌宠,落叶,开屏动画等js交互效果,估计是什么地方没做好导致的</p><p>我在Ubuntu虚拟机试了一下其他有几百篇笔记的大佬的blog,但是他们的文章在虚拟机这种有限的条件下都能流畅阅读</p><p>而我的的连开屏动画都加载不出来</p><p>我不禁反思意林.jpg</p><p>其次就是我认为magzine不适合作为记笔记的blog,主要是查看笔记很困难,不过作为记载日常琐事中二想法堪称完美</p><p>为了避免这个问题我还专门vibe了一个文件夹样式方便我找笔记,可是依旧用的不顺手</p><p>​<style>.npytgsuezdil{zoom:25%;}</style><img src="/2026/09/15/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E5%85%B3%E4%BA%8E%E7%BD%91%E7%AB%99%E5%8D%A1%E9%A1%BF/image-20260915155923030.webp" class="npytgsuezdil" alt="image-20260915155923030"></p><p>不过我发现一个极简约且适合做笔记而且顺眼的Astro主题——<a href="https://citrusgrid.pages.dev/"><font color='#FF8C00'>citrusgrid</font></a></p><p>​<style>.rliynjbwsbuh{zoom:25%;}</style><img src="/2026/09/15/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E5%85%B3%E4%BA%8E%E7%BD%91%E7%AB%99%E5%8D%A1%E9%A1%BF/image-20260915173208305.webp" class="rliynjbwsbuh" alt="image-20260915173208305"></p><p>以后这个blog只存个人日记碎碎念,这几天把绝大部分blog内容迁移到新的网站即可</p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/15/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E5%85%B3%E4%BA%8E%E7%BD%91%E7%AB%99%E5%8D%A1%E9%A1%BF/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/15/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E5%85%B3%E4%BA%8E%E7%BD%91%E7%AB%99%E5%8D%A1%E9%A1%BF/"/>
    <published>2026-09-15T06:39:03.000Z</published>
    <summary>
      <![CDATA[<h1 id="随着网站内容越来越多-不过也越来越卡"><a href="#随着网站内容越来越多-不过也越来越卡" class="headerlink" title="随着网站内容越来越多,不过也越来越卡"></a>随着网站内容越来越多,不过也越来越卡</h1><p>​	<sty]]>
    </summary>
    <title>关于网站卡顿</title>
    <updated>2026-09-15T14:47:38.780Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="日记" scheme="https://funingna-wakawaka.github.io/categories/%E6%97%A5%E8%AE%B0/"/>
    <category term="diary" scheme="https://funingna-wakawaka.github.io/tags/diary/"/>
    <content>
      <![CDATA[<h1 id="前两天我用Zcode做了一个wpf软件"><a href="#前两天我用Zcode做了一个wpf软件" class="headerlink" title="前两天我用Zcode做了一个wpf软件"></a>前两天我用Zcode做了一个wpf软件</h1><blockquote><p>本文为个人进入大三后的一些日常中二琐念,望周知</p></blockquote><p>主要是我拍照时在想能不能做一个把图片风格化的软件,然后就说干就干了</p><p>消耗token 约两亿,仅仅只用了两天…..而且效果还不错,但是bug也多,glm 5.3区区~太菜了</p><p>要是用上高贵的gpt的astra大人就好了</p><p>真的是极致生产力,不过我也累,主要是决策权在我这里</p><p>如果一个人加上四五个agent,提需求+反复纠错+可持续维护的架构,可能不到一个星期就创造出来一个商业化标准的东西</p><p>此时人的创造力可以极大地发挥,项目立马就能落地</p><p>看QQ里大佬聊天可以知道,现在AI接Blender MCP已经可以建模了,而且还不赖,听他们说只用了一天就能制作出一个游戏3D场景,换以前至少5到6天甚至半个月</p><p>这里就不聊这种了,其实不过是瓦特蒸汽机和手工纺织机的区别,对AI也没什么可焦虑的,当工具用呗</p><p>不过有一点比较讽刺,想鹤立鸡群,就得变成像AI一样的人,然后大家都拥护祂,赞誉祂,学习祂,一辈子活在别人的评价</p><p>估计这也是那些的诺贝尔奖的人或者著名政治人物的遭遇吧,也就是所谓的“他人即地狱”或者“人怕出名猪怕壮”</p><p>他人注视下和没人注视下是两种截然不同的样子</p><h2 id="迷茫"><a href="#迷茫" class="headerlink" title="迷茫"></a>迷茫</h2><p>唯一焦虑的是,我以后到底干什么</p><p>考研? 我数学不是太好,我也不想一直被限制在学校,但我也不想立马就走出社会</p><blockquote><p>因为暑假我去打了一个月暑假工,然后打工期间去旅游,厂里完美印证了资本家的模样</p><p>从来不把员工当人,而是可替代的螺丝钉,我估计互联网公司也大差不差</p></blockquote><p>毕竟AI代表的从来不是人与机器的竞争,而是人与人</p><p>如果程序这玩意只是我自己学着玩的话,确实非常好玩,每天乐此不疲</p><p>但如果必须靠这个东西吃饭,而且自己随时会被淘汰,整天两点一线,没日没夜的盯着屏幕,一坐坐一天,而且自己的全部心思都被工作内容占领</p><p>我就对其产生了深深的厌恶,这就是所谓的终身学习?maybe</p><p>这样其实有点太被动了,人的注意力是有限的,而且大家都是爱偷懒的</p><p>就问有洗衣机,你还手洗吗?</p><p>你可能说,手洗是每个人必备技能,确实没有问题,但我高中手洗了三年衣服老资历,洗衣机比手洗干净多了</p><p>如果你想要学习或者创造,那就必须从一天总的注意力分出来这部分用来搞这些,剩下的用来吃饭娱乐睡觉</p><p>当然也可以花一整天打游戏或者睡觉,但是注意力总量不变</p><p>不过现实生活确实无聊透顶,群体社会生物比如蚁群蜂群猴群会表现出一个明显的必然趋势就是—–去除差异,优先同质</p><p>吃相同的饭,刷相同的视频,打相同的游戏,去相同的地方,说相同的说辞,讲相同的故事……..</p><p>so fucking boring,但也是无可奈何,你也不希望自己生病了吃药发现对自己没用吧,同质化有利于提高群体的生存几率</p><p>包括娱乐也是,一些人消耗自己的注意力创造事物,另一些人而消耗自己的注意力消费事物,也就是经济世界的无形的大手,俗称<strong>利己也言他</strong></p><p>记得乔布斯说“悲观者永远正确,乐观者永远前行”,大概就是如此吧</p><h2 id="对金钱的思考"><a href="#对金钱的思考" class="headerlink" title="对金钱的思考"></a>对金钱的思考</h2><blockquote><p>如果你对大人们说：“我看到一幢漂亮的红砖房子，窗户上有天竺葵，屋顶上有鸽子……”他们想象不出这幢房子是什么样子。</p><p>你得对他们说：“我看到一幢价值十万法郎的房子。”</p><p>他们就会惊呼：“那一定很漂亮！”</p><p>——《小王子》</p></blockquote><p>钱的作用大概就是劳动价值交换,比如我今天想要吃东西,但是我不想做饭,然后楼下的小摊老板在卖煎饼,</p><p>一个煎饼的价值大概6~7块,我省去了做饭的时间和精力甚至是学习做煎饼的过程获得了煎饼</p><p>你主动接近某个人,一定是因为对方身上有你想要的东西,如金钱,权利,知识甚至是,你懂得<font color='#FFD700'>狗头狗头</font></p><p>你主动雇佣某个人,一定是因为需要对方拥有你想要的某种能力或者想要支配某个人成为你的工具</p><p>所以人是利己主义者,自私是写在DNA里代代相传的,可能是因为在自然选择中,拥有利己的基因的群体更容易生存? 这就无法考证了,但是明显团体合作的优势远远大于独自为营,这对每个人都有好处,所以从根本上还是利己主义噶</p><p>而那些免费提供的事物,比如zcode或openai发免费token,然后大家趋之若鹜,然后对其产生莫名好感从而依赖,也就是免费的就是最贵的</p><p>大家呼吁停止战争,是因为不希望战争发生到自己身上,</p><p>不希望有人伤害未成年,是因为不希望自家小孩受害</p><p>严厉打击贩毒诈骗,是因为不想自己或亲人受害</p><p>想这些有的没的还不如玩一会我的世界和使命召唤……….不过就是停不住想这些,前几天大脑有点超频,每天晚上都睡不着,脑子一个小时想几百件事,头痛的要死</p><p>今天中午睡觉时还做了一个梦,梦见我做了一个梦,然后我在梦里写下了这个梦,梦里是我在一个类似雅典神庙的特庄严的场景,周围全是士兵整整齐齐的站着,台子上站着一堆高官,一个士兵看到我了,向我走来,然后忘记了,</p><p>诺兰的盗梦空间还是太权威了</p><p>所以这种话题没有太大的意义,谈论的太多反而觉得现实残酷</p><p>有的时候我觉得一个月4000就很好了,4000~6000可以每天都可以大吃大喝还能存点钱,但是如果代入房租,生病,求学巴拉巴拉,就会变成月光族还欠一堆债</p><p>只是我们总是会接触到形形色色的人,遇到不同的人戴不同的面具,然后快速判断对方“有用”or ”无用”</p><p>经典的营销号的“社金的手腕”“食人鼠”“人性的咪咪”</p><p>如果你想要月薪3万,那想必你的雇佣者要从你身上获得至少6万的价值</p><p>这个我玩小丑牌的时候深有所感,</p><p>比方说<strong>木星同花牌</strong>是我最爱用的牌型</p><p>如果一个牌能持续让我赢,我会优先使用它,一直使用它,狠狠使用它,直到它在某个场景没用比如“眼睛”或者“针”还有“公牛”等boss盲注情况下以及部分限制同花的牌组</p><div class="hide-toggle">    <div class="hide-toggle-title">游戏截图</div>    <div class="hide-toggle-content"><p>​<style>.frtidbkvsisg{zoom:25%;}</style><img src="/2026/09/14/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E7%84%A6%E8%99%91/image-20260915223023040.webp" class="frtidbkvsisg" alt="image-20260915223023040"></p><p>​<style>.trlxqihixktu{zoom:25%;}</style><img src="/2026/09/14/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E7%84%A6%E8%99%91/image-20260915223114044.webp" class="trlxqihixktu" alt="image-20260915223114044"></p><p>​<style>.wbkoqmfdvndq{zoom:25%;}</style><img src="/2026/09/14/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E7%84%A6%E8%99%91/image-20260915223148491.webp" class="wbkoqmfdvndq" alt="image-20260915223148491"></p><p>​<style>.wrlkrmcyrxws{zoom:25%;}</style><img src="/2026/09/14/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E7%84%A6%E8%99%91/image-20260915223159268.webp" class="wrlkrmcyrxws" alt="image-20260915223159268"></p><p>​<style>.ckhuueopibro{zoom:25%;}</style><img src="/2026/09/14/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E7%84%A6%E8%99%91/image-20260915223210833.webp" class="ckhuueopibro" alt="image-20260915223210833"></p><p>​<style>.vcjkkkrcivdq{zoom:25%;}</style><img src="/2026/09/14/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E7%84%A6%E8%99%91/image-20260915223230996.webp" class="vcjkkkrcivdq" alt="image-20260915223230996"></p><p>​<style>.xwdkwirgxsqn{zoom:25%;}</style><img src="/2026/09/14/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E7%84%A6%E8%99%91/image-20260915223242340.webp" class="xwdkwirgxsqn" alt="image-20260915223242340"></p></div>  </div><p>不过LocalTrunk对赌博老虎机的机制真的发挥到了极致啊~我基本上玩上瘾了</p><p>这也是为什么小丑牌能大卖的原因之一</p><p>很多独立游戏制作者常常抱怨自己的游戏没人玩,但是说实话,他们自己大概率也不喜欢</p><p>虽然游戏做多了就会丧失判断能力…..</p><p>这就产生了一个思考:</p><ul><li>我喜欢的东西,别人大概率也喜欢</li><li>我追求的玩意,别人大概率也追求</li><li>我厌恶的事物,别人大概率也讨厌</li></ul><p>想起二次元,二次元大多数00后都喜欢,这玩意大概是在日本经济危机期间诞生,然后20年内兴起,到今天发展为完整的产业链,谷子,手办,cosplay,漫展乃至哔哩哔哩和nekoneko这些平台的诞生</p><p>人见人爱,且象征着 完美,美好,永恒,强大,幸福,当然还有色欲,控制欲和强暴欲以及占有欲等原始本能</p><p>大概就是人处于低谷期就容易胡思乱想,会倾向于逃避现实,然后创造虚拟内容的同时反过来影响现实,类似于生态系统中的负反馈循环</p><p>不过这么想确实以偏概全,但还是刻板印象,之前看小钟jonny拍的非洲,菲律宾等地区的视频觉得,其实人类没什么区别,很多时候是傲慢与偏见导致的刻板印象</p><p>上次去上海时在坐地铁时,一个小女孩问她的妈妈今年为什么不去日本玩了,然后妈妈解释巴拉巴拉</p><p>相比大多数家庭这其实已经很好了,我爸妈除了河南哪也没去过,唯一的远行还是送我去大学</p><p>突然想到什么是幸福? 好像这个问题中二且无解,不过幸福大概就是躺在床上睡到自然醒然后立马去吃饭,然后看看电视和书以及打游戏等这些其他人创造的价值,洗个澡继续睡——–我去,我怎么跟电锯人里的电次一样</p><p>因为一直在提高标准,就永远达不到令自己满意的点,就永远在策马奔腾</p><p>抑郁的人活在过去,焦虑的人活在未来两个,其实都挺极端的,因为两者都象征着死亡,都会激活大脑“我面临死亡”的区域,抑郁人常常想的是“我不拥有美好”,焦虑者常常想的是“我要失去美好”</p><p>而我大概两边都沾一点吧,所以有点神经病,就好像脑子里有两个人格在chat,然后你可以看到我有强大的自言自语自娱自乐的行为…….</p><p>不想那么多了,不知不觉废话文学了几千字,还不如刷刷视频打游戏,人生已经过了1&#x2F;4了,只是现在处于最好的年纪罢了,还是好好珍惜吧</p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/14/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E7%84%A6%E8%99%91/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/14/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E7%84%A6%E8%99%91/"/>
    <published>2026-09-14T11:56:35.000Z</published>
    <summary>
      <![CDATA[<h1 id="前两天我用Zcode做了一个wpf软件"><a href="#前两天我用Zcode做了一个wpf软件" class="headerlink" title="前两天我用Zcode做了一个wpf软件"></a>前两天我用Zcode做了一个wpf软件</h1><bloc]]>
    </summary>
    <title>焦虑</title>
    <updated>2026-09-16T11:27:41.183Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="软件推荐" scheme="https://funingna-wakawaka.github.io/categories/%E8%BD%AF%E4%BB%B6%E6%8E%A8%E8%8D%90/"/>
    <category term="software" scheme="https://funingna-wakawaka.github.io/tags/software/"/>
    <content>
      <![CDATA[<h1 id="为主题添加了鼠标指针-当然我觉得我的电脑鼠标指针很好看-于是就将其转换为前端可用版本"><a href="#为主题添加了鼠标指针-当然我觉得我的电脑鼠标指针很好看-于是就将其转换为前端可用版本" class="headerlink" title="为主题添加了鼠标指针,当然我觉得我的电脑鼠标指针很好看,于是就将其转换为前端可用版本"></a>为主题添加了鼠标指针,当然我觉得我的电脑鼠标指针很好看,于是就将其转换为前端可用版本</h1><h2 id="web-cursor-converter-skill-Windows-光标包-→-网页动画光标"><a href="#web-cursor-converter-skill-Windows-光标包-→-网页动画光标" class="headerlink" title="web-cursor-converter skill(Windows 光标包 → 网页动画光标)"></a>web-cursor-converter skill(Windows 光标包 → 网页动画光标)</h2><p>你可以前往我的<a href="https://github.com/huyangpahuo/web-cursor-converter-skill">Github仓库</a>下载哦</p><p>位置:<a href=".agents/skills/web-cursor-converter/"><code>.agents/skills/web-cursor-converter/</code></a></p><p>把网上下载的 Windows 光标包(<code>.ani</code> 动画 &#x2F; <code>.cur</code> 静态)转换成浏览器可用的动画鼠标指针:逐帧抽成 PNG + 热点坐标 + <code>data.js</code> 清单,配合 skill 自带的 CSS&#x2F;JS 模板用 CSS 变量逐帧播放(浏览器原生不支持 .ani 动画光标)</p><p><strong>给别人用</strong>:整个 <code>web-cursor-converter/</code> 文件夹拷给对方,放进他们的 <code>.agents/skills/</code> 目录(放用户目录 <code>~/.agents/skills/</code> 则全局可用),<code>pip install pillow</code>,然后对 AI 说”把 XXX 光标包做成网页鼠标指针”即可</p><p><strong>本博客的 regenerate</strong>:博客当前的阿尼亚光标资源在 <code>themes/magzine/source/cursors/anya/</code>(由该 skill 生成,勿手改)。想换尺寸或换光标包时:</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">python .agents/skills/web-cursor-converter/scripts/cursor_convert.py &lt;光标包目录&gt; themes/magzine/source/cursors/anya 32</span><br></code></pre></div></div><p>注意:前端 <code>themes/magzine/source/js/anya-cursor.js</code> 读取的是 <code>window.ANYA_CURSOR</code>,skill 生成的是 <code>window.WEB_CURSOR</code>,重新生成后把 data.js 里的变量名改回 <code>ANYA_CURSOR</code> 即可(或把 js 里两处引用同步改掉)。</p><p>开关:主题 <code>_config.yml</code> 里 <code>cursor.enable</code></p><h2 id="感谢ty-lattanan提供这么可爱的鼠标指针"><a href="#感谢ty-lattanan提供这么可爱的鼠标指针" class="headerlink" title="感谢ty_lattanan提供这么可爱的鼠标指针!"></a>感谢ty_lattanan提供这么可爱的鼠标指针!</h2><div class="hexo-video-embed"><blockquote class="instagram-media" data-instgrm-permalink="https://www.instagram.com/reel/CfNbAZelpGz" data-instgrm-version="14" style="max-width: 540px; width: calc(100% - 2px); margin: 0 auto;">  <section>    <a href="https://www.instagram.com/reel/CfNbAZelpGz" target="_blank" rel="noopener">在 Instagram 上查看这篇帖子</a>  </section></blockquote><script async src="https://www.instagram.com/embed.js"></script><script>window.instgrm && window.instgrm.Embeds.process();</script></div><p>如果你也想用同款鼠标指针<a href="https://www.deviantart.com/omerawg/art/AnayaCursorSetup-920950054">点击前往下载</a></p><p>或者你也可以给原作者<a href="https://www.deviantart.com/users/outgoing?https://www.buymeacoffee.com/BySuspect">买一杯咖啡</a>~~</p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/14/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%AE%A9ai%E5%88%B6%E4%BD%9C%E4%BA%86%E4%B8%80%E4%B8%AAWindows%E9%BC%A0%E6%A0%87%E6%8C%87%E9%92%88%E8%BD%AC%E6%8D%A2%E4%B8%BA%E5%89%8D%E7%AB%AFskill/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/14/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%AE%A9ai%E5%88%B6%E4%BD%9C%E4%BA%86%E4%B8%80%E4%B8%AAWindows%E9%BC%A0%E6%A0%87%E6%8C%87%E9%92%88%E8%BD%AC%E6%8D%A2%E4%B8%BA%E5%89%8D%E7%AB%AFskill/"/>
    <published>2026-09-13T17:49:16.000Z</published>
    <summary>
      <![CDATA[<h1 id="为主题添加了鼠标指针-当然我觉得我的电脑鼠标指针很好看-于是就将其转换为前端可用版本"><a href="#为主题添加了鼠标指针-当然我觉得我的电脑鼠标指针很好看-于是就将其转换为前端可用版本" class="headerlink" title="为主题添加了鼠标]]>
    </summary>
    <title>让ai制作了一个Windows鼠标指针转换为前端skill.md</title>
    <updated>2026-09-14T01:46:34.040Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="测试" scheme="https://funingna-wakawaka.github.io/categories/%E6%B5%8B%E8%AF%95/"/>
    <content>
      <![CDATA[<p>这段文字用于测试默认光标。下面这张是<strong>普通图片</strong>(img 写法),点击应打开全篇图片查看器:</p><style>.sybhfdvdlxfm{}</style><img src="/2026/09/14/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%BD%AE%E6%92%AD%E5%9B%BE%E6%A0%87%E7%AD%BE%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B/3.webp" class="sybhfdvdlxfm" alt="普通图片"><h2 id="用-img-标签写的轮播"><a href="#用-img-标签写的轮播" class="headerlink" title="用 img 标签写的轮播"></a>用 img 标签写的轮播</h2><div class="carousel has-caption" data-interval="5000" style="--carousel-h:480px;--carousel-fit:contain;" role="region" aria-roledescription="轮播图" aria-label="图片轮播" tabindex="0"><div class="carousel-viewport"><div class="carousel-track"><figure class="carousel-slide active"><img src="/2026/09/14/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%BD%AE%E6%92%AD%E5%9B%BE%E6%A0%87%E7%AD%BE%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B/0.webp" alt="第一张的说明" draggable="false"/></figure><figure class="carousel-slide"><img src="/2026/09/14/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%BD%AE%E6%92%AD%E5%9B%BE%E6%A0%87%E7%AD%BE%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B/13.webp" alt="" loading="lazy" draggable="false"/></figure><figure class="carousel-slide"><img src="/2026/09/14/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%BD%AE%E6%92%AD%E5%9B%BE%E6%A0%87%E7%AD%BE%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B/17.webp" alt="第三张的说明" loading="lazy" draggable="false"/></figure></div><button class="carousel-arrow carousel-prev" type="button" aria-label="上一张">&#10094;</button><button class="carousel-arrow carousel-next" type="button" aria-label="下一张">&#10095;</button></div><figcaption class="carousel-caption active" data-index="0">第一张的说明</figcaption><figcaption class="carousel-caption" data-index="2">第三张的说明</figcaption><div class="carousel-dots"><button class="carousel-dot active" type="button" data-index="0" aria-label="跳到第1张"></button><button class="carousel-dot" type="button" data-index="1" aria-label="跳到第2张"></button><button class="carousel-dot" type="button" data-index="2" aria-label="跳到第3张"></button></div><div class="carousel-counter">1 / 3</div></div><h2 id="用-Markdown-写的轮播"><a href="#用-Markdown-写的轮播" class="headerlink" title="用 Markdown 写的轮播"></a>用 Markdown 写的轮播</h2><div class="carousel has-caption" data-interval="0" style="--carousel-h:480px;--carousel-fit:contain;" role="region" aria-roledescription="轮播图" aria-label="图片轮播" tabindex="0"><div class="carousel-viewport"><div class="carousel-track"><figure class="carousel-slide active"><img src="/2026/09/14/软件相关/轮播图标签使用示例/22.webp" alt="" draggable="false"/></figure><figure class="carousel-slide"><img src="/2026/09/14/软件相关/轮播图标签使用示例/26.webp" alt="带说明的图片" loading="lazy" draggable="false"/></figure></div><button class="carousel-arrow carousel-prev" type="button" aria-label="上一张">&#10094;</button><button class="carousel-arrow carousel-next" type="button" aria-label="下一张">&#10095;</button></div><figcaption class="carousel-caption" data-index="1">带说明的图片</figcaption><div class="carousel-counter">1 / 2</div></div><p>说明:窗口高度默认固定 480px(手机端自动收缩),图片等比缩放不裁剪;<br>可用 <code>height=360</code> 调整高度,<code>ratio=16:9</code> 切换为宽高比模式,<code>fit=cover</code> 改为裁剪铺满。</p><p>点击轮播图当前显示的图片,会打开图片查看器,和全篇其他图片<strong>按出现顺序一起翻阅</strong>;<br>按住左右拖动则是切换轮播,不会打开查看器,也不会拖出系统重影。</p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/14/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%BD%AE%E6%92%AD%E5%9B%BE%E6%A0%87%E7%AD%BE%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/14/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%BD%AE%E6%92%AD%E5%9B%BE%E6%A0%87%E7%AD%BE%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B/"/>
    <published>2026-09-13T16:30:00.000Z</published>
    <summary>
      <![CDATA[<p>这段文字用于测试默认光标。下面这张是<strong>普通图片</strong>(img 写法),点击应打开全篇图片查看器:</p>
<style>.sybhfdvdlxfm{}</style><img src="/2026/09/14/%E8%BD%AF%E4%BB%B6%]]>
    </summary>
    <title>轮播图标签使用示例(测试完可删除)</title>
    <updated>2026-09-13T17:19:48.085Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="Twikoo" scheme="https://funingna-wakawaka.github.io/categories/Twikoo/"/>
    <category term="Telegram" scheme="https://funingna-wakawaka.github.io/tags/Telegram/"/>
    <category term="Twikoo" scheme="https://funingna-wakawaka.github.io/tags/Twikoo/"/>
    <content>
      <![CDATA[<h1 id="关于twikoo评论我一般看不到大家发了什么-所以试试Telegram推送吧"><a href="#关于twikoo评论我一般看不到大家发了什么-所以试试Telegram推送吧" class="headerlink" title="关于twikoo评论我一般看不到大家发了什么,所以试试Telegram推送吧"></a>关于twikoo评论我一般看不到大家发了什么,所以试试Telegram推送吧</h1><p>首先我们需要知道twikoo使用了<a href="https://pushoo.js.org/">pushoo</a>来推送消息</p><p>支持各种平台,包括Telegram</p><p>​<style>.omumgtkhtdiz{zoom:67%;}</style><img src="/2026/09/13/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E9%85%8D%E7%BD%AETwikoo%E7%9A%84Telegram%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81/image-20260913222252745.webp" class="omumgtkhtdiz" alt="image-20260913222252745"></p><h2 id="获取token"><a href="#获取token" class="headerlink" title="获取token"></a>获取token</h2><p>​<style>.qvmajusmqnoh{zoom:25%;}</style><img src="/2026/09/13/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E9%85%8D%E7%BD%AETwikoo%E7%9A%84Telegram%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81/image-20260913222420147.webp" class="qvmajusmqnoh" alt="image-20260913222420147"></p><p>​<style>.iywanvcymihn{zoom:25%;}</style><img src="/2026/09/13/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E9%85%8D%E7%BD%AETwikoo%E7%9A%84Telegram%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81/image-20260913222445047.webp" class="iywanvcymihn" alt="image-20260913222445047"></p><p>就是如上所说把 <a href="https://t.me/BotFather">@BotFather</a>的token和 <a href="https://t.me/userinfobot">@userinfobot</a>的id用  <code>#</code>拼在一起</p><h2 id="关闭vercel的登录验证"><a href="#关闭vercel的登录验证" class="headerlink" title="关闭vercel的登录验证"></a>关闭vercel的登录验证</h2><p>如果你是和我一样用vercel部署的twikoo就需要关闭此项,否则会被vercel拦截 tg 机器人的推送</p><p>​<style>.cltbpwqnelfw{zoom:25%;}</style><img src="/2026/09/13/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E9%85%8D%E7%BD%AETwikoo%E7%9A%84Telegram%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81/image-20260913222938520.webp" class="cltbpwqnelfw" alt="image-20260913222938520"></p><h2 id="打开twikoo设置面板"><a href="#打开twikoo设置面板" class="headerlink" title="打开twikoo设置面板"></a>打开twikoo设置面板</h2><p>​<style>.gkiyokpkvfwy{zoom: 50%;}</style><img src="/2026/09/13/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E9%85%8D%E7%BD%AETwikoo%E7%9A%84Telegram%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81/image-20260913223145007.webp" class="gkiyokpkvfwy" alt="image-20260913223145007"></p><p>然后我们发一条测试</p><p>​<style>.llngtmewxljo{zoom:33%;}</style><img src="/2026/09/13/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E9%85%8D%E7%BD%AETwikoo%E7%9A%84Telegram%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81/image-20260913223241896.webp" class="llngtmewxljo" alt="image-20260913223241896"></p><p>此时Telegram机器人就给我们推送消息了,非常nice</p><p>​<style>.lwpxoioxlqcb{zoom:25%;}</style><img src="/2026/09/13/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E9%85%8D%E7%BD%AETwikoo%E7%9A%84Telegram%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81/image-20260913223329782.webp" class="lwpxoioxlqcb" alt="image-20260913223329782"></p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/13/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E9%85%8D%E7%BD%AETwikoo%E7%9A%84Telegram%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/13/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E9%85%8D%E7%BD%AETwikoo%E7%9A%84Telegram%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81/"/>
    <published>2026-09-13T14:16:17.000Z</published>
    <summary>
      <![CDATA[<h1 id="关于twikoo评论我一般看不到大家发了什么-所以试试Telegram推送吧"><a href="#关于twikoo评论我一般看不到大家发了什么-所以试试Telegram推送吧" class="headerlink" title="关于twikoo评论我一般看不到]]>
    </summary>
    <title>配置Twikoo的Telegram消息推送</title>
    <updated>2026-09-13T14:45:06.988Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="软件推荐" scheme="https://funingna-wakawaka.github.io/categories/%E8%BD%AF%E4%BB%B6%E6%8E%A8%E8%8D%90/"/>
    <category term="software" scheme="https://funingna-wakawaka.github.io/tags/software/"/>
    <content>
      <![CDATA[<h1 id="视频插入功能说明"><a href="#视频插入功能说明" class="headerlink" title="视频插入功能说明"></a>视频插入功能说明</h1><p>本站通过自研的 <code>&#123;% video %&#125;</code> 标签在文章和万花筒(碎碎念)页面插入视频。本文档介绍该功能的完整明细:支持的平台、链接格式、嵌入方式、通用行为,以及相关文件位置。</p><hr><h2 id="一、基本用法"><a href="#一、基本用法" class="headerlink" title="一、基本用法"></a>一、基本用法</h2><p>在文章(Markdown)中:</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">&#123;% video https://www.bilibili.com/video/BV1P18y6jEkV %&#125;</span><br></code></pre></div></div><p>支持”标题 + 链接”的格式(微信&#x2F;B站 App 复制出来的带标题链接可直接粘贴,标签会自动忽略标题只取链接):</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">&#123;% video 【当大肥鱼吃完你的token后……-哔哩哔哩】 https://b23.tv/PyOivuf %&#125;</span><br></code></pre></div></div><p>协议相对链接也可以(<code>https:</code> 前缀可省略):</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">&#123;% video //www.huya.com/video/play/1117994220.html %&#125;</span><br></code></pre></div></div><hr><h2 id="二、平台支持明细"><a href="#二、平台支持明细" class="headerlink" title="二、平台支持明细"></a>二、平台支持明细</h2><table><thead><tr><th>平台</th><th>支持的链接形式</th><th>嵌入方式</th></tr></thead><tbody><tr><td>哔哩哔哩</td><td>BV 号链接(可带任意参数、可带标题)、<code>b23.tv</code> 手机短链、官方分享嵌入链接(<code>player.bilibili.com</code>)</td><td>B站官方播放器 iframe。BV 链接构建时调 B站开放接口取 <code>aid/cid</code>,按官方”分享-嵌入代码”同款 <code>isOutside=true</code> 形式生成(外链风控概率更低),接口失败自动回退;直接粘贴的 <code>player.bilibili.com</code> 链接原样使用,但<strong>强制关闭自动播放</strong>(自动补 <code>autoplay=0&amp;danmaku=0</code>)</td></tr><tr><td>AcFun</td><td><code>www.acfun.cn/v/acXXX</code>、手机端 <code>m.acfun.cn/v/?ac=XXX</code></td><td>AcFun 官方播放器 iframe</td></tr><tr><td>虎牙</td><td>直播间 <code>huya.com/房间号</code>、手机短链 <code>hy.fan/xxx</code>、已有嵌入链 <code>liveshare.huya.com/iframe/x</code>、录像 <code>huya.com/video/play/ID.html</code>、VOD 链接</td><td><strong>点击加载占位卡</strong>(见下文)</td></tr><tr><td>YouTube</td><td><code>youtu.be/ID</code>、<code>youtube.com/watch?v=ID</code>、<strong>Shorts 短视频链接</strong></td><td>YouTube(nocookie)播放器 iframe</td></tr><tr><td>Twitter &#x2F; X</td><td><code>x.com/用户/status/ID</code>(可带 <code>/video/1</code> 等后缀与分享参数)</td><td>官方 blockquote 富卡片(widgets.js 自适应高度)</td></tr><tr><td>TikTok</td><td><code>tiktok.com/@用户/video/ID</code></td><td>官方 blockquote 富卡片(embed.js)</td></tr><tr><td>Instagram</td><td><code>instagram.com/reel/ID</code>、<code>/p/ID</code>、<code>/tv/ID</code>(手机端 <code>/reels/</code> 也支持)</td><td>官方 blockquote 富卡片(embed.js)</td></tr><tr><td>Facebook</td><td><strong>仅完整链接</strong>:<code>facebook.com/reel/ID</code>、<code>facebook.com/主页/videos/ID</code>、<code>watch?v=ID</code></td><td>官方 fb-video 富卡片(Facebook SDK)</td></tr><tr><td>Twitch</td><td>直播 <code>twitch.tv/频道</code>、录像 <code>/videos/ID</code>、手机录像 <code>/v/ID</code></td><td>Twitch 官方播放器 iframe</td></tr><tr><td>Vimeo</td><td><code>vimeo.com/数字ID</code></td><td>Vimeo 官方播放器 iframe</td></tr><tr><td>Niconico</td><td><code>nicovideo.jp/watch/smXXXX</code>(soXXXX 同理)</td><td>官方嵌入 iframe</td></tr></tbody></table><h3 id="明确不支持的形式"><a href="#明确不支持的形式" class="headerlink" title="明确不支持的形式"></a>明确不支持的形式</h3><table><thead><tr><th>形式</th><th>生成时的表现</th></tr></thead><tbody><tr><td>Facebook 分享短链 <code>facebook.com/share/r/xxx</code>、<code>fb.watch/xxx</code></td><td>显示红色提示”不支持 Facebook 分享短链,请粘贴完整链接”(不联网解析)</td></tr><tr><td>B站直播 <code>live.bilibili.com</code>、AcFun 直播 <code>live.acfun.cn</code></td><td>显示”不支持的视频链接”(两家均无公开嵌入播放器)</td></tr><tr><td>无法识别的链接</td><td>显示”不支持的视频链接”,建议直接粘贴平台嵌入代码</td></tr></tbody></table><h3 id="关于-YouTube-短视频-Shorts"><a href="#关于-YouTube-短视频-Shorts" class="headerlink" title="关于 YouTube 短视频(Shorts)"></a>关于 YouTube 短视频(Shorts)</h3><p><code>youtube.com/shorts/ID</code> 会被<strong>自动转换为普通 YouTube 视频嵌入</strong>,使用统一的 16:9 响应式容器。竖屏画面由 YouTube 播放器自行加黑边显示,<strong>任何情况下不会拉伸变形</strong>。不存在单独的”竖屏样式”。</p><h3 id="关于富卡片弱网占位"><a href="#关于富卡片弱网占位" class="headerlink" title="关于富卡片弱网占位"></a>关于富卡片弱网占位</h3><p>TikTok &#x2F; Instagram &#x2F; Twitter &#x2F; Facebook 的富卡片在平台脚本加载完成前会显示轻量的占位引言(仅一行链接)。占位样式<strong>不设最小宽度</strong>,窄屏(手机)下始终跟随文章容器宽度,不会把版面撑出横向滚动。</p><hr><h2 id="三、通用行为"><a href="#三、通用行为" class="headerlink" title="三、通用行为"></a>三、通用行为</h2><ol><li><p><strong>不自动播放</strong>:所有平台嵌入均显式关闭自动播放(YouTube&#x2F;Vimeo&#x2F;Twitch&#x2F;B站 均带 <code>autoplay=0</code> 类参数,Facebook 卡片 <code>data-autoplay=&quot;false&quot;</code>)。</p></li><li><p><strong>虎牙点击加载占位卡</strong>:虎牙播放器无法通过参数关闭自动播放,因此直播与录像一律渲染为黑色占位卡(播放按钮 + “点击加载 · 不自动播放”),由前端脚本 <code>js/video-embed.js</code> 在访客点击后才插入 iframe。</p></li><li><p><strong>占位卡”单播放”效果</strong>:点开任一视频时,页面上其它<strong>已展开的</strong>占位卡会自动收回到封面(对虎牙直播即断开直播流,等效暂停)。其余平台(YouTube&#x2F;B站等)的播放器位于跨域 iframe 内部,网页没有可靠的控制接口,不做强制暂停。</p></li><li><p><strong>统一容器样式</strong>:16:9 响应式、圆角 8px、阴影、水平居中;宽度随内容列自适应,任何屏幕不发生形变。TikTok 固定 325px、Instagram&#x2F;Facebook 富卡片最大 540px、Twitter 最大 500px。</p></li><li><p><strong>pjax 兼容</strong>:所有交互脚本基于事件委托并挂全局,主题无感刷新(万花筒&#x2F;文章页)后功能自动生效;blockquote 富卡片的平台脚本在 pjax 换页后会自动重新处理新内容。</p></li><li><p><strong>构建期短链解析(仅国内)</strong>:<code>b23.tv</code> 与 <code>hy.fan</code> 在构建时直连跟随跳转解析为完整链接,失败时文章中显示红色提示”短链解析失败”,不影响其它内容生成。</p></li><li><p>**【重要】**Twitch 要求必须指定 parent 参数为你的博客域名,所以本地localhost无法预览会被twitch拒绝访问</p><p>只有部署之后才能查看</p></li></ol><hr><h2 id="四、万花筒-碎碎念-页面使用"><a href="#四、万花筒-碎碎念-页面使用" class="headerlink" title="四、万花筒(碎碎念)页面使用"></a>四、万花筒(碎碎念)页面使用</h2><p>数据文件:<code>source/_data/murmur.yml</code>,在条目中加 <code>video</code> 字段即可:</p><div class="codecard" data-lang="yaml"><div class="codecard-header"><span class="codecard-lang">YAML</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-yaml"><span class="bullet">-</span> <span class="attr">date:</span> <span class="string">&quot;2025-6-1&quot;</span>  <span class="attr">content:</span> <span class="string">&quot;分享一个视频&quot;</span>  <span class="attr">video:</span> <span class="string">&quot;https://www.bilibili.com/video/BV12b4y147DE&quot;</span></span><br></code></pre></div></div><p>支持的平台与文章基本一致(同一套解析规则)。两点差异:</p><ul><li>万花筒渲染为同步模板,<code>b23.tv</code>、<code>hy.fan</code> 短链不做构建期跳转解析,请直接填写完整链接;Facebook 分享短链同样不支持(会显示提示);</li><li>B站链接在万花筒同样会构建时调开放接口生成官方 <code>isOutside</code> 形式播放器(与文章一致);也可以直接粘贴 <code>player.bilibili.com</code> 官方分享链接(会强制关闭自动播放)。</li></ul><hr><h2 id="五、错误提示对照"><a href="#五、错误提示对照" class="headerlink" title="五、错误提示对照"></a>五、错误提示对照</h2><table><thead><tr><th>提示</th><th>原因</th><th>处理办法</th></tr></thead><tbody><tr><td><code>[短链解析失败: 链接]</code></td><td>b23.tv &#x2F; hy.fan 构建时跳转失败(断网或链接失效)</td><td>换成完整视频链接</td></tr><tr><td><code>[不支持 Facebook 分享短链: 链接]</code></td><td>使用了 share&#x2F;fb.watch 短链(设计上不支持)</td><td>打开短链取地址栏里的完整链接粘贴</td></tr><tr><td><code>[不支持的视频链接: 链接]</code></td><td>平台或链接格式不在支持列表</td><td>换支持的格式,或直接粘贴平台嵌入代码</td></tr></tbody></table><hr><h2 id="六、相关文件"><a href="#六、相关文件" class="headerlink" title="六、相关文件"></a>六、相关文件</h2><table><thead><tr><th>文件</th><th>作用</th></tr></thead><tbody><tr><td><code>themes/magzine/scripts/tag/video.js</code></td><td><code>&#123;% video %&#125;</code> 标签核心:平台识别、短链解析、嵌入 HTML 生成</td></tr><tr><td><code>themes/magzine/scripts/other/murmur-video.js</code></td><td>万花筒页面的同步版解析 helper(<code>parse_murmur_video</code>)</td></tr><tr><td><code>themes/magzine/scripts/other/nunjucks-regex-token-fix.js</code></td><td>词法补丁:修复链接中含 <code>r/</code> 时被 nunjucks 误判为正则导致 URL 变 <code>[object Object]</code> 的问题</td></tr><tr><td><code>themes/magzine/source/js/video-embed.js</code></td><td>前端交互:虎牙占位卡点击加载、占位卡单播放收回</td></tr><tr><td><code>themes/magzine/layout/murmur.pug</code></td><td>万花筒视频渲染模板</td></tr><tr><td><code>themes/magzine/source/css/main.css</code></td><td>富卡片 blockquote 样式重置、占位卡样式</td></tr><tr><td><code>themes/magzine/source/css/murmur.css</code></td><td>万花筒视频容器样式</td></tr></tbody></table>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/12/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%A7%86%E9%A2%91%E6%8F%92%E5%85%A5%E5%8A%9F%E8%83%BD%E8%AF%B4%E6%98%8E/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/12/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%A7%86%E9%A2%91%E6%8F%92%E5%85%A5%E5%8A%9F%E8%83%BD%E8%AF%B4%E6%98%8E/"/>
    <published>2026-09-12T13:09:08.000Z</published>
    <summary>
      <![CDATA[<h1 id="视频插入功能说明"><a href="#视频插入功能说明" class="headerlink" title="视频插入功能说明"></a>视频插入功能说明</h1><p>本站通过自研的 <code>&#123;% video %&#125;</code> 标签在]]>
    </summary>
    <title>视频插入功能说明</title>
    <updated>2026-09-12T13:10:02.784Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="日记" scheme="https://funingna-wakawaka.github.io/categories/%E6%97%A5%E8%AE%B0/"/>
    <category term="diary" scheme="https://funingna-wakawaka.github.io/tags/diary/"/>
    <content>
      <![CDATA[<h1 id="QQ群的鸡蛋-智普的鸡蛋-还有一堆平台的鸡蛋"><a href="#QQ群的鸡蛋-智普的鸡蛋-还有一堆平台的鸡蛋" class="headerlink" title="QQ群的鸡蛋,智普的鸡蛋,还有一堆平台的鸡蛋"></a>QQ群的鸡蛋,智普的鸡蛋,还有一堆平台的鸡蛋</h1><p>上次领的三个亿在我两天使劲蹬的情况下才用了2个亿,还有1个亿浪费掉了</p><p>今天晚上智普大号领了3个亿,小号领了一个亿加start plan的每天7000万</p><p>以及一堆中转站的无限鸡蛋(主要是glm 5.3 ,gpt 5.6和claude sonnet 4.6还有新出的deepseek V4.1)</p><p>以及zed的claude sonnet等模型免费一段时间</p><p>包括codex的每个月免费额度</p><p>以及github copilot的每个月免费额度</p><p>​<style>.gnlaaorieput{zoom:25%;}</style><img src="/2026/09/11/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E4%BD%93%E9%AA%8C%E5%88%B0%E9%A2%86%E9%B8%A1%E8%9B%8B%E7%9A%84%E5%BF%AB%E6%84%9F%E4%BA%86/image-20260911213435674.webp" class="gnlaaorieput" alt="image-20260911213435674"></p><p>不过免费鸡蛋能力不咋地,审美和纠错能力差的一批</p><p>​<style>.ouqgsuknfjgw{zoom:25%;}</style><img src="/2026/09/11/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E4%BD%93%E9%AA%8C%E5%88%B0%E9%A2%86%E9%B8%A1%E8%9B%8B%E7%9A%84%E5%BF%AB%E6%84%9F%E4%BA%86/image-20260912002222273.webp" class="ouqgsuknfjgw" alt="image-20260912002222273"></p><p>​<style>.btwskpjeephz{zoom:33%;}</style><img src="/2026/09/11/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E4%BD%93%E9%AA%8C%E5%88%B0%E9%A2%86%E9%B8%A1%E8%9B%8B%E7%9A%84%E5%BF%AB%E6%84%9F%E4%BA%86/image-20260911214114270.webp" class="btwskpjeephz" alt="image-20260911214114270"></p><p>不得不说claude是真的负责任啊,根本不敷衍我</p><p>​<style>.eklosbfphkid{zoom:25%;}</style><img src="/2026/09/11/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E4%BD%93%E9%AA%8C%E5%88%B0%E9%A2%86%E9%B8%A1%E8%9B%8B%E7%9A%84%E5%BF%AB%E6%84%9F%E4%BA%86/image-20260912004226033.webp" class="eklosbfphkid" alt="image-20260912004226033"></p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/11/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E4%BD%93%E9%AA%8C%E5%88%B0%E9%A2%86%E9%B8%A1%E8%9B%8B%E7%9A%84%E5%BF%AB%E6%84%9F%E4%BA%86/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/11/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E4%BD%93%E9%AA%8C%E5%88%B0%E9%A2%86%E9%B8%A1%E8%9B%8B%E7%9A%84%E5%BF%AB%E6%84%9F%E4%BA%86/"/>
    <published>2026-09-11T13:33:11.000Z</published>
    <summary>
      <![CDATA[<h1 id="QQ群的鸡蛋-智普的鸡蛋-还有一堆平台的鸡蛋"><a href="#QQ群的鸡蛋-智普的鸡蛋-还有一堆平台的鸡蛋" class="headerlink" title="QQ群的鸡蛋,智普的鸡蛋,还有一堆平台的鸡蛋"></a>QQ群的鸡蛋,智普的鸡蛋,还有一堆平台的]]>
    </summary>
    <title>体验到领鸡蛋的快感了</title>
    <updated>2026-09-11T20:02:04.364Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="Linux" scheme="https://funingna-wakawaka.github.io/categories/Linux/"/>
    <category term="Linux" scheme="https://funingna-wakawaka.github.io/tags/Linux/"/>
    <category term="VPS" scheme="https://funingna-wakawaka.github.io/tags/VPS/"/>
    <content>
      <![CDATA[<h1 id="关于DigitalOcean取消学生代金卷-我就不再买他们的黑服务器了-阿里云服务器最近打折68一年可以试一下"><a href="#关于DigitalOcean取消学生代金卷-我就不再买他们的黑服务器了-阿里云服务器最近打折68一年可以试一下" class="headerlink" title="关于DigitalOcean取消学生代金卷,我就不再买他们的黑服务器了,阿里云服务器最近打折68一年可以试一下"></a>关于DigitalOcean取消学生代金卷,我就不再买他们的黑服务器了,阿里云服务器最近打折68一年可以试一下</h1><p>我直接拿下,因为我还要制作vpn所以挑了一个比较近的菲律宾,这样延迟就不会太高</p><p>然后预装了一个docker</p><p>​<style>.jmqnmxdebekm{zoom: 25%;}</style><img src="/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/image-20260911101829768.webp" class="jmqnmxdebekm" alt="image-20260911101829768"></p><p>到手之后由于我不喜欢它自带的那个远程连接workbench的界面所以用termius连接吧</p><p>​<style>.yjcrhdakuuyj{zoom:25%;}</style><img src="/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/image-20260911102237688.webp" class="yjcrhdakuuyj" alt="image-20260911102237688"></p><p>​<style>.szhmpjtwunev{zoom:25%;}</style><img src="/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/image-20260911103648546.webp" class="szhmpjtwunev" alt="image-20260911103648546"></p><p>​<style>.ojnawthvtept{zoom:25%;}</style><img src="/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/image-20260911102429203.webp" class="ojnawthvtept" alt="image-20260911102429203"></p><h2 id="然后先查看真实配置"><a href="#然后先查看真实配置" class="headerlink" title="然后先查看真实配置"></a>然后先查看真实配置</h2><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">lscpu</span><br></code></pre></div></div><p>得到cpu信息如下,确实是2核</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span><span>14</span><span>15</span><span>16</span><span>17</span><span>18</span><span>19</span><span>20</span><span>21</span><span>22</span><span>23</span><span>24</span><span>25</span><span>26</span></div><pre class="codecard-pre"><code class="language-bash">Architecture:        x86_64CPU op-mode(s):      32-bit, 64-bitByte Order:          Little EndianCPU(s):              2On-line CPU(s) list: 0,1Thread(s) per core:  2Core(s) per socket:  1Socket(s):           1NUMA node(s):        1Vendor ID:           GenuineIntelBIOS Vendor ID:      Alibaba CloudCPU family:          6Model:               85Model name:          Intel(R) Xeon(R) PlatinumBIOS Model name:     pc-i440fx-2.1Stepping:            4CPU MHz:             2499.998BogoMIPS:            4999.99Hypervisor vendor:   KVMVirtualization <span class="built_in">type</span>: fullL1d cache:           32KL1i cache:           32KL2 cache:            1024KL3 cache:            33792KNUMA node0 CPU(s):   0,1Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat</span><br></code></pre></div></div><h2 id="然后查看内存"><a href="#然后查看内存" class="headerlink" title="然后查看内存"></a>然后查看内存</h2><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">free -h</span><br></code></pre></div></div><p>确实是2G但是没有开swap缓存</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-bash">              total        used        free      shared  buff/cache   availableMem:          1.8Gi       291Mi       561Mi       2.0Mi       1.0Gi       1.4GiSwap:            0B          0B          0B</span><br></code></pre></div></div><h2 id="查看硬盘"><a href="#查看硬盘" class="headerlink" title="查看硬盘"></a>查看硬盘</h2><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash"><span class="built_in">df</span> -h</span><br></code></pre></div></div><p>确实是40G</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span></div><pre class="codecard-pre"><code class="language-bash">Filesystem      Size  Used Avail Use% Mounted ondevtmpfs        916M     0  916M   0% /devtmpfs           936M     0  936M   0% /dev/shmtmpfs           936M  500K  936M   1% /runtmpfs           936M     0  936M   0% /sys/fs/cgroup/dev/vda3        40G  6.7G   31G  18% //dev/vda2       200M  5.8M  194M   3% /boot/efitmpfs           188M     0  188M   0% /run/user/1000tmpfs           188M     0  188M   0% /run/user/0</span><br></code></pre></div></div><h2 id="查看-Linux-系统版本"><a href="#查看-Linux-系统版本" class="headerlink" title="查看 Linux 系统版本"></a>查看 Linux 系统版本</h2><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash"><span class="built_in">cat</span> /etc/os-release</span><br></code></pre></div></div><p>居然是fedora</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span></div><pre class="codecard-pre"><code class="language-bash">NAME=<span class="string">&quot;Alibaba Cloud Linux&quot;</span>VERSION=<span class="string">&quot;3 (OpenAnolis Edition)&quot;</span>ID=<span class="string">&quot;alinux&quot;</span>ID_LIKE=<span class="string">&quot;rhel fedora centos anolis&quot;</span>VERSION_ID=<span class="string">&quot;3&quot;</span>VARIANT=<span class="string">&quot;OpenAnolis Edition&quot;</span>VARIANT_ID=<span class="string">&quot;openanolis&quot;</span>ALINUX_MINOR_ID=<span class="string">&quot;2104&quot;</span>ALINUX_UPDATE_ID=<span class="string">&quot;10&quot;</span>PLATFORM_ID=<span class="string">&quot;platform:al8&quot;</span>PRETTY_NAME=<span class="string">&quot;Alibaba Cloud Linux 3.2104 U10 (OpenAnolis Edition)&quot;</span>ANSI_COLOR=<span class="string">&quot;0;31&quot;</span>HOME_URL=<span class="string">&quot;https://www.aliyun.com/&quot;</span></span><br></code></pre></div></div><h2 id="查看监听端口"><a href="#查看监听端口" class="headerlink" title="查看监听端口"></a>查看监听端口</h2><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">ss -lntp</span><br></code></pre></div></div><p>就是22端口</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-bash">State        Recv-Q       Send-Q             Local Address:Port             Peer Address:Port       Process                               LISTEN       0            128                      0.0.0.0:22                    0.0.0.0:*           <span class="built_in">users</span>:((&quot;sshd&quot;,pid=<span class="number">2721</span>,fd=<span class="number">3</span>))       LISTEN       0            128                         [::]:22                       [::]:*           <span class="built_in">users</span>:((&quot;sshd&quot;,pid=<span class="number">2721</span>,fd=<span class="number">4</span>))  </span><br></code></pre></div></div><h2 id="开启swap-2GB缓存并永久启用"><a href="#开启swap-2GB缓存并永久启用" class="headerlink" title="开启swap 2GB缓存并永久启用"></a>开启swap 2GB缓存并永久启用</h2><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><pre class="codecard-pre"><code class="language-bash"><span class="built_in">sudo</span> fallocate -l 2G /swapfile<span class="built_in">sudo</span> <span class="built_in">chmod</span> 600 /swapfile<span class="built_in">sudo</span> mkswap /swapfile<span class="built_in">sudo</span> swapon /swapfile<span class="built_in">echo</span> <span class="string">&#x27;/swapfile none swap sw 0 0&#x27;</span> | <span class="built_in">sudo</span> <span class="built_in">tee</span> -a /etc/fstab</span><br></code></pre></div></div><p>检测是否开启</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">swapon --show</span><br></code></pre></div></div><p>可以看到</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-bash">NAME      TYPE SIZE USED PRIO/swapfile file   2G   0B   -2</span><br></code></pre></div></div><p>或者也可以直接查看内存</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">free -h</span><br></code></pre></div></div><p>得到</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-bash">              total        used        free      shared  buff/cache   availableMem:          1.8Gi       288Mi       562Mi       1.0Mi       1.0Gi       1.4GiSwap:         2.0Gi          0B       2.0Gi</span><br></code></pre></div></div><p>ok,已开启</p><h2 id="防火墙"><a href="#防火墙" class="headerlink" title="防火墙"></a>防火墙</h2><p>先看看防火墙状态,阿里云已经默认开了防火墙</p><p>​<style>.tghekvlwqyip{zoom:25%;}</style><img src="/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/image-20260911104852900.webp" class="tghekvlwqyip" alt="image-20260911104852900"></p><p>所以无需操作</p><p>不过我们先添加8080端口到防火墙白名单,等会x-ui面板用8080端口</p><p>​<style>.owrkfmrxnxpq{zoom:25%;}</style><img src="/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/image-20260911110655086.webp" class="owrkfmrxnxpq" alt="image-20260911110655086"></p><p>然后按照我<a href="https://funingna-wakawaka.github.io/2026/04/23/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/DigitalOcean%E6%90%AD%E5%BB%BAVPN/">这个文章</a>来制作vpn,虽然xray最近更新了但是变化不大,就是多了一个数据库选择项</p><p>我们选择sqlite  也就是1</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span></div><pre class="codecard-pre"><code class="language-bash">═══════════════════════════════════════════     Database Selection                    ═══════════════════════════════════════════  1) SQLite     (default — recommended <span class="keyword">for</span> &lt; 500 clients)  2) PostgreSQL (recommended <span class="keyword">for</span> high client counts / many nodes)Choose [1]: </span><br></code></pre></div></div><p>然后一顿操作…..获得野生3X-UI面板一枚,剩下的不说了按照文章操作即可,只是有一个变动就是我们添加入站之后还需要添加客户端并把入站附加进去</p><p>​<style>.gkpltxfbrumx{zoom:25%;}</style><img src="/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/image-20260911112314350.webp" class="gkpltxfbrumx" alt="image-20260911112314350"></p><p>也就是我们在入站创建入站之后此时不能直接用</p><p>​<style>.sfvqgnejlotg{zoom:25%;}</style><img src="/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/image-20260911134404556.webp" class="sfvqgnejlotg" alt="image-20260911134404556"></p><p>需要再创建一个客户端并关联入站</p><p>​<style>.qjgfmylirtko{zoom:25%;}</style><img src="/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/image-20260911134437396.webp" class="qjgfmylirtko" alt="image-20260911134437396"></p><p>​<style>.aocblenanwtn{zoom:25%;}</style><img src="/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/image-20260911134515516.webp" class="aocblenanwtn" alt="image-20260911134515516"></p><p>而且需要将这个Flow改为<code>xtls-rprx-vision</code></p><p>​<style>.ohnzmgbavrgk{zoom:25%;}</style><img src="/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/image-20260911134118701.webp" class="ohnzmgbavrgk" alt="image-20260911134118701"></p><p>此时用v2rayNG扫码导入即可</p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/11/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    <published>2026-09-11T02:14:23.000Z</published>
    <summary>
      <![CDATA[<h1 id="关于DigitalOcean取消学生代金卷-我就不再买他们的黑服务器了-阿里云服务器最近打折68一年可以试一下"><a href="#关于DigitalOcean取消学生代金卷-我就不再买他们的黑服务器了-阿里云服务器最近打折68一年可以试一下" class="h]]>
    </summary>
    <title>购买阿里云服务器</title>
    <updated>2026-09-11T05:46:04.320Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="软件推荐" scheme="https://funingna-wakawaka.github.io/categories/%E8%BD%AF%E4%BB%B6%E6%8E%A8%E8%8D%90/"/>
    <category term="software" scheme="https://funingna-wakawaka.github.io/tags/software/"/>
    <content>
      <![CDATA[<h1 id="此篇为视频插入测试"><a href="#此篇为视频插入测试" class="headerlink" title="此篇为视频插入测试"></a>此篇为视频插入测试</h1><p>以下所有平台全部更新规则,注意一下所有平台视频包括直播不要自动播放,而且当一个视频播放的时候其他视频全部暂停</p><p>其中竖屏视频要满足响应式不要发生形变</p><h2 id="平台如下"><a href="#平台如下" class="headerlink" title="平台如下"></a>平台如下</h2><h3 id="哔哩哔哩"><a href="#哔哩哔哩" class="headerlink" title="哔哩哔哩"></a>哔哩哔哩</h3><p>只需识别bv号,以下全部为同一个视频,当前哔哩哔哩规则全可以识别</p><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.bilibili.com/player.html?isOutside=true&aid=117138572643612&bvid=BV1P18y6jEkV&cid=41159035002&p=1&autoplay=0&danmaku=0&muted=0"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="no-referrer"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.bilibili.com/player.html?isOutside=true&aid=117138572643612&bvid=BV1P18y6jEkV&cid=41159035002&p=1&autoplay=0&danmaku=0&muted=0"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="no-referrer"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.bilibili.com/player.html?isOutside=true&aid=117138572643612&bvid=BV1P18y6jEkV&cid=41159035002&p=1&autoplay=0&danmaku=0&muted=0"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="no-referrer"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.bilibili.com/player.html?isOutside=true&aid=117138572643612&bvid=BV1P18y6jEkV&cid=41159035002&p=1&autoplay=0&danmaku=0&muted=0"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="no-referrer"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.bilibili.com/player.html?isOutside=true&aid=117138572643612&bvid=BV1P18y6jEkV&cid=41159035002&p=1&autoplay=0&danmaku=0"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><p>而手机端分享视频是需要添加</p><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.bilibili.com/player.html?isOutside=true&aid=117138572643612&bvid=BV1P18y6jEkV&cid=41159035002&p=1&autoplay=0&danmaku=0&muted=0"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="no-referrer"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><p>如果我粘贴了类似这种也判定为有效的哔哩哔哩地址,注意空格</p><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.bilibili.com/player.html?isOutside=true&aid=117138572643612&bvid=BV1P18y6jEkV&cid=41159035002&p=1&autoplay=0&danmaku=0&muted=0"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="no-referrer"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.bilibili.com/player.html?isOutside=true&aid=117138572643612&bvid=BV1P18y6jEkV&cid=41159035002&p=1&autoplay=0&danmaku=0&muted=0"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="no-referrer"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><p>直播不支持嵌入(B站无公开直播嵌入,规则已移除,应显示不支持提示)</p><p style="color:#888;font-size:12px;text-align:center;">[不支持的视频链接: https://live.bilibili.com/1859173915]<br>建议直接粘贴该平台的嵌入代码 (iframe)</p><h3 id="Acfun"><a href="#Acfun" class="headerlink" title="Acfun"></a>Acfun</h3><p>和哔站类似,只需识别ac号即可我需要支持以下格式,当前规则只能识别手机端的</p><p>视频</p><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://www.acfun.cn/player/ac48824473"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><p>手机端分享视频</p><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://www.acfun.cn/player/ac48824473"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><p>直播不支持嵌入(AcFun无公开直播嵌入,规则已移除,应显示不支持提示)</p><p style="color:#888;font-size:12px;text-align:center;">[不支持的视频链接: https://live.acfun.cn/live/36626547]<br>建议直接粘贴该平台的嵌入代码 (iframe)</p><h3 id="虎牙直播"><a href="#虎牙直播" class="headerlink" title="虎牙直播"></a>虎牙直播</h3><p>当前只能识别直播</p><p>直播规则</p><p>以下全部为同一个直播</p><div class="hexo-video-embed video-facade" data-video-src="https://liveshare.huya.com/iframe/37919" style="position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); background: #000; cursor: pointer;">  <span class="video-facade-btn" aria-hidden="true"></span>  <span class="video-facade-tip">点击加载 · 不自动播放</span></div><div class="hexo-video-embed video-facade" data-video-src="https://liveshare.huya.com/iframe/37919" style="position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); background: #000; cursor: pointer;">  <span class="video-facade-btn" aria-hidden="true"></span>  <span class="video-facade-tip">点击加载 · 不自动播放</span></div><p>这个是手机分享的直播间链接</p><div class="hexo-video-embed video-facade" data-video-src="https://liveshare.huya.com/iframe/37919" style="position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); background: #000; cursor: pointer;">  <span class="video-facade-btn" aria-hidden="true"></span>  <span class="video-facade-tip">点击加载 · 不自动播放</span></div><p>视频播放规则</p><div class="hexo-video-embed video-facade" data-video-src="https://s1-static.msstatic.com/vod-player-360/index.html?id=1117994220" style="position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); background: #000; cursor: pointer;">  <span class="video-facade-btn" aria-hidden="true"></span>  <span class="video-facade-tip">点击加载 · 不自动播放</span></div><p>这里要求     </p><div class="hexo-video-embed video-facade" data-video-src="https://s1-static.msstatic.com/vod-player-360/index.html?id=1117994220" style="position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); background: #000; cursor: pointer;">  <span class="video-facade-btn" aria-hidden="true"></span>  <span class="video-facade-tip">点击加载 · 不自动播放</span></div> 也就是前面的https:不填也可以<p>或者</p><div class="hexo-video-embed video-facade" data-video-src="https://s1-static.msstatic.com/vod-player-360/index.html?id=1117994220" style="position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); background: #000; cursor: pointer;">  <span class="video-facade-btn" aria-hidden="true"></span>  <span class="video-facade-tip">点击加载 · 不自动播放</span></div><h3 id="Youtube"><a href="#Youtube" class="headerlink" title="Youtube"></a>Youtube</h3><p>视频规则适用,但是竖屏不满足响应式</p><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://www.youtube-nocookie.com/embed/kqfvbrfiGrM?autoplay=0&playsinline=1&origin=https%3A%2F%2Ffuningna-wakawaka.github.io"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://www.youtube-nocookie.com/embed/tS8BeWDnaZo?autoplay=0&playsinline=1&origin=https%3A%2F%2Ffuningna-wakawaka.github.io"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><h3 id="Twitter"><a href="#Twitter" class="headerlink" title="Twitter"></a>Twitter</h3><p>当前twitter规则无效</p><p>电脑端视频是</p><div class="hexo-video-embed"><blockquote class="twitter-tweet" data-dnt="true"><a href="https://twitter.com/Windows/status/2093390907013771522?ref_src=twsrc%5Etfw"></a></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script><script>window.twttr && window.twttr.widgets && window.twttr.widgets.load();</script></div><p><div class="hexo-video-embed"><blockquote class="twitter-tweet" data-dnt="true"><a href="https://twitter.com/Windows/status/2093390907013771522?ref_src=twsrc%5Etfw"></a></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script><script>window.twttr && window.twttr.widgets && window.twttr.widgets.load();</script></div></p><p>而手机端分享视频是</p><div class="hexo-video-embed"><blockquote class="twitter-tweet" data-dnt="true"><a href="https://twitter.com/unitygames/status/2098097610842046823?ref_src=twsrc%5Etfw"></a></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script><script>window.twttr && window.twttr.widgets && window.twttr.widgets.load();</script></div><h3 id="Tiktok"><a href="#Tiktok" class="headerlink" title="Tiktok"></a>Tiktok</h3><p>注意视频的响应式,当前tiktok规则hexo可以识别,但是视频iframe下方有大量空白区域</p><div class="hexo-video-embed"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@kyoukawa_tiktok/video/7648608941173214482" data-video-id="7648608941173214482" style="width: 325px; max-width: 100%; margin: 0 auto;">  <section>    <a target="_blank" title="@kyoukawa_tiktok" href="https://www.tiktok.com/@kyoukawa_tiktok/video/7648608941173214482?refer=embed">@kyoukawa_tiktok</a>  </section></blockquote><script async src="https://www.tiktok.com/embed.js"></script></div><p>或者</p><div class="hexo-video-embed"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@kyoukawa_tiktok/video/7648608941173214482" data-video-id="7648608941173214482" style="width: 325px; max-width: 100%; margin: 0 auto;">  <section>    <a target="_blank" title="@kyoukawa_tiktok" href="https://www.tiktok.com/@kyoukawa_tiktok/video/7648608941173214482?refer=embed">@kyoukawa_tiktok</a>  </section></blockquote><script async src="https://www.tiktok.com/embed.js"></script></div><p>手机版的我无法验证</p><h3 id="Instagram"><a href="#Instagram" class="headerlink" title="Instagram"></a>Instagram</h3><p>当前instagram规则hexo可以识别,但是视频iframe下方有大量空白区域</p><div class="hexo-video-embed"><blockquote class="instagram-media" data-instgrm-permalink="https://www.instagram.com/reel/DdIk5qnIBxE" data-instgrm-version="14" style="max-width: 540px; width: calc(100% - 2px); margin: 0 auto;">  <section>    <a href="https://www.instagram.com/reel/DdIk5qnIBxE" target="_blank" rel="noopener">在 Instagram 上查看这篇帖子</a>  </section></blockquote><script async src="https://www.instagram.com/embed.js"></script><script>window.instgrm && window.instgrm.Embeds.process();</script></div><h3 id="Twich"><a href="#Twich" class="headerlink" title="Twich"></a>Twich</h3><p>这个由于我是在localhost会被拒绝所以我无法验证,但是给你真实的链接吧</p><p>这是直播</p><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.twitch.tv/?channel=rglqq&parent=funingna-wakawaka.github.io&autoplay=false"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><p>这是手机版直播</p><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.twitch.tv/?channel=kspksp&parent=funingna-wakawaka.github.io&autoplay=false"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><p>这是网页视频</p><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.twitch.tv/?video=2866353854&parent=funingna-wakawaka.github.io&autoplay=false"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><p>这是手机版视频</p><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.twitch.tv/?video=2868737741&parent=funingna-wakawaka.github.io&autoplay=false"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><h3 id="Facebook"><a href="#Facebook" class="headerlink" title="Facebook"></a>Facebook</h3><p>仅支持完整的视频&#x2F;Reel链接,样式与Instagram一致(官方富卡片):</p><div class="hexo-video-embed"><div class="fb-video" data-href="https://www.facebook.com/reel/28172708859033140" data-autoplay="false" data-show-text="false" data-allowfullscreen="true" style="max-width: 540px; width: calc(100% - 2px); margin: 0 auto;"></div><div id="fb-root"></div><script async defer crossorigin="anonymous" src="https://connect.facebook.net/zh_CN/sdk.js#xfbml=1&version=v21.0"></script><script>window.FB && window.FB.XFBML.parse();</script></div><p>share短链(已不再支持,生成时会显示”请使用完整链接”提示):</p><p style="color:#e05;font-size:12px;text-align:center;">[不支持 Facebook 分享短链: https://www.facebook.com/share/r/18RshrE6Ks/]<br>请粘贴完整的视频链接(如 https://www.facebook.com/reel/数字ID)后重新生成。</p><p>另一条share短链(同样显示提示):</p><p style="color:#e05;font-size:12px;text-align:center;">[不支持 Facebook 分享短链: https://www.facebook.com/share/r/1UgMEv3i7v/]<br>请粘贴完整的视频链接(如 https://www.facebook.com/reel/数字ID)后重新生成。</p><h3 id="Vimeo"><a href="#Vimeo" class="headerlink" title="Vimeo"></a>Vimeo</h3><p>当前规则可用,注意响应式</p><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.vimeo.com/video/15095813?autoplay=0"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://player.vimeo.com/video/6562370?autoplay=0"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div><h3 id="Niconico"><a href="#Niconico" class="headerlink" title="Niconico"></a>Niconico</h3><p>该规则适用,视频响应式也正常</p><div class="hexo-video-embed" style="position: relative; width: 100%; max-width: 100%; margin: 0 auto; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);">  <iframe    src="https://embed.nicovideo.jp/watch/sm46788719"    title="视频播放器"    loading="lazy"    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"    allowfullscreen    scrolling="no"    referrerpolicy="strict-origin-when-cross-origin"    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share">  </iframe></div>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/10/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/10/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/"/>
    <published>2026-09-10T15:39:30.000Z</published>
    <summary>
      <![CDATA[<h1 id="此篇为视频插入测试"><a href="#此篇为视频插入测试" class="headerlink" title="此篇为视频插入测试"></a>此篇为视频插入测试</h1><p>以下所有平台全部更新规则,注意一下所有平台视频包括直播不要自动播放,而且当一个视频播]]>
    </summary>
    <title>视频测试</title>
    <updated>2026-09-23T14:31:38.328Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="软件推荐" scheme="https://funingna-wakawaka.github.io/categories/%E8%BD%AF%E4%BB%B6%E6%8E%A8%E8%8D%90/"/>
    <category term="software" scheme="https://funingna-wakawaka.github.io/tags/software/"/>
    <content>
      <![CDATA[<h1 id="最近发现zed编辑器居然相当顺手-于是就配置了一下语言服务器还有skill什么的"><a href="#最近发现zed编辑器居然相当顺手-于是就配置了一下语言服务器还有skill什么的" class="headerlink" title="最近发现zed编辑器居然相当顺手,于是就配置了一下语言服务器还有skill什么的"></a>最近发现zed编辑器居然相当顺手,于是就配置了一下语言服务器还有skill什么的</h1><p>对于mcp不知道装什么样的比较好,就让chatgpt帮我推荐了一下</p><h1 id="Zed-MCP-Context-Server-推荐清单"><a href="#Zed-MCP-Context-Server-推荐清单" class="headerlink" title="Zed MCP &#x2F; Context Server 推荐清单"></a>Zed MCP &#x2F; Context Server 推荐清单</h1><blockquote><p>根据当前 Zed Extensions 中的 MCP &#x2F; Context Server 列表，结合我的实际开发方向进行筛选。</p><p>我的主要开发方向：</p><ul><li>Astro &#x2F; Hexo Blog</li><li>WPF &#x2F; Viora</li><li>Love2D</li><li>GitHub</li><li>Web &#x2F; UI &#x2F; Shader</li><li>Cloudflare &#x2F; Vercel</li><li>AI Coding Agent &#x2F; ZCode &#x2F; Zed Agent</li></ul><p><strong>原则：不是 MCP 越多越好，而是只安装真正能补充 Coding Agent 能力的 MCP。</strong></p></blockquote><hr><h2 id="一、★★★★★-强烈推荐"><a href="#一、★★★★★-强烈推荐" class="headerlink" title="一、★★★★★ 强烈推荐"></a>一、★★★★★ 强烈推荐</h2><p>这些是最值得长期保留的。</p><h3 id="1-Context7-MCP-Server"><a href="#1-Context7-MCP-Server" class="headerlink" title="1. Context7 MCP Server"></a>1. Context7 MCP Server</h3><p><strong>推荐等级：★★★★★</strong></p><p><strong>用途：</strong></p><p>让 AI 获取当前版本的库&#x2F;框架文档，而不是完全依赖模型训练数据。</p><p>适合：</p><ul><li>Astro</li><li>React</li><li>Vue</li><li>Node.js</li><li>npm 包</li><li>Tailwind</li><li>各种 Web 框架</li><li>各种第三方 SDK</li></ul><p>我的使用场景：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span></div><pre class="codecard-pre"><code class="language-text">&quot;按照 Astro 当前版本的官方 API 修改这个项目&quot;                ↓             Context7                ↓        当前版本官方文档                ↓             Coding Agent</span><br></code></pre></div></div><p><strong>为什么适合我：</strong></p><p>我经常让 AI 修改 Astro、Node.js、各种 npm 项目，而这些项目 API 更新很快。</p><p>Context7 是当前 Zed MCP 列表中下载量最高的一批，约 16.6 万下载。</p><p><strong>结论：必装。</strong></p><hr><h3 id="2-GitHub-MCP-Server"><a href="#2-GitHub-MCP-Server" class="headerlink" title="2. GitHub MCP Server"></a>2. GitHub MCP Server</h3><p><strong>推荐等级：★★★★★</strong></p><p><strong>用途：</strong></p><p>让 Agent 更深入地使用 GitHub。</p><p>可以用于：</p><ul><li>Repository</li><li>Issue</li><li>Pull Request</li><li>GitHub 文件</li><li>项目内容</li><li>仓库相关操作</li></ul><p>我的使用场景：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span></div><pre class="codecard-pre"><code class="language-text">GitHub Repository       ↓   GitHub MCP       ↓       AI       ↓分析 / 修改 / Issue / PR</span><br></code></pre></div></div><p>我本身大量使用 GitHub，因此这个 MCP 的实际价值非常高。</p><p>当前约 11.3 万下载。</p><p><strong>结论：必装。</strong></p><hr><h3 id="3-Firecrawl-MCP-Server"><a href="#3-Firecrawl-MCP-Server" class="headerlink" title="3. Firecrawl MCP Server"></a>3. Firecrawl MCP Server</h3><p><strong>推荐等级：★★★★★</strong></p><p><strong>用途：</strong></p><p>让 AI 更方便地抓取和理解真实网站。</p><p>特别适合：</p><ul><li>阅读网站</li><li>阅读在线文档</li><li>分析网页</li><li>抓取网页内容</li><li>研究其他项目的网站实现</li></ul><p>我的使用场景非常明显：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span></div><pre class="codecard-pre"><code class="language-text">发现一个漂亮的网站        ↓Firecrawl        ↓读取网页        ↓AI 分析设计 / 实现方式        ↓在自己的 Astro Blog 中复现</span><br></code></pre></div></div><p>我经常会给 AI GitHub 项目、网站、在线文档，让它分析后实现。</p><p>因此这个 MCP 非常适合我的工作流。</p><p><strong>结论：推荐安装。</strong></p><hr><h3 id="4-Puppeteer-MCP-Server"><a href="#4-Puppeteer-MCP-Server" class="headerlink" title="4. Puppeteer MCP Server"></a>4. Puppeteer MCP Server</h3><p><strong>推荐等级：★★★★★</strong></p><p><strong>用途：</strong></p><p>让 Agent 操作真实浏览器。</p><p>例如：</p><ul><li>打开网页</li><li>点击</li><li>输入</li><li>获取页面状态</li><li>截图</li><li>检查网页交互</li></ul><p>这对我尤其重要，因为我经常让 Coding Agent 修改：</p><ul><li>Astro 页面</li><li>Blog UI</li><li>手机端 UI</li><li>CSS 动画</li><li>交互效果</li></ul><p>可以形成：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span></div><pre class="codecard-pre"><code class="language-text">Coding Agent      ↓修改代码      ↓启动网站      ↓Puppeteer      ↓浏览器实际运行      ↓检查 UI      ↓继续修复</span><br></code></pre></div></div><p>Zed 当前约 5.3 万下载。</p><p><strong>结论：推荐安装。</strong></p><hr><h2 id="二、★★★★☆-很推荐，但看具体项目"><a href="#二、★★★★☆-很推荐，但看具体项目" class="headerlink" title="二、★★★★☆ 很推荐，但看具体项目"></a>二、★★★★☆ 很推荐，但看具体项目</h2><h3 id="5-Framelink-Figma-MCP-Server"><a href="#5-Framelink-Figma-MCP-Server" class="headerlink" title="5. Framelink Figma MCP Server"></a>5. Framelink Figma MCP Server</h3><p><strong>推荐等级：★★★★☆</strong></p><p><strong>用途：</strong></p><p>让 AI 理解 Figma 设计稿。</p><p>适合：</p><ul><li>UI 设计</li><li>Web 页面</li><li>WPF UI</li><li>组件设计</li><li>间距</li><li>颜色</li><li>布局</li></ul><p>我的 Viora 项目尤其适合。</p><p>例如：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span></div><pre class="codecard-pre"><code class="language-text">Figma ↓Figma MCP ↓AI ↓WPF / HTML / CSS</span><br></code></pre></div></div><p>如果以后开始使用 Figma 进行正式 UI 设计：</p><p><strong>建议安装。</strong></p><p>如果完全不用 Figma：</p><p><strong>暂时不需要。</strong></p><hr><h3 id="6-shadcn-ui-MCP"><a href="#6-shadcn-ui-MCP" class="headerlink" title="6. shadcn&#x2F;ui MCP"></a>6. shadcn&#x2F;ui MCP</h3><p><strong>推荐等级：★★★★☆</strong></p><p><strong>用途：</strong></p><p>让 Agent 查询、浏览和安装 shadcn&#x2F;ui 组件。</p><p>适合：</p><ul><li>React</li><li>Tailwind</li><li>shadcn&#x2F;ui</li><li>Web Dashboard</li><li>管理后台</li></ul><p>如果我的 Astro 项目以后采用：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span></div><pre class="codecard-pre"><code class="language-text">Astro+React+Tailwind+shadcn/ui</span><br></code></pre></div></div><p>那么它非常有用。</p><p>如果 Blog 的 UI 全部自己写：</p><p><strong>暂时不用。</strong></p><hr><h3 id="7-Brave-Search-MCP"><a href="#7-Brave-Search-MCP" class="headerlink" title="7. Brave Search MCP"></a>7. Brave Search MCP</h3><p><strong>推荐等级：★★★★☆</strong></p><p><strong>用途：</strong></p><p>让 Agent 使用搜索引擎搜索互联网。</p><p>适合：</p><ul><li>查技术资料</li><li>查项目</li><li>查最新文档</li><li>搜索 GitHub 项目</li><li>搜索解决方案</li></ul><p>但它和 Firecrawl &#x2F; Exa &#x2F; Tavily 等搜索类 MCP 存在明显功能重叠。</p><p>因此：</p><blockquote><p><strong>搜索 MCP 不要全部装。</strong></p></blockquote><p>建议只选择一个主力搜索工具。</p><p>如果已经使用 Firecrawl：</p><p>可以先不装。</p><hr><h3 id="8-Exa-Search-Crawling-MCP"><a href="#8-Exa-Search-Crawling-MCP" class="headerlink" title="8. Exa Search + Crawling MCP"></a>8. Exa Search + Crawling MCP</h3><p><strong>推荐等级：★★★★☆</strong></p><p>也是搜索 + 网页抓取类型。</p><p>特点是：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-text">搜索+网页内容获取</span><br></code></pre></div></div><p>和：</p><ul><li>Brave Search</li><li>Tavily</li><li>Firecrawl</li></ul><p>存在重叠。</p><p>因此不建议全部安装。</p><p><strong>我的建议：</strong></p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-text">Firecrawl     +一个搜索 MCP</span><br></code></pre></div></div><p>即可。</p><hr><h3 id="9-Tavily-MCP"><a href="#9-Tavily-MCP" class="headerlink" title="9. Tavily MCP"></a>9. Tavily MCP</h3><p><strong>推荐等级：★★★☆☆</strong></p><p>同样属于 AI 搜索 &#x2F; Web Research 类型。</p><p>如果已经：</p><ul><li>Firecrawl</li><li>Brave Search</li><li>Exa</li></ul><p>就没必要再全部安装。</p><p><strong>四选一&#x2F;二即可。</strong></p><hr><h2 id="三、对我的数据库项目很有用"><a href="#三、对我的数据库项目很有用" class="headerlink" title="三、对我的数据库项目很有用"></a>三、对我的数据库项目很有用</h2><h3 id="10-Postgres-Context-Server"><a href="#10-Postgres-Context-Server" class="headerlink" title="10. Postgres Context Server"></a>10. Postgres Context Server</h3><p><strong>推荐等级：★★★★☆</strong></p><p>当前约 8.9 万下载，是列表中非常热门的 MCP。</p><p>用途：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><pre class="codecard-pre"><code class="language-text">PostgreSQL    ↓Postgres MCP    ↓AI</span><br></code></pre></div></div><p>可以帮助 Agent 理解和操作 PostgreSQL 数据库。</p><p>对于我未来可能出现的：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><pre class="codecard-pre"><code class="language-text">Astro ↓API / Backend ↓PostgreSQL</span><br></code></pre></div></div><p>非常有用。</p><p>但是：</p><p>如果 Blog 目前只是：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><pre class="codecard-pre"><code class="language-text">Markdown ↓Astro ↓静态部署</span><br></code></pre></div></div><p>则暂时不需要。</p><p><strong>结论：以后做动态 Blog 再装。</strong></p><hr><h3 id="11-Supabase-MCP-Server"><a href="#11-Supabase-MCP-Server" class="headerlink" title="11. Supabase MCP Server"></a>11. Supabase MCP Server</h3><p><strong>推荐等级：★★★★☆</strong></p><p>如果以后使用 Supabase：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span></div><pre class="codecard-pre"><code class="language-text">Astro ↓Supabase ├── Database ├── Auth ├── Storage └── API</span><br></code></pre></div></div><p>这个 MCP 很有价值。</p><p>如果不用 Supabase：</p><p><strong>不装。</strong></p><hr><h3 id="12-Prisma-Context-Server"><a href="#12-Prisma-Context-Server" class="headerlink" title="12. Prisma Context Server"></a>12. Prisma Context Server</h3><p><strong>推荐等级：★★★☆☆</strong></p><p>如果以后使用：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><pre class="codecard-pre"><code class="language-text">Node.js+Prisma+PostgreSQL</span><br></code></pre></div></div><p>可以安装。</p><p>否则没必要。</p><hr><h2 id="四、对-Cloudflare-云部署方向有潜力"><a href="#四、对-Cloudflare-云部署方向有潜力" class="headerlink" title="四、对 Cloudflare &#x2F; 云部署方向有潜力"></a>四、对 Cloudflare &#x2F; 云部署方向有潜力</h2><h3 id="13-Terraform-Context-Server"><a href="#13-Terraform-Context-Server" class="headerlink" title="13. Terraform Context Server"></a>13. Terraform Context Server</h3><p><strong>推荐等级：★★★☆☆</strong></p><p>Terraform 用于 Infrastructure as Code。</p><p>例如：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span></div><pre class="codecard-pre"><code class="language-text">CloudflareAWSAzure服务器数据库网络</span><br></code></pre></div></div><p>可以通过代码管理。</p><p>如果未来我开始把：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span></div><pre class="codecard-pre"><code class="language-text">Cloudflare+服务器+数据库+各种云服务</span><br></code></pre></div></div><p>全部自动化管理，那么 Terraform MCP 很值得。</p><p>但目前：</p><p><strong>不是刚需。</strong></p><hr><h3 id="14-Azure-Context-Server"><a href="#14-Azure-Context-Server" class="headerlink" title="14. Azure Context Server"></a>14. Azure Context Server</h3><p><strong>推荐等级：★☆☆☆☆</strong></p><p>除非使用 Azure。</p><p>否则不需要。</p><hr><h3 id="15-Grafana-MCP-Server"><a href="#15-Grafana-MCP-Server" class="headerlink" title="15. Grafana MCP Server"></a>15. Grafana MCP Server</h3><p><strong>推荐等级：★☆☆☆☆</strong></p><p>用途：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span></div><pre class="codecard-pre"><code class="language-text">服务器 ↓Prometheus / Loki ↓Grafana ↓AI</span><br></code></pre></div></div><p>适合：</p><ul><li>服务器监控</li><li>日志</li><li>CPU</li><li>内存</li><li>请求</li><li>错误</li></ul><p>但我目前主要是个人开发和 Blog。</p><p><strong>暂时不用。</strong></p><hr><h3 id="16-Datadog-MCP-Server"><a href="#16-Datadog-MCP-Server" class="headerlink" title="16. Datadog MCP Server"></a>16. Datadog MCP Server</h3><p><strong>推荐等级：★☆☆☆☆</strong></p><p>企业监控 &#x2F; DevOps 方向。</p><p>目前不需要。</p><hr><h2 id="五、Web-建站平台类"><a href="#五、Web-建站平台类" class="headerlink" title="五、Web 建站平台类"></a>五、Web 建站平台类</h2><h3 id="17-Webflow-MCP-Server"><a href="#17-Webflow-MCP-Server" class="headerlink" title="17. Webflow MCP Server"></a>17. Webflow MCP Server</h3><p><strong>推荐等级：★☆☆☆☆</strong></p><p>用于 Webflow。</p><p>我的网站主要使用 Astro，因此：</p><p><strong>不用。</strong></p><hr><h3 id="18-Shopify-Dev-MCP-Server"><a href="#18-Shopify-Dev-MCP-Server" class="headerlink" title="18. Shopify Dev MCP Server"></a>18. Shopify Dev MCP Server</h3><p><strong>推荐等级：★☆☆☆☆</strong></p><p>用于 Shopify 开发。</p><p>除非以后做 Shopify 商店。</p><p>否则不用。</p><hr><h3 id="19-Material-UI-MCP-Server"><a href="#19-Material-UI-MCP-Server" class="headerlink" title="19. Material UI MCP Server"></a>19. Material UI MCP Server</h3><p><strong>推荐等级：★★☆☆☆</strong></p><p>如果使用 Material UI：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-text">React+MUI</span><br></code></pre></div></div><p>可以考虑。</p><p>但如果自己的 Blog &#x2F; Viora 使用自定义 UI：</p><p><strong>不需要。</strong></p><hr><h2 id="六、代码理解-Coding-Agent-增强"><a href="#六、代码理解-Coding-Agent-增强" class="headerlink" title="六、代码理解 &#x2F; Coding Agent 增强"></a>六、代码理解 &#x2F; Coding Agent 增强</h2><h3 id="20-Serena-Context-Server"><a href="#20-Serena-Context-Server" class="headerlink" title="20. Serena Context Server"></a>20. Serena Context Server</h3><p><strong>推荐等级：★★★★☆</strong></p><p>这个值得关注。</p><p>它不是某一个具体平台的 MCP，而是偏向：</p><blockquote><p><strong>让 Coding Agent 更深入地理解代码结构。</strong></p></blockquote><p>适合大型项目。</p><p>例如：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span></div><pre class="codecard-pre"><code class="language-text">大型代码库 ↓Serena ↓语义分析 ↓代码符号 ↓Agent</span><br></code></pre></div></div><p>对于：</p><ul><li>Viora</li><li>Love2D 大型项目</li><li>大型 Astro 项目</li></ul><p>未来可能很有价值。</p><p>但是它和 Zed 本身已有的代码搜索、编辑、项目理解能力存在一定重叠。</p><p><strong>建议先观察，项目变大后再考虑。</strong></p><hr><h3 id="21-Sequential-Thinking-MCP"><a href="#21-Sequential-Thinking-MCP" class="headerlink" title="21. Sequential Thinking MCP"></a>21. Sequential Thinking MCP</h3><p><strong>推荐等级：★★☆☆☆</strong></p><p>帮助 Agent 分解复杂任务。</p><p>但是：</p><p>现代大模型本身已经具备很强的推理能力。</p><p>因此我不会把它作为优先安装项目。</p><p><strong>暂时不用。</strong></p><hr><h3 id="22-Container-Use-MCP-Server"><a href="#22-Container-Use-MCP-Server" class="headerlink" title="22. Container Use MCP Server"></a>22. Container Use MCP Server</h3><p><strong>推荐等级：★★★★☆</strong></p><p>这个对 Coding Agent 很有意思。</p><p>用途是给 Agent 提供隔离的容器化开发环境。</p><p>例如：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span></div><pre class="codecard-pre"><code class="language-text">Agent ↓Container ↓安装依赖 ↓运行项目 ↓测试</span><br></code></pre></div></div><p>对于复杂项目、容易污染本地环境的任务很有价值。</p><p>尤其是：</p><ul><li>Node.js</li><li>Python</li><li>Web 项目</li><li>多版本依赖</li><li>自动测试</li></ul><p>如果以后大量使用 Agent 自动开发，可以考虑。</p><hr><h2 id="七、我目前不推荐安装的"><a href="#七、我目前不推荐安装的" class="headerlink" title="七、我目前不推荐安装的"></a>七、我目前不推荐安装的</h2><h3 id="暂时跳过"><a href="#暂时跳过" class="headerlink" title="暂时跳过"></a>暂时跳过</h3><table><thead><tr><th>MCP</th><th>原因</th></tr></thead><tbody><tr><td>Grafana</td><td>服务器监控</td></tr><tr><td>Datadog</td><td>企业监控</td></tr><tr><td>Azure</td><td>Azure 专用</td></tr><tr><td>Shopify</td><td>Shopify 专用</td></tr><tr><td>Webflow</td><td>Webflow 专用</td></tr><tr><td>Slack</td><td>Slack 工作流</td></tr><tr><td>GitLab</td><td>主要使用 GitHub</td></tr><tr><td>Buildkite</td><td>CI&#x2F;CD 专用</td></tr><tr><td>SonarQube</td><td>企业代码质量</td></tr><tr><td>Shortcut</td><td>项目管理</td></tr><tr><td>PlanetScale</td><td>特定数据库</td></tr><tr><td>Polar</td><td>商业&#x2F;支付</td></tr><tr><td>NewsNow</td><td>新闻</td></tr><tr><td>Resend</td><td>邮件服务，目前不是刚需</td></tr><tr><td>Custom Elements Manifest</td><td>Web Components 专用</td></tr><tr><td>Terraform</td><td>暂时没有复杂基础设施需求</td></tr><tr><td>Prisma</td><td>暂时没有 Prisma 项目</td></tr><tr><td>MUI</td><td>不确定采用 MUI</td></tr><tr><td>Sequential Thinking</td><td>优先级不高</td></tr></tbody></table><hr><h1 id="八、针对我的最终安装方案"><a href="#八、针对我的最终安装方案" class="headerlink" title="八、针对我的最终安装方案"></a>八、针对我的最终安装方案</h1><h2 id="第一层：现在直接安装"><a href="#第一层：现在直接安装" class="headerlink" title="第一层：现在直接安装"></a>第一层：现在直接安装</h2><p>这些是我认为最值得长期保留的：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span></div><pre class="codecard-pre"><code class="language-text">★★★★★ Context7★★★★★ GitHub MCP★★★★★ Firecrawl★★★★★ Puppeteer</span><br></code></pre></div></div><p>这是我的：</p><blockquote><p><strong>核心 MCP 套装</strong></p></blockquote><hr><h2 id="第二层：根据项目安装"><a href="#第二层：根据项目安装" class="headerlink" title="第二层：根据项目安装"></a>第二层：根据项目安装</h2><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span></div><pre class="codecard-pre"><code class="language-text">★★★★☆ Figma★★★★☆ shadcn/ui★★★★☆ Postgres★★★★☆ Supabase★★★★☆ Container Use★★★★☆ Serena</span><br></code></pre></div></div><p>对应关系：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span><span>14</span><span>15</span><span>16</span><span>17</span></div><pre class="codecard-pre"><code class="language-text">使用 Figma    → Figma MCP使用 shadcn/ui    → shadcn/ui MCP使用 PostgreSQL    → Postgres MCP使用 Supabase    → Supabase MCP大量 Agent 自动开发    → Container Use大型代码库    → Serena</span><br></code></pre></div></div><hr><h2 id="第三层：未来需要再安装"><a href="#第三层：未来需要再安装" class="headerlink" title="第三层：未来需要再安装"></a>第三层：未来需要再安装</h2><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span></div><pre class="codecard-pre"><code class="language-text">TerraformGrafanaDatadogAzurePrismaResendShopifyWebflowSonarQube</span><br></code></pre></div></div><p>不要提前安装。</p><hr><h1 id="九、搜索-MCP-不要装一堆"><a href="#九、搜索-MCP-不要装一堆" class="headerlink" title="九、搜索 MCP 不要装一堆"></a>九、搜索 MCP 不要装一堆</h1><p>这一点非常重要。</p><p>Zed 当前列表里同时存在：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span></div><pre class="codecard-pre"><code class="language-text">Brave SearchExaFirecrawlTavily</span><br></code></pre></div></div><p>它们存在明显的功能重叠。</p><p>我的建议：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span></div><pre class="codecard-pre"><code class="language-text">         Web Research              │    ┌─────────┴─────────┐    │                   │Firecrawl           Search MCP    │                   │网页抓取          Brave / Exa / Tavily</span><br></code></pre></div></div><p>而不是：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span></div><pre class="codecard-pre"><code class="language-text">BraveExaFirecrawlTavily+其他搜索 MCP+其他 Browser MCP</span><br></code></pre></div></div><p>这样 Agent 每次需要搜索的时候反而可能有太多工具可选。</p><hr><h1 id="十、浏览器-MCP-也不要重复安装"><a href="#十、浏览器-MCP-也不要重复安装" class="headerlink" title="十、浏览器 MCP 也不要重复安装"></a>十、浏览器 MCP 也不要重复安装</h1><p>目前重点考虑：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-text">PuppeteerBrowserTools</span><br></code></pre></div></div><p>我的建议：</p><p><strong>优先 Puppeteer。</strong></p><p>因为我的需求更偏：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span></div><pre class="codecard-pre"><code class="language-text">启动网站↓操作网页↓检查 UI↓测试交互</span><br></code></pre></div></div><p>而不是单纯读取浏览器开发者工具数据。</p><p>Zed 自身已经提供代码搜索、文件编辑、终端等基础 Agent 工具，因此浏览器 MCP 的价值主要在于补充“真实浏览器环境”。</p><hr><h1 id="十一、最终推荐表"><a href="#十一、最终推荐表" class="headerlink" title="十一、最终推荐表"></a>十一、最终推荐表</h1><table><thead><tr><th>MCP</th><th>推荐</th><th>当前是否安装</th><th>主要用途</th></tr></thead><tbody><tr><td>Context7</td><td>⭐⭐⭐⭐⭐</td><td>✅</td><td>最新技术文档</td></tr><tr><td>GitHub</td><td>⭐⭐⭐⭐⭐</td><td>✅</td><td>GitHub &#x2F; Issue &#x2F; PR</td></tr><tr><td>Firecrawl</td><td>⭐⭐⭐⭐⭐</td><td>✅</td><td>网页抓取 &#x2F; Research</td></tr><tr><td>Puppeteer</td><td>⭐⭐⭐⭐⭐</td><td>✅</td><td>浏览器操作 &#x2F; UI 测试</td></tr><tr><td>Figma</td><td>⭐⭐⭐⭐</td><td>🟡</td><td>Figma → Code</td></tr><tr><td>shadcn&#x2F;ui</td><td>⭐⭐⭐⭐</td><td>🟡</td><td>UI 组件</td></tr><tr><td>Postgres</td><td>⭐⭐⭐⭐</td><td>🟡</td><td>PostgreSQL</td></tr><tr><td>Supabase</td><td>⭐⭐⭐⭐</td><td>🟡</td><td>Supabase</td></tr><tr><td>Container Use</td><td>⭐⭐⭐⭐</td><td>🟡</td><td>Agent 隔离开发环境</td></tr><tr><td>Serena</td><td>⭐⭐⭐⭐</td><td>🟡</td><td>大型代码库分析</td></tr><tr><td>Brave Search</td><td>⭐⭐⭐⭐</td><td>🟡</td><td>Web 搜索</td></tr><tr><td>Exa</td><td>⭐⭐⭐⭐</td><td>🟡</td><td>AI 搜索 &#x2F; Crawling</td></tr><tr><td>Tavily</td><td>⭐⭐⭐</td><td>⚪</td><td>AI Search</td></tr><tr><td>Terraform</td><td>⭐⭐⭐</td><td>⚪</td><td>Infrastructure as Code</td></tr><tr><td>Prisma</td><td>⭐⭐⭐</td><td>⚪</td><td>Prisma ORM</td></tr><tr><td>Resend</td><td>⭐⭐</td><td>⚪</td><td>邮件</td></tr><tr><td>Sequential Thinking</td><td>⭐⭐</td><td>⚪</td><td>任务推理</td></tr><tr><td>Grafana</td><td>⭐</td><td>❌</td><td>服务器监控</td></tr><tr><td>Datadog</td><td>⭐</td><td>❌</td><td>企业监控</td></tr><tr><td>Azure</td><td>⭐</td><td>❌</td><td>Azure</td></tr><tr><td>Shopify</td><td>⭐</td><td>❌</td><td>Shopify</td></tr><tr><td>Webflow</td><td>⭐</td><td>❌</td><td>Webflow</td></tr><tr><td>Slack</td><td>⭐</td><td>❌</td><td>Slack</td></tr><tr><td>GitLab</td><td>⭐</td><td>❌</td><td>GitLab</td></tr><tr><td>SonarQube</td><td>⭐</td><td>❌</td><td>企业代码质量</td></tr></tbody></table><hr><h1 id="十二、我的最终-MCP-配置"><a href="#十二、我的最终-MCP-配置" class="headerlink" title="十二、我的最终 MCP 配置"></a>十二、我的最终 MCP 配置</h1><p>如果只允许我安装 <strong>8 个</strong>：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span></div><pre class="codecard-pre"><code class="language-text">1. Context72. GitHub3. Firecrawl4. Puppeteer5. Figma6. shadcn/ui7. Postgres8. Container Use</span><br></code></pre></div></div><p>如果只允许我安装 <strong>4 个</strong>：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span></div><pre class="codecard-pre"><code class="language-text">1. Context72. GitHub3. Firecrawl4. Puppeteer</span><br></code></pre></div></div><p>如果以后开始正式做：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span></div><pre class="codecard-pre"><code class="language-text">Astro Blog+数据库+用户系统+在线编辑+Cloudflare</span><br></code></pre></div></div><p>再逐渐加入：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-text">PostgresSupabaseTerraform</span><br></code></pre></div></div><p>如果 Viora 开始正式 UI 设计：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">Figma</span><br></code></pre></div></div><p>如果 Love2D &#x2F; Viora &#x2F; Blog 项目越来越大：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-text">SerenaContainer Use</span><br></code></pre></div></div><hr><h2 id="十三、一个重要提醒"><a href="#十三、一个重要提醒" class="headerlink" title="十三、一个重要提醒"></a>十三、一个重要提醒</h2><p><strong>不要把所有 MCP 全部打开。</strong></p><p>Zed 支持通过 Agent Profiles 控制某个 Agent Thread 可以使用哪些工具，也支持单独控制 MCP 工具权限。</p><p>因此我更推荐：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span></div><pre class="codecard-pre"><code class="language-text">             Zed              │       ┌──────┴──────┐       │             │   Web Profile    Coding Profile       │             │Firecrawl       Context7Puppeteer       GitHubFigma           Serena</span><br></code></pre></div></div><p>而不是所有 MCP 永久同时启用。</p><p>这对你这种<strong>经常让 AI 长时间自主修改项目</strong>的使用方式尤其重要：工具越多，不一定越好；应该让当前任务只有相关工具可用。</p><blockquote><p><strong>核心原则：MCP 是能力扩展，不是 AI 的“技能点收集游戏”。</strong></p><p>你的最佳配置应该是“少量高价值 MCP + 按项目启用专用 MCP”。</p></blockquote><p>目前 Zed 官方也明确支持从 Extensions 安装 MCP、添加 Local&#x2F;Remote MCP，并可以在 Agent Profiles 中控制工具；另外官方正在逐步向 MCP Registry 方向迁移，因此以后 MCP 的安装&#x2F;分发方式可能还会变化。</p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/10/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/ZedMCP%E5%AE%89%E8%A3%85/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/10/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/ZedMCP%E5%AE%89%E8%A3%85/"/>
    <published>2026-09-10T12:56:26.000Z</published>
    <summary>
      <![CDATA[<h1 id="最近发现zed编辑器居然相当顺手-于是就配置了一下语言服务器还有skill什么的"><a href="#最近发现zed编辑器居然相当顺手-于是就配置了一下语言服务器还有skill什么的" class="headerlink" title="最近发现zed编辑器居然]]>
    </summary>
    <title>ZedMCP安装</title>
    <updated>2026-09-10T13:43:09.687Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="游戏开发" scheme="https://funingna-wakawaka.github.io/categories/%E6%B8%B8%E6%88%8F%E5%BC%80%E5%8F%91/"/>
    <category term="love2d" scheme="https://funingna-wakawaka.github.io/tags/love2d/"/>
    <content>
      <![CDATA[<h1 id="在使用agent辅助love2d游戏制作时-可以用一些skill和mcp来让ai更符合项目规范和减少出错"><a href="#在使用agent辅助love2d游戏制作时-可以用一些skill和mcp来让ai更符合项目规范和减少出错" class="headerlink" title="在使用agent辅助love2d游戏制作时,可以用一些skill和mcp来让ai更符合项目规范和减少出错"></a>在使用agent辅助love2d游戏制作时,可以用一些skill和mcp来让ai更符合项目规范和减少出错</h1><p>这里我用的agent是Zcode</p><h2 id="首先先下载mcp"><a href="#首先先下载mcp" class="headerlink" title="首先先下载mcp"></a>首先先下载mcp</h2><p><a href="https://github.com/shayarnett/love2d-mcp">点击前往下载</a></p><p>我们需要先克隆这个mcp到一个文件夹</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-plaintext">git clone https://github.com/shayarnett/love2d-mcp.gitcd love2d-mcp</span><br></code></pre></div></div><p>然后安装依赖</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">npm install</span><br></code></pre></div></div><p>​<style>.qxwejxyksshn{zoom:25%;}</style><img src="/2026/09/09/Love2d%E7%9B%B8%E5%85%B3/Love2d%E7%9A%84skill%E5%92%8Cmcp/image-20260913231324641.webp" class="qxwejxyksshn" alt="image-20260913231324641"></p><p>此时启动构建服务器</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">npm run build</span><br></code></pre></div></div><p>找到mcp设置项添加mcp</p><p>​<style>.tiwwldbijvjm{zoom:25%;}</style><img src="/2026/09/09/Love2d%E7%9B%B8%E5%85%B3/Love2d%E7%9A%84skill%E5%92%8Cmcp/image-20260913231443258.webp" class="tiwwldbijvjm" alt="image-20260913231443258"></p><p>​<style>.kmzviwyncqyx{zoom:25%;}</style><img src="/2026/09/09/Love2d%E7%9B%B8%E5%85%B3/Love2d%E7%9A%84skill%E5%92%8Cmcp/image-20260913231538003.webp" class="kmzviwyncqyx" alt="image-20260913231538003"></p><p>显示绿点即接入成功</p><p>​<style>.lqybmtrpouxm{zoom:25%;}</style><img src="/2026/09/09/Love2d%E7%9B%B8%E5%85%B3/Love2d%E7%9A%84skill%E5%92%8Cmcp/image-20260913231610824.webp" class="lqybmtrpouxm" alt="image-20260913231610824"></p><h3 id="不过我们需要在代码层引入这个MCP"><a href="#不过我们需要在代码层引入这个MCP" class="headerlink" title="不过我们需要在代码层引入这个MCP"></a>不过我们需要在代码层引入这个MCP</h3><p>首先制作一个mcp_bridge.lua文件</p><div class="codecard" data-lang="lua"><div class="codecard-header"><span class="codecard-lang">LUA</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span><span>14</span><span>15</span><span>16</span><span>17</span><span>18</span><span>19</span><span>20</span><span>21</span><span>22</span><span>23</span><span>24</span><span>25</span><span>26</span><span>27</span><span>28</span><span>29</span><span>30</span><span>31</span><span>32</span><span>33</span><span>34</span><span>35</span><span>36</span><span>37</span><span>38</span><span>39</span><span>40</span><span>41</span><span>42</span><span>43</span><span>44</span><span>45</span><span>46</span><span>47</span><span>48</span><span>49</span><span>50</span><span>51</span><span>52</span><span>53</span><span>54</span><span>55</span><span>56</span><span>57</span><span>58</span><span>59</span><span>60</span><span>61</span><span>62</span><span>63</span><span>64</span><span>65</span><span>66</span><span>67</span><span>68</span><span>69</span><span>70</span><span>71</span><span>72</span><span>73</span><span>74</span><span>75</span><span>76</span><span>77</span><span>78</span><span>79</span><span>80</span><span>81</span><span>82</span><span>83</span><span>84</span><span>85</span><span>86</span><span>87</span><span>88</span><span>89</span><span>90</span><span>91</span><span>92</span><span>93</span><span>94</span><span>95</span><span>96</span><span>97</span><span>98</span><span>99</span><span>100</span><span>101</span><span>102</span><span>103</span><span>104</span><span>105</span><span>106</span><span>107</span><span>108</span><span>109</span><span>110</span><span>111</span><span>112</span><span>113</span><span>114</span><span>115</span><span>116</span><span>117</span><span>118</span><span>119</span><span>120</span><span>121</span><span>122</span><span>123</span><span>124</span><span>125</span><span>126</span><span>127</span><span>128</span><span>129</span><span>130</span><span>131</span><span>132</span><span>133</span><span>134</span><span>135</span><span>136</span><span>137</span><span>138</span><span>139</span><span>140</span><span>141</span><span>142</span><span>143</span><span>144</span><span>145</span><span>146</span><span>147</span><span>148</span><span>149</span><span>150</span><span>151</span><span>152</span><span>153</span><span>154</span><span>155</span><span>156</span><span>157</span><span>158</span><span>159</span><span>160</span><span>161</span><span>162</span><span>163</span><span>164</span><span>165</span><span>166</span><span>167</span><span>168</span><span>169</span><span>170</span><span>171</span><span>172</span><span>173</span><span>174</span><span>175</span><span>176</span><span>177</span><span>178</span><span>179</span><span>180</span><span>181</span><span>182</span><span>183</span><span>184</span><span>185</span><span>186</span><span>187</span><span>188</span><span>189</span><span>190</span><span>191</span><span>192</span><span>193</span><span>194</span><span>195</span><span>196</span><span>197</span><span>198</span><span>199</span><span>200</span><span>201</span><span>202</span><span>203</span><span>204</span><span>205</span><span>206</span><span>207</span><span>208</span><span>209</span><span>210</span><span>211</span><span>212</span><span>213</span><span>214</span><span>215</span><span>216</span><span>217</span><span>218</span><span>219</span><span>220</span><span>221</span><span>222</span><span>223</span><span>224</span><span>225</span><span>226</span><span>227</span><span>228</span><span>229</span><span>230</span><span>231</span><span>232</span><span>233</span><span>234</span><span>235</span><span>236</span><span>237</span><span>238</span><span>239</span><span>240</span><span>241</span><span>242</span><span>243</span><span>244</span><span>245</span><span>246</span><span>247</span><span>248</span><span>249</span><span>250</span><span>251</span><span>252</span><span>253</span><span>254</span><span>255</span><span>256</span><span>257</span><span>258</span><span>259</span><span>260</span><span>261</span><span>262</span><span>263</span><span>264</span><span>265</span><span>266</span><span>267</span><span>268</span><span>269</span><span>270</span><span>271</span><span>272</span><span>273</span><span>274</span><span>275</span><span>276</span><span>277</span><span>278</span><span>279</span><span>280</span><span>281</span><span>282</span><span>283</span><span>284</span><span>285</span><span>286</span><span>287</span><span>288</span><span>289</span><span>290</span><span>291</span><span>292</span><span>293</span><span>294</span><span>295</span><span>296</span><span>297</span><span>298</span><span>299</span><span>300</span><span>301</span><span>302</span><span>303</span><span>304</span><span>305</span><span>306</span><span>307</span><span>308</span><span>309</span><span>310</span><span>311</span><span>312</span><span>313</span><span>314</span></div><pre class="codecard-pre"><code class="language-lua"><span class="comment">-- MCP Bridge - TCP server for communicating with MCP server</span><span class="keyword">local</span> socket = <span class="built_in">require</span>(<span class="string">&quot;socket&quot;</span>)<span class="keyword">local</span> mcp_bridge = &#123;&#125;<span class="keyword">local</span> server = <span class="literal">nil</span><span class="keyword">local</span> clients = &#123;&#125;<span class="keyword">local</span> objectGetter = <span class="literal">nil</span><span class="comment">-- Initialize TCP server</span><span class="function"><span class="keyword">function</span> <span class="title">mcp_bridge.init</span><span class="params">(port)</span></span>    server = <span class="built_in">assert</span>(socket.tcp())    server:bind(<span class="string">&quot;*&quot;</span>, port)    server:listen(<span class="number">5</span>)    server:settimeout(<span class="number">0</span>) <span class="comment">-- Non-blocking</span>    <span class="built_in">print</span>(<span class="string">&quot;MCP Bridge listening on port &quot;</span> .. port)<span class="keyword">end</span><span class="comment">-- Set function to get game objects</span><span class="function"><span class="keyword">function</span> <span class="title">mcp_bridge.setObjectGetter</span><span class="params">(getter)</span></span>    objectGetter = getter<span class="keyword">end</span><span class="comment">-- Handle incoming connections and commands</span><span class="function"><span class="keyword">function</span> <span class="title">mcp_bridge.update</span><span class="params">()</span></span>    <span class="keyword">if</span> <span class="keyword">not</span> server <span class="keyword">then</span> <span class="keyword">return</span> <span class="keyword">end</span>    <span class="comment">-- Accept new clients</span>    <span class="keyword">local</span> client = server:accept()    <span class="keyword">if</span> client <span class="keyword">then</span>        client:settimeout(<span class="number">0</span>)        <span class="built_in">table</span>.<span class="built_in">insert</span>(clients, client)        <span class="built_in">print</span>(<span class="string">&quot;MCP client connected&quot;</span>)    <span class="keyword">end</span>    <span class="comment">-- Handle existing clients</span>    <span class="keyword">for</span> i = #clients, <span class="number">1</span>, <span class="number">-1</span> <span class="keyword">do</span>        <span class="keyword">local</span> client = clients[i]        <span class="keyword">local</span> line, err = client:receive(<span class="string">&quot;*l&quot;</span>)        <span class="keyword">if</span> line <span class="keyword">then</span>            <span class="comment">-- Process command</span>            <span class="keyword">local</span> success, response = <span class="built_in">pcall</span>(mcp_bridge.handleCommand, line)            <span class="keyword">if</span> success <span class="keyword">then</span>                client:send(response .. <span class="string">&quot;\n&quot;</span>)            <span class="keyword">else</span>                client:send(json.encode(&#123;<span class="built_in">error</span> = <span class="built_in">tostring</span>(response)&#125;) .. <span class="string">&quot;\n&quot;</span>)            <span class="keyword">end</span>        <span class="keyword">elseif</span> err == <span class="string">&quot;closed&quot;</span> <span class="keyword">then</span>            <span class="comment">-- Client disconnected</span>            client:<span class="built_in">close</span>()            <span class="built_in">table</span>.<span class="built_in">remove</span>(clients, i)            <span class="built_in">print</span>(<span class="string">&quot;MCP client disconnected&quot;</span>)        <span class="keyword">end</span>        <span class="comment">-- err == &quot;timeout&quot; means no data available, continue</span>    <span class="keyword">end</span><span class="keyword">end</span><span class="comment">-- Handle a command from MCP server</span><span class="function"><span class="keyword">function</span> <span class="title">mcp_bridge.handleCommand</span><span class="params">(line)</span></span>    <span class="keyword">local</span> command = json.decode(line)    <span class="keyword">if</span> command.command == <span class="string">&quot;list_objects&quot;</span> <span class="keyword">then</span>        <span class="keyword">return</span> mcp_bridge.listObjects()    <span class="keyword">elseif</span> command.command == <span class="string">&quot;get_object&quot;</span> <span class="keyword">then</span>        <span class="keyword">return</span> mcp_bridge.getObject(command.id)    <span class="keyword">elseif</span> command.command == <span class="string">&quot;run_lua&quot;</span> <span class="keyword">then</span>        <span class="keyword">return</span> mcp_bridge.runLua(command.code)    <span class="keyword">else</span>        <span class="keyword">return</span> json.encode(&#123;<span class="built_in">error</span> = <span class="string">&quot;Unknown command: &quot;</span> .. <span class="built_in">tostring</span>(command.command)&#125;)    <span class="keyword">end</span><span class="keyword">end</span><span class="comment">-- List all objects</span><span class="function"><span class="keyword">function</span> <span class="title">mcp_bridge.listObjects</span><span class="params">()</span></span>    <span class="keyword">if</span> <span class="keyword">not</span> objectGetter <span class="keyword">then</span>        <span class="keyword">return</span> json.encode(&#123;<span class="built_in">error</span> = <span class="string">&quot;No object getter configured&quot;</span>&#125;)    <span class="keyword">end</span>    <span class="keyword">local</span> objects = objectGetter()    <span class="keyword">local</span> result = &#123;&#125;    <span class="keyword">for</span> id, obj <span class="keyword">in</span> <span class="built_in">pairs</span>(objects) <span class="keyword">do</span>        <span class="built_in">table</span>.<span class="built_in">insert</span>(result, &#123;            id = id,            <span class="built_in">type</span> = obj.<span class="built_in">type</span>,            x = obj.x,            y = obj.y        &#125;)    <span class="keyword">end</span>    <span class="keyword">return</span> json.encode(&#123;objects = result&#125;)<span class="keyword">end</span><span class="comment">-- Get specific object details</span><span class="function"><span class="keyword">function</span> <span class="title">mcp_bridge.getObject</span><span class="params">(id)</span></span>    <span class="keyword">if</span> <span class="keyword">not</span> objectGetter <span class="keyword">then</span>        <span class="keyword">return</span> json.encode(&#123;<span class="built_in">error</span> = <span class="string">&quot;No object getter configured&quot;</span>&#125;)    <span class="keyword">end</span>    <span class="keyword">local</span> objects = objectGetter()    <span class="keyword">local</span> obj = objects[id]    <span class="keyword">if</span> <span class="keyword">not</span> obj <span class="keyword">then</span>        <span class="keyword">return</span> json.encode(&#123;<span class="built_in">error</span> = <span class="string">&quot;Object not found: &quot;</span> .. <span class="built_in">tostring</span>(id)&#125;)    <span class="keyword">end</span>    <span class="keyword">return</span> json.encode(&#123;object = obj&#125;)<span class="keyword">end</span><span class="comment">-- Run arbitrary Lua code with access to game objects</span><span class="function"><span class="keyword">function</span> <span class="title">mcp_bridge.runLua</span><span class="params">(code)</span></span>    <span class="keyword">local</span> func, err = <span class="built_in">loadstring</span>(code)    <span class="keyword">if</span> <span class="keyword">not</span> func <span class="keyword">then</span>        <span class="keyword">return</span> json.encode(&#123;<span class="built_in">error</span> = <span class="string">&quot;Syntax error: &quot;</span> .. <span class="built_in">tostring</span>(err)&#125;)    <span class="keyword">end</span>    <span class="comment">-- Set up environment with access to objects</span>    <span class="keyword">local</span> env = &#123;        objects = objectGetter <span class="keyword">and</span> objectGetter() <span class="keyword">or</span> &#123;&#125;,        love = love,        <span class="built_in">print</span> = <span class="built_in">print</span>,        <span class="built_in">pairs</span> = <span class="built_in">pairs</span>,        <span class="built_in">ipairs</span> = <span class="built_in">ipairs</span>,        <span class="built_in">type</span> = <span class="built_in">type</span>,        <span class="built_in">tostring</span> = <span class="built_in">tostring</span>,        <span class="built_in">tonumber</span> = <span class="built_in">tonumber</span>,        <span class="built_in">table</span> = <span class="built_in">table</span>,        <span class="built_in">math</span> = <span class="built_in">math</span>,        <span class="built_in">string</span> = <span class="built_in">string</span>,    &#125;    <span class="built_in">setfenv</span>(func, env)    <span class="keyword">local</span> success, result = <span class="built_in">pcall</span>(func)    <span class="keyword">if</span> <span class="keyword">not</span> success <span class="keyword">then</span>        <span class="keyword">return</span> json.encode(&#123;<span class="built_in">error</span> = <span class="string">&quot;Runtime error: &quot;</span> .. <span class="built_in">tostring</span>(result)&#125;)    <span class="keyword">end</span>    <span class="comment">-- Handle table results by encoding them</span>    <span class="keyword">if</span> <span class="built_in">type</span>(result) == <span class="string">&quot;table&quot;</span> <span class="keyword">then</span>        <span class="keyword">return</span> json.encode(&#123;result = result&#125;)    <span class="keyword">else</span>        <span class="keyword">return</span> json.encode(&#123;result = <span class="built_in">tostring</span>(result)&#125;)    <span class="keyword">end</span><span class="keyword">end</span><span class="comment">-- Shutdown server</span><span class="function"><span class="keyword">function</span> <span class="title">mcp_bridge.shutdown</span><span class="params">()</span></span>    <span class="comment">-- Close all clients</span>    <span class="keyword">for</span> _, client <span class="keyword">in</span> <span class="built_in">ipairs</span>(clients) <span class="keyword">do</span>        client:<span class="built_in">close</span>()    <span class="keyword">end</span>    clients = &#123;&#125;    <span class="comment">-- Close server</span>    <span class="keyword">if</span> server <span class="keyword">then</span>        server:<span class="built_in">close</span>()        server = <span class="literal">nil</span>        <span class="built_in">print</span>(<span class="string">&quot;MCP Bridge shut down&quot;</span>)    <span class="keyword">end</span><span class="keyword">end</span><span class="comment">-- Simple JSON encoder/decoder</span>json = &#123;&#125;<span class="function"><span class="keyword">function</span> <span class="title">json.encode</span><span class="params">(obj)</span></span>    <span class="keyword">local</span> t = <span class="built_in">type</span>(obj)    <span class="keyword">if</span> t == <span class="string">&quot;table&quot;</span> <span class="keyword">then</span>        <span class="keyword">local</span> parts = &#123;&#125;        <span class="keyword">local</span> isArray = <span class="literal">true</span>        <span class="keyword">local</span> arraySize = <span class="number">0</span>        <span class="comment">-- Check if it&#x27;s an array</span>        <span class="keyword">for</span> k, v <span class="keyword">in</span> <span class="built_in">pairs</span>(obj) <span class="keyword">do</span>            <span class="keyword">if</span> <span class="built_in">type</span>(k) ~= <span class="string">&quot;number&quot;</span> <span class="keyword">then</span>                isArray = <span class="literal">false</span>                <span class="keyword">break</span>            <span class="keyword">end</span>            arraySize = arraySize + <span class="number">1</span>        <span class="keyword">end</span>        <span class="keyword">if</span> isArray <span class="keyword">and</span> arraySize &gt; <span class="number">0</span> <span class="keyword">then</span>            <span class="keyword">for</span> i, v <span class="keyword">in</span> <span class="built_in">ipairs</span>(obj) <span class="keyword">do</span>                <span class="built_in">table</span>.<span class="built_in">insert</span>(parts, json.encode(v))            <span class="keyword">end</span>            <span class="keyword">return</span> <span class="string">&quot;[&quot;</span> .. <span class="built_in">table</span>.<span class="built_in">concat</span>(parts, <span class="string">&quot;,&quot;</span>) .. <span class="string">&quot;]&quot;</span>        <span class="keyword">else</span>            <span class="keyword">for</span> k, v <span class="keyword">in</span> <span class="built_in">pairs</span>(obj) <span class="keyword">do</span>                <span class="keyword">local</span> key = <span class="built_in">type</span>(k) == <span class="string">&quot;string&quot;</span> <span class="keyword">and</span> json.encode(k) <span class="keyword">or</span> <span class="built_in">tostring</span>(k)                <span class="built_in">table</span>.<span class="built_in">insert</span>(parts, key .. <span class="string">&quot;:&quot;</span> .. json.encode(v))            <span class="keyword">end</span>            <span class="keyword">return</span> <span class="string">&quot;&#123;&quot;</span> .. <span class="built_in">table</span>.<span class="built_in">concat</span>(parts, <span class="string">&quot;,&quot;</span>) .. <span class="string">&quot;&#125;&quot;</span>        <span class="keyword">end</span>    <span class="keyword">elseif</span> t == <span class="string">&quot;string&quot;</span> <span class="keyword">then</span>        <span class="keyword">return</span> <span class="string">&#x27;&quot;&#x27;</span> .. obj:<span class="built_in">gsub</span>(<span class="string">&#x27;\\&#x27;</span>, <span class="string">&#x27;\\\\&#x27;</span>):<span class="built_in">gsub</span>(<span class="string">&#x27;&quot;&#x27;</span>, <span class="string">&#x27;\\&quot;&#x27;</span>):<span class="built_in">gsub</span>(<span class="string">&#x27;\n&#x27;</span>, <span class="string">&#x27;\\n&#x27;</span>) .. <span class="string">&#x27;&quot;&#x27;</span>    <span class="keyword">elseif</span> t == <span class="string">&quot;number&quot;</span> <span class="keyword">or</span> t == <span class="string">&quot;boolean&quot;</span> <span class="keyword">then</span>        <span class="keyword">return</span> <span class="built_in">tostring</span>(obj)    <span class="keyword">elseif</span> t == <span class="string">&quot;nil&quot;</span> <span class="keyword">then</span>        <span class="keyword">return</span> <span class="string">&quot;null&quot;</span>    <span class="keyword">else</span>        <span class="keyword">return</span> <span class="string">&#x27;&quot;&#x27;</span> .. <span class="built_in">tostring</span>(obj) .. <span class="string">&#x27;&quot;&#x27;</span>    <span class="keyword">end</span><span class="keyword">end</span><span class="function"><span class="keyword">function</span> <span class="title">json.decode</span><span class="params">(str)</span></span>    <span class="keyword">local</span> pos = <span class="number">1</span>    <span class="keyword">local</span> <span class="function"><span class="keyword">function</span> <span class="title">skip_whitespace</span><span class="params">()</span></span>        <span class="keyword">while</span> pos &lt;= #str <span class="keyword">and</span> str:<span class="built_in">sub</span>(pos, pos):<span class="built_in">match</span>(<span class="string">&quot;%s&quot;</span>) <span class="keyword">do</span>            pos = pos + <span class="number">1</span>        <span class="keyword">end</span>    <span class="keyword">end</span>    <span class="keyword">local</span> <span class="function"><span class="keyword">function</span> <span class="title">decode_string</span><span class="params">()</span></span>        <span class="keyword">local</span> result = <span class="string">&quot;&quot;</span>        pos = pos + <span class="number">1</span> <span class="comment">-- skip opening quote</span>        <span class="keyword">while</span> pos &lt;= #str <span class="keyword">do</span>            <span class="keyword">local</span> <span class="built_in">char</span> = str:<span class="built_in">sub</span>(pos, pos)            <span class="keyword">if</span> <span class="built_in">char</span> == <span class="string">&#x27;&quot;&#x27;</span> <span class="keyword">then</span>                pos = pos + <span class="number">1</span>                <span class="keyword">return</span> result            <span class="keyword">elseif</span> <span class="built_in">char</span> == <span class="string">&quot;\\&quot;</span> <span class="keyword">then</span>                pos = pos + <span class="number">1</span>                <span class="keyword">local</span> escape = str:<span class="built_in">sub</span>(pos, pos)                <span class="keyword">if</span> escape == <span class="string">&quot;n&quot;</span> <span class="keyword">then</span> result = result .. <span class="string">&quot;\n&quot;</span>                <span class="keyword">elseif</span> escape == <span class="string">&quot;t&quot;</span> <span class="keyword">then</span> result = result .. <span class="string">&quot;\t&quot;</span>                <span class="keyword">elseif</span> escape == <span class="string">&quot;r&quot;</span> <span class="keyword">then</span> result = result .. <span class="string">&quot;\r&quot;</span>                <span class="keyword">elseif</span> escape == <span class="string">&quot;\\&quot;</span> <span class="keyword">then</span> result = result .. <span class="string">&quot;\\&quot;</span>                <span class="keyword">elseif</span> escape == <span class="string">&#x27;&quot;&#x27;</span> <span class="keyword">then</span> result = result .. <span class="string">&#x27;&quot;&#x27;</span>                <span class="keyword">else</span> result = result .. escape <span class="keyword">end</span>                pos = pos + <span class="number">1</span>            <span class="keyword">else</span>                result = result .. <span class="built_in">char</span>                pos = pos + <span class="number">1</span>            <span class="keyword">end</span>        <span class="keyword">end</span>        <span class="built_in">error</span>(<span class="string">&quot;Unterminated string&quot;</span>)    <span class="keyword">end</span>    <span class="keyword">local</span> <span class="function"><span class="keyword">function</span> <span class="title">decode_value</span><span class="params">()</span></span>        skip_whitespace()        <span class="keyword">local</span> <span class="built_in">char</span> = str:<span class="built_in">sub</span>(pos, pos)        <span class="keyword">if</span> <span class="built_in">char</span> == <span class="string">&#x27;&quot;&#x27;</span> <span class="keyword">then</span>            <span class="keyword">return</span> decode_string()        <span class="keyword">elseif</span> <span class="built_in">char</span> == <span class="string">&quot;&#123;&quot;</span> <span class="keyword">then</span>            <span class="keyword">local</span> obj = &#123;&#125;            pos = pos + <span class="number">1</span>            skip_whitespace()            <span class="keyword">if</span> str:<span class="built_in">sub</span>(pos, pos) == <span class="string">&quot;&#125;&quot;</span> <span class="keyword">then</span>                pos = pos + <span class="number">1</span>                <span class="keyword">return</span> obj            <span class="keyword">end</span>            <span class="keyword">while</span> <span class="literal">true</span> <span class="keyword">do</span>                skip_whitespace()                <span class="keyword">local</span> key = decode_string()                skip_whitespace()                <span class="keyword">if</span> str:<span class="built_in">sub</span>(pos, pos) ~= <span class="string">&quot;:&quot;</span> <span class="keyword">then</span> <span class="built_in">error</span>(<span class="string">&quot;Expected :&quot;</span>) <span class="keyword">end</span>                pos = pos + <span class="number">1</span>                obj[key] = decode_value()                skip_whitespace()                <span class="built_in">char</span> = str:<span class="built_in">sub</span>(pos, pos)                <span class="keyword">if</span> <span class="built_in">char</span> == <span class="string">&quot;&#125;&quot;</span> <span class="keyword">then</span>                    pos = pos + <span class="number">1</span>                    <span class="keyword">return</span> obj                <span class="keyword">elseif</span> <span class="built_in">char</span> == <span class="string">&quot;,&quot;</span> <span class="keyword">then</span>                    pos = pos + <span class="number">1</span>                <span class="keyword">else</span>                    <span class="built_in">error</span>(<span class="string">&quot;Expected , or &#125;&quot;</span>)                <span class="keyword">end</span>            <span class="keyword">end</span>        <span class="keyword">elseif</span> <span class="built_in">char</span> == <span class="string">&quot;[&quot;</span> <span class="keyword">then</span>            <span class="keyword">local</span> arr = &#123;&#125;            pos = pos + <span class="number">1</span>            skip_whitespace()            <span class="keyword">if</span> str:<span class="built_in">sub</span>(pos, pos) == <span class="string">&quot;]&quot;</span> <span class="keyword">then</span>                pos = pos + <span class="number">1</span>                <span class="keyword">return</span> arr            <span class="keyword">end</span>            <span class="keyword">while</span> <span class="literal">true</span> <span class="keyword">do</span>                <span class="built_in">table</span>.<span class="built_in">insert</span>(arr, decode_value())                skip_whitespace()                <span class="built_in">char</span> = str:<span class="built_in">sub</span>(pos, pos)                <span class="keyword">if</span> <span class="built_in">char</span> == <span class="string">&quot;]&quot;</span> <span class="keyword">then</span>                    pos = pos + <span class="number">1</span>                    <span class="keyword">return</span> arr                <span class="keyword">elseif</span> <span class="built_in">char</span> == <span class="string">&quot;,&quot;</span> <span class="keyword">then</span>                    pos = pos + <span class="number">1</span>                <span class="keyword">else</span>                    <span class="built_in">error</span>(<span class="string">&quot;Expected , or ]&quot;</span>)                <span class="keyword">end</span>            <span class="keyword">end</span>        <span class="keyword">elseif</span> str:<span class="built_in">sub</span>(pos, pos + <span class="number">3</span>) == <span class="string">&quot;true&quot;</span> <span class="keyword">then</span>            pos = pos + <span class="number">4</span>            <span class="keyword">return</span> <span class="literal">true</span>        <span class="keyword">elseif</span> str:<span class="built_in">sub</span>(pos, pos + <span class="number">4</span>) == <span class="string">&quot;false&quot;</span> <span class="keyword">then</span>            pos = pos + <span class="number">5</span>            <span class="keyword">return</span> <span class="literal">false</span>        <span class="keyword">elseif</span> str:<span class="built_in">sub</span>(pos, pos + <span class="number">3</span>) == <span class="string">&quot;null&quot;</span> <span class="keyword">then</span>            pos = pos + <span class="number">4</span>            <span class="keyword">return</span> <span class="literal">nil</span>        <span class="keyword">else</span>            <span class="keyword">local</span> num_str = str:<span class="built_in">match</span>(<span class="string">&quot;^%-?%d+%.?%d*[eE]?[%+%-]?%d*&quot;</span>, pos)            <span class="keyword">if</span> num_str <span class="keyword">then</span>                pos = pos + #num_str                <span class="keyword">return</span> <span class="built_in">tonumber</span>(num_str)            <span class="keyword">end</span>            <span class="built_in">error</span>(<span class="string">&quot;Invalid JSON value at position &quot;</span> .. pos)        <span class="keyword">end</span>    <span class="keyword">end</span>    <span class="keyword">return</span> decode_value()<span class="keyword">end</span><span class="keyword">return</span> mcp_bridge</span><br></code></pre></div></div><p>并在main.lua中引入这个文件</p><div class="codecard" data-lang="lua"><div class="codecard-header"><span class="codecard-lang">LUA</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span><span>14</span><span>15</span><span>16</span><span>17</span><span>18</span><span>19</span><span>20</span><span>21</span><span>22</span></div><pre class="codecard-pre"><code class="language-lua"><span class="keyword">local</span> mcp_bridge = <span class="built_in">require</span>(<span class="string">&quot;mcp_bridge&quot;</span>)<span class="function"><span class="keyword">function</span> <span class="title">love.load</span><span class="params">()</span></span>    <span class="comment">-- Initialize MCP bridge on port 12345</span>    mcp_bridge.init(<span class="number">12345</span>)    <span class="comment">-- Provide access to your game objects</span>    mcp_bridge.setObjectGetter(<span class="function"><span class="keyword">function</span><span class="params">()</span></span>        <span class="keyword">return</span> your_game_objects_table    <span class="keyword">end</span>)<span class="keyword">end</span><span class="function"><span class="keyword">function</span> <span class="title">love.update</span><span class="params">(dt)</span></span>    <span class="comment">-- Call this every frame to handle MCP commands</span>    mcp_bridge.update()    <span class="comment">-- Your game logic here</span><span class="keyword">end</span><span class="function"><span class="keyword">function</span> <span class="title">love.quit</span><span class="params">()</span></span>    mcp_bridge.shutdown()<span class="keyword">end</span></span><br></code></pre></div></div><h3 id="启动游戏"><a href="#启动游戏" class="headerlink" title="启动游戏"></a>启动游戏</h3><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-bash">love game/   <span class="comment">#在某目录启动游戏</span>或者love .   <span class="comment">#以当前目录启动游戏</span></span><br></code></pre></div></div><p>此时就会弹出love2d的默认气球界面</p><p>​<style>.lseogwjixuqd{zoom:25%;}</style><img src="/2026/09/09/Love2d%E7%9B%B8%E5%85%B3/Love2d%E7%9A%84skill%E5%92%8Cmcp/image-20260914145919690.webp" class="lseogwjixuqd" alt="image-20260914145919690"></p><p>游戏会在端口 12345 上启动一个 TCP 服务器</p><h2 id="连接MCP-Inspector"><a href="#连接MCP-Inspector" class="headerlink" title="连接MCP Inspector"></a>连接MCP Inspector</h2><p>这个我不知道有什么用</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">npx @modelcontextprotocol/inspector node build/index.js</span><br></code></pre></div></div><p>​<style>.tkdbjygovucv{zoom:25%;}</style><img src="/2026/09/09/Love2d%E7%9B%B8%E5%85%B3/Love2d%E7%9A%84skill%E5%92%8Cmcp/image-20260914145126548.webp" class="tkdbjygovucv" alt="image-20260914145126548"></p><p>就是我们在启动后会进入到浏览器的一个面板,可以自行研究</p><p>​<style>.lojpgtkzvfcv{zoom:25%;}</style><img src="/2026/09/09/Love2d%E7%9B%B8%E5%85%B3/Love2d%E7%9A%84skill%E5%92%8Cmcp/image-20260914145213823.webp" class="lojpgtkzvfcv" alt="image-20260914145213823"></p><h2 id="添加skill"><a href="#添加skill" class="headerlink" title="添加skill"></a>添加skill</h2><p>我们使用这个认可度比较高的这个skill</p><p><a href="https://lobehub.com/fr/skills/chongdashu-love2d-pocket-bomber-game-love2d-gamedev">点击前往网站</a></p><p>​<style>.rsjwkdrwpded{zoom:25%;}</style><img src="/2026/09/09/Love2d%E7%9B%B8%E5%85%B3/Love2d%E7%9A%84skill%E5%92%8Cmcp/image-20260913232143473.webp" class="rsjwkdrwpded" alt="image-20260913232143473"></p><p>直接复制给ai让它帮你装</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">Read https://lobehub.com/skills/chongdashu-love2d-pocket-bomber-game-love2d-gamedev/skill.md to understand how to install and use this skill. Install it as documented, then open the installed SKILL.md and follow its instructions. Ask for confirmation before any credential use, external service setup, or irreversible action.</span><br></code></pre></div></div><p>然后就会在项目的根目录生成</p><p>​<style>.jnqgxhdtbqvd{zoom:33%;}</style><img src="/2026/09/09/Love2d%E7%9B%B8%E5%85%B3/Love2d%E7%9A%84skill%E5%92%8Cmcp/image-20260914144318248.webp" class="jnqgxhdtbqvd" alt="image-20260914144318248"></p><p>然后我们启动一个love2d项目,它自己就可以按照你的提示词调用工具打开love2d</p><p>​<style>.bijwxuztbmvo{zoom:25%;}</style><img src="/2026/09/09/Love2d%E7%9B%B8%E5%85%B3/Love2d%E7%9A%84skill%E5%92%8Cmcp/image-20260913231850658.webp" class="bijwxuztbmvo" alt="image-20260913231850658"></p><p>不过光靠ai的效果是一言难尽的,还需要我们大量的纠正和调试</p><h2 id="bug"><a href="#bug" class="headerlink" title="bug"></a>bug</h2><p>不过这个还是存在一些bug的,例如ai会反复尝试获取报错日志,但是因为未知原因有的时候时候始终获取不到,这个问题还是等作者更新吧</p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/09/Love2d%E7%9B%B8%E5%85%B3/Love2d%E7%9A%84skill%E5%92%8Cmcp/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/09/Love2d%E7%9B%B8%E5%85%B3/Love2d%E7%9A%84skill%E5%92%8Cmcp/"/>
    <published>2026-09-09T04:45:29.000Z</published>
    <summary>
      <![CDATA[<h1 id="在使用agent辅助love2d游戏制作时-可以用一些skill和mcp来让ai更符合项目规范和减少出错"><a href="#在使用agent辅助love2d游戏制作时-可以用一些skill和mcp来让ai更符合项目规范和减少出错" class="headerl]]>
    </summary>
    <title>Love2d的skill和mcp</title>
    <updated>2026-09-14T07:05:35.338Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="软件推荐" scheme="https://funingna-wakawaka.github.io/categories/%E8%BD%AF%E4%BB%B6%E6%8E%A8%E8%8D%90/"/>
    <category term="software" scheme="https://funingna-wakawaka.github.io/tags/software/"/>
    <content>
      <![CDATA[<h1 id="打开看门狗2有时候会出现游戏启动但是没有界面的现象"><a href="#打开看门狗2有时候会出现游戏启动但是没有界面的现象" class="headerlink" title="打开看门狗2有时候会出现游戏启动但是没有界面的现象"></a>打开看门狗2有时候会出现游戏启动但是没有界面的现象</h1><p>这里是B站大佬的解决方法</p><blockquote><p>本脚本用于解决启动游戏后，出现了个看门狗2的小弹窗，但又没进入游戏加载的情况<br>安装方法：<br>1.用记事本或者其它文本编辑器打开WD2_fix.bat<br>2.找到“set LAUNCHER_PATH”开头的那一行<br>3.把UbisoftConnect.exe的路径，复制到双引号中，示例：<br>set LAUNCHER_PATH&#x3D;”C:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\UbisoftConnect.exe”<br>或set LAUNCHER_PATH&#x3D;”D:\Ubisoft\Ubisoft Game Launcher\UbisoftConnect.exe”<br>如果安装育碧启动器时使用了默认的路径则不用改（C盘x86…..），如果是自定义安装路径则要自己重新填写。</p><p>使用方法：<br>1.选中WD2_fix脚本右键，“以管理员身份运行”<br>2.脚本挂着别动，打开uplay，在游戏库中找到看门狗2然后运行（注意不要以其它方式比如exe直接启动，且确保启动没有带参数比如-eac_launcher）<br>3.如果没问题的话，过一会应该就能进游戏了。每次进游戏要先运行脚本，只要脚本没关闭，再次从uplay中打开游戏也不需要重新打开脚本</p></blockquote><p>然后打开游戏前启动这个脚本(注意提前调整育碧启动器的路径)</p><div class="codecard" data-lang="powershell"><div class="codecard-header"><span class="codecard-lang">POWERSHELL</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span><span>14</span><span>15</span><span>16</span><span>17</span><span>18</span><span>19</span><span>20</span><span>21</span><span>22</span><span>23</span><span>24</span><span>25</span><span>26</span><span>27</span><span>28</span><span>29</span><span>30</span><span>31</span></div><pre class="codecard-pre"><code class="language-powershell">@<span class="built_in">echo</span> offchcp <span class="number">65001</span> &gt;nulsetlocal enabledelayedexpansionREM ===== 用户配置区域 =====REM 在下方LAUNCHER_PATH中设置Uplay启动器完整路径!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<span class="built_in">set</span> LAUNCHER_PATH=<span class="string">&quot;D:\Uplay\Ubisoft Game Launcher\UbisoftConnect.exe&quot;</span><span class="built_in">set</span> GAME_EXE=SplashScreen.exe<span class="built_in">set</span> CHECK_INTERVAL=<span class="number">5</span><span class="built_in">set</span> LAUNCHER_DELAY=<span class="number">3</span>REM =======================<span class="built_in">echo</span> 请在Uplay中启动游戏<span class="built_in">echo</span>.:MAIN_LOOPtasklist /FI <span class="string">&quot;IMAGENAME eq %GAME_EXE%&quot;</span> | find /I <span class="string">&quot;%GAME_EXE%&quot;</span> &gt;nul<span class="keyword">if</span> !errorlevel! equ <span class="number">0</span> <span class="number">2</span>&gt;nul (    timeout /t %LAUNCHER_DELAY% /nobreak &gt;nul    <span class="built_in">start</span> <span class="string">&quot;&quot;</span> %LAUNCHER_PATH%     :WAIT_FOR_GAME_EXIT    tasklist /FI <span class="string">&quot;IMAGENAME eq %GAME_EXE%&quot;</span> | find /I <span class="string">&quot;%GAME_EXE%&quot;</span> &gt;nul    <span class="keyword">if</span> !errorlevel! equ <span class="number">0</span> <span class="number">2</span>&gt;nul (        timeout /t %CHECK_INTERVAL% /nobreak &gt;nul        goto WAIT_FOR_GAME_EXIT    ))timeout /t %CHECK_INTERVAL% /nobreak &gt;nulgoto MAIN_LOOP</span><br></code></pre></div></div><p>然后游戏就可以打开了</p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/07/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E7%9C%8B%E9%97%A8%E7%8B%972%E6%89%93%E4%B8%8D%E5%BC%80%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/07/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E7%9C%8B%E9%97%A8%E7%8B%972%E6%89%93%E4%B8%8D%E5%BC%80%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/"/>
    <published>2026-09-07T11:14:36.000Z</published>
    <summary>
      <![CDATA[<h1 id="打开看门狗2有时候会出现游戏启动但是没有界面的现象"><a href="#打开看门狗2有时候会出现游戏启动但是没有界面的现象" class="headerlink" title="打开看门狗2有时候会出现游戏启动但是没有界面的现象"></a>打开看门狗2有时候会出]]>
    </summary>
    <title>看门狗2打不开解决方案</title>
    <updated>2026-09-07T11:20:43.102Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="flutter" scheme="https://funingna-wakawaka.github.io/categories/flutter/"/>
    <category term="flutter" scheme="https://funingna-wakawaka.github.io/tags/flutter/"/>
    <content>
      <![CDATA[<h1 id="Flutter-Web-跨域（CORS）问题-chatgpt总结"><a href="#Flutter-Web-跨域（CORS）问题-chatgpt总结" class="headerlink" title="Flutter Web 跨域（CORS）问题(chatgpt总结)"></a>Flutter Web 跨域（CORS）问题(chatgpt总结)</h1><h2 id="1-什么是-Web-跨域？"><a href="#1-什么是-Web-跨域？" class="headerlink" title="1. 什么是 Web 跨域？"></a>1. 什么是 Web 跨域？</h2><p>在 Web 中，浏览器存在一套安全机制：</p><blockquote><p><strong>同源策略（Same-Origin Policy）</strong></p></blockquote><p>它规定：一个网页默认不能随意读取另一个不同 Origin 的资源。</p><p>一个 Origin 由三个部分组成：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">协议 + 域名 + 端口</span><br></code></pre></div></div><p>例如：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-text">http://localhost:8080│      │          │协议   域名       端口</span><br></code></pre></div></div><p>以下情况都属于不同 Origin：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-text">http://example.comhttps://example.com</span><br></code></pre></div></div><p>协议不同。</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-text">https://example.comhttps://api.example.com</span><br></code></pre></div></div><p>域名不同。</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-text">https://example.com:8080https://example.com:9000</span><br></code></pre></div></div><p>端口不同。</p><hr><h1 id="2-为什么浏览器要限制跨域？"><a href="#2-为什么浏览器要限制跨域？" class="headerlink" title="2. 为什么浏览器要限制跨域？"></a>2. 为什么浏览器要限制跨域？</h1><p>主要是为了安全。</p><p>例如用户已经登录了：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">https://bank.com</span><br></code></pre></div></div><p>浏览器中可能保存着银行网站的 Cookie。</p><p>如果任何网站都可以随便读取银行的数据，那么恶意网站：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">https://evil.com</span><br></code></pre></div></div><p>就可能尝试读取：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">https://bank.com/account</span><br></code></pre></div></div><p>所以浏览器默认限制：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span></div><pre class="codecard-pre"><code class="language-text">evil.com   │   └──────→ bank.com              ❌</span><br></code></pre></div></div><p>这就是同源策略。</p><hr><h1 id="3-什么是-CORS？"><a href="#3-什么是-CORS？" class="headerlink" title="3. 什么是 CORS？"></a>3. 什么是 CORS？</h1><p>CORS：</p><blockquote><p>Cross-Origin Resource Sharing<br>跨源资源共享</p></blockquote><p>它是浏览器提供的一种机制，让服务器可以明确告诉浏览器：</p><blockquote><p><strong>“我允许某个 Origin 的网页访问我的资源。”</strong></p></blockquote><p>例如 Flutter Web：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">http://localhost:8080</span><br></code></pre></div></div><p>请求：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">https://api.example.com/user</span><br></code></pre></div></div><p>服务器可以返回：</p><div class="codecard" data-lang="http"><div class="codecard-header"><span class="codecard-lang">HTTP</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-http"><span class="attribute">Access-Control-Allow-Origin</span><span class="punctuation">: </span>http://localhost:8080</span><br></code></pre></div></div><p>浏览器看到以后，就允许网页读取响应。</p><hr><h1 id="4-Flutter-Web-为什么会遇到-CORS？"><a href="#4-Flutter-Web-为什么会遇到-CORS？" class="headerlink" title="4. Flutter Web 为什么会遇到 CORS？"></a>4. Flutter Web 为什么会遇到 CORS？</h1><p>Flutter 本身不是 CORS 的核心问题。</p><p>关键在于：</p><blockquote><p><strong>Flutter Web 最终运行在浏览器中。</strong></p></blockquote><p>例如使用 Dio：</p><div class="codecard" data-lang="dart"><div class="codecard-header"><span class="codecard-lang">DART</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><pre class="codecard-pre"><code class="language-dart"><span class="keyword">final</span> dio = Dio();<span class="keyword">final</span> response = <span class="keyword">await</span> dio.<span class="keyword">get</span>(  <span class="string">&#x27;https://api.example.com/user&#x27;</span>,);</span><br></code></pre></div></div><p>在 Android 中：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span></div><pre class="codecard-pre"><code class="language-text">Flutter   ↓Dio   ↓网络   ↓API</span><br></code></pre></div></div><p>一般不会受到浏览器 CORS 的限制。</p><p>但是 Flutter Web：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span></div><pre class="codecard-pre"><code class="language-text">Flutter   ↓Dio   ↓浏览器 Chrome   ↓API</span><br></code></pre></div></div><p>Chrome 会执行浏览器的同源策略和 CORS 检查。</p><p>所以：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span></div><pre class="codecard-pre"><code class="language-text">Flutter Web + Dio        ↓      Chrome        ↓      CORS检查        ↓   ┌────┴────┐   ↓         ↓允许        不允许   ↓         ↓  ✅        ❌</span><br></code></pre></div></div><hr><h1 id="5-Dio-会不会出现跨域问题？"><a href="#5-Dio-会不会出现跨域问题？" class="headerlink" title="5. Dio 会不会出现跨域问题？"></a>5. Dio 会不会出现跨域问题？</h1><p>会。</p><p>Dio 本身不能绕过浏览器 CORS。</p><p>例如：</p><div class="codecard" data-lang="dart"><div class="codecard-header"><span class="codecard-lang">DART</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-dart"><span class="keyword">final</span> response = <span class="keyword">await</span> dio.<span class="keyword">get</span>(  <span class="string">&#x27;https://api.example.com/test&#x27;</span>,);</span><br></code></pre></div></div><p>如果 API 没有正确配置 CORS：</p><p>Chrome Console 可能出现：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><pre class="codecard-pre"><code class="language-text">Access to XMLHttpRequest at&#x27;https://api.example.com/test&#x27;from origin&#x27;http://localhost:xxxxx&#x27;has been blocked by CORS policy</span><br></code></pre></div></div><p>Dio 可能表现为：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">DioExceptionType.connectionError</span><br></code></pre></div></div><p>或者：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">XMLHttpRequest error.</span><br></code></pre></div></div><p>所以：</p><blockquote><p><strong>Dio 能发请求 ≠ 浏览器一定允许读取这个请求的结果。</strong></p></blockquote><hr><h1 id="6-如何判断是不是-CORS？"><a href="#6-如何判断是不是-CORS？" class="headerlink" title="6. 如何判断是不是 CORS？"></a>6. 如何判断是不是 CORS？</h1><p>首先打开：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-text">F12→ Console</span><br></code></pre></div></div><p>如果看到：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">blocked by CORS policy</span><br></code></pre></div></div><p>基本就可以确定是 CORS 问题。</p><p>典型错误：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-text">Access to XMLHttpRequest at &#x27;https://xxx.com/api&#x27;from origin &#x27;http://localhost:xxxxx&#x27;has been blocked by CORS policy</span><br></code></pre></div></div><p>而 Dio 代码中可能只看到：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-text">DioException [connection error]XMLHttpRequest error</span><br></code></pre></div></div><p>因此：</p><blockquote><p><strong>判断 Flutter Web CORS 问题时，Chrome Console 比 Dio 的异常信息更重要。</strong></p></blockquote><hr><h1 id="7-为什么有些-API-可以正常访问？"><a href="#7-为什么有些-API-可以正常访问？" class="headerlink" title="7. 为什么有些 API 可以正常访问？"></a>7. 为什么有些 API 可以正常访问？</h1><p>因为服务器已经配置了 CORS。</p><p>例如：</p><div class="codecard" data-lang="http"><div class="codecard-header"><span class="codecard-lang">HTTP</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-http"><span class="attribute">Access-Control-Allow-Origin</span><span class="punctuation">: </span>*</span><br></code></pre></div></div><p>表示允许跨 Origin 访问。</p><p>所以：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span></div><pre class="codecard-pre"><code class="language-text">Flutter Web    ↓Dio    ↓API    ↓Access-Control-Allow-Origin: *    ↓Chrome    ↓✅ 200</span><br></code></pre></div></div><p>例如测试：</p><div class="codecard" data-lang="dart"><div class="codecard-header"><span class="codecard-lang">DART</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-dart"><span class="keyword">final</span> response = <span class="keyword">await</span> dio.<span class="keyword">get</span>(  <span class="string">&#x27;https://jsonplaceholder.typicode.com/posts/1&#x27;</span>,);</span><br></code></pre></div></div><p>如果得到：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">200</span><br></code></pre></div></div><p>并不代表 Flutter Web 没有 CORS。</p><p>只是说明：</p><blockquote><p><strong>这个 API 允许当前请求跨域访问。</strong></p></blockquote><hr><h1 id="8-Postman-为什么可以请求，而浏览器不行？"><a href="#8-Postman-为什么可以请求，而浏览器不行？" class="headerlink" title="8. Postman 为什么可以请求，而浏览器不行？"></a>8. Postman 为什么可以请求，而浏览器不行？</h1><p>这是一个很常见的误区。</p><p>例如：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">Flutter Web → API</span><br></code></pre></div></div><p>出现：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">❌ CORS</span><br></code></pre></div></div><p>但是：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">Postman → API</span><br></code></pre></div></div><p>得到：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">✅ 200</span><br></code></pre></div></div><p>这并不矛盾。</p><p>因为：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-text">Postman   ↓API</span><br></code></pre></div></div><p>不是网页浏览器环境。</p><p>而：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><pre class="codecard-pre"><code class="language-text">Flutter Web   ↓Chrome   ↓API</span><br></code></pre></div></div><p>需要遵守浏览器的同源策略。</p><p>所以：</p><blockquote><p><strong>Postman 能请求 ≠ 浏览器能请求。</strong></p></blockquote><hr><h1 id="9-临时解决方法：关闭-Chrome-Web-Security"><a href="#9-临时解决方法：关闭-Chrome-Web-Security" class="headerlink" title="9. 临时解决方法：关闭 Chrome Web Security"></a>9. 临时解决方法：关闭 Chrome Web Security</h1><p>开发 Flutter Web 时，可以使用：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">--disable-web-security</span><br></code></pre></div></div><p>让 Chrome 关闭 Web Security，从而绕过浏览器的 CORS 检查。</p><p>一种修改 Flutter SDK 的方法：</p><h3 id="①-修改-chrome-dart"><a href="#①-修改-chrome-dart" class="headerlink" title="① 修改 chrome.dart"></a>① 修改 chrome.dart</h3><p>找到：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">flutter/packages/flutter_tools/lib/src/web/chrome.dart</span><br></code></pre></div></div><p>在 Chrome 启动参数的位置添加：</p><div class="codecard" data-lang="dart"><div class="codecard-header"><span class="codecard-lang">DART</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-dart"><span class="string">&#x27;--disable-web-security&#x27;</span>,</span><br></code></pre></div></div><hr><h3 id="②-删除-Flutter-缓存"><a href="#②-删除-Flutter-缓存" class="headerlink" title="② 删除 Flutter 缓存"></a>② 删除 Flutter 缓存</h3><p>删除：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-text">flutter/bin/cache/flutter_tools.snapshotflutter/bin/cache/flutter_tools.stamp</span><br></code></pre></div></div><hr><h3 id="③-重新生成-Flutter-Tools"><a href="#③-重新生成-Flutter-Tools" class="headerlink" title="③ 重新生成 Flutter Tools"></a>③ 重新生成 Flutter Tools</h3><p>执行：</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">flutter doctor -v</span><br></code></pre></div></div><p>然后重新运行：</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">flutter run -d chrome</span><br></code></pre></div></div><p>这样 Flutter 启动 Chrome 时，就会带上：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">--disable-web-security</span><br></code></pre></div></div><p>从而可以用于测试一些没有正确配置 CORS 的 API。</p><hr><h1 id="10-⚠️-–disable-web-security-的注意事项"><a href="#10-⚠️-–disable-web-security-的注意事项" class="headerlink" title="10. ⚠️ –disable-web-security 的注意事项"></a>10. ⚠️ –disable-web-security 的注意事项</h1><p>这个方法本质上是在告诉 Chrome：</p><blockquote><p><strong>关闭浏览器的 Web 安全限制。</strong></p></blockquote><p>因此它适合：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-text">开发环境测试临时调试 CORS</span><br></code></pre></div></div><p>不适合：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-text">生产环境正式部署的网站</span><br></code></pre></div></div><p>因为这不是在真正解决 CORS。</p><p>正确的生产环境解决方案应该是：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span></div><pre class="codecard-pre"><code class="language-text">Flutter Web     ↓     API     ↓服务器配置 CORS     ↓Access-Control-Allow-Origin     ↓Chrome     ↓✅</span><br></code></pre></div></div><p>而不是：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span></div><pre class="codecard-pre"><code class="language-text">Flutter Web     ↓关闭 Chrome 安全策略     ↓API     ↓✅</span><br></code></pre></div></div><hr><h1 id="11-正规解决方案"><a href="#11-正规解决方案" class="headerlink" title="11. 正规解决方案"></a>11. 正规解决方案</h1><p>如果 Flutter Web：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">http://localhost:8080</span><br></code></pre></div></div><p>访问：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">https://api.example.com</span><br></code></pre></div></div><p>那么后端应该允许：</p><div class="codecard" data-lang="http"><div class="codecard-header"><span class="codecard-lang">HTTP</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-http"><span class="attribute">Access-Control-Allow-Origin</span><span class="punctuation">: </span>http://localhost:8080</span><br></code></pre></div></div><p>生产环境则应该根据实际域名配置，例如：</p><div class="codecard" data-lang="http"><div class="codecard-header"><span class="codecard-lang">HTTP</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-http"><span class="attribute">Access-Control-Allow-Origin</span><span class="punctuation">: </span>https://example.com</span><br></code></pre></div></div><p>也可以根据后端框架配置 CORS。</p><hr><h1 id="12-VPN-和-CORS-没有直接关系"><a href="#12-VPN-和-CORS-没有直接关系" class="headerlink" title="12. VPN 和 CORS 没有直接关系"></a>12. VPN 和 CORS 没有直接关系</h1><p>VPN：</p><blockquote><p>改变网络连接方式、路由、出口 IP 等。</p></blockquote><p>CORS：</p><blockquote><p>浏览器控制网页是否可以读取其他 Origin 的资源。</p></blockquote><p>所以：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><pre class="codecard-pre"><code class="language-text">VPN 开启+API 没有 CORS=❌ 仍然可能 CORS</span><br></code></pre></div></div><p>而：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><pre class="codecard-pre"><code class="language-text">VPN 关闭+API 正确配置 CORS=✅ 正常访问</span><br></code></pre></div></div><p>因此：</p><blockquote><p><strong>VPN 不会自动解决 CORS。</strong></p></blockquote><hr><h1 id="13-Flutter-Web-Dio-的完整关系"><a href="#13-Flutter-Web-Dio-的完整关系" class="headerlink" title="13. Flutter Web + Dio 的完整关系"></a>13. Flutter Web + Dio 的完整关系</h1><p>可以记住这个流程：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span><span>10</span><span>11</span><span>12</span><span>13</span><span>14</span><span>15</span><span>16</span><span>17</span></div><pre class="codecard-pre"><code class="language-text">       Flutter Web           │           ▼          Dio           │           ▼        Chrome           │    同源策略 / CORS           │   ┌───────┴───────┐   │               │服务器允许       服务器不允许   │               │   ▼               ▼  ✅              ❌ 200          CORS Error</span><br></code></pre></div></div><hr><h1 id="14-最重要的几个结论"><a href="#14-最重要的几个结论" class="headerlink" title="14. 最重要的几个结论"></a>14. 最重要的几个结论</h1><h3 id="①-CORS-主要是浏览器的问题"><a href="#①-CORS-主要是浏览器的问题" class="headerlink" title="① CORS 主要是浏览器的问题"></a>① CORS 主要是浏览器的问题</h3><p>不是 Dio 独有的问题，也不是 Flutter 独有的问题。</p><hr><h3 id="②-Flutter-Web-才特别容易遇到"><a href="#②-Flutter-Web-才特别容易遇到" class="headerlink" title="② Flutter Web 才特别容易遇到"></a>② Flutter Web 才特别容易遇到</h3><p>因为 Flutter Web 运行在浏览器中。</p><hr><h3 id="③-Dio-不能绕过-CORS"><a href="#③-Dio-不能绕过-CORS" class="headerlink" title="③ Dio 不能绕过 CORS"></a>③ Dio 不能绕过 CORS</h3><p>Dio 只是 HTTP 客户端。</p><hr><h3 id="④-API-是否允许跨域由服务器配置"><a href="#④-API-是否允许跨域由服务器配置" class="headerlink" title="④ API 是否允许跨域由服务器配置"></a>④ API 是否允许跨域由服务器配置</h3><p>常见响应头：</p><div class="codecard" data-lang="http"><div class="codecard-header"><span class="codecard-lang">HTTP</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-http">Access-Control-Allow-Origin</span><br></code></pre></div></div><hr><h3 id="⑤-Postman-能请求不代表浏览器能请求"><a href="#⑤-Postman-能请求不代表浏览器能请求" class="headerlink" title="⑤ Postman 能请求不代表浏览器能请求"></a>⑤ Postman 能请求不代表浏览器能请求</h3><p>因为 Postman 不受浏览器同源策略限制。</p><hr><h3 id="⑥-VPN-和-CORS-没有直接关系"><a href="#⑥-VPN-和-CORS-没有直接关系" class="headerlink" title="⑥ VPN 和 CORS 没有直接关系"></a>⑥ VPN 和 CORS 没有直接关系</h3><p>VPN 不会自动解决跨域。</p><hr><h3 id="⑦-disable-web-security-可以临时测试"><a href="#⑦-disable-web-security-可以临时测试" class="headerlink" title="⑦ --disable-web-security 可以临时测试"></a>⑦ <code>--disable-web-security</code> 可以临时测试</h3><p>Flutter 可以修改：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">flutter/packages/flutter_tools/lib/src/web/chrome.dart</span><br></code></pre></div></div><p>添加：</p><div class="codecard" data-lang="dart"><div class="codecard-header"><span class="codecard-lang">DART</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-dart"><span class="string">&#x27;--disable-web-security&#x27;</span>,</span><br></code></pre></div></div><p>然后删除：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-text">flutter/bin/cache/flutter_tools.snapshotflutter/bin/cache/flutter_tools.stamp</span><br></code></pre></div></div><p>执行：</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">flutter doctor -v</span><br></code></pre></div></div><p>再：</p><div class="codecard" data-lang="bash"><div class="codecard-header"><span class="codecard-lang">BASH</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-bash">flutter run -d chrome</span><br></code></pre></div></div><p>但这只是<strong>开发调试方案</strong>。</p><hr><h2 id="一句话记忆"><a href="#一句话记忆" class="headerlink" title="一句话记忆"></a>一句话记忆</h2><blockquote><p><strong>Flutter Web 使用 Dio 请求 API 时，Dio 负责发请求，Chrome 负责执行浏览器安全策略，服务器通过 CORS Header 告诉 Chrome“哪些网页可以读取我的响应”。</strong></p></blockquote><p>所以遇到：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-text">blocked by CORS policy</span><br></code></pre></div></div><p>第一反应应该是：</p><div class="codecard" data-lang="text"><div class="codecard-header"><span class="codecard-lang">TEXT</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><pre class="codecard-pre"><code class="language-text">F12 → Console        ↓确认 CORS        ↓检查服务器 CORS 配置</span><br></code></pre></div></div><p>而不是首先修改 Flutter。</p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/03/Flutter%E7%9B%B8%E5%85%B3/flutter%E7%AC%AC%E5%8D%81%E4%B8%80%E5%A4%A9/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/03/Flutter%E7%9B%B8%E5%85%B3/flutter%E7%AC%AC%E5%8D%81%E4%B8%80%E5%A4%A9/"/>
    <published>2026-09-03T14:29:37.000Z</published>
    <summary>
      <![CDATA[<h1 id="Flutter-Web-跨域（CORS）问题-chatgpt总结"><a href="#Flutter-Web-跨域（CORS）问题-chatgpt总结" class="headerlink" title="Flutter Web 跨域（CORS）问题(chatg]]>
    </summary>
    <title>flutter第十一天----CORS问题</title>
    <updated>2026-09-03T14:31:38.582Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="日记" scheme="https://funingna-wakawaka.github.io/categories/%E6%97%A5%E8%AE%B0/"/>
    <category term="diary" scheme="https://funingna-wakawaka.github.io/tags/diary/"/>
    <content>
      <![CDATA[<h1 id="盘点最近遇到的好事和坏事"><a href="#盘点最近遇到的好事和坏事" class="headerlink" title="盘点最近遇到的好事和坏事"></a>盘点最近遇到的好事和坏事</h1><h2 id="好事"><a href="#好事" class="headerlink" title="好事"></a>好事</h2><h3 id="美团原神冰变杯"><a href="#美团原神冰变杯" class="headerlink" title="美团原神冰变杯"></a>美团原神冰变杯</h3><p>幸好我一直点手速快,不然就抢不到了,还能吃个冰淇淋</p><p>​<style>.aogctnihuflc{zoom: 25%;}</style><img src="/2026/09/03/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%9C%80%E8%BF%91%E7%9A%84%E5%96%9C%E4%B8%8E%E6%82%B2/image-20260903194743685.webp" class="aogctnihuflc" alt="image-20260903194743685"></p><h3 id="金海豚参赛小游戏"><a href="#金海豚参赛小游戏" class="headerlink" title="金海豚参赛小游戏"></a>金海豚参赛小游戏</h3><p>有接近400人玩了我的垃圾小游戏No kitty,至少还有人玩了还算欣慰吧</p><p>​<style>.mtjqfztqutfn{zoom: 25%;}</style><img src="/2026/09/03/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%9C%80%E8%BF%91%E7%9A%84%E5%96%9C%E4%B8%8E%E6%82%B2/image-20260903194850915.webp" class="mtjqfztqutfn" alt="image-20260903194850915"></p><h3 id="PayPal申诉成功"><a href="#PayPal申诉成功" class="headerlink" title="PayPal申诉成功"></a>PayPal申诉成功</h3><p>也是吸取了教训,打开VPN的时候千万不要打开PayPal,否则就会被限制账号</p><p>客服也挺好的,半小时就给我解封了,以后可以用PayPal收款付款了</p><p>对了,其实没有mastercard和visa的话,招商银行和建设银行的银联其实可以支持外汇,不过要去银行办理</p><p>​<style>.tjijfyytxgqv{zoom: 25%;}</style><img src="/2026/09/03/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%9C%80%E8%BF%91%E7%9A%84%E5%96%9C%E4%B8%8E%E6%82%B2/image-20260903200520153.webp" class="tjijfyytxgqv" alt="image-20260903200520153"></p><h3 id="英语六级擦边过了"><a href="#英语六级擦边过了" class="headerlink" title="英语六级擦边过了"></a>英语六级擦边过了</h3><p>记得考前就写了3张真题,听力基本上瞎选的</p><p>然后就考了429,至少不需要重考了,刷分感觉没有必要</p><p>因为我觉得考试和现实是两回事</p><h3 id="Spine-4-3-23被破解了"><a href="#Spine-4-3-23被破解了" class="headerlink" title="Spine 4.3.23被破解了"></a>Spine 4.3.23被破解了</h3><p>有QQ群大佬借助ai逆向出来的,真的是时代变了,估计这个就是目前首个被破解的版本</p><p>以后可以用spine做游戏人物了</p><p>​<style>.ctrmmjxvhgkl{zoom:33%;}</style><img src="/2026/09/03/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%9C%80%E8%BF%91%E7%9A%84%E5%96%9C%E4%B8%8E%E6%82%B2/image-20260903203313411.webp" class="ctrmmjxvhgkl" alt="image-20260903203313411"></p><h3 id="Telegram账号找回"><a href="#Telegram账号找回" class="headerlink" title="Telegram账号找回"></a>Telegram账号找回</h3><p>最近办理了银行卡海外支付后,花了1美元订阅(印度尼西亚区)高级版一个星期,而且找回了之前的账号,非常nice</p><p>​<style>.mtvjxunhlncy{zoom:33%;}</style><img src="/2026/09/03/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%9C%80%E8%BF%91%E7%9A%84%E5%96%9C%E4%B8%8E%E6%82%B2/image-20260904110638147.webp" class="mtvjxunhlncy" alt="image-20260904110638147"></p><h3 id="Zcode又发了好多token"><a href="#Zcode又发了好多token" class="headerlink" title="Zcode又发了好多token"></a>Zcode又发了好多token</h3><p>我直接化身王多鱼,一天给它造完</p><p>​<style>.vskyqlqsydzq{zoom:25%;}</style><img src="/2026/09/03/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%9C%80%E8%BF%91%E7%9A%84%E5%96%9C%E4%B8%8E%E6%82%B2/image-20260904210406554.webp" class="vskyqlqsydzq" alt="image-20260904210406554"></p><p>先搓一个love2d游戏</p><p>​<style>.xbrfbawoybks{zoom:25%;}</style><img src="/2026/09/03/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%9C%80%E8%BF%91%E7%9A%84%E5%96%9C%E4%B8%8E%E6%82%B2/image-20260905134757364.webp" class="xbrfbawoybks" alt="image-20260905134757364"></p><p>再把博客支持pjax并升级样式</p><p>​<style>.yqpyjllbpplq{zoom:25%;}</style><img src="/2026/09/03/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%9C%80%E8%BF%91%E7%9A%84%E5%96%9C%E4%B8%8E%E6%82%B2/image-20260905192607826.webp" class="yqpyjllbpplq" alt="image-20260905192607826"></p><h2 id="坏事"><a href="#坏事" class="headerlink" title="坏事"></a>坏事</h2><h3 id="DigitalOcean扣费"><a href="#DigitalOcean扣费" class="headerlink" title="DigitalOcean扣费"></a>DigitalOcean扣费</h3><p>DigitalOcean偷偷取消了学生200美元的代金卷导致我扣了13美元而且不退款</p><p>原以为可以免费用一年的两台服务器只用了4个月,搞得我不得不暂时关掉,胆子真是肥嘟嘟</p><p>等以后需要学习服务器和linux还有Docker的时候再开吧</p><p>​<style>.lnetwwpakijf{zoom:25%;}</style><img src="/2026/09/03/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%9C%80%E8%BF%91%E7%9A%84%E5%96%9C%E4%B8%8E%E6%82%B2/image-20260903195045081.webp" class="lnetwwpakijf" alt="image-20260903195045081"></p><p>​<style>.ybjmvjaswjts{zoom:33%;}</style><img src="/2026/09/03/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%9C%80%E8%BF%91%E7%9A%84%E5%96%9C%E4%B8%8E%E6%82%B2/image-20260903195650516.webp" class="ybjmvjaswjts" alt="image-20260903195650516"></p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/03/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%9C%80%E8%BF%91%E7%9A%84%E5%96%9C%E4%B8%8E%E6%82%B2/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/03/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%9C%80%E8%BF%91%E7%9A%84%E5%96%9C%E4%B8%8E%E6%82%B2/"/>
    <published>2026-09-03T11:41:13.000Z</published>
    <summary>
      <![CDATA[<h1 id="盘点最近遇到的好事和坏事"><a href="#盘点最近遇到的好事和坏事" class="headerlink" title="盘点最近遇到的好事和坏事"></a>盘点最近遇到的好事和坏事</h1><h2 id="好事"><a href="#好事" class="]]>
    </summary>
    <title>最近的喜与悲</title>
    <updated>2026-09-05T12:02:57.990Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="软件推荐" scheme="https://funingna-wakawaka.github.io/categories/%E8%BD%AF%E4%BB%B6%E6%8E%A8%E8%8D%90/"/>
    <category term="software" scheme="https://funingna-wakawaka.github.io/tags/software/"/>
    <content>
      <![CDATA[<h1 id="旅游的时候晚上在旅社没事干-折腾出来了这个东西"><a href="#旅游的时候晚上在旅社没事干-折腾出来了这个东西" class="headerlink" title="旅游的时候晚上在旅社没事干,折腾出来了这个东西"></a>旅游的时候晚上在旅社没事干,折腾出来了这个东西</h1><p>首先确保VPN代理工具开启，网络流畅</p><p>下载<a href="https://github.com/termux/termux-app">termux软件</a>并更新配置</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">pkg update &amp;&amp; pkg upgrade -y</span><br></code></pre></div></div><p>但是不幸的是对于安卓机来说没有办法使用Claudecode，所以我们需要安装Ubuntu</p><p>因为Android的底层是Linux所以用termux很容易实现Linux的安装</p><p>首先安装proot-distro</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">pkg install proot-distro -y</span><br></code></pre></div></div><p>然后验证</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">proot-distro --version</span><br></code></pre></div></div><p>然后安装Ubuntu 24.04LTS </p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">proot-distro install ubuntu:24.04</span><br></code></pre></div></div><p>然后检查已安装的系统可以看到Ubuntu已安装</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">proot-distro list</span><br></code></pre></div></div><p>然后进入Ubuntu</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">proot-distro login ubuntu</span><br></code></pre></div></div><p>成功的话可以看到root@localhost:~#</p><p>也就是已经是root模式，不需要在前面添加sudo命令了</p><p>然后我们输入以下命令检查环境</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></div><pre class="codecard-pre"><code class="language-plaintext">uname -acat /etc/os-releaseecho $HOME</span><br></code></pre></div></div><p>只要是显示为Linux和root即可</p><p>接下来的操作和termux几乎一致，只不过是把主要把 Termux 的  pkg  换成  apt ，由于Ubuntu自带的nodejs版本较旧，所以我们使用NodeSource安装</p><p>我们先更新一下Ubuntu 配置</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">apt update &amp;&amp; apt upgrade -y</span><br></code></pre></div></div><p>安装 Git、curl、jq</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">apt install -y git curl jq</span><br></code></pre></div></div><p>配置git信息</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-plaintext">git config --global user.name &quot;huyangpahuo&quot;git config --global user.email &quot;3930088367@qq.com&quot;</span><br></code></pre></div></div><p>检查</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-plaintext">查看用户名：git config user.name查看邮箱：git config user.email</span><br></code></pre></div></div><p>安装 Node.js（推荐方式）</p><p>Ubuntu 官方源里的 Node.js 版本通常较旧，Claude Code 需要较新版本。建议用 NodeSource 安装 LTS 版</p><p>下载并执行 NodeSource 安装脚本（以 Node 24 LTS 为例）</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">curl -fsSL https://deb.nodesource.com/setup_24.x | bash -</span><br></code></pre></div></div><p>安装 Node.js（会自动包含 npm）</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">apt install -y nodejs</span><br></code></pre></div></div><p>在此期间会让你选择时区</p><p>我们选亚洲Asia 5 地区 上海 Shanghai 69</p><p>如果列表没有可以输入More查看更多地区</p><p>验证版本</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-plaintext">node --versionnpm --version</span><br></code></pre></div></div><p>更新 npm 到最新版</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">npm install -g npm@latest</span><br></code></pre></div></div><p>检查版本</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">npm --version</span><br></code></pre></div></div><p>安装 Claude Code（允许执行安装脚本）</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">npm install -g @anthropic-ai/claude-code --allow-scripts=@anthropic-ai/claude-code</span><br></code></pre></div></div><p>如果安装失败，先卸载再重装</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-plaintext">npm uninstall -g @anthropic-ai/claude-codenpm install -g @anthropic-ai/claude-code --allow-scripts=@anthropic-ai/claude-code</span><br></code></pre></div></div><p>codex则不需要标记–allow-scripts，而且也没必要接deepseek的API，因为codex最近一直在重置免费的就够用了</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">npm install -g @openai/codex</span><br></code></pre></div></div><p>检查Claude版本</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">claude --version</span><br></code></pre></div></div><p>我们先配置环境配置，这样Claude code 就不用登录了</p><p>把下面命令里的 <code>sk-你的DeepSeek密钥</code> 替换成你的真实 API Key：</p><p>设置API地址</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">echo &#x27;export ANTHROPIC_BASE_URL=&quot;https://api.deepseek.com/anthropic&quot;&#x27; &gt;&gt; ~/.bashrc</span><br></code></pre></div></div><p>配置deepseekAPI密钥</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">echo &#x27;export ANTHROPIC_AUTH_TOKEN=&quot;sk-你的DeepSeek密钥&quot;&#x27; &gt;&gt; ~/.bashrc</span><br></code></pre></div></div><p>配置模型声明1M百万上下文支持</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">echo &#x27;export ANTHROPIC_MODEL=&quot;deepseek-v4-pro[1m]&quot;&#x27; &gt;&gt; ~/.bashrc</span><br></code></pre></div></div><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">source ~/.bashrc</span><br></code></pre></div></div><p>如果能用的话安装 cc-switch-skill</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">curl -sSL https://raw.githubusercontent.com/stcatz/cc-switch-skill/main/install.sh | bash</span><br></code></pre></div></div><p>安装脚本会自动把 Skill 安装到：</p><p>~&#x2F;.claude&#x2F;skills&#x2F;cc-switch</p><p>安装完成后会提示重启 Claude Code 才能使用。先不重启，继续初始化：</p><p>第一次运行会自动创建配置目录</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">~/.claude/skills/cc-switch/scripts/list_providers.sh</span><br></code></pre></div></div><p>查看预设提供商</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">jq &#x27;.presets[] | &#123;name,id&#125;&#x27; ~/.claude/skills/cc-switch/presets.json</span><br></code></pre></div></div><p>我们可以在列表看到DeepSeek Official等等预设</p><p>不过预设不等于已添加的provider</p><p>所以我们需要自己配置</p><p>自定义API和提供商的方法（以deepseek为例，虽然我们已经配置环境变量为deepseek的了）</p><p>添加 DeepSeek 到 cc-switch</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span><span>6</span><span>7</span><span>8</span><span>9</span></div><pre class="codecard-pre"><code class="language-plaintext">~/.claude/skills/cc-switch/scripts/add_provider.sh \  --name &quot;DeepSeek&quot; \  --app claude \  --key &quot;你的API Key&quot; \  --url &quot;https://api.deepseek.com/anthropic&quot;</span><br></code></pre></div></div><p>查看已添加的提供商</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">~/.claude/skills/cc-switch/scripts/list_providers.sh</span><br></code></pre></div></div><p>如果装错API了需要清空</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span></div><pre class="codecard-pre"><code class="language-plaintext">~/.claude/skills/cc-switch/scripts/delete_provider.sh \  --id 粘贴你实际的ID</span><br></code></pre></div></div><p>然后检查一下</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">~/.claude/skills/cc-switch/scripts/list_providers.sh</span><br></code></pre></div></div><p>如果觉得界面上信息太多了可以输入clear清除</p><p>输入exit退出</p><p>然后下一次进入进入Ubuntu</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">proot-distro login ubuntu</span><br></code></pre></div></div><p>输入claude启动，不过是以root为工作目录的</p><p>当然也可以在 Claude Code &#x2F;cc-switch skill里选择Switch to DeepSeek  快速切换模型或者  List all providers  列出所有提供商（不过这个是让claude帮忙完成，会消耗token）</p><p>不过恢复的话也很简单，Ubuntu执行</p><p>cat ~&#x2F;.claude&#x2F;settings.json先查看当前配置</p><p>nano ~&#x2F;.claude&#x2F;settings.json进行编辑</p><p> Ctrl + O  →  Enter  保存</p><p> Ctrl + X  退出</p><p>cat ~&#x2F;.claude&#x2F;settings.json再次检查</p><p>或者直接删除</p><p>rm ~&#x2F;.claude&#x2F;settings.json</p><p>我们需要先授权termux手机存储的访问</p><p>termux-setup-storage</p><p>然后进入指定目录例如</p><p>&#x2F;storage&#x2F;emulated&#x2F;0&#x2F;MyProject</p><p>看看是否可以访问</p><p>注意路径不要有中文</p><p>由于Android和Ubuntu的文件系统表示方式不太一样，所以还需要操作</p><p>我们进入Ubuntu</p><p>输入 ls &#x2F;storage&#x2F;emulated&#x2F;0看看Ubuntu是否能访问Android文件</p><p>可以访问就执行进入文件路径</p><p>cd &#x2F;storage&#x2F;emulated&#x2F;0&#x2F;MyProject</p><p>此时在Ubuntu里显示的是</p><p>&#x2F;mnt&#x2F;sdcard&#x2F;MyProject</p><p>实际上是同一个路径，只是表达方式不同</p><p>然后启动打开codex或者claude 输入提示词</p><p>然后就可以看到这个文件夹里有生成的脚本</p><p>当然,手机其实也可以写脚本,可以用Acode这个软件,这个是类似VScode的一个插件化编辑器</p><p>不过以前VScode可以通过code FA来在移动端上写脚本</p><div class="note danger modern"><p>不过我强烈不推荐在手机上写代码,因为这种行为和嘉豪没区别,浪费时间</p></div>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/03/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E6%89%8B%E6%9C%BA%E8%BF%90%E8%A1%8CClaudecode/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/03/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E6%89%8B%E6%9C%BA%E8%BF%90%E8%A1%8CClaudecode/"/>
    <published>2026-09-02T17:11:53.000Z</published>
    <summary>
      <![CDATA[<h1 id="旅游的时候晚上在旅社没事干-折腾出来了这个东西"><a href="#旅游的时候晚上在旅社没事干-折腾出来了这个东西" class="headerlink" title="旅游的时候晚上在旅社没事干,折腾出来了这个东西"></a>旅游的时候晚上在旅社没事干,折腾出]]>
    </summary>
    <title>手机运行Claudecode</title>
    <updated>2026-09-02T18:54:51.846Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="软件推荐" scheme="https://funingna-wakawaka.github.io/categories/%E8%BD%AF%E4%BB%B6%E6%8E%A8%E8%8D%90/"/>
    <category term="software" scheme="https://funingna-wakawaka.github.io/tags/software/"/>
    <content>
      <![CDATA[<h1 id="Deepseek-harness和pi最近很火爆-也算是AI圈的常态了"><a href="#Deepseek-harness和pi最近很火爆-也算是AI圈的常态了" class="headerlink" title="Deepseek harness和pi最近很火爆,也算是AI圈的常态了"></a>Deepseek harness和pi最近很火爆,也算是AI圈的常态了</h1><p>事不宜迟,旅游回家后第一件事就是下载一个看看</p><h2 id="DeepseekHarness"><a href="#DeepseekHarness" class="headerlink" title="DeepseekHarness"></a>DeepseekHarness</h2><p><a href="https://github.com/deepseek-ai/deepseek-harness">点击前往</a></p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">npx @deepseek-ai/dsh web</span><br></code></pre></div></div><p>这个是终端输入dsh web启动作为后台,在网页运行的,功能采用插件式,和codex很像啊</p><p>​<style>.tengggyojhtb{zoom:33%;}</style><img src="/2026/09/03/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%AF%95%E8%AF%95%E6%96%B0%E5%87%BA%E7%9A%84DeepseekHarness%E5%92%8CPi/image-20260903032710841.webp" class="tengggyojhtb" alt="image-20260903032710841"></p><p>​<style>.wvlnzkvhmpqb{zoom:33%;}</style><img src="/2026/09/03/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%AF%95%E8%AF%95%E6%96%B0%E5%87%BA%E7%9A%84DeepseekHarness%E5%92%8CPi/image-20260903030400255.webp" class="wvlnzkvhmpqb" alt="image-20260903030400255"></p><p>当然这个东西也有网页套壳子的,就是这个,不过下载启动了这个就无法再使用dsh web命令了,这个软件会抢占并监听本地3080端口</p><p><a href="https://github.com/dataelement/dsh-desktop">点击前往下载</a></p><p>​<style>.grvfrnknhwql{zoom:33%;}</style><img src="/2026/09/03/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%AF%95%E8%AF%95%E6%96%B0%E5%87%BA%E7%9A%84DeepseekHarness%E5%92%8CPi/image-20260903030435590.webp" class="grvfrnknhwql" alt="image-20260903030435590"></p><h2 id="Pi"><a href="#Pi" class="headerlink" title="Pi"></a>Pi</h2><p>这个本质cli,在终端输入pi就可以启动了</p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span></div><pre class="codecard-pre"><code class="language-plaintext">npm install -g --ignore-scripts @earendil-works/pi-coding-agent</span><br></code></pre></div></div><p>还有带有web UI端的可以了解一下,直接输入pi-web就能获得UI界面,比CLI操作方便多了</p><p><a href="https://github.com/agegr/pi-web">点击前往</a></p><div class="codecard" data-lang="plaintext"><div class="codecard-header"><span class="codecard-lang"></span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span></div><pre class="codecard-pre"><code class="language-plaintext">npm install -g @agegr/pi-web@latestpi-web</span><br></code></pre></div></div><style>.cjplgfvdgvai{zoom:33%;}</style><img src="/2026/09/03/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%AF%95%E8%AF%95%E6%96%B0%E5%87%BA%E7%9A%84DeepseekHarness%E5%92%8CPi/image-20260903030956091.webp" class="cjplgfvdgvai" alt="image-20260903030956091"><p>貌似用处都不是很大</p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/03/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%AF%95%E8%AF%95%E6%96%B0%E5%87%BA%E7%9A%84DeepseekHarness%E5%92%8CPi/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/03/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/%E8%AF%95%E8%AF%95%E6%96%B0%E5%87%BA%E7%9A%84DeepseekHarness%E5%92%8CPi/"/>
    <published>2026-09-02T17:11:53.000Z</published>
    <summary>
      <![CDATA[<h1 id="Deepseek-harness和pi最近很火爆-也算是AI圈的常态了"><a href="#Deepseek-harness和pi最近很火爆-也算是AI圈的常态了" class="headerlink" title="Deepseek harness和pi最近很]]>
    </summary>
    <title>试试新出的DeepseekHarness和Pi</title>
    <updated>2026-09-02T19:29:22.811Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="日记" scheme="https://funingna-wakawaka.github.io/categories/%E6%97%A5%E8%AE%B0/"/>
    <category term="diary" scheme="https://funingna-wakawaka.github.io/tags/diary/"/>
    <content>
      <![CDATA[<h1 id="碎碎念"><a href="#碎碎念" class="headerlink" title="碎碎念"></a>碎碎念</h1><p>最近产生了一个想法,全世界所有的记录下来的几乎都是讲故事,故事就是“已发生的事”,其实新闻也属于故事,故事可以是过往发生过的真实也可以是真实编造过的虚假</p><p>我的归类可能比较笼统以偏概全</p><p>故事分为三种:</p><p>第一,显性故事—-电影,小说,动漫,漫画,戏剧,演唱会,带剧情的游戏等等,看电影看小说看动漫看漫画听书基本上都是最明显的故事了,你和朋友家人讨论这些东西,一定是“讲述”这些东西,或者某作者发视频宣传自己的开源项目或游戏动漫,某某电影动漫电视剧剧情真神或垃圾啊,还有番茄和七猫上数不胜数的小说,还有就是如果没人告诉你鬼怪传说还有圣诞老人耶稣基督二十四节气什么的,咱们不可能知道</p><p>第二,隐性故事—-这个不太容易意识到,比如你刷到什么短视频,不管是科普教程日常生活也好,广告吐槽谩骂也罢几乎都是故事,比如什么什么地方发地震或者战争,某个人物唱歌跳舞或制作的手书PV音乐真好看真好听,AI短片好恶心或精彩,meme和流行梗整活,包括我们看抖音快手包括哔哩哔哩的评论区(我敢打赌绝大多数的B站用户都已经养成了点开视频必看评论区的习惯),以及看别人在小红书小黑盒或者Twitter Instagram Facebook还有Reddit上发的帖子甚至看他人的博客也是看故事,以至于,QQ微信WhatsApp你和别人聊天八卦也是在讲故事,因为话只要说出口,就成了故事</p><p>第三,元故事—-这个正常情况下根本看不出来,但是就是底层逻辑</p><p>最简单直观的例子就是旅游,如果你听说过北京的皇城气象,长城的连绵不绝,上海的魔都幻城,威尼斯的水巷舟影,纽约的钢铁丛林,九寨沟的翠海叠瀑,埃及的神秘厚重,江南的烟雨诗画,西安的秦砖汉瓦,拉萨的日光圣城,澳门的纸醉金迷,迪拜的挥金如土,巴黎的时尚高雅——-八成是看宣传片或主播的分享还有书籍的介绍,没人说的话就没人知道这些地方有什么特色,去的话俗称“打卡”,我去博物馆旅游的时候就在好奇一件事,怎么通过这些旧书墓碑还有文物推算出来墓主人生平的? 所以编的成分绝对是有不少</p><p>对了,出去吃饭或买东西还有去河边逛几圈其实也算旅游,而点外卖和网购依旧是看餐馆菜品和商店商品还有好评差评,依旧是故事,某某告诉你codex很强,某某告诉你学前端可以做网页,某某告诉你什么游戏好玩,某某告诉你迈巴赫比奥迪高端,某某告诉你哪家饭店好吃…….</p><p>另一种形式就是“创作”,发现或制造一种东西,钻研或学习游戏机制或其他知识比如编程绘画拍照数学养宠物谈恋爱工作经历等等,这个属于自我故事,即自我塑造自我独特的故事,创作故事的本身就是故事(比如谁谁发明了什么得诺贝尔奖,谁谁写了什么著作,某某知名大桥怎么建造的,谁谁创业成功赚到别人一辈子赚不到的钱的经历等等)</p><p>很多地方都在抓故事的讲述方式,故事,说白了就是人类文化的基石,故事本身没有意义,但讲故事并且故事被接受这种行为才有,就像宗教必须有人信仰才能存在一样</p><p>所以咱们人类的意识就是是一部“故事处理器”,从小的时候就喜欢看动画片还有童话故事, 没法处理纯粹的数据和原子化信息, 你要是给我看一本汉语词典数学著作我真翻都不想翻当做垫桌子的砖, 只能处理“谁、在哪、做了什么、意味着什么”,所以谁掌握了“故事”的定义权——即定义哪些事值得做、哪些地方值得去、哪种人生值得活——谁就掌握了整个文明的底层操作系统,也就是所谓的现有道德与当前法律以及既定常识,但如果故事的讲述偏离了现实就可能不被接受</p><p>咳咳咳,一不小心扯多了,而且前几天意识到这个问题和Chatgpt谈论这些有的没的然后才有了我以上的观点,Chatgpt说了个很好的结论</p><blockquote><p><strong>“故事本身只是一堆沉默的数据，只有在被讲述、被接收、被反馈的那一刻，它才活过来，变成了‘意义’。人类一切社交、商业、文化的本质，就是拼了命地在‘把事讲出去’。”</strong></p></blockquote>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/09/01/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E4%B8%96%E7%95%8C%E7%9A%84%E6%95%85%E4%BA%8B%E6%80%A7/</id>
    <link href="https://funingna-wakawaka.github.io/2026/09/01/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E4%B8%96%E7%95%8C%E7%9A%84%E6%95%85%E4%BA%8B%E6%80%A7/"/>
    <published>2026-09-01T14:43:09.000Z</published>
    <summary>
      <![CDATA[<h1 id="碎碎念"><a href="#碎碎念" class="headerlink" title="碎碎念"></a>碎碎念</h1><p>最近产生了一个想法,全世界所有的记录下来的几乎都是讲故事,故事就是“已发生的事”,其实新闻也属于故事,故事可以是过往发生过的真实也可]]>
    </summary>
    <title>世界的故事性</title>
    <updated>2026-09-02T12:25:15.977Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="日记" scheme="https://funingna-wakawaka.github.io/categories/%E6%97%A5%E8%AE%B0/"/>
    <category term="diary" scheme="https://funingna-wakawaka.github.io/tags/diary/"/>
    <content>
      <![CDATA[<h1 id="暑假去了苏州和上海一趟"><a href="#暑假去了苏州和上海一趟" class="headerlink" title="暑假去了苏州和上海一趟"></a>暑假去了苏州和上海一趟</h1><h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><div class="note success modern"><p>头号玩家里的这几句台词我一直很喜欢,真的很有启发性</p></div><div class="hide-toggle">    <div class="hide-toggle-title">台词1</div>    <div class="hide-toggle-content"><p>​ <style>.lzyjwzwxooks{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828003740858.webp" class="lzyjwzwxooks" alt="image-20260828003740858"></p><p>​<style>.ydyfhjevjlob{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828003758492.webp" class="ydyfhjevjlob" alt="image-20260828003758492"></p><p>​<style>.fshotyrnigig{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828003825087.webp" class="fshotyrnigig" alt="image-20260828003825087"></p><p>​<style>.rybpnbwmgnbw{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828003843186.webp" class="rybpnbwmgnbw" alt="image-20260828003843186"></p><p>​<style>.okiojalpkron{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828003915271.webp" class="okiojalpkron" alt="image-20260828003915271"></p></div>  </div><div class="hide-toggle">    <div class="hide-toggle-title">台词2</div>    <div class="hide-toggle-content"><p>​<style>.mlslefihescc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828004145500.webp" class="mlslefihescc" alt="image-20260828004145500"></p><p>​<style>.lmoysxgaberp{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828004219666.webp" class="lmoysxgaberp" alt="image-20260828004219666"></p><p>​<style>.wtqqgdgjukvl{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828004243516.webp" class="wtqqgdgjukvl" alt="image-20260828004243516"></p><p>​<style>.ltjollskhwys{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828004321522.webp" class="ltjollskhwys" alt="image-20260828004321522"></p></div>  </div><div class="hide-toggle">    <div class="hide-toggle-title">台词3-1</div>    <div class="hide-toggle-content"><p>​<style>.ybbvhoygpvcx{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828002632799.webp" class="ybbvhoygpvcx" alt="image-20260828002632799"></p><p>​<style>.rmyexxbmpmoe{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828002656250.webp" class="rmyexxbmpmoe" alt="image-20260828002656250"></p><p>​<style>.wgploikozwob{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828002733124.webp" class="wgploikozwob" alt="image-20260828002733124"></p><p>​<style>.wehdqzxmrwlp{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828002807967.webp" class="wehdqzxmrwlp" alt="image-20260828002807967"></p><p>​<style>.yuclgmrbiryg{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828002843831.webp" class="yuclgmrbiryg" alt="image-20260828002843831"></p></div>  </div><div class="hide-toggle">    <div class="hide-toggle-title">台词3-2</div>    <div class="hide-toggle-content"><p>​<style>.owsxxpvgfzkb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828002904368.webp" class="owsxxpvgfzkb" alt="image-20260828002904368"></p><p>​<style>.bpyjumqssnww{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828002936814.webp" class="bpyjumqssnww" alt="image-20260828002936814"></p><p>​<style>.bdgkxxgntcvh{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828003006097.webp" class="bdgkxxgntcvh" alt="image-20260828003006097"></p><p>​<style>.ifnvgckwjqsi{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828003025947.webp" class="ifnvgckwjqsi" alt="image-20260828003025947"></p><p>​<style>.bfkhorumourk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828003049898.webp" class="bfkhorumourk" alt="image-20260828003049898"></p><p>​<style>.baaubrmognmm{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828003211288.webp" class="baaubrmognmm" alt="image-20260828003211288"></p><p>​<style>.ghqlsmlnjpvt{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828003236608.webp" class="ghqlsmlnjpvt" alt="image-20260828003236608"></p><p>​<style>.jhyknunprlpv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260828003302037.webp" class="jhyknunprlpv" alt="image-20260828003302037"></p></div>  </div><h2 id="苏州"><a href="#苏州" class="headerlink" title="苏州"></a>苏州</h2><h3 id="同里古镇"><a href="#同里古镇" class="headerlink" title="同里古镇"></a>同里古镇</h3><blockquote><p>江南水乡代表景点</p></blockquote><p>​<style>.jjedhmebsxui{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902202910112.webp" class="jjedhmebsxui" alt="image-20260902202910112"></p> <style>.twwgptmnolnv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902203015628.webp" class="twwgptmnolnv" alt="image-20260902203015628"> <style>.fgaylqitgxue{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902203155526.webp" class="fgaylqitgxue" alt="image-20260902203155526"><p>​<style>.chsxrmhxexnu{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902211721999.webp" class="chsxrmhxexnu" alt="image-20260902211721999"></p><p>​<style>.gcqjcusjtoqu{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902211731132.webp" class="gcqjcusjtoqu" alt="image-20260902211731132"></p><p>​<style>.slxlppnhdnja{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902211740607.webp" class="slxlppnhdnja" alt="image-20260902211740607"></p><p>​<style>.xolulteewcdo{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902211752840.webp" class="xolulteewcdo" alt="image-20260902211752840"></p><p>​<style>.kyvwcbtrtzqk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902211858815.webp" class="kyvwcbtrtzqk" alt="image-20260902211858815"></p><p>​<style>.nydorrzebijw{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212129617.webp" class="nydorrzebijw" alt="image-20260902212129617"></p><h3 id="MAX科技园"><a href="#MAX科技园" class="headerlink" title="MAX科技园"></a>MAX科技园</h3><blockquote><p>房子建筑风格很前卫,就是没什么人</p></blockquote><p>​<style>.vfghmvzfujho{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902203544442.webp" class="vfghmvzfujho" alt="image-20260902203544442"></p><p>​<style>.qcdcujsnfuyt{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902203555547.webp" class="qcdcujsnfuyt" alt="image-20260902203555547"></p><h3 id="京杭运河"><a href="#京杭运河" class="headerlink" title="京杭运河"></a>京杭运河</h3><blockquote><p>京杭大运河</p></blockquote><p>​<style>.dzdsuwsfcpmm{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902203819665.webp" class="dzdsuwsfcpmm" alt="image-20260902203819665"></p><p>​<style>.ateinisprhiv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902203835735.webp" class="ateinisprhiv" alt="image-20260902203835735"></p><h3 id="拙政园"><a href="#拙政园" class="headerlink" title="拙政园"></a>拙政园</h3><blockquote><p>中国四大园林之一</p></blockquote><p>​<style>.nlncqigudcfj{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902204124056.webp" class="nlncqigudcfj" alt="image-20260902204124056"></p><p>​<style>.ncflmeqwqjeg{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902204327136.webp" class="ncflmeqwqjeg" alt="image-20260902204327136"></p><p>​<style>.ohnpzelfukjy{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902204354624.webp" class="ohnpzelfukjy" alt="image-20260902204354624"></p><p>​<style>.bvfydohliuei{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902204418537.webp" class="bvfydohliuei" alt="image-20260902204418537"></p><p>​<style>.jfkkcgfopyws{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902204430175.webp" class="jfkkcgfopyws" alt="image-20260902204430175"></p><p>​<style>.xjgmmhqmfmvb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902204525325.webp" class="xjgmmhqmfmvb" alt="image-20260902204525325"></p><p>​<style>.eiaymspstafh{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902204745716.webp" class="eiaymspstafh" alt="image-20260902204745716"></p><p>​<style>.gixriwdlypxq{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902204753592.webp" class="gixriwdlypxq" alt="image-20260902204753592"></p><h3 id="狮子林"><a href="#狮子林" class="headerlink" title="狮子林"></a>狮子林</h3><blockquote><p>里面假山居多,容易迷路</p></blockquote><p>​<style>.ewerglubdexh{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902204910950.webp" class="ewerglubdexh" alt="image-20260902204910950"></p><p>​<style>.ocbzrxggrdwy{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902205056646.webp" class="ocbzrxggrdwy" alt="image-20260902205056646"></p><p>​<style>.frgucicgwgar{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902205106641.webp" class="frgucicgwgar" alt="image-20260902205106641"></p><p>​<style>.rrjcxvgbkryk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902205116934.webp" class="rrjcxvgbkryk" alt="image-20260902205116934"></p><p>​<style>.ijkodvsmovjs{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902205127280.webp" class="ijkodvsmovjs" alt="image-20260902205127280"></p><p>​<style>.hntkbwwdkgaw{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902205135891.webp" class="hntkbwwdkgaw" alt="image-20260902205135891"></p><h3 id="虎丘山"><a href="#虎丘山" class="headerlink" title="虎丘山"></a>虎丘山</h3><blockquote><p>景点非常巨大,融合了道教和佛教的风格,很像西游记拍摄景点</p></blockquote><p>​<style>.nhxuoxbrimum{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902205413305.webp" class="nhxuoxbrimum" alt="image-20260902205413305"></p><p>​<style>.iyndtvnvccge{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902205531550.webp" class="iyndtvnvccge" alt="image-20260902205531550"></p><p>​<style>.bdmqmltuhzmo{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902205539102.webp" class="bdmqmltuhzmo" alt="image-20260902205539102"></p><p>​<style>.xcxrjpxszwgv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902205717924.webp" class="xcxrjpxszwgv" alt="image-20260902205717924"></p><p>​<style>.pdfcmtkjmztp{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902205836052.webp" class="pdfcmtkjmztp" alt="image-20260902205836052"></p><p>​<style>.zrahtcoopstc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902205843692.webp" class="zrahtcoopstc" alt="image-20260902205843692"></p><p>​<style>.ojrufuyhxivr{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210043078.webp" class="ojrufuyhxivr" alt="image-20260902210043078"></p><p>​<style>.ipbndimuytix{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210050932.webp" class="ipbndimuytix" alt="image-20260902210050932"></p><h3 id="观前街"><a href="#观前街" class="headerlink" title="观前街"></a>观前街</h3><blockquote><p>因为玄妙观得名,卖烧烤的比较多</p></blockquote><p>​<style>.pibuwcbezddz{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210244809.webp" class="pibuwcbezddz" alt="image-20260902210244809"></p><p>​<style>.timcfolbchzr{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210257754.webp" class="timcfolbchzr" alt="image-20260902210257754"></p><p>​<style>.etgnkqxtelfy{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210309352.webp" class="etgnkqxtelfy" alt="image-20260902210309352"></p><p>​<style>.pjhmbueeftiy{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210320037.webp" class="pjhmbueeftiy" alt="image-20260902210320037"></p><h3 id="七里山塘街"><a href="#七里山塘街" class="headerlink" title="七里山塘街"></a>七里山塘街</h3><blockquote><p>经典的江南水乡场景</p></blockquote><p>​<style>.hsdchxvxxctl{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210554513.webp" class="hsdchxvxxctl" alt="image-20260902210554513"></p><p>​<style>.fbwdkrrfascc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210605333.webp" class="fbwdkrrfascc" alt="image-20260902210605333"></p><p>​<style>.yongffvvtiip{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210614383.webp" class="yongffvvtiip" alt="image-20260902210614383"></p><p>​<style>.gqmvgrvpkqpe{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210623409.webp" class="gqmvgrvpkqpe" alt="image-20260902210623409"></p><p>​<style>.obuaporpuoyd{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210631281.webp" class="obuaporpuoyd" alt="image-20260902210631281"></p><p>​<style>.kketumcdzply{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210640048.webp" class="kketumcdzply" alt="image-20260902210640048"></p><p>​<style>.xfuqwjixubxx{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210830812.webp" class="xfuqwjixubxx" alt="image-20260902210830812"></p><p>​<style>.hagaiprnsuqd{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210840385.webp" class="hagaiprnsuqd" alt="image-20260902210840385"></p><p>​<style>.lhwdllnqytjw{zoom: 33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210850560.webp" class="lhwdllnqytjw" alt="image-20260902210850560"></p><p>​<style>.kqynygrgcehf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902210906183.webp" class="kqynygrgcehf" alt="image-20260902210906183"></p><h3 id="万象天地商场"><a href="#万象天地商场" class="headerlink" title="万象天地商场"></a>万象天地商场</h3><blockquote><p>非常高端大气的一个商场</p></blockquote><p>​<style>.ckpwfjqmsnmg{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902211237558.webp" class="ckpwfjqmsnmg" alt="image-20260902211237558"></p><p>​<style>.qyrluuvynikt{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902211346437.webp" class="qyrluuvynikt" alt="image-20260902211346437"></p><p>​<style>.dwpqzgxexrus{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902211358961.webp" class="dwpqzgxexrus" alt="image-20260902211358961"></p><p>​<style>.yjjpfddtzcka{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902211408627.webp" class="yjjpfddtzcka" alt="image-20260902211408627"></p><h3 id="留园"><a href="#留园" class="headerlink" title="留园"></a>留园</h3><blockquote><p>中国四大园林之一</p></blockquote><p>​<style>.wfjiyflmrccw{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212439839.webp" class="wfjiyflmrccw" alt="image-20260902212439839"></p><p>​<style>.rjxmgxvtpidx{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212449778.webp" class="rjxmgxvtpidx" alt="image-20260902212449778"></p><p>​<style>.yogauqxwwqnq{zoom: 33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212456685.webp" class="yogauqxwwqnq" alt="image-20260902212456685"></p><p>​<style>.psacyltojpek{zoom: 33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212504543.webp" class="psacyltojpek" alt="image-20260902212504543"></p><p>​<style>.pglxuuwsjzna{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212513865.webp" class="pglxuuwsjzna" alt="image-20260902212513865"></p><h3 id="寒山寺"><a href="#寒山寺" class="headerlink" title="寒山寺"></a>寒山寺</h3><p>​<style>.suoactwulmse{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212734367.webp" class="suoactwulmse" alt="image-20260902212734367"></p><p>​<style>.lylrsjpsdhhf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212745907.webp" class="lylrsjpsdhhf" alt="image-20260902212745907"></p><p>​<style>.stjijovpvowz{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212757628.webp" class="stjijovpvowz" alt="image-20260902212757628"></p><p>​<style>.nbutiqwerhui{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212806072.webp" class="nbutiqwerhui" alt="image-20260902212806072"></p><p>​<style>.rktlkdttaevk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212914362.webp" class="rktlkdttaevk" alt="image-20260902212914362"></p><p>​<style>.elulsyehawgx{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212923286.webp" class="elulsyehawgx" alt="image-20260902212923286"></p><p>​<style>.wcjzhdkkqrgc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902212931204.webp" class="wcjzhdkkqrgc" alt="image-20260902212931204"></p><h3 id="太湖"><a href="#太湖" class="headerlink" title="太湖"></a>太湖</h3><blockquote><p>太湖是中国第三大湖,因为全是一望无际的水所以没什么好看的,当时去的时候快下雨了</p></blockquote><p>​<style>.lkqfxnwtxfjk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902213136042.webp" class="lkqfxnwtxfjk" alt="image-20260902213136042"></p><p>​<style>.llhlpjinwwtl{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902213146403.webp" class="llhlpjinwwtl" alt="image-20260902213146403"></p><p>​<style>.vkpngffprwop{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902213155536.webp" class="vkpngffprwop" alt="image-20260902213155536"></p><p>​<style>.llslsqogixqu{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902213205304.webp" class="llslsqogixqu" alt="image-20260902213205304"></p><h3 id="李公提"><a href="#李公提" class="headerlink" title="李公提"></a>李公提</h3><blockquote><p>法式建筑居多,主要是富人就餐区</p></blockquote><p>​<style>.zlilfxhoiefk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902213357666.webp" class="zlilfxhoiefk" alt="image-20260902213357666"></p><p>​<style>.sovjhssdzjmg{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902213406073.webp" class="sovjhssdzjmg" alt="image-20260902213406073"></p><p>​<style>.kgvkfqpqlxsk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902213414298.webp" class="kgvkfqpqlxsk" alt="image-20260902213414298"></p><p>​<style>.mxyhbpuvxbks{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902213701984.webp" class="mxyhbpuvxbks" alt="image-20260902213701984"></p><p>​<style>.ckscxhqeplss{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902213709478.webp" class="ckscxhqeplss" alt="image-20260902213709478"></p><p>​<style>.xsmymxqybgjk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902213835883.webp" class="xsmymxqybgjk" alt="image-20260902213835883"></p><p>​<style>.mztohbrgudyv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902213844578.webp" class="mztohbrgudyv" alt="image-20260902213844578"></p><h3 id="金鸡湖"><a href="#金鸡湖" class="headerlink" title="金鸡湖"></a>金鸡湖</h3><blockquote><p>注:  李公提是富人区饭店,李公提南是房价6000万起步的融创桃花源,而金鸡湖旁的苏州工业园区是苏州最有钱的地方</p></blockquote><p>​<style>.zyzzamkxdrak{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902214243381.webp" class="zyzzamkxdrak" alt="image-20260902214243381"></p><p>​<style>.ixtsbemxkjnx{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902214254009.webp" class="ixtsbemxkjnx" alt="image-20260902214254009"></p><p>​<style>.okljhhbovigi{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902214309913.webp" class="okljhhbovigi" alt="image-20260902214309913"></p><p>​<style>.ujjpdicyfndh{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902214317208.webp" class="ujjpdicyfndh" alt="image-20260902214317208"></p><blockquote><p>托尼哥兰博基尼豪华酒店</p></blockquote><p>​<style>.ndwerrnhiioc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902214325850.webp" class="ndwerrnhiioc" alt="image-20260902214325850"></p><p>​<style>.lnytqcxvoqbo{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902214708919.webp" class="lnytqcxvoqbo" alt="image-20260902214708919"></p><blockquote><p>东方之门又俗称苏州大裤子,为地标建筑</p></blockquote><p>​<style>.qvuwbenzqmys{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902214718265.webp" class="qvuwbenzqmys" alt="image-20260902214718265"></p><p>​<style>.idkubyimuoyr{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902215006846.webp" class="idkubyimuoyr" alt="image-20260902215006846"></p><blockquote><p>明星手印</p></blockquote><p>​<style>.drqlxbkubxrx{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902215018165.webp" class="drqlxbkubxrx" alt="image-20260902215018165"></p><p>​<style>.ijhifexoxrnp{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902215028679.webp" class="ijhifexoxrnp" alt="image-20260902215028679"></p><blockquote><p>我背后这个是金鸡湖美术馆,长得和北京的鸟巢一样</p></blockquote><p>​<style>.wmdlczohqpyc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902232248393.webp" class="wmdlczohqpyc" alt="image-20260902232248393"></p><h3 id="阳澄湖"><a href="#阳澄湖" class="headerlink" title="阳澄湖"></a>阳澄湖</h3><blockquote><p>阳澄湖是苏州螃蟹的主要水产地,阳澄湖两侧几百家商店全是螃蟹批发商</p></blockquote><p>​<style>.wxmqfygehytf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902220912089.webp" class="wxmqfygehytf" alt="image-20260902220912089"></p><p>​<style>.mjebklwicjht{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902215620015.webp" class="mjebklwicjht" alt="image-20260902215620015"></p><p>​<style>.olycijlgikky{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902215630574.webp" class="olycijlgikky" alt="image-20260902215630574"></p><p>​<style>.ttenrkbdgwrt{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902220559067.webp" class="ttenrkbdgwrt" alt="image-20260902220559067"></p><p>​<style>.edivvvudfccb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902220606750.webp" class="edivvvudfccb" alt="image-20260902220606750"></p><p>​<style>.yfaoybpcbluc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902220850953.webp" class="yfaoybpcbluc" alt="image-20260902220850953"></p><p>​<style>.ekbjtbqooczb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902220858872.webp" class="ekbjtbqooczb" alt="image-20260902220858872"></p><p>​<style>.iwrjdpiffgfd{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221043852.webp" class="iwrjdpiffgfd" alt="image-20260902221043852"></p><p>​<style>.uikppwlbekyd{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221033371.webp" class="uikppwlbekyd" alt="image-20260902221033371"></p><h3 id="重元寺"><a href="#重元寺" class="headerlink" title="重元寺"></a>重元寺</h3><blockquote><p>真正的接天莲叶无穷碧,整个寺庙就像只狼里的天守阁一样宏伟</p></blockquote><p>​<style>.dkomvaddouhe{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221516515.webp" class="dkomvaddouhe" alt="image-20260902221516515"></p><p>​<style>.ujiglonzpucr{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221540221.webp" class="ujiglonzpucr" alt="image-20260902221540221"></p><p>​<style>.deomuptwlimx{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221524519.webp" class="deomuptwlimx" alt="image-20260902221524519"></p><p>​<style>.kptgrarkvivk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221549313.webp" class="kptgrarkvivk" alt="image-20260902221549313"></p><p>​<style>.ovcnrrmcfrgq{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221748738.webp" class="ovcnrrmcfrgq" alt="image-20260902221748738"></p><p>​<style>.qigoylgmvlzu{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221759064.webp" class="qigoylgmvlzu" alt="image-20260902221759064"></p><p>​<style>.yidyuddjljxe{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221806988.webp" class="yidyuddjljxe" alt="image-20260902221806988"></p><p>​<style>.ynzfwtzkxogj{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221815167.webp" class="ynzfwtzkxogj" alt="image-20260902221815167"></p><blockquote><p>33米高的观音菩萨像,站在下面非常震撼,照片拍不出来</p></blockquote><p>​<style>.ideklfknmjvs{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902222103519.webp" class="ideklfknmjvs" alt="image-20260902222103519"></p><p>​<style>.yyfsfylzjnsh{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221937501.webp" class="yyfsfylzjnsh" alt="image-20260902221937501"></p><p>​<style>.opupxnmoymqw{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221945713.webp" class="opupxnmoymqw" alt="image-20260902221945713"></p><p>​<style>.vlwujofbdoyf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902221954445.webp" class="vlwujofbdoyf" alt="image-20260902221954445"></p><p>​<style>.omwptfvbmosh{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902222002047.webp" class="omwptfvbmosh" alt="image-20260902222002047"></p><p>​<style>.cfdanmognwge{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902222010422.webp" class="cfdanmognwge" alt="image-20260902222010422"></p><p>​<style>.drmzlctolfwq{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902222017826.webp" class="drmzlctolfwq" alt="image-20260902222017826"></p><p>​<style>.eegeaqdigewo{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902222246469.webp" class="eegeaqdigewo" alt="image-20260902222246469"></p><h2 id="离开苏州"><a href="#离开苏州" class="headerlink" title="离开苏州"></a>离开苏州</h2><blockquote><p>从江兴西路乘坐地铁前往苏州站,路上的云超有立体感,可惜高铁跑太快了拍不出来</p></blockquote><p>​<style>.mxopwmfglrmu{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902222506639.webp" class="mxopwmfglrmu" alt="image-20260902222506639"></p><p>​<style>.ybjqtycmknnt{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902222555750.webp" class="ybjqtycmknnt" alt="image-20260902222555750"></p><p>​<style>.bfmngwclncel{zoom: 33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902222658603.webp" class="bfmngwclncel" alt="image-20260902222658603"></p><p>​<style>.khlsuqgzkxce{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902222711768.webp" class="khlsuqgzkxce" alt="image-20260902222711768"></p><p>​<style>.dgchfpenebuv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902222607096.webp" class="dgchfpenebuv" alt="image-20260902222607096"></p><p>​<style>.xbifcyyihwzb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902222617801.webp" class="xbifcyyihwzb" alt="image-20260902222617801"></p><h2 id="上海"><a href="#上海" class="headerlink" title="上海"></a>上海</h2><blockquote><p>刚到上海时还是有点手足无措的,就像刚到纽约的李鸿章一样震惊,不过我是先找了一个青年旅社,一晚上50左右,环境除了比较窄跟大学宿舍一样,没什么问题还算划算,这个青旅也经常看到外国人来住宿</p></blockquote><p>​<style>.vmpjrafhfvsn{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902223346433.webp" class="vmpjrafhfvsn" alt="image-20260902223346433"></p><p>​<style>.btoidtmkqsfo{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902223355681.webp" class="btoidtmkqsfo" alt="image-20260902223355681"></p><p>​<style>.zsjwckqloqco{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902223404939.webp" class="zsjwckqloqco" alt="image-20260902223404939"></p><p>​<style>.wfszxlcdzbup{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902223412939.webp" class="wfszxlcdzbup" alt="image-20260902223412939"></p><p>​<style>.lovlywygveuz{zoom:25%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903001359641.webp" class="lovlywygveuz" alt="image-20260903001359641"></p><blockquote><p>安顿好行李后我就先出去转转,再坐一号线去陆家嘴,不得不说,上海的地铁真的太发达了,第一次见这么宽的车厢</p></blockquote><p>​<style>.vhqbnbnkdfqk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902223901342.webp" class="vhqbnbnkdfqk" alt="image-20260902223901342"></p><p>​<style>.yzcjhmexiomy{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902223840819.webp" class="yzcjhmexiomy" alt="image-20260902223840819"></p><p>​<style>.kibscjrgzmpd{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902223911161.webp" class="kibscjrgzmpd" alt="image-20260902223911161"></p><h3 id="陆家嘴-白天"><a href="#陆家嘴-白天" class="headerlink" title="陆家嘴(白天)"></a>陆家嘴(白天)</h3><blockquote><p>陆家嘴这边就是上海的心脏,这里充满了各种各样的名企的本公司,到处都是外国人</p><p>大部分建筑是银行和商场比如上海银行,招商银行,建设银行,等等还有卖保险的比如这个平安保险的公司长得就像雅典神庙一样,包括富士康也在这</p><p>当然这里的饭是吃不起的,一顿小饭上百块乃至上千,泸爷专属(其实来吃的大多都是老外),周围的宾馆一晚上几千块</p></blockquote><p>​<style>.mefnhxtiiwuy{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902224106158.webp" class="mefnhxtiiwuy" alt="image-20260902224106158"></p><p>​<style>.frfbtiyondnf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902224311146.webp" class="frfbtiyondnf" alt="image-20260902224311146"></p><p>​<style>.yjolznckpxee{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902224321147.webp" class="yjolznckpxee" alt="image-20260902224321147"></p><p>​<style>.pqmuncobhwfp{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902224348379.webp" class="pqmuncobhwfp" alt="image-20260902224348379"></p><p>​<style>.lpgquuiqqmcj{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902224551168.webp" class="lpgquuiqqmcj" alt="image-20260902224551168"></p><p>​<style>.jwmhokqgtxmf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902224559224.webp" class="jwmhokqgtxmf" alt="image-20260902224559224"></p><p>​<style>.jxmyjbhyhsrb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902224607503.webp" class="jxmyjbhyhsrb" alt="image-20260902224607503"></p><p>​<style>.yjnmyzueoqen{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902232825990.webp" class="yjnmyzueoqen" alt="image-20260902232825990"></p><h3 id="陆家嘴-晚上"><a href="#陆家嘴-晚上" class="headerlink" title="陆家嘴(晚上)"></a>陆家嘴(晚上)</h3><blockquote><p>晚上的东方明珠</p></blockquote><p>​<style>.ovqemvjdcfvb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902224735132.webp" class="ovqemvjdcfvb" alt="image-20260902224735132"></p><blockquote><p>上海中心大厦(打蛋器  右  约632米)</p><p>上海环球金融中心(开瓶器  左  约492米)</p><p>金茂大厦(注射器  中  约420米)</p></blockquote><p>​<style>.bbcyxvmubpty{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902224747784.webp" class="bbcyxvmubpty" alt="image-20260902224747784"></p><p>​<style>.etloakxkqrue{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902224801087.webp" class="etloakxkqrue" alt="image-20260902224801087"></p><p>​<style>.frsgagkwqrin{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902224808971.webp" class="frsgagkwqrin" alt="image-20260902224808971"></p><p>​<style>.bfwjkmkjujim{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902224819620.webp" class="bfwjkmkjujim" alt="image-20260902224819620"></p><blockquote><p>IFC商场(上海国金中心商场),只能说富丽堂皇</p></blockquote><p>​<style>.xsnpsftlcvmw{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902225710512.webp" class="xsnpsftlcvmw" alt="image-20260902225710512"></p><p>​<style>.flsflsfleypi{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902225731432.webp" class="flsflsfleypi" alt="image-20260902225731432"></p><p>​<style>.wpteosgxsyxn{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902225718975.webp" class="wpteosgxsyxn" alt="image-20260902225718975"></p><p>​<style>.wlucvcrcrtmk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902225742603.webp" class="wlucvcrcrtmk" alt="image-20260902225742603"></p><p>​<style>.sjgocikgkvzp{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902233302409.webp" class="sjgocikgkvzp" alt="image-20260902233302409"></p><p>​<style>.mryjmewawqkc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902233310478.webp" class="mryjmewawqkc" alt="image-20260902233310478"></p><h3 id="上海博物馆东馆"><a href="#上海博物馆东馆" class="headerlink" title="上海博物馆东馆"></a>上海博物馆东馆</h3><blockquote><p>这里保留了很多文物,一共五层楼,非常巨大,起码要逛5小时</p></blockquote><p>​<style>.mcoincvnybeq{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902225840782.webp" class="mcoincvnybeq" alt="image-20260902225840782"></p><p>​<style>.hfrxwgzkuffj{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903004401641.webp" class="hfrxwgzkuffj" alt="image-20260903004401641"></p><p>​<style>.esvtcjhtemog{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902231236857.webp" class="esvtcjhtemog" alt="image-20260902231236857"></p><blockquote><p>一楼青铜器</p></blockquote><p>​<style>.fshfvlrdzxug{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902230405996.webp" class="fshfvlrdzxug" alt="image-20260902230405996"></p><p>​<style>.xbjnsppeeyyx{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902230421870.webp" class="xbjnsppeeyyx" alt="image-20260902230421870"></p><p>​<style>.hnwqfdfyvgth{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902230413427.webp" class="hnwqfdfyvgth" alt="image-20260902230413427"></p><p>​<style>.hplimptpxkvm{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902230431696.webp" class="hplimptpxkvm" alt="image-20260902230431696"></p><p>​<style>.jclhjsabptoi{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902230443400.webp" class="jclhjsabptoi" alt="image-20260902230443400"></p><p>​<style>.rguscsbnubnf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902230703437.webp" class="rguscsbnubnf" alt="image-20260902230703437"></p><p>​<style>.uocvgmdnktkw{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902230711957.webp" class="uocvgmdnktkw" alt="image-20260902230711957"></p><p>​<style>.zignzwtoigyu{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902230719961.webp" class="zignzwtoigyu" alt="image-20260902230719961"></p><p>​<style>.lezyukyhgsor{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902230729415.webp" class="lezyukyhgsor" alt="image-20260902230729415"></p><p>然后二楼三楼四楼五楼大概是: 玉器,瓷器,印章,雕塑,字画,古币,丝织品,古家具等等,这里就不展示了,不过我确实拍了很多照片</p><h3 id="世纪广场"><a href="#世纪广场" class="headerlink" title="世纪广场"></a>世纪广场</h3><blockquote><p>这个是在博物馆上方俯瞰的世纪广场,世纪广场旁边是就是上海科技馆</p></blockquote><p>​<style>.stpwnedshyuf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903004328079.webp" class="stpwnedshyuf" alt="image-20260903004328079"></p><p>​<style>.fsnoxriikopm{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903004503976.webp" class="fsnoxriikopm" alt="image-20260903004503976"></p><p>​<style>.cponmwygptcd{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903004709106.webp" class="cponmwygptcd" alt="image-20260903004709106"></p><h3 id="上海世博会博物馆"><a href="#上海世博会博物馆" class="headerlink" title="上海世博会博物馆"></a>上海世博会博物馆</h3><blockquote><p>感觉没什么东西,估计是上海世博会用来装B的,里面有很多各种各样的奇葩玩意,包括“海宝”这个雕塑也是从世博会诞生的</p></blockquote><p>​<style>.ifdfxwooihnj{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902231604984.webp" class="ifdfxwooihnj" alt="image-20260902231604984"></p><p>​<style>.wxceltfwjnqv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902231621520.webp" class="wxceltfwjnqv" alt="image-20260902231621520"></p><p>​<style>.tchtatsndxbc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902231630458.webp" class="tchtatsndxbc" alt="image-20260902231630458"></p><p>​<style>.kchhcpwtmloi{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902231641153.webp" class="kchhcpwtmloi" alt="image-20260902231641153"></p><p>​<style>.ihixirbcytzt{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902232011273.webp" class="ihixirbcytzt" alt="image-20260902232011273"></p><p>​<style>.wtkfodnkfvla{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902232129176.webp" class="wtkfodnkfvla" alt="image-20260902232129176"></p><p>​<style>.ihhjbwcjwhgr{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902231653415.webp" class="ihhjbwcjwhgr" alt="image-20260902231653415"></p><h3 id="世博源商场"><a href="#世博源商场" class="headerlink" title="世博源商场"></a>世博源商场</h3><blockquote><p>造型就像一个巨大的帆布,里面是商场(找充电宝快把腿跑断了)</p></blockquote><p>​<style>.glkwtdnpdess{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902233510362.webp" class="glkwtdnpdess" alt="image-20260902233510362"></p><p>​<style>.lzciojyuipaa{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902233518289.webp" class="lzciojyuipaa" alt="image-20260902233518289"></p><p>​<style>.enkslsfmmrls{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902233553351.webp" class="enkslsfmmrls" alt="image-20260902233553351"></p><h3 id="中华艺术宫"><a href="#中华艺术宫" class="headerlink" title="中华艺术宫"></a>中华艺术宫</h3><blockquote><p>就在世博源对面,里面都是名家字画</p></blockquote><p>​<style>.kbyaljwwhmxy{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902234447836.webp" class="kbyaljwwhmxy" alt="image-20260902234447836"></p><p>​<style>.meypoxsjswgi{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260902234458761.webp" class="meypoxsjswgi" alt="image-20260902234458761"></p><p>遇到一个问路的美国人,刚开始听到有人在我耳边“尼豪”吓我一跳,然后他就拿谷歌翻译表示要去中华艺术宫但找不到门,刚好顺路把他带过来了,我的半吊子英语他居然听得懂,然后我们一路巴拉巴拉, 模糊的记得分开前最后的对话大概是“Sir, can we take a photo?”“with me?”“yes!”“ok!”“cheese!”“thank you !”“thank you!”</p><p>​<style>.akisdewopjzu{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903000557188.webp" class="akisdewopjzu" alt="image-20260903000557188"></p><p>​<style>.crbtnjqluhuc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903000605214.webp" class="crbtnjqluhuc" alt="image-20260903000605214"></p><p>​<style>.csprufkrlnjo{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903000613432.webp" class="csprufkrlnjo" alt="image-20260903000613432"></p><p>​<style>.vhgtwauazcvt{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903000621761.webp" class="vhgtwauazcvt" alt="image-20260903000621761"></p><p>​<style>.obypkjrsnypt{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903000630050.webp" class="obypkjrsnypt" alt="image-20260903000630050"></p><p>​<style>.cvrfouelfboc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903000637758.webp" class="cvrfouelfboc" alt="image-20260903000637758"></p><p>一楼是水墨画,二楼是抽象画,三楼是儿童画,四楼是油画(其实用1234楼表示不准确,美术宫的楼层构造是螺旋状的)</p><p>从顶楼可以看见世博文化中心,长得跟飞碟一样</p><p>​<style>.unmxkcdmxvlj{zoom: 33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903000904540.webp" class="unmxkcdmxvlj" alt="image-20260903000904540"></p><h3 id="南京路步行街-白天"><a href="#南京路步行街-白天" class="headerlink" title="南京路步行街(白天)"></a>南京路步行街(白天)</h3><blockquote><p>第一次见到电话亭,我还以为这玩意15年前就灭绝了</p><p>关于上海的天气就是,上海的云以肉眼可见的速度飘动,飘到哪哪下雨,这些天受到台风影响,一会下雨一会大晴天,更多时候是太阳雨</p></blockquote><p>​<style>.megukrswzmlv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903001639174.webp" class="megukrswzmlv" alt="image-20260903001639174"></p><p>​<style>.vcelethshrtq{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903001649442.webp" class="vcelethshrtq" alt="image-20260903001649442"></p><p>​<style>.twmttvsyomxn{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903001802433.webp" class="twmttvsyomxn" alt="image-20260903001802433"></p><p>​<style>.letxcffqjqyo{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903001814675.webp" class="letxcffqjqyo" alt="image-20260903001814675"></p><p>​<style>.isahdmbgvsvv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903002005170.webp" class="isahdmbgvsvv" alt="image-20260903002005170"></p><p>​<style>.rssmittrrebr{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903002137252.webp" class="rssmittrrebr" alt="image-20260903002137252"></p><p>​<style>.iioxdutollfi{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903002147652.webp" class="iioxdutollfi" alt="image-20260903002147652"></p><p>​<style>.jnjytmjmpvir{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903002307424.webp" class="jnjytmjmpvir" alt="image-20260903002307424"></p><p>​<style>.dtyvexwbnxni{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903002314463.webp" class="dtyvexwbnxni" alt="image-20260903002314463"></p><h3 id="南京路步行街-夜晚"><a href="#南京路步行街-夜晚" class="headerlink" title="南京路步行街(夜晚)"></a>南京路步行街(夜晚)</h3><p>​<style>.tmrwxlknmqwb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903002823782.webp" class="tmrwxlknmqwb" alt="image-20260903002823782"></p><p>​<style>.ojxneslimkrj{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903002835810.webp" class="ojxneslimkrj" alt="image-20260903002835810"></p><p>​<style>.jvhotpxelklo{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903002849577.webp" class="jvhotpxelklo" alt="image-20260903002849577"></p><p>​<style>.emovamfgjeqb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903002859997.webp" class="emovamfgjeqb" alt="image-20260903002859997"></p><p>​<style>.wokmesezwymi{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903003935438.webp" class="wokmesezwymi" alt="image-20260903003935438"></p><p>​<style>.eichvtydrqog{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903002917971.webp" class="eichvtydrqog" alt="image-20260903002917971"></p><p>然后跟着人群一直走到上海外滩</p><blockquote><p>左边是大名鼎鼎的和平饭店,右边是欧米茄名表店</p></blockquote><p>​<style>.xcwamntftcgh{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903003250208.webp" class="xcwamntftcgh" alt="image-20260903003250208"></p><h3 id="上海外滩-夜晚"><a href="#上海外滩-夜晚" class="headerlink" title="上海外滩(夜晚)"></a>上海外滩(夜晚)</h3><p>​<style>.feyfncouxphj{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903003652473.webp" class="feyfncouxphj" alt="image-20260903003652473"></p><p>​<style>.ysugwaioijxt{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903004033598.webp" class="ysugwaioijxt" alt="image-20260903004033598"></p><p>​<style>.nbikdobatsfe{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903004042924.webp" class="nbikdobatsfe" alt="image-20260903004042924"></p><p>​<style>.ipoyhshqsfkv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903004050521.webp" class="ipoyhshqsfkv" alt="image-20260903004050521"></p><h3 id="上海外滩对岸-傍晚"><a href="#上海外滩对岸-傍晚" class="headerlink" title="上海外滩对岸(傍晚)"></a>上海外滩对岸(傍晚)</h3><blockquote><p>我丢,我想起来我来这的时候帮了不少人拍照</p></blockquote><p>​<style>.hgluzljvkyoi{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005023574.webp" class="hgluzljvkyoi" alt="image-20260903005023574"></p><p>​<style>.cxlwtmonosnr{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005030587.webp" class="cxlwtmonosnr" alt="image-20260903005030587"></p><p>​<style>.fongfnxnrowi{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005254056.webp" class="fongfnxnrowi" alt="image-20260903005254056"></p><p>​<style>.wohivmjjwskl{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005305480.webp" class="wohivmjjwskl" alt="image-20260903005305480"></p><p>​<style>.ufglusqwsddf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005316505.webp" class="ufglusqwsddf" alt="image-20260903005316505"></p><p>​<style>.rsdkvxueixkb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005324870.webp" class="rsdkvxueixkb" alt="image-20260903005324870"></p><p>​<style>.sefeyljbrbby{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005333906.webp" class="sefeyljbrbby" alt="image-20260903005333906"></p><p>​<style>.zgyghoxbbkaa{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005347292.webp" class="zgyghoxbbkaa" alt="image-20260903005347292"></p><p>​<style>.slnqbwmfzuvp{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005428614.webp" class="slnqbwmfzuvp" alt="image-20260903005428614"></p><p>​<style>.kfyhdmwmcbeo{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005534586.webp" class="kfyhdmwmcbeo" alt="image-20260903005534586"></p><p>​<style>.hyygmxbkmgsn{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005552491.webp" class="hyygmxbkmgsn" alt="image-20260903005552491"></p><h3 id="汤臣一品"><a href="#汤臣一品" class="headerlink" title="汤臣一品"></a>汤臣一品</h3><blockquote><p>房价一个亿起步的房子,无法理解</p></blockquote><p>​<style>.ynuadxsuxxly{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005652407.webp" class="ynuadxsuxxly" alt="image-20260903005652407"></p><p>​<style>.wqwehwcfpcjr{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005643335.webp" class="wqwehwcfpcjr" alt="image-20260903005643335"></p><blockquote><p>黄浦区和浦东新区的物价是其他地区的两倍左右</p></blockquote><p>​<style>.zuhnikgydkrb{zoom:25%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903005847573.webp" class="zuhnikgydkrb" alt="image-20260903005847573"></p><h3 id="下班高峰期"><a href="#下班高峰期" class="headerlink" title="下班高峰期"></a>下班高峰期</h3><p>上海的下班高峰期也很吓人,那么大的地铁挤满了人,尤其是电梯口,就和日本东京差不多</p><p>​<style>.nsjrdzrotylq{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903010647470.webp" class="nsjrdzrotylq" alt="image-20260903010647470"></p><p>​<style>.giwdogfyzqbo{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903010657458.webp" class="giwdogfyzqbo" alt="image-20260903010657458"></p><p>​<style>.mqgabxxmhsuf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903010708983.webp" class="mqgabxxmhsuf" alt="image-20260903010708983"></p><blockquote><p>对了,和大多数一线城市一样,上海只有共享自行车,没有共享电瓶车,但是骑自行车也累还不如走路</p><p>有一说一,我旅游一圈已经瘦了10多斤,平均每天走20公里,腿肌肉都走出来了</p><p>上海人不喜欢把走路叫做地奔,有一个优雅的名字叫做“city walking”<font color='#FFD700'>狗头狗头狗头</font></p></blockquote><p>​<style>.aszpecfijmmm{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903010720447.webp" class="aszpecfijmmm" alt="image-20260903010720447"></p><p>​<style>.hfxmtwopnxrk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903010803684.webp" class="hfxmtwopnxrk" alt="image-20260903010803684"></p><h3 id="上海历史博物馆"><a href="#上海历史博物馆" class="headerlink" title="上海历史博物馆"></a>上海历史博物馆</h3><blockquote><p>这个博物馆游览顺序是按照时间顺序的,可以从古代看到现代,主要是远古遗迹,封建时期,英法殖民时期,民国时期,抗日战争时期,建工厂经济发展期什么的</p></blockquote><p>​<style>.dlrmvjdlubgd{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903011528650.webp" class="dlrmvjdlubgd" alt="image-20260903011528650"></p><p>​<style>.pginmxsuevie{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903011536745.webp" class="pginmxsuevie" alt="image-20260903011536745"></p><p>​<style>.hankbwkmstiu{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903011712611.webp" class="hankbwkmstiu" alt="image-20260903011712611"></p><p>​<style>.yljyednevflf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903011720441.webp" class="yljyednevflf" alt="image-20260903011720441"></p><p>​<style>.ecrdjlefftif{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903011731514.webp" class="ecrdjlefftif" alt="image-20260903011731514"></p><p>​<style>.qtgxsliqkiko{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903011739680.webp" class="qtgxsliqkiko" alt="image-20260903011739680"></p><p>​<style>.vtlpvqxdtekv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903011749015.webp" class="vtlpvqxdtekv" alt="image-20260903011749015"></p><p>​<style>.hhotqvuypwkb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903012049226.webp" class="hhotqvuypwkb" alt="image-20260903012049226"></p><p>​<style>.elpxswkyiydl{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903012056401.webp" class="elpxswkyiydl" alt="image-20260903012056401"></p><p>​<style>.pdmlfldyvini{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903012104473.webp" class="pdmlfldyvini" alt="image-20260903012104473"></p><p>​<style>.kgttgmrcewed{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903012712737.webp" class="kgttgmrcewed" alt="image-20260903012712737"></p><p>​<style>.pltvumiquypt{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903012720851.webp" class="pltvumiquypt" alt="image-20260903012720851"></p><p>​<style>.efvhwkwikrif{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903012730440.webp" class="efvhwkwikrif" alt="image-20260903012730440"></p><h3 id="上海人民公园"><a href="#上海人民公园" class="headerlink" title="上海人民公园"></a>上海人民公园</h3><p>​<style>.pidqscchpuxd{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903012911314.webp" class="pidqscchpuxd" alt="image-20260903012911314"></p><p>​<style>.rknivbxwgnzf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903012922630.webp" class="rknivbxwgnzf" alt="image-20260903012922630"></p><blockquote><p>这就不得不提我偶遇的人民公园的相亲角了,一堆老头老太像菜市场挑菜一样为自家孩子选这些征亲帖子,也是第一次看到这样的场景</p></blockquote><p>​<style>.sqatyfrfjdcv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903013002990.webp" class="sqatyfrfjdcv" alt="image-20260903013002990"></p><p>​<style>.lefkocymdxug{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903013015617.webp" class="lefkocymdxug" alt="image-20260903013015617"></p><p>​<style>.giayxgutuhur{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903013024888.webp" class="giayxgutuhur" alt="image-20260903013024888"></p><p>​<style>.xtkzmjmrvmcc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903013033481.webp" class="xtkzmjmrvmcc" alt="image-20260903013033481"></p><p>​<style>.fqwysivjslne{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903013700268.webp" class="fqwysivjslne" alt="image-20260903013700268"></p><h3 id="上海新天地广场"><a href="#上海新天地广场" class="headerlink" title="上海新天地广场"></a>上海新天地广场</h3><p>​<style>.gggkuidxhhaz{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903014055070.webp" class="gggkuidxhhaz" alt="image-20260903014055070"></p><p>​<style>.yqeqhincvqjs{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903014134067.webp" class="yqeqhincvqjs" alt="image-20260903014134067"></p><p>​<style>.qhggptttugxk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903014142156.webp" class="qhggptttugxk" alt="image-20260903014142156"></p><p>​<style>.cvsgplmdepvv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903014310413.webp" class="cvsgplmdepvv" alt="image-20260903014310413"></p><p>​<style>.vjknglnhyotc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903014319513.webp" class="vjknglnhyotc" alt="image-20260903014319513"></p><p>​<style>.tmwpskkjvdut{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903014327246.webp" class="tmwpskkjvdut" alt="image-20260903014327246"></p><p>​<style>.agvokmteiiof{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903014338178.webp" class="agvokmteiiof" alt="image-20260903014338178"></p><p>​<style>.chbipwemrtwr{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903014547929.webp" class="chbipwemrtwr" alt="image-20260903014547929"></p><p>​<style>.ecjppwdeewel{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903014557762.webp" class="ecjppwdeewel" alt="image-20260903014557762"></p><blockquote><p>我居然只吃得起麦当劳,麦当劳店里进来的客户几乎都是老外,俄罗斯人,西班牙人和美国人比较多</p></blockquote><p>​<style>.jgglysogiios{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903014637796.webp" class="jgglysogiios" alt="image-20260903014637796"></p><h3 id="上海博物馆人民广场馆"><a href="#上海博物馆人民广场馆" class="headerlink" title="上海博物馆人民广场馆"></a>上海博物馆人民广场馆</h3><p>这个和东馆不一样,里面的商业化气息非常明显,我去的时候他们在搞玛雅文化活动,居然还要门票</p><p>​<style>.yccnvowrpgmc{zoom: 33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903015129660.webp" class="yccnvowrpgmc" alt="image-20260903015129660"></p><p>​<style>.eijycyrmfdnb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903015202506.webp" class="eijycyrmfdnb" alt="image-20260903015202506"></p><p>​<style>.kyahseoovsix{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903015211913.webp" class="kyahseoovsix" alt="image-20260903015211913"></p><p>​<style>.qfshncrtmdsg{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903015220396.webp" class="qfshncrtmdsg" alt="image-20260903015220396"></p><p>​<style>.doljnprkkdlj{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903015231113.webp" class="doljnprkkdlj" alt="image-20260903015231113"></p><blockquote><p>不过博物馆的造型像个鼎</p></blockquote><p>​<style>.whyqnflayvmg{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903015537438.webp" class="whyqnflayvmg" alt="image-20260903015537438"></p><p>​<style>.qbnkqtugchxd{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903015547323.webp" class="qbnkqtugchxd" alt="image-20260903015547323"></p><p>​<style>.owcfhncxkqtc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903015556219.webp" class="owcfhncxkqtc" alt="image-20260903015556219"></p><p>​<style>.mjguxhxdruul{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903015605039.webp" class="mjguxhxdruul" alt="image-20260903015605039"></p><h3 id="上海大剧院"><a href="#上海大剧院" class="headerlink" title="上海大剧院"></a>上海大剧院</h3><blockquote><p>没有开放所以进不去</p></blockquote><p>​<style>.wcsqfdejhevq{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903015832352.webp" class="wcsqfdejhevq" alt="image-20260903015832352"></p><p>​<style>.lkkrrfkurhnj{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903015906961.webp" class="lkkrrfkurhnj" alt="image-20260903015906961"></p><h3 id="上海动物园"><a href="#上海动物园" class="headerlink" title="上海动物园"></a>上海动物园</h3><p>​<style>.wkgpoitksgok{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020401981.webp" class="wkgpoitksgok" alt="image-20260903020401981"></p><p>​<style>.ejegawpxucrh{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020410237.webp" class="ejegawpxucrh" alt="image-20260903020410237"></p><p>​<style>.svspcbpifeat{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020418457.webp" class="svspcbpifeat" alt="image-20260903020418457"></p><p>​<style>.otruitpnmtod{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020425852.webp" class="otruitpnmtod" alt="image-20260903020425852"></p><p>​<style>.axgxjwlkxmvr{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020435704.webp" class="axgxjwlkxmvr" alt="image-20260903020435704"></p><p>​<style>.blumiwwjntpj{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020443040.webp" class="blumiwwjntpj" alt="image-20260903020443040"></p><p>​<style>.baeojfrjvbcd{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020450539.webp" class="baeojfrjvbcd" alt="image-20260903020450539"></p><p>​<style>.kisgdoydidzm{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020459338.webp" class="kisgdoydidzm" alt="image-20260903020459338"></p><p>​<style>.yddjmbxumrpl{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020508237.webp" class="yddjmbxumrpl" alt="image-20260903020508237"></p><p>​<style>.msxvqhwbldeg{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020516714.webp" class="msxvqhwbldeg" alt="image-20260903020516714"></p><p>​<style>.inbncootelxk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020525665.webp" class="inbncootelxk" alt="image-20260903020525665"></p><p>​<style>.vdsbbjyuewmy{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020637291.webp" class="vdsbbjyuewmy" alt="image-20260903020637291"></p><p>​<style>.igtdiuimplrr{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020646091.webp" class="igtdiuimplrr" alt="image-20260903020646091"></p><p>​<style>.njsdptydympt{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020656690.webp" class="njsdptydympt" alt="image-20260903020656690"></p><p>​<style>.xodceuiqfuji{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020709316.webp" class="xodceuiqfuji" alt="image-20260903020709316"></p><p>​<style>.vlfbzdtcgyfp{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020721780.webp" class="vlfbzdtcgyfp" alt="image-20260903020721780"></p><p>​<style>.akjnicgjpogm{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020739694.webp" class="akjnicgjpogm" alt="image-20260903020739694"></p><p>​<style>.eofvsfstyjty{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020748112.webp" class="eofvsfstyjty" alt="image-20260903020748112"></p><p>​<style>.nfmqvjburrok{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020756880.webp" class="nfmqvjburrok" alt="image-20260903020756880"></p><p>​<style>.bwiqkscljbbc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020853386.webp" class="bwiqkscljbbc" alt="image-20260903020853386"></p><p>​<style>.xiqqbfhnozjl{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020901944.webp" class="xiqqbfhnozjl" alt="image-20260903020901944"></p><p>​<style>.sklbrdrgwqtd{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020910358.webp" class="sklbrdrgwqtd" alt="image-20260903020910358"></p><p>​<style>.zyyopjsezruv{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903020919659.webp" class="zyyopjsezruv" alt="image-20260903020919659"></p><p>​<style>.xvunwqdjlyju{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021036557.webp" class="xvunwqdjlyju" alt="image-20260903021036557"></p><p>​<style>.tvpprjxipeng{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021049102.webp" class="tvpprjxipeng" alt="image-20260903021049102"></p><p>​<style>.fokcudwhgpxh{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021058652.webp" class="fokcudwhgpxh" alt="image-20260903021058652"></p><p>​<style>.vqibvhdxzoxw{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021107328.webp" class="vqibvhdxzoxw" alt="image-20260903021107328"></p><p>​<style>.jlluvxakmcfn{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021115580.webp" class="jlluvxakmcfn" alt="image-20260903021115580"></p><h3 id="上海交通大学"><a href="#上海交通大学" class="headerlink" title="上海交通大学"></a>上海交通大学</h3><blockquote><p>由于没有预约无法进入,至于复旦和同济没时间去</p></blockquote><p>​<style>.legiidynjryc{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021407119.webp" class="legiidynjryc" alt="image-20260903021407119"></p><p>​<style>.qfhrwqpgridh{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021430806.webp" class="qfhrwqpgridh" alt="image-20260903021430806"></p><p>​<style>.ssjvuobgvmen{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021442381.webp" class="ssjvuobgvmen" alt="image-20260903021442381"></p><p>​<style>.xwcnshgvrzin{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021451025.webp" class="xwcnshgvrzin" alt="image-20260903021451025"></p><h3 id="徐汇区商业广场"><a href="#徐汇区商业广场" class="headerlink" title="徐汇区商业广场"></a>徐汇区商业广场</h3><p>​<style>.vemfrkbbeqeg{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021717977.webp" class="vemfrkbbeqeg" alt="image-20260903021717977"></p><p>​<style>.iuwpyvvtxndf{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021727887.webp" class="iuwpyvvtxndf" alt="image-20260903021727887"></p><p>​<style>.jccxpjbxpyyr{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021735869.webp" class="jccxpjbxpyyr" alt="image-20260903021735869"></p><p>​<style>.cjjcwbfcgvht{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903021746966.webp" class="cjjcwbfcgvht" alt="image-20260903021746966"></p><h3 id="圣依纳爵主教堂"><a href="#圣依纳爵主教堂" class="headerlink" title="圣依纳爵主教堂"></a>圣依纳爵主教堂</h3><p>​<style>.irxfkshrzsxg{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022153241.webp" class="irxfkshrzsxg" alt="image-20260903022153241"></p><p>​<style>.ecuwnbofnrlh{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022207537.webp" class="ecuwnbofnrlh" alt="image-20260903022207537"></p><h3 id="米哈游"><a href="#米哈游" class="headerlink" title="米哈游"></a>米哈游</h3><blockquote><p>事实上,很多知名公司都在上海,哔哩哔哩,字节,阿里,鹰角,米哈游,不过我没时间去,只能先成为米卫兵了</p></blockquote><p>​<style>.nmvffwqbwvhy{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022454817.webp" class="nmvffwqbwvhy" alt="image-20260903022454817"></p><p>​<style>.ekfnrppowvhp{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022529341.webp" class="ekfnrppowvhp" alt="image-20260903022529341"></p><p>​<style>.aiqlnvolsqqu{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022512258.webp" class="aiqlnvolsqqu" alt="image-20260903022512258"></p><p>​<style>.ugwytmvfcxyb{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022519855.webp" class="ugwytmvfcxyb" alt="image-20260903022519855"></p><p>​<style>.pyvtilbuoawp{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022539785.webp" class="pyvtilbuoawp" alt="image-20260903022539785"></p><h3 id="上海植物园"><a href="#上海植物园" class="headerlink" title="上海植物园"></a>上海植物园</h3><p>​<style>.djvweacgcoyd{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022802861.webp" class="djvweacgcoyd" alt="image-20260903022802861"></p><p>​<style>.fbtmoovktltl{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022812187.webp" class="fbtmoovktltl" alt="image-20260903022812187"></p><p>​<style>.nwqczhcahdhp{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022821275.webp" class="nwqczhcahdhp" alt="image-20260903022821275"></p><p>​<style>.wkhbguftiudh{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022829468.webp" class="wkhbguftiudh" alt="image-20260903022829468"></p><p>​<style>.qjjihqlwxnax{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022838054.webp" class="qjjihqlwxnax" alt="image-20260903022838054"></p><p>​<style>.qxwkfdlrabgk{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903022846434.webp" class="qxwkfdlrabgk" alt="image-20260903022846434"></p><p>当然还有很多景点没有预约上或者游玩,不过我觉得是时候回去了</p><h2 id="归途"><a href="#归途" class="headerlink" title="归途"></a>归途</h2><p>​<style>.oaqysqqibxxz{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903023122589.webp" class="oaqysqqibxxz" alt="image-20260903023122589"></p><p>​<style>.mdkdrgycugke{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903023132546.webp" class="mdkdrgycugke" alt="image-20260903023132546"></p><p>​<style>.ihivryfiupsa{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903023252502.webp" class="ihivryfiupsa" alt="image-20260903023252502"></p><p>​<style>.flostiqriijz{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903023304722.webp" class="flostiqriijz" alt="image-20260903023304722"></p><p>​<style>.dwrmcrcamhsn{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903023522298.webp" class="dwrmcrcamhsn" alt="image-20260903023522298"></p><p>​<style>.nrcgzihmbzik{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903023315211.webp" class="nrcgzihmbzik" alt="image-20260903023315211"></p><p>​<style>.louggiusmvuq{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903023323991.webp" class="louggiusmvuq" alt="image-20260903023323991"></p><p>​<style>.htfdyeghnsrt{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903023336633.webp" class="htfdyeghnsrt" alt="image-20260903023336633"></p><blockquote><p>我家的猫依旧懒得要命</p></blockquote><p>​<style>.ceboteesfgko{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903023347151.webp" class="ceboteesfgko" alt="image-20260903023347151"></p><p>​<style>.drljaxempudq{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903023537392.webp" class="drljaxempudq" alt="image-20260903023537392"></p><p>​<style>.gkpjzvdvigpa{zoom:33%;}</style><img src="/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/image-20260903023545100.webp" class="gkpjzvdvigpa" alt="image-20260903023545100"></p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/</id>
    <link href="https://funingna-wakawaka.github.io/2026/08/26/%E6%97%A5%E8%AE%B0%E7%9B%B8%E5%85%B3/%E6%88%91%E5%9C%A8%E8%8B%8F%E5%B7%9E%E5%92%8C%E4%B8%8A%E6%B5%B7%E7%9A%8435%E5%A4%A9/"/>
    <published>2026-08-26T13:42:46.000Z</published>
    <summary>
      <![CDATA[<h1 id="暑假去了苏州和上海一趟"><a href="#暑假去了苏州和上海一趟" class="headerlink" title="暑假去了苏州和上海一趟"></a>暑假去了苏州和上海一趟</h1><h2 id="前言"><a href="#前言" class="head]]>
    </summary>
    <title>我在苏州和上海的35天</title>
    <updated>2026-09-09T05:35:41.407Z</updated>
  </entry>
  <entry>
    <author>
      <name>huyangpahuo</name>
    </author>
    <category term="软件推荐" scheme="https://funingna-wakawaka.github.io/categories/%E8%BD%AF%E4%BB%B6%E6%8E%A8%E8%8D%90/"/>
    <category term="software" scheme="https://funingna-wakawaka.github.io/tags/software/"/>
    <content>
      <![CDATA[<h1 id="JSON-Crack是我目前见过的最好看的json查看工具了"><a href="#JSON-Crack是我目前见过的最好看的json查看工具了" class="headerlink" title="JSON Crack是我目前见过的最好看的json查看工具了"></a>JSON Crack是我目前见过的最好看的json查看工具了</h1><p><a href="https://github.com/AykutSarac/jsoncrack.com">点击前往下载</a></p><style>.bhtjmeomnmky{zoom:33%;}</style><img src="/2026/07/17/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/JsonCrack%E8%BD%AF%E4%BB%B6%E4%BD%BF%E7%94%A8/image-20260717195406474.webp" class="bhtjmeomnmky" alt="image-20260717195406474"><p>这个在VScode里也有插件</p><p>​<style>.qcyhocidslkj{zoom: 67%;}</style><img src="/2026/07/17/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/JsonCrack%E8%BD%AF%E4%BB%B6%E4%BD%BF%E7%94%A8/image-20260717195859548.webp" class="qcyhocidslkj" alt="image-20260717195859548"></p><p>​<style>.akxsvpuphqcf{zoom: 25%;}</style><img src="/2026/07/17/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/JsonCrack%E8%BD%AF%E4%BB%B6%E4%BD%BF%E7%94%A8/image-20260717195842124.webp" class="akxsvpuphqcf" alt="image-20260717195842124"></p><p>当然这玩意的付费版功能确实更多,图表更好看,自定义能力更强,就是一个月12刀太劝退了</p><p>​<style>.napobhhfgwub{zoom:33%;}</style><img src="/2026/07/17/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/JsonCrack%E8%BD%AF%E4%BB%B6%E4%BD%BF%E7%94%A8/image-20260717202509828.webp" class="napobhhfgwub" alt="image-20260717202509828"></p><p>甚至还有MCP<style>.svewcqonwknl{zoom:33%;}</style><img src="/2026/07/17/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/JsonCrack%E8%BD%AF%E4%BB%B6%E4%BD%BF%E7%94%A8/image-20260717200709324.webp" class="svewcqonwknl" alt="image-20260717200709324"></p><p>不过免费版其实也可以,因为免费版只比付费版少了个Mermaid图转换功能</p><p>我们可以把json转换为其他格式的文件</p><p>​<style>.dildedzhjjyn{zoom:33%;}</style><img src="/2026/07/17/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/JsonCrack%E8%BD%AF%E4%BB%B6%E4%BD%BF%E7%94%A8/image-20260717201516011.webp" class="dildedzhjjyn" alt="image-20260717201516011"></p><p>当然也可以更方便的查看yaml文件</p><p>​<style>.nwjiyyhugnny{zoom:33%;}</style><img src="/2026/07/17/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/JsonCrack%E8%BD%AF%E4%BB%B6%E4%BD%BF%E7%94%A8/image-20260717202345948.webp" class="nwjiyyhugnny" alt="image-20260717202345948"></p><h2 id="或者把项目克隆到本地后运行"><a href="#或者把项目克隆到本地后运行" class="headerlink" title="或者把项目克隆到本地后运行"></a>或者把项目克隆到本地后运行</h2><p>本地的缺点是太慢了,虽然可以部署到服务器的Docker,不过感觉浪费服务器空间,因为全部文件将近一个G</p><p>其实用官方的那个网站就行了</p><p>​<style>.ulltgqihrsni{zoom:33%;}</style><img src="/2026/07/17/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/JsonCrack%E8%BD%AF%E4%BB%B6%E4%BD%BF%E7%94%A8/image-20260717203102515.webp" class="ulltgqihrsni" alt="image-20260717203102515"></p><p>然后创建bat自启动脚本快速启动</p><div class="codecard" data-lang="powershell"><div class="codecard-header"><span class="codecard-lang">POWERSHELL</span><span class="codecard-notice" aria-live="polite">已复制</span><button class="codecard-copy" type="button" aria-label="复制代码"><svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor" aria-hidden="true"><path d="M16 1H4C2.9 1 2 1.9 2 3v14h2V3h12V1zm3 4H8C6.9 5 6 5.9 6 7v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg></button></div><div class="codecard-body"><div class="codecard-gutter" aria-hidden="true"><span>1</span><span>2</span><span>3</span><span>4</span></div><pre class="codecard-pre"><code class="language-powershell">@<span class="built_in">echo</span> off<span class="built_in">cd</span> /d <span class="string">&quot;D:\jsoncrack.com\jsoncrack.com&quot;</span>cmd /k pnpm dev<span class="built_in">start</span> http://localhost:<span class="number">3000</span></span><br></code></pre></div></div><p>然后在浏览器访问这个localhost本地服务器网址</p><p>​<style>.ljvssmpuubyo{zoom:33%;}</style><img src="/2026/07/17/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/JsonCrack%E8%BD%AF%E4%BB%B6%E4%BD%BF%E7%94%A8/image-20260717203730271.webp" class="ljvssmpuubyo" alt="image-20260717203730271"></p><p>然后就可以用了</p><p>​<style>.vgvpwahqmykp{zoom: 25%;}</style><img src="/2026/07/17/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/JsonCrack%E8%BD%AF%E4%BB%B6%E4%BD%BF%E7%94%A8/image-20260717203810060.webp" class="vgvpwahqmykp" alt="image-20260717203810060"></p>]]>
    </content>
    <id>https://funingna-wakawaka.github.io/2026/07/17/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/JsonCrack%E8%BD%AF%E4%BB%B6%E4%BD%BF%E7%94%A8/</id>
    <link href="https://funingna-wakawaka.github.io/2026/07/17/%E8%BD%AF%E4%BB%B6%E7%9B%B8%E5%85%B3/JsonCrack%E8%BD%AF%E4%BB%B6%E4%BD%BF%E7%94%A8/"/>
    <published>2026-07-17T09:20:09.000Z</published>
    <summary>
      <![CDATA[<h1 id="JSON-Crack是我目前见过的最好看的json查看工具了"><a href="#JSON-Crack是我目前见过的最好看的json查看工具了" class="headerlink" title="JSON Crack是我目前见过的最好看的json查看工具了">]]>
    </summary>
    <title>JsonCrack软件使用</title>
    <updated>2026-07-17T13:35:35.438Z</updated>
  </entry>
</feed>
