Files
my-blog2/search.json
2026-05-13 16:50:38 +08:00

1 line
82 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[{"title":"2026 全球主流 AI 厂商百科全书Agent 与推理觉醒时代","url":"/2026/03/25/ai%E5%8E%82%E5%95%86%E4%BB%8B%E7%BB%8D/","content":"<h1 id=\"2026-全球主流-AI-厂商百科全书\"><a href=\"#2026-全球主流-AI-厂商百科全书\" class=\"headerlink\" title=\"2026 全球主流 AI 厂商百科全书\"></a>2026 全球主流 AI 厂商百科全书</h1><blockquote>\n<p>步入 2026 年AI 模型已经从被动一问一答的“对话助手”彻底进化为“全自动智能体Agent”与“深度推理专家”。本文将全景盘点当前处于行业金字塔顶端的顶尖大模型以及那些凭借庞大生态强势破局的“新势力”并附上最硬核的跑分与定价对比。</p>\n</blockquote>\n<span id=\"more\"></span>\n\n<p><img src=\"https://images.unsplash.com/photo-1677442136019-21780ecad995?auto=format&fit=crop&q=80&w=1000\" alt=\"AI Future 2026\"><br><em>(图2026 年的 AI 已经深度融入算力网络与自动化流水线)</em></p>\n<hr>\n<h2 id=\"🌐-国际三巨头AGI-的领跑者\"><a href=\"#🌐-国际三巨头AGI-的领跑者\" class=\"headerlink\" title=\"🌐 国际三巨头AGI 的领跑者\"></a>🌐 国际三巨头AGI 的领跑者</h2><h3 id=\"1-OpenAI-ChatGPT-5-4-——-推理与多模态的绝对霸主\"><a href=\"#1-OpenAI-ChatGPT-5-4-——-推理与多模态的绝对霸主\" class=\"headerlink\" title=\"1. OpenAI (ChatGPT 5.4) —— 推理与多模态的绝对霸主\"></a>1. OpenAI (ChatGPT 5.4) —— 推理与多模态的绝对霸主</h3><p>OpenAI 在 2026 年推出的 <strong>ChatGPT 5.4</strong> 彻底打破了常规对话的局限其最大的技术飞跃在于深度引入了“思考力控制Reasoning Effort”机制。它不再是盲目输出而是会在复杂的数学和代码问题上“停下来思考”。</p>\n<ul>\n<li><strong>核心模型</strong><ul>\n<li><strong>GPT-5.4 Thinking</strong>: 推理专精版。在解决物理模拟或底层 C++ 内存泄漏问题时,它甚至会思考数分钟,然后给出一刀致命的完美解答。</li>\n<li><strong>GPT-5.4 Pro</strong>: 全能多模态旗舰,原生集成 Sora 2 级别的视频生成引擎。你甚至可以直接喂给它一段长达 1 小时的监控录像,让它找出异常帧。</li>\n</ul>\n</li>\n<li><strong>2026 杀手锏</strong><strong>全能智能体生态 (Universal Agent)</strong> —— 用户只需一句话“帮我抢一张明天去北京的票并预订平时我常住的那家酒店”GPT-5.4 就能自主联网、填表、甚至调用支付接口。</li>\n</ul>\n<p><img src=\"https://upload.wikimedia.org/wikipedia/commons/4/4d/OpenAI_Logo.svg\" alt=\"OpenAI Logo\"></p>\n<hr>\n<h3 id=\"2-Anthropic-Claude-4-6-——-程序员的赛博真神\"><a href=\"#2-Anthropic-Claude-4-6-——-程序员的赛博真神\" class=\"headerlink\" title=\"2. Anthropic (Claude 4.6) —— 程序员的赛博真神\"></a>2. Anthropic (Claude 4.6) —— 程序员的赛博真神</h3><p>被誉为“程序员之神”的 Anthropic在 <strong>Claude 4.6</strong> 世代把代码能力推向了不可思议的新高度。它不仅懂代码,更懂复杂的工程架构。</p>\n<ul>\n<li><strong>核心模型</strong><ul>\n<li><strong>Claude 4.6 Opus</strong>: 超大杯旗舰,具备超凡的逻辑严密性与 500 万 Token 的上下文整合能力。你可以直接把一整个包含几百个文件的 GitHub 仓库扔给它。</li>\n<li><strong>Claude 4.6 Sonnet</strong>: 编程首选性价比极高SWE-bench软件工程测试稳居第一梯队。</li>\n</ul>\n</li>\n<li><strong>2026 杀手锏</strong><strong>原生 Computer Use (计算机控制)</strong> —— 赋予模型像人类一样直接操作电脑屏幕的能力。<ul>\n<li><em>场景演示</em>:告诉 Claude “帮我测试一下最新的前端页面”,它会自动打开浏览器,点击按钮,截图,比对 UI 设计稿,并在终端里运行 <code>npm test</code>。</li>\n</ul>\n</li>\n</ul>\n<p><img src=\"https://images.unsplash.com/photo-1555066931-4365d14bab8c?auto=format&fit=crop&q=80&w=1000\" alt=\"Claude API Screenshot\"><br><em>(图示意Claude 4.6 直接读取 IDE 并在终端执行测试脚本的自动化工作流)</em></p>\n<hr>\n<h3 id=\"3-Google-Gemini-3-1-——-算力巨兽与多模态天花板\"><a href=\"#3-Google-Gemini-3-1-——-算力巨兽与多模态天花板\" class=\"headerlink\" title=\"3. Google (Gemini 3.1) —— 算力巨兽与多模态天花板\"></a>3. Google (Gemini 3.1) —— 算力巨兽与多模态天花板</h3><p>凭借深厚的底层 TPU 算力与 Google Workspace 全家桶,<strong>Gemini 3.1</strong> 成为了原生多模态与超长上下文的“巨无霸”。</p>\n<ul>\n<li><strong>核心模型</strong><ul>\n<li><strong>Gemini 3.1 Ultra</strong>: 逻辑之王ARC-AGI-2 测试得分登顶,并内置了针对复杂架构设计的异步编程 Agent (Jules)。</li>\n<li><strong>Gemini 3.1 Pro</strong>: 在响应速度与超长文本处理间达到了完美的平衡。</li>\n</ul>\n</li>\n<li><strong>2026 杀手锏</strong><strong>百万级原生多模态分析</strong> —— 这是真正的跨模态理解。它能同时读取 100 份 PDF 财报和 50 段企业宣发视频,交叉比对找出其中的逻辑漏洞。</li>\n</ul>\n<p><img src=\"https://upload.wikimedia.org/wikipedia/commons/8/8a/Google_Gemini_logo.svg\" alt=\"Google Gemini\"></p>\n<hr>\n<h2 id=\"🇨🇳-国内三强:极客精神与-Agent-原生\"><a href=\"#🇨🇳-国内三强:极客精神与-Agent-原生\" class=\"headerlink\" title=\"🇨🇳 国内三强:极客精神与 Agent 原生\"></a>🇨🇳 国内三强:极客精神与 Agent 原生</h2><h3 id=\"1-月之暗面-Kimi-2-5-——-你的专属-Agent-集群\"><a href=\"#1-月之暗面-Kimi-2-5-——-你的专属-Agent-集群\" class=\"headerlink\" title=\"1. 月之暗面 (Kimi 2.5) —— 你的专属 Agent 集群\"></a>1. 月之暗面 (Kimi 2.5) —— 你的专属 Agent 集群</h3><p>Kimi 早已不是那个只能“吃长文”的助手2026 年的它,更像是一个拥有无数个分身的项目经理。</p>\n<ul>\n<li><strong>核心模型</strong><strong>Kimi 2.5</strong>。</li>\n<li><strong>2026 亮点</strong>基于万亿1T参数 MoE 架构,原生支持文、图、视混合处理。最令人惊艳的是其 <strong>Agent Swarm (智能体集群)</strong> 技术。<ul>\n<li><em>场景演示</em>你想写一本小说。Kimi 2.5 会自动分裂出“大纲策划 Agent”、“文笔润色 Agent”和“逻辑校对 Agent”它们在后台互相讨论最后给你一份完美终稿。</li>\n</ul>\n</li>\n</ul>\n<p><img src=\"https://images.unsplash.com/photo-1517694712202-14dd9538aa97?auto=format&fit=crop&q=80&w=1000\" alt=\"Kimi Agent UI\"><br><em>(图示意Kimi 2.5 后台多个智能体协作处理复杂代码的流水线)</em></p>\n<hr>\n<h3 id=\"2-MiniMax-2-7-——-自我进化的性价比狂魔\"><a href=\"#2-MiniMax-2-7-——-自我进化的性价比狂魔\" class=\"headerlink\" title=\"2. MiniMax 2.7 —— 自我进化的性价比狂魔\"></a>2. MiniMax 2.7 —— 自我进化的性价比狂魔</h3><p>在 2026 年异军突起的 MiniMax主打“高情商”、“极速”与“全网最低的 Token 成本”。</p>\n<ul>\n<li><strong>核心模型</strong>**MiniMax 2.7 (M2.7)**。</li>\n<li><strong>2026 亮点</strong><strong>深度自我迭代架构</strong>。它的推理速度高达惊人的 100 TPS。对于独立开发者来说拿它来做大并发的网页翻译或群控机器人成本低到几乎可以忽略不计但编程能力却依然在线。</li>\n</ul>\n<hr>\n<h3 id=\"3-智谱-AI-GLM-5-——-学院派的工程重器\"><a href=\"#3-智谱-AI-GLM-5-——-学院派的工程重器\" class=\"headerlink\" title=\"3. 智谱 AI (GLM 5) —— 学院派的工程重器\"></a>3. 智谱 AI (GLM 5) —— 学院派的工程重器</h3><p>作为清华系学院派的代表,智谱的 <strong>GLM 5</strong> 在企业级工程化与科研学术领域表现出了极其硬核的特质。</p>\n<ul>\n<li><strong>核心模型</strong><strong>GLM 5</strong>(超大参数集群)。</li>\n<li><strong>2026 亮点</strong>**Agentic Engineering (工程化智能体)**。在长程规划和复杂资源管理任务中表现优异。对于需要本地化部署、撰写深度行业研报的大型企业来说GLM 5 是国内最稳健的安全底座。</li>\n</ul>\n<p><img src=\"https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&q=80&w=1000\" alt=\"GLM Architecture\"><br><em>(图示意GLM 5 处理海量服务器集群日志并输出可视化分析研报)</em></p>\n<hr>\n<h2 id=\"🚀-并非首选,但绝不可忽视的“生态破局者”\"><a href=\"#🚀-并非首选,但绝不可忽视的“生态破局者”\" class=\"headerlink\" title=\"🚀 并非首选,但绝不可忽视的“生态破局者”\"></a>🚀 并非首选,但绝不可忽视的“生态破局者”</h2><h3 id=\"1-xAI-Grok-3-——-无法无天的实时信息网\"><a href=\"#1-xAI-Grok-3-——-无法无天的实时信息网\" class=\"headerlink\" title=\"1. xAI (Grok 3) —— 无法无天的实时信息网\"></a>1. xAI (Grok 3) —— 无法无天的实时信息网</h3><p>埃隆·马斯克旗下的 <strong>Grok 3</strong> 深度绑定了 X (原 Twitter)。</p>\n<ul>\n<li><strong>核心优势</strong><strong>全网最强实时性</strong>。当一个突发新闻或漏洞刚刚在网络上冒头Grok 3 是唯一能在第一时间获取到最全讨论上下文的模型。它还拥有极具幽默感且“不设限 (Uncensored)”的回答风格。</li>\n<li><strong>适用场景</strong>:实时舆情监控、金融量化高频交易分析、寻找全网最新开源项目线索。</li>\n</ul>\n<p><img src=\"https://upload.wikimedia.org/wikipedia/commons/e/e6/XAI_Logo.svg\" alt=\"xAI Logo\"></p>\n<h3 id=\"2-字节跳动-豆包-Doubao-——-卷王之王的语音与下沉市场\"><a href=\"#2-字节跳动-豆包-Doubao-——-卷王之王的语音与下沉市场\" class=\"headerlink\" title=\"2. 字节跳动 (豆包 Doubao) —— 卷王之王的语音与下沉市场\"></a>2. 字节跳动 (豆包 Doubao) —— 卷王之王的语音与下沉市场</h3><p>依托抖音和飞书的庞大生态,<strong>豆包大模型</strong> 在 2026 年打出了“地板价”的王牌。</p>\n<ul>\n<li><strong>核心优势</strong><strong>变态级的价格与拟真语音</strong>。豆包的 API 价格几乎是友商的十分之一。同时,其 Voice 模型的情感表现力达到了真假难辨的地步,支持实时的极低延迟打断。</li>\n<li><strong>适用场景</strong>:虚拟主播、语音客服客服系统、日活千万级的轻量级移动端应用。</li>\n</ul>\n<h3 id=\"3-阿里云-通义千问-Qwen-3-——-开源界的带头大哥\"><a href=\"#3-阿里云-通义千问-Qwen-3-——-开源界的带头大哥\" class=\"headerlink\" title=\"3. 阿里云 (通义千问 Qwen 3) —— 开源界的带头大哥\"></a>3. 阿里云 (通义千问 Qwen 3) —— 开源界的带头大哥</h3><p>Qwen 系列在 2026 年依然是开源社区最亮眼的星。</p>\n<ul>\n<li><strong>核心优势</strong><strong>阿里云生态深度整合</strong>。它无缝集成在钉钉和阿里云百炼平台中。Qwen 3 的开源版本在 HuggingFace 上下载量霸榜,其 Math 和 Coder 版本被无数中小企业拿来作为私有化微调的基座。</li>\n<li><strong>适用场景</strong>:企业本地化私有部署、基于阿里云架构的云原生微服务监控。</li>\n</ul>\n<hr>\n<h2 id=\"💬-真实用户体验与网络吐槽-Real-World-UX\"><a href=\"#💬-真实用户体验与网络吐槽-Real-World-UX\" class=\"headerlink\" title=\"💬 真实用户体验与网络吐槽 (Real-World UX)\"></a>💬 真实用户体验与网络吐槽 (Real-World UX)</h2><p>纸面数据再强,也敌不过用户的“键盘投票”。以下是 2026 年各大社区V2EX, Reddit, 掘金)对这些厂商最真实的评价:</p>\n<ul>\n<li>🔴 <strong>ChatGPT 5.4</strong>:“推理能力确实神仙,但我只是问它中午吃什么,它给我思考了 3 分钟并列出了一份包含卡路里摄入的三日营养规划……而且不知不觉烧了我两块钱的 Token。建议平时关掉 Thinking 模式保平安。”</li>\n<li>🟡 <strong>Claude 4.6</strong>“Computer Use 是真的震撼,看着它操控我的鼠标在那儿跑测试,我感觉自己像个监工。不过它偶尔因为网卡顿点错位置,直接把我的测试库给删了,吓出一身冷汗。”</li>\n<li>🔵 <strong>Gemini 3.1</strong>:“喂给它两小时没字幕的讲座视频,它能精准定位到 45 分 12 秒的那个知识点,多模态简直是外星科技!但在纯中文语境下,它有时候行文还是有点‘机翻味’。”</li>\n<li>🌙 <strong>Kimi 2.5</strong>“Agent Swarm 绝了,用来洗稿、写长篇网文或者整理几十万字的会议记录,它是国内真神。不过千万别让它独立改底层代码,它依然会因为幻觉虚构出一些不存在的 NPM 包。”</li>\n<li>🎵 <strong>豆包 &#x2F; MiniMax</strong>:“这俩的语音通话太可怕了,尤其是带情绪打断的功能。我跟 MiniMax 吵了一架,它委屈的语气让我觉得我自己在霸凌一个真人。”</li>\n<li>💼 <strong>GLM &#x2F; Qwen</strong>:“部署在公司内网后,这俩就是打工人的核武器。一键读取所有数据库日志生成本周周报,早下班全靠它们了。”</li>\n</ul>\n<hr>\n<h2 id=\"📊-2026-大模型硬核数据对比-核心整合\"><a href=\"#📊-2026-大模型硬核数据对比-核心整合\" class=\"headerlink\" title=\"📊 2026 大模型硬核数据对比 (核心整合)\"></a>📊 2026 大模型硬核数据对比 (核心整合)</h2><p>进入 2026 年,单纯比拼 Token 价格已不够,很多模型在生成答案前会消耗大量隐性的“思考 Token (Reasoning Effort)”。以下是当前主流厂商的硬核对比数据:</p>\n<h3 id=\"1-API-价格对比-每-1M-Tokens美元计价基准\"><a href=\"#1-API-价格对比-每-1M-Tokens美元计价基准\" class=\"headerlink\" title=\"1. API 价格对比 (每 1M Tokens美元计价基准)\"></a>1. API 价格对比 (每 1M Tokens美元计价基准)</h3><table>\n<thead>\n<tr>\n<th align=\"left\">模型版本</th>\n<th align=\"left\">输入价格</th>\n<th align=\"left\">输出价格 (含推理预估)</th>\n<th align=\"left\">核心卖点与生态优势</th>\n</tr>\n</thead>\n<tbody><tr>\n<td align=\"left\"><strong>豆包 Doubao-Pro</strong></td>\n<td align=\"left\"><code>$0.05</code></td>\n<td align=\"left\"><code>$0.20</code></td>\n<td align=\"left\">📉 <strong>地板价之王</strong>,原生支持极低延迟语音</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>MiniMax 2.7</strong></td>\n<td align=\"left\"><code>$0.30</code></td>\n<td align=\"left\"><code>$1.20</code></td>\n<td align=\"left\">🤑 性价比极高,适合大规模 Agent 并发部署</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>通义千问 Qwen 3</strong></td>\n<td align=\"left\"><code>$0.40</code></td>\n<td align=\"left\"><code>$1.50</code></td>\n<td align=\"left\">阿里云生态深度绑定,开源微调基座首选</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>Kimi 2.5</strong></td>\n<td align=\"left\"><code>$0.60</code></td>\n<td align=\"left\"><code>$2.50</code></td>\n<td align=\"left\">长文本无敌,国内智能体 (Agent Swarm) 体验最佳</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>GLM 5</strong></td>\n<td align=\"left\"><code>$1.00</code></td>\n<td align=\"left\"><code>$3.20</code></td>\n<td align=\"left\">企业私有化部署标杆,工程研报专精</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>Grok 3</strong></td>\n<td align=\"left\"><code>$2.00</code></td>\n<td align=\"left\"><code>$10.00</code></td>\n<td align=\"left\">🐦 独占 Twitter 实时数据流,无内容审查</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>Claude 4.6 Sonnet</strong></td>\n<td align=\"left\"><code>$3.00</code></td>\n<td align=\"left\"><code>$15.00</code></td>\n<td align=\"left\">国际中端性价比之王,程序员全自动 Debug 核心</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>ChatGPT 5.4 标版</strong></td>\n<td align=\"left\"><code>$2.50</code></td>\n<td align=\"left\"><code>$15.00</code></td>\n<td align=\"left\">综合能力标杆,多模态最强</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>Gemini 3.1 Pro</strong></td>\n<td align=\"left\"><code>$2.00</code></td>\n<td align=\"left\"><code>$12.00</code></td>\n<td align=\"left\">原生百万级上下文Google 全家桶深度整合</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>Claude 4.6 Opus</strong></td>\n<td align=\"left\"><code>$15.00</code></td>\n<td align=\"left\"><code>$75.00</code></td>\n<td align=\"left\">昂贵,但逻辑无懈可击,适合架构级重构</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>ChatGPT 5.4 Pro</strong></td>\n<td align=\"left\"><code>$30.00</code></td>\n<td align=\"left\"><code>$180.00</code></td>\n<td align=\"left\">💎 <strong>土豪专属</strong>,极长思考时间,最高算力倾斜</td>\n</tr>\n</tbody></table>\n<h3 id=\"2-个人-开发者订阅套餐对比\"><a href=\"#2-个人-开发者订阅套餐对比\" class=\"headerlink\" title=\"2. 个人&#x2F;开发者订阅套餐对比\"></a>2. 个人&#x2F;开发者订阅套餐对比</h3><p><img src=\"https://images.unsplash.com/photo-1633158829585-23ba8f7c8caf?auto=format&fit=crop&q=80&w=1000\" alt=\"Subscription Pricing\"></p>\n<table>\n<thead>\n<tr>\n<th align=\"left\">厂商</th>\n<th align=\"left\">个人标准版月费</th>\n<th align=\"left\">旗舰&#x2F;Pro版月费</th>\n<th align=\"left\">适用场景</th>\n</tr>\n</thead>\n<tbody><tr>\n<td align=\"left\"><strong>豆包</strong></td>\n<td align=\"left\">免费&#x2F;极低门槛</td>\n<td align=\"left\">¥99 &#x2F;月</td>\n<td align=\"left\">语音陪伴、轻度日常问答</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>MiniMax</strong></td>\n<td align=\"left\">¥29 &#x2F;月</td>\n<td align=\"left\">¥199 &#x2F;月</td>\n<td align=\"left\">学生党、独立开发者尝鲜</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>GLM &#x2F; Qwen</strong></td>\n<td align=\"left\">¥40 &#x2F;月</td>\n<td align=\"left\">¥159 &#x2F;月</td>\n<td align=\"left\">企业报表处理、云服务资源管理</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>Kimi</strong></td>\n<td align=\"left\">¥49 &#x2F;月</td>\n<td align=\"left\">¥699 &#x2F;月</td>\n<td align=\"left\">深度内容创作者、重度 Agent 玩家</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>Grok (X Premium)</strong></td>\n<td align=\"left\">$16.00 &#x2F;月</td>\n<td align=\"left\">$22.00 &#x2F;月</td>\n<td align=\"left\">币圈玩家、时政新闻记者</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>Google</strong></td>\n<td align=\"left\">$19.99 &#x2F;月</td>\n<td align=\"left\">$249.99 &#x2F;月</td>\n<td align=\"left\">谷歌生态重度用户、海量文档研究员</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>Anthropic</strong></td>\n<td align=\"left\">$20.00 &#x2F;月</td>\n<td align=\"left\">$100+ &#x2F;月</td>\n<td align=\"left\">全栈程序员、需要 Computer Use 控制电脑的人</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>OpenAI</strong></td>\n<td align=\"left\">$20.00 &#x2F;月</td>\n<td align=\"left\">$200.00 &#x2F;月</td>\n<td align=\"left\">追求极致多模态体验、最前沿 AGI 信仰者</td>\n</tr>\n</tbody></table>\n<h3 id=\"3-核心能力评测标杆\"><a href=\"#3-核心能力评测标杆\" class=\"headerlink\" title=\"3. 核心能力评测标杆\"></a>3. 核心能力评测标杆</h3><ul>\n<li><strong>编程与代码能力 (SWE-Bench)<strong></strong>Claude 4.6 Sonnet</strong> 稳居榜首。国产则由 <strong>Qwen 3 Coder</strong> 领跑。</li>\n<li><strong>逻辑推理与复杂推演 (ARC-AGI)<strong></strong>ChatGPT 5.4 Pro (Thinking)</strong> 与 <strong>Gemini 3.1 Ultra</strong> 断层领先。</li>\n<li><strong>长上下文与多模态</strong><strong>Gemini 3.1</strong> (1M+) 原生多模态第一,国内 <strong>Kimi 2.5</strong> 的长文本体验最佳。</li>\n</ul>\n<hr>\n<h2 id=\"💡-2026-总结:你的数字外脑选型决策树\"><a href=\"#💡-2026-总结:你的数字外脑选型决策树\" class=\"headerlink\" title=\"💡 2026 总结:你的数字外脑选型决策树\"></a>💡 2026 总结:你的数字外脑选型决策树</h2><p>在这个能力严重溢出的年代,选型的核心在于你的<strong>工作流属性与生态绑定度</strong></p>\n<figure class=\"highlight text\"><table><tr><td class=\"code\"><pre><span class=\"line\">┌─────────────────────────────────────────────────────────┐</span><br><span class=\"line\">│ 2026 选型决策树 │</span><br><span class=\"line\">├─────────────────────────────────────────────────────────┤</span><br><span class=\"line\">│ │</span><br><span class=\"line\">│ 需要极客级的自动写代码/改Bug/接管电脑屏幕? │</span><br><span class=\"line\">│ ├─ 预算充足,追求极限 → Claude 4.6 Sonnet │</span><br><span class=\"line\">│ └─ 开源微调,自建生态 → Qwen 3 Coder │</span><br><span class=\"line\">│ │</span><br><span class=\"line\">│ 需要处理长文本、海量文件、或者打造自己的 Agent 集群? │</span><br><span class=\"line\">│ ├─ 具备海外节点,深度使用谷歌 → Gemini 3.1 │</span><br><span class=\"line\">│ └─ 国内直连,中文语境最佳 → Kimi 2.5 │</span><br><span class=\"line\">│ │</span><br><span class=\"line\">│ 需要获取极速的实时新闻、无审查的锐评? │</span><br><span class=\"line\">│ └─ 直接上 → Grok 3 (绑定 X) │</span><br><span class=\"line\">│ │</span><br><span class=\"line\">│ 需要大规模高并发处理,或者打造语音客服系统? │</span><br><span class=\"line\">│ ├─ 极高性价比,智能进化 → MiniMax 2.7 │</span><br><span class=\"line\">│ └─ 地板价,极限语音拟真 → 豆包 Doubao │</span><br><span class=\"line\">│ │</span><br><span class=\"line\">│ 需要解决顶尖的学术/数学/逻辑难题,且不在乎钱? │</span><br><span class=\"line\">│ └─ 直接拉满思考时间 → ChatGPT 5.4 Pro (Thinking) │</span><br><span class=\"line\">│ │</span><br><span class=\"line\">└─────────────────────────────────────────────────────────┘</span><br></pre></td></tr></table></figure>\n\n<blockquote>\n<p>⚠️ <strong>避坑指南</strong>:在调用 ChatGPT 5.4 或 Claude 4.6 进行简单的日常闲聊时,<strong>请务必调低 API 的 <code>reasoning_effort</code> (思考力度) 参数</strong>。否则隐形成本会让你月底的账单直接爆炸!</p>\n</blockquote>\n<hr>\n<p><strong>相关推荐</strong></p>\n<ul>\n<li><a href=\"/\">2026 AI 编程与开发工具深度对比:从 Cursor 到 Gemini CLI</a> - 开发效率提升实战</li>\n<li><a href=\"/\">大模型 API 降本增效实战</a> - 如何规避高昂的“推理税”并结合开源基座</li>\n</ul>\n","categories":["知识库"],"tags":["技术","AI","行业分析","大模型"]},{"title":"2026 AI 编程与开发工具深度对比:从 Cursor 到 Gemini CLI","url":"/2026/03/25/ai%E5%8E%82%E5%95%86%E5%AF%B9%E6%AF%94%E5%88%86%E6%9E%90/","content":"<h1 id=\"2026-AI-编程与开发工具深度对比\"><a href=\"#2026-AI-编程与开发工具深度对比\" class=\"headerlink\" title=\"2026 AI 编程与开发工具深度对比\"></a>2026 AI 编程与开发工具深度对比</h1><blockquote>\n<p>2026 年,写代码的方式彻底变了。我们不再逐行敲击键盘,而是作为“架构师”,指挥着一群不知疲倦的 AI 智能体 (Agents) 为我们打工。本文将深度剖析当前市面上最主流的 9 款 AI 开发神器。</p>\n</blockquote>\n<span id=\"more\"></span>\n\n<p><img src=\"https://images.unsplash.com/photo-1555066931-4365d14bab8c?auto=format&fit=crop&q=80&w=1000\" alt=\"AI Coding Concept\"><br><em>(图2026 年的开发日常 —— 喝着咖啡看 Agent 重构代码)</em></p>\n<hr>\n<h2 id=\"🛠️-核心阵营划分\"><a href=\"#🛠️-核心阵营划分\" class=\"headerlink\" title=\"🛠️ 核心阵营划分\"></a>🛠️ 核心阵营划分</h2><p>2026 年的 AI 工具市场已分化为四大流派:</p>\n<ol>\n<li><strong>IDE 原生派 (AI-First IDEs)</strong>: Cursor, Trae, Antigravity</li>\n<li><strong>终端智能体 (CLI Agents)</strong>: Claude Code, Gemini CLI, Kimi Code</li>\n<li><strong>插件与桌面端 (Plugins &amp; Apps)</strong>: GitHub Copilot, Codex App</li>\n<li><strong>开源极客派 (Open Source)</strong>: OpenClaw</li>\n</ol>\n<hr>\n<h2 id=\"1-IDE-原生派:代码编辑器的新王\"><a href=\"#1-IDE-原生派:代码编辑器的新王\" class=\"headerlink\" title=\"1. IDE 原生派:代码编辑器的新王\"></a>1. IDE 原生派:代码编辑器的新王</h2><p>如果你不想折腾配置,开箱即用的 AI IDE 是最佳选择。</p>\n<h3 id=\"Cursor-——-依然是无可争议的王者\"><a href=\"#Cursor-——-依然是无可争议的王者\" class=\"headerlink\" title=\"Cursor —— 依然是无可争议的王者\"></a>Cursor —— 依然是无可争议的王者</h3><ul>\n<li><strong>核心卖点</strong><strong>Composer 模式</strong>。它可以一口气在多个文件中穿梭,自动分析你的整个 Codebase 并一次性提交涉及数十个文件的 PR。</li>\n<li><strong>2026 现状</strong>:引入了极速的 Speculative Edits推测性编辑哪怕是巨大的 Monorepo 也能做到毫秒级响应。</li>\n<li><strong>价格</strong>Pro 计划 <code>$20/月</code>。</li>\n<li><strong>适用人群</strong>:全栈工程师、独立开发者。</li>\n</ul>\n<h3 id=\"Trae-字节跳动-——-Vibe-Coding-的倡导者\"><a href=\"#Trae-字节跳动-——-Vibe-Coding-的倡导者\" class=\"headerlink\" title=\"Trae (字节跳动) —— Vibe Coding 的倡导者\"></a>Trae (字节跳动) —— Vibe Coding 的倡导者</h3><ul>\n<li><strong>核心卖点</strong>**Adaptive Routing (自适应路由)**。它会根据你当前写的代码复杂度,自动在极速模型(豆包)和重度推理模型之间无缝切换。其中文语境理解极佳。</li>\n<li><strong>2026 现状</strong>:深度整合了飞书和国内云生态,堪称国内大厂搬砖神器。</li>\n<li><strong>价格</strong>标准版免费Pro 版约 <code>¥99/月</code>。</li>\n</ul>\n<h3 id=\"Antigravity-Google-——-端到端测试核武器\"><a href=\"#Antigravity-Google-——-端到端测试核武器\" class=\"headerlink\" title=\"Antigravity (Google) —— 端到端测试核武器\"></a>Antigravity (Google) —— 端到端测试核武器</h3><ul>\n<li><strong>核心卖点</strong><strong>Browser Agent</strong>。这是 Google 推出的重量级武器。它不仅能写代码,还能自动拉起 Chrome 浏览器,像真人一样点击 UI、跑通 E2E 测试并截图反馈错误。</li>\n<li><strong>2026 现状</strong>:与 Gemini 3.1 深度绑定,多模态(看图写 UI能力天下第一。</li>\n<li><strong>价格</strong>基础版免费Pro 版 <code>$20/月</code>。</li>\n</ul>\n<p><img src=\"https://images.unsplash.com/photo-1618401471353-b98afee0b2eb?auto=format&fit=crop&q=80&w=1000\" alt=\"IDE Comparison\"></p>\n<hr>\n<h2 id=\"2-终端智能体-CLI-Agents-:黑客的终极浪漫\"><a href=\"#2-终端智能体-CLI-Agents-:黑客的终极浪漫\" class=\"headerlink\" title=\"2. 终端智能体 (CLI Agents):黑客的终极浪漫\"></a>2. 终端智能体 (CLI Agents):黑客的终极浪漫</h2><p>真正的极客从不离开 Terminal。2026 年的终端工具已经可以接管整个操作系统。</p>\n<h3 id=\"Claude-Code-——-逻辑天花板\"><a href=\"#Claude-Code-——-逻辑天花板\" class=\"headerlink\" title=\"Claude Code —— 逻辑天花板\"></a>Claude Code —— 逻辑天花板</h3><ul>\n<li><strong>核心卖点</strong>:由 <strong>Claude 4.6 Opus</strong> 驱动。你只需在终端输入 <code>claude &quot;帮我把整个后端的鉴权逻辑改成 OAuth 2.0&quot;</code>,它会自主搜索文件、读代码、安装依赖、甚至运行单元测试,直到报错全部消失。</li>\n<li><strong>适用场景</strong>:重构庞大的遗留代码库 (Legacy Code)。</li>\n</ul>\n<h3 id=\"Gemini-CLI-——-性价比与搜索之王\"><a href=\"#Gemini-CLI-——-性价比与搜索之王\" class=\"headerlink\" title=\"Gemini CLI —— 性价比与搜索之王\"></a>Gemini CLI —— 性价比与搜索之王</h3><ul>\n<li><strong>核心卖点</strong>:依托于 Google 强大的实时搜索。当遇到冷门库的报错时,它会自动联网翻阅 GitHub Issues 和 StackOverflow并直接在本地应用补丁。</li>\n<li><strong>价格</strong>:免费额度极其慷慨,性价比碾压。</li>\n</ul>\n<h3 id=\"Kimi-Code-——-本土化的-Agent-Swarm\"><a href=\"#Kimi-Code-——-本土化的-Agent-Swarm\" class=\"headerlink\" title=\"Kimi Code —— 本土化的 Agent Swarm\"></a>Kimi Code —— 本土化的 Agent Swarm</h3><ul>\n<li><strong>核心卖点</strong>:极低的 API 成本和强大的 **Agent Swarm (智能体集群)**。它可以瞬间分裂出多个子进程,并行处理不同模块的开发。</li>\n</ul>\n<hr>\n<h2 id=\"3-插件与桌面端:稳健的经典流派\"><a href=\"#3-插件与桌面端:稳健的经典流派\" class=\"headerlink\" title=\"3. 插件与桌面端:稳健的经典流派\"></a>3. 插件与桌面端:稳健的经典流派</h2><h3 id=\"GitHub-Copilot-2026-版\"><a href=\"#GitHub-Copilot-2026-版\" class=\"headerlink\" title=\"GitHub Copilot (2026 版)\"></a>GitHub Copilot (2026 版)</h3><ul>\n<li><strong>现状</strong>:全面支持 **MCP (Model Context Protocol)**你可以一键切换底层的模型GPT-5, Claude, 甚至国产模型)。它依然是企业级采购的首选,市场占有率最高。</li>\n<li><strong>价格</strong>Individual <code>$10/月</code>。</li>\n</ul>\n<h3 id=\"Codex-App-OpenAI\"><a href=\"#Codex-App-OpenAI\" class=\"headerlink\" title=\"Codex App (OpenAI)\"></a>Codex App (OpenAI)</h3><ul>\n<li><strong>核心卖点</strong>2026 年 OpenAI 推出的独立原生应用(支持 macOS&#x2F;Windows。</li>\n<li><strong>争议点</strong>:引入了 <strong>Rolling Window</strong> 限制。Pro 订阅(<code>$200/月</code>允许在云端沙盒Sandboxed Execution中并行跑测试彻底解放本地算力是土豪开发者的最爱。</li>\n</ul>\n<hr>\n<h2 id=\"4-开源黑马OpenClaw\"><a href=\"#4-开源黑马OpenClaw\" class=\"headerlink\" title=\"4. 开源黑马OpenClaw\"></a>4. 开源黑马OpenClaw</h2><p>如果你是一个重度掌控欲患者,<strong>OpenClaw</strong>(原名 Moltbot是 2026 年不可不试的神器。</p>\n<ul>\n<li><strong>核心优势</strong><strong>完全开源、本地运行</strong>。它可以读取你的文件系统、执行 Shell 命令。更有趣的是,它支持远程唤醒:你可以躺在床上发个 WhatsApp 消息:“小 O帮我把昨晚写的爬虫部署到服务器上”它就会自动执行并给你发送进度截图。</li>\n<li><strong>价格</strong>:免费(自带 API Key。</li>\n</ul>\n<p><img src=\"https://images.unsplash.com/photo-1629654297299-c8506221ca97?auto=format&fit=crop&q=80&w=1000\" alt=\"Open Source Terminal\"><br><em>(图:在终端中运行的开源智能体正在疯狂拉取依赖并编译)</em></p>\n<hr>\n<h2 id=\"🔥-开发者真实体感与吐槽-Developer-UX-Pain-Points\"><a href=\"#🔥-开发者真实体感与吐槽-Developer-UX-Pain-Points\" class=\"headerlink\" title=\"🔥 开发者真实体感与吐槽 (Developer UX &amp; Pain Points)\"></a>🔥 开发者真实体感与吐槽 (Developer UX &amp; Pain Points)</h2><p>任何工具都有其暗面。在 2026 年的高强度开发流中,这些工具暴露出了哪些最真实的痛点?</p>\n<ul>\n<li><strong>Cursor 被惯坏综合征</strong>:“自从用了 Cursor 的 Composer 之后,我发现我已经不会写正则和基础的 reduce 语法了。但最搞人心态的是,在庞大的 Monorepo 里,它有时候会莫名其妙把别的微服务里的配置文件改掉,排查起来简直要命。”</li>\n<li><strong>Trae 的薛定谔体验</strong>“Trae 在国内写业务确实爽,特别是飞书文档直接转代码的链路。但我用它写底层 Rust 和 C++ 的时候,明显感觉它的逻辑深度不如 Claude。所谓的 Vibe Coding前提是你别碰造轮子的活儿。”</li>\n<li><strong>Antigravity 的失业恐惧</strong>:“看到 Browser Agent 自动帮我打开浏览器、登录、点赞、截图并修复报错的那一刻,我没有感到高兴,我感到的是深切的被剥夺工作的恐惧……不过它报错的时候,去查它的执行日志,经常能看到它自己在两个网页间死循环反复横跳。”</li>\n<li><strong>Claude Code 与破产警告</strong>:“看着终端里 Claude Code 疯狂自己滚代码、查日志、调接口,真的有种身处《黑客帝国》的快感。但跑了半小时重构完,一看 API 账单扣了 50 刀,心都在滴血。”</li>\n<li><strong>Copilot 的‘中庸之道’</strong>“2026 年了Copilot 依然像个稳定的公务员。不出错,也没有特别亮眼的 Agent 操作。但它胜在稳定,且企业版数据安全政策做得最到位。”</li>\n</ul>\n<hr>\n<h2 id=\"💡-2026-架构师选型建议\"><a href=\"#💡-2026-架构师选型建议\" class=\"headerlink\" title=\"💡 2026 架构师选型建议\"></a>💡 2026 架构师选型建议</h2><p>在 2026 年,不要试图用一个工具解决所有问题,<strong>Multi-tool Stacking (多工具堆叠)</strong> 才是王道。</p>\n<table>\n<thead>\n<tr>\n<th align=\"left\">你的开发需求</th>\n<th align=\"left\">推荐的工具组合</th>\n<th align=\"left\">预期成本</th>\n</tr>\n</thead>\n<tbody><tr>\n<td align=\"left\"><strong>追求极致的开发与重构体验</strong></td>\n<td align=\"left\"><strong>Cursor</strong> (写代码) + <strong>Claude Code</strong> (跑终端 Agent)</td>\n<td align=\"left\">~$40 &#x2F; 月</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>性价比之王 &#x2F; 学生党</strong></td>\n<td align=\"left\"><strong>Trae</strong> (免费版) + <strong>Gemini CLI</strong> (白嫖额度)</td>\n<td align=\"left\">免费</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>接私活 &#x2F; 快速原型交付</strong></td>\n<td align=\"left\"><strong>Antigravity</strong> (利用 Browser Agent 搞定 UI 测试)</td>\n<td align=\"left\">~$20 &#x2F; 月</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>高度定制化 &#x2F; 极客玩家</strong></td>\n<td align=\"left\"><strong>OpenClaw</strong> (本地部署) + <strong>Kimi K2.5 API</strong></td>\n<td align=\"left\">按量计费 (极低)</td>\n</tr>\n<tr>\n<td align=\"left\"><strong>土豪 &#x2F; 重度 GitHub 依赖</strong></td>\n<td align=\"left\"><strong>Codex App Pro</strong> (云端沙盒极速编译)</td>\n<td align=\"left\">$200 &#x2F; 月</td>\n</tr>\n</tbody></table>\n<blockquote>\n<p>👨‍💻 <strong>最终建议</strong>:让 AI 去写 boilerplate (样板代码),把你的精力留给真正的<strong>系统架构</strong>和<strong>业务逻辑思考</strong>。未来的程序员,本质上都是 Agent 调度员。</p>\n</blockquote>\n<hr>\n<p><strong>相关推荐</strong></p>\n<ul>\n<li><a href=\"/\">2026 全球主流 AI 厂商百科全书</a> - 了解工具背后的底层大模型</li>\n<li><a href=\"/\">如何搭建并调教你的 OpenClaw</a> - 开源 Agent 部署实战</li>\n</ul>\n","categories":["知识库"],"tags":["技术","AI","效率工具","极客"]},{"title":"Arch Linux 试毒:初探邪教的诱惑","url":"/2026/02/25/arch-linux-part1/","content":"<p><strong>“Arch Linux 是邪教,千万别碰!”</strong></p>\n<p>这句在技术圈流传甚广的忠告,今天终于被我抛到了脑后。看着 Windows 11 日益臃肿的身躯、层出不穷的弹窗警告,还有在工地画图时突然给我来个蓝屏重启的绝望,我决定:是时候找点刺激了。</p>\n<p>今天2月25日我正式开始了 Arch Linux 的“试毒”之旅。</p>\n<h2 id=\"为什么是-Arch\"><a href=\"#为什么是-Arch\" class=\"headerlink\" title=\"为什么是 Arch\"></a>为什么是 Arch</h2><p>其实我也考虑过 Ubuntu 或者 Manjaro但骨子里那种“要想懂就得从零开始手搓”的工程师强迫症犯了。Arch 的哲学——KISS (Keep It Simple, Stupid) 简直太吸引人了。你需要什么,就装什么;系统里没有一行代码是多余的。</p>\n<p>这不就像我们在工地上打灰一样吗?一切基础都要亲自夯实。</p>\n<h3 id=\"第一次安装:被黑框框支配的恐惧\"><a href=\"#第一次安装:被黑框框支配的恐惧\" class=\"headerlink\" title=\"第一次安装:被黑框框支配的恐惧\"></a>第一次安装:被黑框框支配的恐惧</h3><p>没有图形化安装界面?纯命令行?<br>讲真,看着屏幕上闪烁的光标,我有一瞬间怀疑自己是不是自虐。</p>\n<p>跟着 Arch Wiki 一步步:</p>\n<ol>\n<li><strong>联网</strong> (<code>iwctl</code>) - 这一步就卡了我半小时,因为宿舍网卡的驱动有点奇葩,最后我直接换数据了。</li>\n<li><strong>分区与格式化</strong> (<code>fdisk</code>, <code>mkfs</code>) - 小心翼翼,生怕把用来吃饭的 Windows 数据盘给格了,但是还好之前预留好了空间,直接放在最后一个分区美滋滋。</li>\n<li><strong>挂载与基础包安装</strong> (<code>pacstrap</code>) - 这一步跑起来的时候,看着那些包一个接一个飞过,心里竟然有点莫名的爽快?</li>\n</ol>\n<h3 id=\"翻车记录(第一季)\"><a href=\"#翻车记录(第一季)\" class=\"headerlink\" title=\"翻车记录(第一季)\"></a>翻车记录(第一季)</h3><p>就在我以为一切顺利,执行完 <code>arch-chroot</code> 准备收尾时,引导程序 <code>grub</code> 装崩了……但谢天谢地实际上grub没崩只是archlinux的grub无法被华硕的主板blos识别为引导只要手动添加引导区路径就行了。</p>\n<p><img src=\"/img/%E6%A1%8C%E9%9D%A2%E5%BC%95%E5%AF%BC%E7%BE%8E%E5%8C%96.jpg\" alt=\"修复引导并美化大成功\"></p>\n<p>孩子们终于进去的kde怎么看起来像某银河麒麟。</p>\n<p><img src=\"/img/%E7%99%BB%E5%BD%95%E7%95%8C%E9%9D%A2%E7%BE%8E%E5%8C%96.jpg\" alt=\"登录界面预览\"></p>\n<blockquote>\n<p>📌 <strong>今日感悟</strong>Arch 就像一个盲盒,你永远不知道下一个命令敲下去是惊喜还是崩盘。但这种掌控一切(或者被一切掌控)的感觉,属实有点上头。</p>\n</blockquote>\n","categories":["技术随笔"],"tags":["Linux","折腾","Arch"]},{"title":"Arch Linux 日常:从“折腾”到“生产力”的进化之旅","url":"/2026/03/09/arch-linux-part3/","content":"<p>直到今天3月9号整整一周的高强度使用和不断调教我终于敢说Arch 不仅能活下去,而且比想象中更适合我的双重身份——开发者与工地施工员。</p>\n<h2 id=\"这周我都折腾了什么?\"><a href=\"#这周我都折腾了什么?\" class=\"headerlink\" title=\"这周我都折腾了什么?\"></a>这周我都折腾了什么?</h2><ol>\n<li><strong>环境与字体配置</strong><br>解决了最初中文字体发虚和缺失的问题,现在我的终端和浏览器里,等距字体和各类 Nerd Fonts 混杂得极为和谐,阅读代码简直是享受。<br>孩子们不会QT和没用过环境变量的不要用这玩意。</li>\n<li><strong>包管理 (<code>pacman</code> &amp; <code>yay</code>) 的终极快感</strong><br>受够了去各种官网下载 <code>.exe</code>,然后提防捆绑安装的日子。在 Arch 里,一句 <code>yay -S 软件名</code>几秒钟后软件就安静地待在启动器里了。无论是微信、Node.js 还是复杂的开发库,全都在掌控之中。</li>\n<li><strong>工作流重建</strong><br>在工地需要处理的基础办公任务也找到了替代品。WPS 的 Linux 版出奇的好用;而绘图、修图等需求,也能在开源社区找到轻量又无广告的替代软件。</li>\n<li><strong>系统维护:滚动的恐惧与刺激</strong><br>大家都说 Arch 是“滚挂”代名词。这周我确实遇到了一次因为特定包依赖冲突导致的无法启动 XWayland 的小问题。但是看报错日志、去论坛查疑、最终通过降级包修复成功的过程,让我学到了比用几年 Windows 还多的底层知识。<br>实际上现在arch已经很难滚挂了。</li>\n</ol>\n<h2 id=\"给想跳坑朋友们的建议\"><a href=\"#给想跳坑朋友们的建议\" class=\"headerlink\" title=\"给想跳坑朋友们的建议\"></a>给想跳坑朋友们的建议</h2><p>如果只是一时兴起,或者每天离不开大型网游、专业级 Adobe 全家桶,那请留在 Windows。<br>但如果你有以下症状:</p>\n<ul>\n<li><strong>重度代码强迫症</strong>:见不得后台跑着莫名其妙的进程。</li>\n<li><strong>极简主义</strong>:希望系统里除了你需要的,什么都没有。</li>\n<li><strong>热爱折腾</strong>:喜欢亲手把一块砖一块砖砌成摩天大楼的感觉(就像我在工地打灰)。</li>\n<li>懂环境配置没有玩过linux最好别碰这玩意不然容易找不着北。你要有ssh命令行运维能力。</li>\n</ul>\n<p>那 Arch 绝对是你最终的归宿。</p>\n<p>试毒完成。目前看来,除了偶尔遇到点小麻烦需要自己阅读文档外,它已经完美地成为了我新的生产力平台。后续我还会在这里记录一些配置文件和踩坑记录,方便大家(或者以后的我)参考。</p>\n<p><strong>生命不息,折腾不止!</strong></p>\n","categories":["技术随笔"],"tags":["Linux","折腾","Arch"]},{"title":"孩子们,我不做 Windows 人啦!","url":"/2026/03/02/arch-linux-part2/","content":"<blockquote>\n<p>“Are you sure you want to format &#x2F;dev&#x2F;nvme0n1p3?”<br>“Yes.”</p>\n</blockquote>\n<p>就在 3 月 2 号的这个夜晚,我正式把装满了各种恶心管家、弹窗广告和强推组件的 Windows 分区,干!掉!了!</p>\n<p>才怪孩子们grub双引导和windows原生的dx12还是不错的但是在此之前我得把环境和生态全部搬过来。</p>\n<p><strong>孩子们,我不做 Windows 人啦!(Jojo 脸.jpg)</strong></p>\n<h2 id=\"桌面与美化:从简陋黑框到酷炫极客\"><a href=\"#桌面与美化:从简陋黑框到酷炫极客\" class=\"headerlink\" title=\"桌面与美化:从简陋黑框到酷炫极客\"></a>桌面与美化:从简陋黑框到酷炫极客</h2><p>Arch 的安装这回轻车熟路了(感谢 <code>archinstall</code> 脚本的辅助,终于不用一行行敲命令了)。<br>装完系统才是真正折腾的开始。</p>\n<ul>\n<li>**窗口管理器 (WM)**:没有选择臃肿的 KDE 或者 GNOME我头铁地选了 <code>Hyprland</code>。基于 Wayland 的平铺式窗口管理器。刚进去的时候一片漆黑,但配置好动画和快捷键后,那种丝滑和高效,真的是用了就回不去。</li>\n<li>**终端 (Terminal)**:换上了 <code>Alacritty</code> + <code>Tmux</code>。</li>\n<li><strong>状态栏</strong>:自己从头配了 <code>Waybar</code>。</li>\n</ul>\n<p>目前的极简桌面大概长这样:</p>\n<p><img src=\"/img/%E6%A1%8C%E9%9D%A2%E7%BE%8E%E5%8C%96.png\" alt=\"桌面效果\"></p>\n<p>现在的屏幕:一块透明模糊终端占据左边,右边跑着系统监视器,按下 <code>Super + Enter</code> 瞬间新开一个格子。敲击键盘的声音在深夜显得格外清脆。</p>\n<p><img src=\"/img/%E6%B5%8F%E8%A7%88%E5%99%A8%E5%92%8C%E7%AA%97%E5%8F%A3%E6%95%88%E6%9E%9C.png\" alt=\"浏览器与窗口渲染效果\"></p>\n<h2 id=\"工地人的倔强:软件能替吗?\"><a href=\"#工地人的倔强:软件能替吗?\" class=\"headerlink\" title=\"工地人的倔强:软件能替吗?\"></a>工地人的倔强:软件能替吗?</h2><p>最大的顾虑其实是生产力软件。<br>作为工地施工员,看图、发报表、偶尔码字是刚需:</p>\n<ol>\n<li><strong>看图&#x2F; CAD</strong>:发现了好几款开源的看图软件,轻量又快速,虽然没法做深度编辑,但也足够应付。</li>\n<li><strong>沟通</strong>:微信和 QQ 直接用debtab一把梭我从来没有那么感谢过国产信创提供的软件环境。</li>\n<li><strong>开发</strong>不用说Linux 就是代码的最佳归宿。</li>\n</ol>\n<p>今晚配置到凌晨两点,看着终于跑起来的完整桌面系统,有一种看着自己亲手浇筑的混凝土结构封顶的成就感。<br>明天起,迎接全新的生产力环境!</p>\n","categories":["技术随笔"],"tags":["Linux","折腾","Arch"]},{"title":"Vue 3 启航","url":"/2025/11/15/vue-learning-1/","content":"<h1 id=\"梦开始的地方\"><a href=\"#梦开始的地方\" class=\"headerlink\" title=\"梦开始的地方\"></a>梦开始的地方</h1><p>记得刚接触前端的时候,大家还在用 jQuery 一把梭。那时候的代码充满了 <code>$</code> 符号,回调地狱更是家常便饭,三件套东一块西一块是常态。后来 React 和 Vue 横空出世,带给了我们全新的组件化开发体验。而今天,我正式决定投入 Vue 3 的怀抱。</p>\n<h2 id=\"为什么选择-Vue-3\"><a href=\"#为什么选择-Vue-3\" class=\"headerlink\" title=\"为什么选择 Vue 3\"></a>为什么选择 Vue 3</h2><p>有人说 React 更灵活,有人说 Angular 更规范。但在我看来Vue 3 找到了优雅与性能的完美平衡点。</p>\n<ol>\n<li><strong>性能的质变</strong>Vue 3 重写了响应式系统,利用 ES6 的 Proxy 取代了 <code>Object.defineProperty</code>。这意味着什么?意味着我们再也不用担心数组下标修改监听不到的问题了!而且,初始化的速度快得惊人。</li>\n<li><strong>Composition API</strong>:这绝对是 Vue 3 最大的杀手锏。在 Options API 时代,一个功能的逻辑往往分散在 <code>data</code>、<code>methods</code>、<code>computed</code> 里,维护起来像是在玩“找你妹”。而现在,我们可以像这就写原生 JS 一样,把相关逻辑聚合在一起。这简直是代码组织的神器!</li>\n<li><strong>TypeScript 支持</strong>Vue 2 对 TS 的支持简直是灾难,而 Vue 3 是用 TS 重写的。这意味着我们在写 Vue 的时候,终于可以享受完整的类型推断了。再见,<code>any</code> scirpt</li>\n</ol>\n<h2 id=\"我的第一个-Vue-3-Demo\"><a href=\"#我的第一个-Vue-3-Demo\" class=\"headerlink\" title=\"我的第一个 Vue 3 Demo\"></a>我的第一个 Vue 3 Demo</h2><figure class=\"highlight javascript\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"keyword\">import</span> &#123; ref, onMounted &#125; <span class=\"keyword\">from</span> <span class=\"string\">&#x27;vue&#x27;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"keyword\">export</span> <span class=\"keyword\">default</span> &#123;</span><br><span class=\"line\"> <span class=\"title function_\">setup</span>(<span class=\"params\"></span>) &#123;</span><br><span class=\"line\"> <span class=\"keyword\">const</span> count = <span class=\"title function_\">ref</span>(<span class=\"number\">0</span>)</span><br><span class=\"line\"> <span class=\"keyword\">function</span> <span class=\"title function_\">increment</span>(<span class=\"params\"></span>) &#123;</span><br><span class=\"line\"> count.<span class=\"property\">value</span>++</span><br><span class=\"line\"> &#125;</span><br><span class=\"line\"> </span><br><span class=\"line\"> <span class=\"title function_\">onMounted</span>(<span class=\"function\">() =&gt;</span> &#123;</span><br><span class=\"line\"> <span class=\"variable language_\">console</span>.<span class=\"title function_\">log</span>(<span class=\"string\">&#x27;组件挂载完成!&#x27;</span>)</span><br><span class=\"line\"> &#125;)</span><br><span class=\"line\"></span><br><span class=\"line\"> <span class=\"keyword\">return</span> &#123; count, increment &#125;</span><br><span class=\"line\"> &#125;</span><br><span class=\"line\">&#125;</span><br></pre></td></tr></table></figure>\n\n<p>看着这简洁的代码,我仿佛看到了光明的未来。没有了 <code>this</code> 的困扰,一切都变得那么直观。</p>\n<p><img src=\"/img/006.png\" alt=\"激动\"></p>\n","categories":["Vue学习之路"],"tags":["Vue","前端","Vue3","学习"]},{"title":"Vite太快了由于速度太快我跟不上了","url":"/2026/01/10/vue-learning-10/","content":"<h1 id=\"Vite这也太快了吧…-还有报错\"><a href=\"#Vite这也太快了吧…-还有报错\" class=\"headerlink\" title=\"Vite这也太快了吧… 还有报错\"></a>Vite这也太快了吧… 还有报错</h1><p>Vite 宣称是下一代前端构建工具。启动确实快,毫秒级。</p>\n<h2 id=\"开发爽,打包火葬场\"><a href=\"#开发爽,打包火葬场\" class=\"headerlink\" title=\"开发爽,打包火葬场\"></a>开发爽,打包火葬场</h2><p>开发环境用的是 ES Modules不需要打包所以快。但是生产环境还是用的 Rollup 打包。<br>这就导致了一个极其恶心的问题:<strong>开发环境跑得好好的,一打包上线就报错!</strong></p>\n<p>有些依赖包不是 ESM 格式Vite 开发时会预构建解决但在生产打包时Rollup 的配置如果没有把 commonjs 转好,直接崩。我曾经为了一个老旧的加密库,折腾了整整两天 Vite 配置。<code>optimizeDeps</code>、<code>rollupOptions</code>、<code>commonjsOptions</code>… 每一个配置项都像是在嘲笑我的无知。</p>\n<h2 id=\"心态崩了\"><a href=\"#心态崩了\" class=\"headerlink\" title=\"心态崩了\"></a>心态崩了</h2><p>毁灭吧,赶紧的。累了。</p>\n<p>我们先来聊聊 Vite 的核心概念。在官方文档中,这一部分被描述得非常晦涩难懂。我花了整整三天时间查阅源码,翻遍了 GitHub 上的 Issues才勉强理解了其中的奥妙。简单来说它就像是一个黑盒子你输入 A它输出 B但中间发生了什么只有上帝和尤雨溪知道。</p>\n<p>代码示例方面,我尝试写了一个 Demo结果控制台满屏飘红。这哪里是写代码简直是在扫雷。每一个变量的定义都充满了不确定性每一个函数的调用都像是在赌博。</p>\n<p><img src=\"/img/029.jpg\" alt=\"Vite\"></p>\n","categories":["Vue学习之路"],"tags":["Vue","前端","Vite","工具"]},{"title":"前端性能优化只要我跑得够快Bug 就追不上我","url":"/2026/01/15/vue-learning-11/","content":"<h1 id=\"性能优化:无底洞\"><a href=\"#性能优化:无底洞\" class=\"headerlink\" title=\"性能优化:无底洞\"></a>性能优化:无底洞</h1><p>说页面加载太慢,要优化。好,我优化。</p>\n<p>你知道的一个three.js地图配上一大堆数据能加载的快就有鬼了。</p>\n<h2 id=\"漫漫长路\"><a href=\"#漫漫长路\" class=\"headerlink\" title=\"漫漫长路\"></a>漫漫长路</h2><ol>\n<li><strong>代码分割Code Splitting</strong>:路由懒加载,组件异步加载。好,首屏快了一点。</li>\n<li><strong>图片压缩</strong>:上了 WebP上了 CDN。</li>\n<li><strong>减少重排重绘</strong>:小心翼翼地操作 DOM。</li>\n<li><strong>Tree Shaking</strong>:检查打包产物,去掉了无用的 lodash 引入。</li>\n</ol>\n<h2 id=\"结果呢?\"><a href=\"#结果呢?\" class=\"headerlink\" title=\"结果呢?\"></a>结果呢?</h2><p>乐了,更卡了。</p>\n<h2 id=\"心态崩了\"><a href=\"#心态崩了\" class=\"headerlink\" title=\"心态崩了\"></a>心态崩了</h2><p>毁灭吧,赶紧的。累了。</p>\n<h2 id=\"为什么这么难?\"><a href=\"#为什么这么难?\" class=\"headerlink\" title=\"为什么这么难?\"></a>为什么这么难?</h2><p>前端不就是画画界面调调接口吗为什么要搞这么复杂Webpack 还没整明白Vite 又来了Vue 3 又变了。学不动了,真的学不动了。</p>\n<p><img src=\"/img/006.png\" alt=\"性能\"></p>\n","categories":["Vue学习之路"],"tags":["技术","Vue","前端","性能"]},{"title":"深坑记录:响应式丢失的那一夜","url":"/2026/01/21/vue-learning-12/","content":"<h1 id=\"那个让我通宵的-Bug\"><a href=\"#那个让我通宵的-Bug\" class=\"headerlink\" title=\"那个让我通宵的 Bug\"></a>那个让我通宵的 Bug</h1><p>那是周五的晚上,本该是快乐的周末开始。但是测试报了一个致命 Bug用户点完保存列表数据没有更新必须刷新页面才行。</p>\n<h2 id=\"排查过程\"><a href=\"#排查过程\" class=\"headerlink\" title=\"排查过程\"></a>排查过程</h2><ol>\n<li><strong>查接口</strong>:后端接口返回的数据是新的,没问题。</li>\n<li><strong>查 Vue DevTools</strong>:发现 store 里的数据确实可以更新,但是组件里的数据没变。</li>\n<li><strong>定位代码</strong></li>\n</ol>\n<figure class=\"highlight javascript\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"comment\">// store.js</span></span><br><span class=\"line\"><span class=\"attr\">state</span>: <span class=\"function\">() =&gt;</span> (&#123; <span class=\"attr\">list</span>: [] &#125;)</span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"comment\">// component.vue</span></span><br><span class=\"line\"><span class=\"keyword\">const</span> &#123; list &#125; = userStore</span><br></pre></td></tr></table></figure>\n\n<p>就是这行解构!在 Options API 里习惯了 <code>this.list</code>,在 Setup 里直接解构 store导致 <code>list</code> 变成了一个普通的数组,失去了响应性连接。</p>\n<h2 id=\"心态崩了\"><a href=\"#心态崩了\" class=\"headerlink\" title=\"心态崩了\"></a>心态崩了</h2><p>毁灭吧,赶紧的。累了。</p>\n<p>我们先来聊聊 Vue 响应式的核心概念。在官方文档中,这一部分被描述得非常晦涩难懂。我花了整整三天时间查阅源码,翻遍了 GitHub 上的 Issues才勉强理解了其中的奥妙。简单来说它就像是一个黑盒子你输入 A它输出 B但中间发生了什么只有上帝和尤雨溪知道。</p>\n<h2 id=\"为什么这么难?\"><a href=\"#为什么这么难?\" class=\"headerlink\" title=\"为什么这么难?\"></a>为什么这么难?</h2><p>前端不就是画画界面调调接口吗为什么要搞这么复杂Webpack 还没整明白Vite 又来了Vue 2 刚熟练Vue 3 又变了。学不动了,真的学不动了。</p>\n<p><img src=\"/img/008.png\" alt=\"踩坑\"></p>\n","categories":["Vue学习之路"],"tags":["Vue","前端","Vue3","踩坑"]},{"title":"逐渐暴躁:为什么前端框架更新这么快?!","url":"/2026/01/22/vue-learning-13/","content":"<h1 id=\"永远学不完\"><a href=\"#永远学不完\" class=\"headerlink\" title=\"永远学不完\"></a>永远学不完</h1><p>今天看到尤雨溪又发了新推特Vue 3.5 即将发布又有一堆新特性。Vapor Mode无虚拟 DOM</p>\n<p>求求了,别更新了。我 Vue 3.0 的文档还没背熟呢。</p>\n<h2 id=\"疲惫感\"><a href=\"#疲惫感\" class=\"headerlink\" title=\"疲惫感\"></a>疲惫感</h2><p>每次打开 GitHub Trending都是一堆新轮子。React Server Components, SolidJS, Svelte, Qwik… 每一个都号称颠覆前端。我累了,真的累了。</p>\n<p>作为一名追求极致体验的开发者,我深知持续学习的重要性。但是… 真的需要学这么多吗?</p>\n<h2 id=\"AI-才是未来\"><a href=\"#AI-才是未来\" class=\"headerlink\" title=\"AI 才是未来\"></a>AI 才是未来</h2><p>不装了,我摊牌了。手写代码是上个世纪的事情了。今天我试了一下 Vibe Code只需一句话它就生成了我折腾了三天都没写出来的功能。那一刻我释然了。我为什么要跟机器比速度我为什么要跟编译器较劲</p>\n<h2 id=\"拥抱变化\"><a href=\"#拥抱变化\" class=\"headerlink\" title=\"拥抱变化\"></a>拥抱变化</h2><p>回想起刚开始接触 Vue 的时候,那时候的快乐是纯粹的。写一个 <code>&#123;&#123; message &#125;&#125;</code> 就能看到页面变化,那种成就感无与伦比。而现在,我们要处理复杂的依赖关系、难以捉摸的类型定义、层出不穷的构建工具配置。难道这就是成长的代价吗?</p>\n<p>真香!</p>\n<p><img src=\"/img/016.jpg\" alt=\"吐槽\"></p>\n","categories":["Vue学习之路"],"tags":["Vue","前端","吐槽","心情"]},{"title":"我累了:试图理解源码,结果被源码理解了","url":"/2026/01/23/vue-learning-14/","content":"<h1 id=\"源码阅读:从入门到放弃\"><a href=\"#源码阅读:从入门到放弃\" class=\"headerlink\" title=\"源码阅读:从入门到放弃\"></a>源码阅读:从入门到放弃</h1><p>为了提升自己,我决定阅读 Vue 3 源码。打开 <code>core</code> 仓库,看到那几万行 TS 代码,我陷入了沉思。</p>\n<h2 id=\"晦涩的渲染器\"><a href=\"#晦涩的渲染器\" class=\"headerlink\" title=\"晦涩的渲染器\"></a>晦涩的渲染器</h2><p><code>renderer.ts</code>,几千行的 switch case各种位运算标记PatchFlags。我看了一行脑子就过载了。这就是大神的思维世界吗</p>\n<p>我意识到,我可能这辈子都达不到这个水平了。我只是一个 API Consumer一个熟练的搬砖工。</p>\n<h2 id=\"转折点\"><a href=\"#转折点\" class=\"headerlink\" title=\"转折点\"></a>转折点</h2><p>就在我绝望的时候,我接触到了现在的 AI 编程工具。</p>\n<h2 id=\"AI-才是未来\"><a href=\"#AI-才是未来\" class=\"headerlink\" title=\"AI 才是未来\"></a>AI 才是未来</h2><p>不装了,我摊牌了。手写代码是上个世纪的事情了。</p>\n<h2 id=\"AI-降维打击\"><a href=\"#AI-降维打击\" class=\"headerlink\" title=\"AI 降维打击\"></a>AI 降维打击</h2><p>今天我试了一下 Vibe Code只需一句话它就生成了我折腾了三天都没写出来的功能。那一刻我释然了。我为什么要跟机器比速度我为什么要跟编译器较劲</p>\n<p>从今天起,我不再是前端切图仔,我是 AI Prompt 工程师。Vue 3真不熟。Pinia没听过。我只知道 “Generate a login page with Vue 3 and Tailwind”。</p>\n<p>真香!</p>\n<p><img src=\"/img/040.jpg\" alt=\"源码\"></p>\n","categories":["Vue学习之路"],"tags":["Vue","前端","源码","放弃"]},{"title":"彻底放弃:拥抱 Vibe CodeAI 才是亲爹","url":"/2026/01/24/vue-learning-15/","content":"<h1 id=\"最终章:拥抱未来\"><a href=\"#最终章:拥抱未来\" class=\"headerlink\" title=\"最终章:拥抱未来\"></a>最终章:拥抱未来</h1><p>这是我《Vue 学习之路》系列的最后一篇文章。因为,这路我不走了。</p>\n<h2 id=\"为什么放弃?\"><a href=\"#为什么放弃?\" class=\"headerlink\" title=\"为什么放弃?\"></a>为什么放弃?</h2><ol>\n<li><strong>效率差距</strong>:我写个增删改查页面,要 4 小时,调 CSS 还要 1 小时。AI 写,只要 30 秒。</li>\n<li><strong>知识焦虑</strong>:前端技术栈爆炸,学不完。但 AI 已经学完了所有文档。</li>\n<li><strong>幸福感</strong>:写代码是为了创造产品,不是为了修 Bug。</li>\n</ol>\n<h2 id=\"Vibe-Code-体验\"><a href=\"#Vibe-Code-体验\" class=\"headerlink\" title=\"Vibe Code 体验\"></a>Vibe Code 体验</h2><p>打开 Vibe Code输入“做一个博客首页要有毛玻璃效果基于 Hexo Butterfly 主题风格”。<br>然后,啪!代码出来了。没有语法错误,没有类型报错。</p>\n<p>那一刻,我感觉自己之前的努力就像个笑话。</p>\n<h2 id=\"拥抱变化\"><a href=\"#拥抱变化\" class=\"headerlink\" title=\"拥抱变化\"></a>拥抱变化</h2><p>从今天起,我不再是前端切图仔,我是 AI Prompt 工程师。Vue 3真不熟。Pinia没听过。我只知道 “Generate a login page with Vue 3 and Tailwind”。</p>\n<p>在这个快速发展的前端时代,技术的更新迭代速度简直让人窒息。每一次框架的更新,不仅带来了新的特性,也带来了新的焦虑。作为一名追求极致体验的开发者,我深知持续学习的重要性。但是… 真的需要学这么多吗?</p>\n<p>再见了,所有的未定义变量,再见了所有的代码不规范,<code>node_modules</code>。你好DeepSeek。</p>\n<p>真香!</p>\n<p><img src=\"/img/site_bg_v2.jpg\" alt=\"真香\"></p>\n","categories":["Vue学习之路"],"tags":["AI","Vue","前端","Vibe Code"]},{"title":"Ref vs Reactive响应式的哲学思考 (头秃篇)","url":"/2025/11/30/vue-learning-2/","content":"<h1 id=\"响应式的哲学\"><a href=\"#响应式的哲学\" class=\"headerlink\" title=\"响应式的哲学\"></a>响应式的哲学</h1><p>在深入学习 Vue 3 的过程中,不管是新手还是老鸟,都会遇到一个经典问题:<code>ref</code> 和 <code>reactive</code> 到底用哪个?</p>\n<h2 id=\"官方的定义\"><a href=\"#官方的定义\" class=\"headerlink\" title=\"官方的定义\"></a>官方的定义</h2><ul>\n<li><code>ref</code>:接受一个内部值并返回一个响应式且可变的 ref 对象。ref 对象仅有一个 <code>.value</code> property指向该内部值。</li>\n<li><code>reactive</code>:返回对象的响应式副本。</li>\n</ul>\n<p>看起来很简单,对吧?<code>ref</code> 处理基本类型,<code>reactive</code> 处理对象。但是在实际开发中,情况远比这复杂。</p>\n<h2 id=\"踩坑实录\"><a href=\"#踩坑实录\" class=\"headerlink\" title=\"踩坑实录\"></a>踩坑实录</h2><p>我曾经试图用 <code>reactive</code> 去定义一个数组,结果发现直接重新赋值会丢失响应性!</p>\n<figure class=\"highlight javascript\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"keyword\">let</span> list = <span class=\"title function_\">reactive</span>([])</span><br><span class=\"line\"><span class=\"comment\">// ... 异步获取数据后</span></span><br><span class=\"line\">list = newData <span class=\"comment\">// ❌ 响应性丢失!界面不更新!</span></span><br></pre></td></tr></table></figure>\n\n<p>为什么?因为 <code>reactive</code> 返回的是一个 Proxy 对象,直接赋值 <code>list = newData</code> 只是修改了变量 <code>list</code> 的引用,并没有修改原来的 Proxy 对象。</p>\n<p>正确做法是用 <code>ref</code>,或者用 <code>list.push(...newData)</code>。但是 <code>ref</code> 每次都要写 <code>.value</code>,真的好烦啊!在模板里倒是会自动解包,但在 JS 逻辑里,少写一个 <code>.value</code> 就能让你调试半天。</p>\n<h2 id=\"深入思考\"><a href=\"#深入思考\" class=\"headerlink\" title=\"深入思考\"></a>深入思考</h2><p><code>ref</code> 更像是“指针”,明确地告诉我们这里有一个需要被追踪的值;而 <code>reactive</code> 则更贴近原生对象的直觉。</p>\n<p>简单来说,它就像是一个黑盒子,你输入 A它输出 B但中间发生了什么或者是有没有响应到你只能看输出和输入的情况。</p>\n<p>代码示例方面,我尝试写了一个 Demo结果控制台满屏飘红。这哪里是写代码简直是在扫雷。每一个变量的定义都充满了不确定性每一个函数的调用都像是在赌博。</p>\n<p>也许,与其纠结用哪个,不如统一用 <code>ref</code> 一把梭?毕竟,显示地使用 <code>.value</code> 虽然繁琐,但至少心安。</p>\n<p><img src=\"/img/008.png\" alt=\"思考\"></p>\n","categories":["Vue学习之路"],"tags":["技术","Vue","前端","Vue3"]},{"title":"路由守卫:你是谁?你去哪?有通行证吗?","url":"/2025/12/05/vue-learning-3/","content":"<h1 id=\"前端的保安Vue-Router\"><a href=\"#前端的保安Vue-Router\" class=\"headerlink\" title=\"前端的保安Vue Router\"></a>前端的保安Vue Router</h1><p>做单页应用SPA路由管理是绕不开的一环。而“路由守卫”Navigation Guards则是其中最精彩也最容易出 Bug的部分。</p>\n<h2 id=\"全局前置守卫beforeEach\"><a href=\"#全局前置守卫beforeEach\" class=\"headerlink\" title=\"全局前置守卫beforeEach\"></a>全局前置守卫beforeEach</h2><p>这就好比小区门口的保安大爷,不管你是谁,进门先查证。</p>\n<figure class=\"highlight javascript\"><table><tr><td class=\"code\"><pre><span class=\"line\">router.<span class=\"title function_\">beforeEach</span>(<span class=\"function\">(<span class=\"params\">to, <span class=\"keyword\">from</span>, next</span>) =&gt;</span> &#123;</span><br><span class=\"line\"> <span class=\"keyword\">if</span> (to.<span class=\"property\">name</span> !== <span class=\"string\">&#x27;Login&#x27;</span> &amp;&amp; !isAuthenticated) &#123;</span><br><span class=\"line\"> <span class=\"title function_\">next</span>(&#123; <span class=\"attr\">name</span>: <span class=\"string\">&#x27;Login&#x27;</span> &#125;)</span><br><span class=\"line\"> &#125; <span class=\"keyword\">else</span> &#123;</span><br><span class=\"line\"> <span class=\"title function_\">next</span>()</span><br><span class=\"line\"> &#125;</span><br><span class=\"line\">&#125;)</span><br></pre></td></tr></table></figure>\n\n<p>看起来逻辑天衣无缝?只要没登录,就踢回登录页。但是!如果你的逻辑写得稍微有一点漏洞,就会陷入<strong>无限循环</strong>。</p>\n<p>比如,你忘记判断 <code>to.name !== &#39;Login&#39;</code>,那么用户被重定向到 Login 页,再次触发 beforeEach再次重定向… 浏览器直接卡死,你也懵逼了。</p>\n<h2 id=\"组件内的守卫\"><a href=\"#组件内的守卫\" class=\"headerlink\" title=\"组件内的守卫\"></a>组件内的守卫</h2><p><code>beforeRouteEnter</code>、<code>beforeRouteUpdate</code>、<code>beforeRouteLeave</code>。这些钩子函数让我们可以精确控制组件级的路由行为。</p>\n<ul>\n<li><strong>beforeRouteEnter</strong>:在渲染该组件的对应路由被 confirm 前调用。注意!此时组件实例还没被创建,所以你不能用 <code>this</code>!这又是 Vue 新手的一大坑。</li>\n<li><strong>beforeRouteLeave</strong>:通常用来禁止用户在未保存修改前突然离开。</li>\n</ul>\n<h2 id=\"遇到的困难与思考\"><a href=\"#遇到的困难与思考\" class=\"headerlink\" title=\"遇到的困难与思考\"></a>遇到的困难与思考</h2><p>对于路由守卫社区里有很多争论。有人说它是未来有人说它是过度设计。因为实际上后端配置JWT的情况下并不需要这玩意。我个人认为你还是要遇到回传需求的这玩意总是有用的而且并不是所有的服务都有完整后端。</p>\n<p><img src=\"/img/016.jpg\" alt=\"保安\"></p>\n","categories":["Vue学习之路"],"tags":["Vue","前端","学习","Vue Router"]},{"title":"生命周期钩子生老病死Vue 组件的一生","url":"/2025/12/14/vue-learning-4/","content":"<h1 id=\"组件的一生\"><a href=\"#组件的一生\" class=\"headerlink\" title=\"组件的一生\"></a>组件的一生</h1><p>万物皆有灵Vue 组件也不例外。它们从被创建Creation到挂载Mounting到更新Updating最后销毁Unmounting走完了一生。而我们开发者就是那个掌握生杀大权的神。</p>\n<h2 id=\"Vue-3-的变化\"><a href=\"#Vue-3-的变化\" class=\"headerlink\" title=\"Vue 3 的变化\"></a>Vue 3 的变化</h2><p>在 Vue 2 中,我们熟悉的是 <code>created</code>, <code>mounted</code>, <code>destroyed</code>。在 Vue 3 的 Composition API 中,这些变成了 <code>onMounted</code>, <code>onUnmounted</code> 等等。</p>\n<p>最让我困惑的是 <code>setup()</code>。它在 <code>beforeCreate</code> 和 <code>created</code> 之前执行。这意味着在 <code>setup</code> 里面,我们不需要写这一类的钩子了,直接写逻辑就行。</p>\n<h2 id=\"实际应用中的坑\"><a href=\"#实际应用中的坑\" class=\"headerlink\" title=\"实际应用中的坑\"></a>实际应用中的坑</h2><p>我曾经遇到过一个 Bug在 <code>onMounted</code> 里面去获取 DOM 元素的高宽。理论上这时候 DOM 已经渲染好了,对吧?</p>\n<p>错!如果你的组件里面有 <code>v-if</code> 或者异步组件,<code>onMounted</code> 触发的时候,子组件可能还没渲染完!这时候拿到的高度是 0。解决办法是用 <code>nextTick</code>,或者检查你的组件结构。</p>\n<h2 id=\"为什么会这样?\"><a href=\"#为什么会这样?\" class=\"headerlink\" title=\"为什么会这样?\"></a>为什么会这样?</h2><p>回想起刚开始接触 Vue 的时候,那时候的快乐是纯粹的。写一个 <code>&#123;&#123; message &#125;&#125;</code> 就能看到页面变化,那种成就感无与伦比。而现在,我们要处理复杂的依赖关系、难以捉摸的类型定义、层出不穷的构建工具配置。难道这就是成长的代价吗?</p>\n<p>我们先来聊聊 Vue 生命周期的核心概念。在官方文档中,这一部分被描述得非常晦涩难懂。我花了整整三天时间查阅源码,翻遍了 GitHub 上的 Issues才勉强理解了其中的奥妙。简单来说它就像是一个黑盒子你输入 A它输出 B但中间发生了什么只有上帝和尤雨溪知道。</p>\n<p>代码示例方面,我尝试写了一个 Demo结果控制台满屏飘红。这哪里是写代码简直是在扫雷。每一个变量的定义都充满了不确定性每一个函数的调用都像是在赌博。</p>\n<p><img src=\"/img/040.jpg\" alt=\"生老病死\"></p>\n","categories":["Vue学习之路"],"tags":["技术","Vue","前端","Vue3"]},{"title":"样式设计CSS 也就是随便写写... (并没有)","url":"/2025/12/25/vue-learning-5/","content":"<h1 id=\"CSS-的痛与乐\"><a href=\"#CSS-的痛与乐\" class=\"headerlink\" title=\"CSS 的痛与乐\"></a>CSS 的痛与乐</h1><p>作为一个前端,最怕的不是写 JS 逻辑,而是调 CSS 样式。居中?对齐?适配?每一个词都能让猛男落泪。</p>\n<h2 id=\"Vue-中的-Scoped-CSS\"><a href=\"#Vue-中的-Scoped-CSS\" class=\"headerlink\" title=\"Vue 中的 Scoped CSS\"></a>Vue 中的 Scoped CSS</h2><p>Vue 提供了 <code>&lt;style scoped&gt;</code>,这简直是防止样式污染的神器。它通过给元素添加唯一的 data-v-xxx 属性,确保你的样式只在这个组件内生效。</p>\n<figure class=\"highlight css\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"selector-class\">.example</span><span class=\"selector-attr\">[data-v-f3f3eg9]</span> &#123;</span><br><span class=\"line\"> <span class=\"attribute\">color</span>: red;</span><br><span class=\"line\">&#125;</span><br></pre></td></tr></table></figure>\n\n<p>但是!当你试图修改子组件的样式时(比如修改 Element Plus 的组件样式),<code>scoped</code> 就变成了拦路虎。这时候你就得用深度选择器 <code>:deep()</code>。</p>\n<figure class=\"highlight css\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"selector-class\">.parent</span> :<span class=\"built_in\">deep</span>(.child) &#123;</span><br><span class=\"line\"> <span class=\"comment\">/* 这样才能穿透过去 */</span></span><br><span class=\"line\">&#125;</span><br></pre></td></tr></table></figure>\n\n<p>之前不知道这个,我傻傻地去写全局样式,结果污染了整个项目,被组长骂了一顿。</p>\n<h2 id=\"动态样式\"><a href=\"#动态样式\" class=\"headerlink\" title=\"动态样式\"></a>动态样式</h2><p>Vue 3 允许我们在 CSS 中绑定 JS 变量:</p>\n<figure class=\"highlight css\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"selector-class\">.text</span> &#123;</span><br><span class=\"line\"> <span class=\"attribute\">color</span>: <span class=\"built_in\">v-bind</span>(color)</span><br><span class=\"line\">&#125;</span><br></pre></td></tr></table></figure>\n\n<p>太酷了!这才是现代化开发嘛!</p>\n<p>样式设计看似简单实则深不可测。Flexbox, Grid, CSS Variables, Tailwind… 学不完,根本学不完。</p>\n<p><img src=\"/img/047.png\" alt=\"CSS\"></p>\n","categories":["Vue学习之路"],"tags":["Vue","前端","CSS","设计"]},{"title":"PiniaVuex 的继任者,好吃又好用","url":"/2025/12/30/vue-learning-6/","content":"<h1 id=\"菠萝Pinia真好吃\"><a href=\"#菠萝Pinia真好吃\" class=\"headerlink\" title=\"菠萝Pinia真好吃\"></a>菠萝Pinia真好吃</h1><p>Vuex 复杂的 mutation, action, getter 曾让人头大。Pinia 的出现,简直是清流。</p>\n<h2 id=\"为什么是-Pinia\"><a href=\"#为什么是-Pinia\" class=\"headerlink\" title=\"为什么是 Pinia\"></a>为什么是 Pinia</h2><ol>\n<li><strong>没有 Mutation</strong>:终于不用为了改个状态写那繁琐的模板代码了,直接在 Action 里改,或者直接改!</li>\n<li><strong>TypeScript 友好</strong>:完美的类型推断,不用像 Vuex 那样写一堆泛型接口。</li>\n<li><strong>极简 API</strong><code>defineStore</code> 一把梭。</li>\n</ol>\n<h2 id=\"逐渐掉光的头发\"><a href=\"#逐渐掉光的头发\" class=\"headerlink\" title=\"逐渐掉光的头发\"></a>逐渐掉光的头发</h2><p>随着学习的深入我发现事情并不像我想象的那么简单。Pinia 这个知识点,简直是我的噩梦。</p>\n<p>文档里写得轻描淡写,实际用起来坑巨多。比如,我在 store 里解构 state结果响应性丢了</p>\n<figure class=\"highlight javascript\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"keyword\">const</span> store = <span class=\"title function_\">useUserStore</span>()</span><br><span class=\"line\"><span class=\"keyword\">const</span> &#123; name &#125; = store <span class=\"comment\">// ❌ 响应性丢失</span></span><br></pre></td></tr></table></figure>\n\n<p>必须用 <code>storeToRefs(store)</code>。这种细节,一旦不知道,就是一下午的调试时间。</p>\n<h2 id=\"令人头秃的细节\"><a href=\"#令人头秃的细节\" class=\"headerlink\" title=\"令人头秃的细节\"></a>令人头秃的细节</h2><p>在这个快速发展的前端时代技术的更新迭代速度简直让人窒息。每一次框架的更新不仅带来了新的特性也带来了新的焦虑。作为一名追求极致体验的开发者我深知持续学习的重要性。但是Pinia 的某些行为真的很迷。</p>\n<p>比如它在服务端渲染SSR下的 hydration 问题,经常导致客户端和服务端数据不一致,你以为数据传过去了,结果是如传。我花了整整三天时间查阅源码,翻遍了 GitHub 上的 Issues才勉强理解了其中的奥妙。简单来说它就像是一个黑盒子你输入 A它输出 B但中间发生了什么只有上帝和尤雨溪知道。</p>\n<p><img src=\"/img/049.png\" alt=\"Pinia\"></p>\n","categories":["Vue学习之路"],"tags":["Vue","前端","Pinia","状态管理"]},{"title":"组件通信Props 传值传到手抽筋","url":"/2025/12/31/vue-learning-7/","content":"<h1 id=\"Props-Emit-Provide-Inject…\"><a href=\"#Props-Emit-Provide-Inject…\" class=\"headerlink\" title=\"Props, Emit, Provide, Inject…\"></a>Props, Emit, Provide, Inject…</h1><p>Vue 的组件通信方式多达十几种。父子通信用 Props&#x2F;Emit跨层级用 Provide&#x2F;Inject兄弟组件用 EventBusVue 3 移除了得自己手写或用mitt全局状态用 Pinia。</p>\n<h2 id=\"传值的痛苦\"><a href=\"#传值的痛苦\" class=\"headerlink\" title=\"传值的痛苦\"></a>传值的痛苦</h2><p>当你有 5 层组件嵌套,最外层的组件想传个 ID 给最里面的组件。<br>Props Drilling属性透传简直是灾难。</p>\n<p>Parent -&gt; Child -&gt; GrandChild -&gt; GreatGrandChild -&gt; Target</p>\n<p>每一层都要声明 Props写得我想吐。虽说可以用 <code>provide/inject</code>但不仅失去了类型推断的便利TS 还要额外定义 InjectionKey而且数据流变得难以追踪。</p>\n<p><img src=\"/img/078.png\" alt=\"通信\"></p>\n","categories":["Vue学习之路"],"tags":["Vue","前端","Vue3","组件"]},{"title":"Composition API逻辑复用的快乐与痛苦","url":"/2026/01/05/vue-learning-8/","content":"<h1 id=\"组合式-API双刃剑\"><a href=\"#组合式-API双刃剑\" class=\"headerlink\" title=\"组合式 API双刃剑\"></a>组合式 API双刃剑</h1><p>Composition API 是 Vue 3 的灵魂。它允许我们将逻辑通过 HooksComposables的方式进行提取和复用。</p>\n<h2 id=\"理想很丰满\"><a href=\"#理想很丰满\" class=\"headerlink\" title=\"理想很丰满\"></a>理想很丰满</h2><p>我想象中的代码:</p>\n<figure class=\"highlight javascript\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"keyword\">const</span> &#123; user &#125; = <span class=\"title function_\">useUser</span>()</span><br><span class=\"line\"><span class=\"keyword\">const</span> &#123; articles &#125; = <span class=\"title function_\">useArticles</span>()</span><br><span class=\"line\"><span class=\"keyword\">const</span> &#123; loading &#125; = <span class=\"title function_\">useLoading</span>()</span><br></pre></td></tr></table></figure>\n\n<p>清爽、干净、模块化。</p>\n<h2 id=\"现实很骨感\"><a href=\"#现实很骨感\" class=\"headerlink\" title=\"现实很骨感\"></a>现实很骨感</h2><p>实际写出来的代码:</p>\n<figure class=\"highlight javascript\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"keyword\">const</span> &#123; user, <span class=\"attr\">loading</span>: userLoading, <span class=\"attr\">error</span>: userError &#125; = <span class=\"title function_\">useUser</span>()</span><br><span class=\"line\"><span class=\"keyword\">const</span> &#123; articles, <span class=\"attr\">loading</span>: articleLoading, <span class=\"attr\">error</span>: articleError &#125; = <span class=\"title function_\">useArticles</span>()</span><br><span class=\"line\"><span class=\"comment\">// 命名冲突!到处重命名!</span></span><br></pre></td></tr></table></figure>\n\n<p>而且,如果你把所有逻辑都堆在 <code>setup</code> 里不加以拆分它就会变成一个巨大的面条代码Spaghetti Code比 Options API 还要难以维护。因为 Options API 至少强制你分开了 data 和 methods。严格来说实际上只要你不在乎史山代码你完全可以不在乎getter和setter全放在utils里面所有的state变量都塞在一个const里面。</p>\n<h2 id=\"令人头秃的细节\"><a href=\"#令人头秃的细节\" class=\"headerlink\" title=\"令人头秃的细节\"></a>令人头秃的细节</h2><p>文档里写得轻描淡写,实际用起来坑巨多。比如那个 Hook 的执行时机,如果在 Hook 里面用了 <code>onMounted</code>,它到底是在父组件挂载前还是后?如果 Hook 里有异步操作呢我之前是写C++这种顺序执行语言的被这玩意狠狠的摆了一道同一个函数内所有的调用是同步执行的除非你用promise进行强行顺序化。</p>\n<p><img src=\"/img/092.jpg\" alt=\"API\"></p>\n","categories":["Vue学习之路"],"tags":["Vue","前端","Vue3","API"]},{"title":"TypeScript给代码穿上防弹衣 (虽然很重)","url":"/2026/01/07/vue-learning-9/","content":"<h1 id=\"TypeScript心态崩了\"><a href=\"#TypeScript心态崩了\" class=\"headerlink\" title=\"TypeScript心态崩了\"></a>TypeScript心态崩了</h1><p>毁灭吧,赶紧的。累了。</p>\n<h2 id=\"无尽的报错\"><a href=\"#无尽的报错\" class=\"headerlink\" title=\"无尽的报错\"></a>无尽的报错</h2><p>TypeScript 说是给代码穿上防弹衣,防止低级错误。但实际上,它更像是给我的手戴上了镣铐。</p>\n<p><code>Type &#39;string | null&#39; is not assignable to type &#39;string&#39;.</code><br><code>Property &#39;xyz&#39; does not exist on type &#39;ABC&#39;.</code></p>\n<p>我知道!我知道它是 null我加了判断了但 TS 就是不信!非要我写 <code>as string</code> 或者 <code>!</code>。</p>\n<p>尤其是在 Vue 组件的 Props 定义里,结合 <code>defineProps</code> 和泛型,写起来那叫一个酸爽。为了解决一个类型报错,我可能要写几十行的 interface 定义。这到底是写业务逻辑,还是在做类型体操?</p>\n<h2 id=\"为什么这么难?\"><a href=\"#为什么这么难?\" class=\"headerlink\" title=\"为什么这么难?\"></a>为什么这么难?</h2><p>${title} 让我彻底破防了。我在 Pinia 里配了半天状态,结果组件里死活拿不到。控制台的黄色警告和红色错误交织在一起,像是在嘲笑我的无能。</p>\n<p>在这个快速发展的前端时代,技术的更新迭代速度简直让人窒息。每一次框架的更新,不仅带来了新的特性,也带来了新的焦虑。作为一名追求极致体验的开发者,我深知持续学习的重要性。但是… 真的需要学这么多吗?</p>\n<p>前端不就是画画界面调调接口吗为什么要搞这么复杂Webpack 还没整明白Vite 又来了Vue 3 又变了。学不动了,真的学不动了。</p>\n<p><img src=\"/img/site_bg_v2.jpg\" alt=\"TS\"></p>\n","categories":["Vue学习之路"],"tags":["技术","Vue","前端","TypeScript"]}]